JavaRush /Java-Blog /Random-DE /10 Artikel, die jeder Programmierer lesen sollte
Shoggy
Level 32
Санкт-Петербург

10 Artikel, die jeder Programmierer lesen sollte

Veröffentlicht in der Gruppe Random-DE
Als Java-Programmierer und Softwareentwickler habe ich viel aus den vielen Artikeln mit dem Titel „ Was jeder Programmierer wissen sollte …“ gelernt . Sie bieten in der Regel viele nützliche und umfassende Informationen zu einem bestimmten Thema, das sonst schwer zu finden wäre entdecken. Auf meiner Suche nach Wissen bin ich auf einige sehr nützliche Artikel gestoßen, die ich als Referenzinformationen zum erneuten Lesen gespeichert habe. Der Gedanke, dass viele Programmierer von der Lektüre dieser Sammlung profitieren könnten, hat mich dazu bewogen, diesen Beitrag zu schreiben und alle diese „Was jeder Programmierer wissen sollte“-Artikel mit Ihnen zu teilen. 10 Artikel, die jeder Programmierer lesen sollte - 1In diesem Artikel machen Sie sich mit den klassischen Kenntnissen vertraut, die jeder Programmierer benötigt, zu Themen wie Speicher , Unicode , Gleitkomma-Arithmetik , Netzwerk , objektorientiertes Design ), Zeit , URL-Kodierung , String und vielen anderen. Diese Liste ist für Anfänger und Neueinsteiger sehr wichtig, da es ihnen oft an praktischen Kenntnissen mangelt. Da die meisten Artikel auf Beispielen aus der Praxis basieren, können Einsteiger und fortgeschrittene Programmierer viel daraus lernen. Das Erlernen der Grundlagen zu Beginn Ihrer Karriere hilft Ihnen außerdem dabei, die Fehler zu vermeiden, die andere Programmierer und Softwareentwickler bereits auf ihrem Lernweg gemacht haben. Leider sind nicht alle Informationen aus den beschriebenen Artikeln beim ersten Lesen leicht verdaulich. Möglicherweise verstehen Sie einige Details zu Gleitkommazahlen nicht sofort oder sind von den Feinheiten des Speichers verwirrt. Es ist jedoch wichtig, diese Sammlung griffbereit zu haben und von Zeit zu Zeit zur Klärung darauf zurückzugreifen. Ich wünsche Ihnen viel Glück und viel Spaß beim Lesen dieser tollen Artikel. Vergessen Sie übrigens nicht, weitere Artikel zum Thema „Was jeder Programmierer wissen sollte“ zu teilen, sofern diese nicht bereits auf unserer Liste stehen.

Was jeder Programmierer über Speicher wissen sollte

Übersetzung ins Russische Dies ist einer der klassischen Artikel, der Sie durch die Merkmale des Gedächtnisses führt, von denen einige alt, andere neu, einige berühmt und andere nicht so sehr sind. Trotz der Führungsrolle und Omnipräsenz verfügt nicht jeder Programmierer über ausreichende Kenntnisse über Speicher. Wenn Sie Hochleistungsanwendungen schreiben, ist es immer wichtiger, sich mit dem Speicher moderner Systeme vertraut zu machen. Hardware-Designer entwickeln immer komplexere Speicherverwaltungsmodelle und Beschleunigungstechniken wie CPU-Caches, die jedoch ohne die Hilfe von Programmierern nicht optimal funktionieren können. Ich lese diesen Artikel immer noch und kann Ihnen gar nicht sagen, wie viel ich daraus über RAM, CPU-Caches wie L1- und L2-Cache, verschiedene Speichertypen, direkten Speicherzugriff, Speichercontroller-Design und Speicher im Allgemeinen gelernt habe . Kurz gesagt, eine Pflichtlektüre für Programmierer aller Niveaus.

Was jeder Wissenschaftler über Gleitkomma-Arithmetik wissen sollte

Das Thema Gleitkomma-Arithmetik ist knifflig und nicht leicht zu meistern. Viele Java-Programmierer wissen nicht einmal, was beim Vergleich von Werten mit Typ float/ doubleOperator schief gehen kann ==. Viele von uns machen oft Fehler bei der Umsetzung monetärer Berechnungen in den Typen floatund double. Dieser Artikel ist ein weiteres Juwel dieser Reihe und eine Pflichtlektüre für alle Softwareentwickler und Programmierer. Mit zunehmender Erfahrung sollten Sie sich mit den Feinheiten allgemeiner Themen befassen, und Gleitkomma-Arithmetik ist eines davon. Als leitender Java-Entwickler sollten Sie wissen, wie man Geldberechnungen durchführt, wann man verwendet float, doublewie BigDecimalman Gleitkommazahlen rundet und vieles mehr. Selbst wenn Sie über fundierte Kenntnisse in diesem Thema verfügen, werden Sie nach der Lektüre des Artikels möglicherweise etwas Neues über Gleitkommaoperationen entdecken.

Was jeder Entwickler über Unicode wissen sollte

Die Zeichenkodierung ist ein weiterer Bereich, mit dem viele Programmierer Schwierigkeiten haben, und „Das absolute Minimum, das jeder Softwareentwickler unbedingt über Unicode und Zeichensätze wissen sollte (keine Ausreden!)“ zielt darauf ab, diese Lücke zu schließen. Fürs Protokoll: Ja, das ist der vollständige Titel dieses Artikels. Sein Autor ist Joel Spolsky, einer der Gründer von https://stackoverflow.com . Joel hat diesen Artikel vor fast 10 Jahren auf seinem Blog geschrieben, aber er hat in der modernen Welt nicht an Relevanz verloren. Der Artikel erklärt, was Unicode ist, was eine Kodierung ist, wie Zeichen mithilfe von Bytes dargestellt werden und vieles mehr. Eines der besten Dinge an diesem Artikel ist die Sprache und die Präsentationsmethode. Selbst wenn Sie nichts über Unicode wissen, werden Sie keine Probleme damit haben, es zu verstehen. Kurz gesagt, eine weitere Pflichtlektüre für alle Programmierer, Programmierer und Softwareentwickler.

Was jeder Programmierer über Zeit wissen sollte

Neben der Zeichenkodierung sind Zeit und Datum ( Timeund Date) ein weiterer Bereich, in dem viele Programmierer, mich eingeschlossen, Schwierigkeiten haben. Selbst erfahrene Entwickler verlieren sich in GMT, UTC, Sommerzeit und Schaltsekunden. Ehrlich gesagt ist es nicht einfach, mit Zeitzonen umzugehen, ohne Fehler zu machen, und die Verwendung der Sommerzeit macht es noch schwieriger. Die Probleme verschlimmern sich, wenn Sie Versuch und Irrtum anwenden, da Sie Ihr Problem dadurch nie lösen können. Es gibt eine Menge Dinge, die schief gehen können, und ebenso viele Missverständnisse. Dinge wie die Frage, ob ein Datum eine Zeitzone enthält oder nicht, können Sie verwirren, die Konvertierung der UNIX-Zeit in andere Zeitzonen kann Sie irritieren und Sie können die Synchronisierung von Uhren und Verzögerungen leicht vergessen. Ich hoffe, dass nach der Lektüre dieses Artikels viele Ihrer falschen Vorstellungen über die Zeit verschwinden und Sie ein umfassendes Verständnis der Zeit entwickeln.

Was jeder Webentwickler über URL-Kodierung wissen sollte

In diesem Artikel werden häufige Missverständnisse über die URL-Codierung (Uniform Resource Locator) beschrieben. Anschließend wird versucht, die URL-Codierung für HTTP zu klären. Anschließend werden häufig auftretende Probleme und Lösungen aufgezeigt. Obwohl dieser Artikel nicht spezifisch für eine Programmiersprache ist, veranschaulicht er Probleme in Java und endet mit Erklärungen zur Behebung von URL-Kodierungsproblemen in Java und in Webanwendungen auf mehreren Ebenen. Sie lernen die grundlegende URL-Grammatik, die allgemeine URL-Syntax in HTTP und anderen Protokollen. Dieser Artikel behandelt auch häufige URL-Fallstricke wie Zeichenkodierung, Sonderzeichen in verschiedenen Teilen einer URL und Probleme bei der URL-Kodierung/-Dekodierung. Wenn Sie Java-Programmierer sind, lernen Sie auch, wie Sie URLs in einer Java-Anwendung richtig verwalten. So erstellen Sie eine URL und verwenden die Apache Commons HTTP-Clientbibliothek. Schließlich bietet es auch Best Practices und Vorschläge für die Arbeit mit URLs, z. B. wie Sie eine URL beim Erstellen codieren sollten, wie Sie sicherstellen, dass Ihre URL-Rewrite-Filter Ihre URLs korrekt verarbeiten und vieles mehr. Kurz gesagt, eine Pflichtlektüre für jeden Webentwickler und Programmierer.

Was weiß jeder Programmierer über Webentwicklung?

In diesem interessanten Artikel von ProgrammersStackExchange geht es darum, was jeder Programmierer, der die technischen Details einer Webanwendung implementiert, berücksichtigen sollte, bevor er eine Website für die Öffentlichkeit öffnet. Es umfasst Dinge aus den Bereichen Schnittstellendesign und Benutzererfahrung, Sicherheit, Webstandards, Leistung, Suchmaschinenoptimierung (SEO), verwendete Technologien und einige wichtige Ressourcen. Die heutige Welt ist weitgehend vom Internet abhängig und es ist durchaus üblich, dass ein Programmierer eine persönliche Website oder einen Blog hat. Die aus diesem Artikel gewonnenen Erfahrungen werden Ihnen nicht nur bei Ihrer beruflichen Tätigkeit, sondern auch bei Ihren eigenen Projekten von Nutzen sein. Sie erfahren alles über alle Schlüsseltechnologien wie HTTP, HTML, XML, CSS, JavaScript, Browserkompatibilität, Tipps zur Reduzierung der Ladezeit Ihrer Website, XML-Sitemaps, W3C-Spezifikationen und einige andere wichtige Punkte.

Was jeder Programmierer über SEO wissen sollte

Dies ist ein weiterer Artikel, der für Webentwickler, Programmierer und Blogger sehr nützlich sein wird. SEO ist zu wichtig, um es zu ignorieren, und für viele Programmierer und Blogger ist es wichtig, die Grundlagen der Suchmaschinenoptimierung zu kennen, damit Google ihre Inhalte finden und sie anderen Programmierern zeigen kann. Da in der heutigen vernetzten Welt kein Unternehmen ohne eine Webpräsenz überleben kann, wird SEO noch wichtiger. Wenn Sie ein Startup haben, das ein Produkt verkauft, sollten Sie sich um SEO kümmern. Alle Programmierer, insbesondere Webentwickler, können von diesem Artikel stark profitieren. Denken Sie daran, dass die Suchmaschinenoptimierung umfassend und sehr dynamisch ist und je nach Suchmaschine wie Google, Yahoo und anderen unterschiedlich ist. Um dieses Thema zu meistern, müssen Sie Ihr Wissen ständig aktualisieren.

Was jeder C-Programmierer über undefiniertes Verhalten wissen sollte #1/3

Die Programmiersprache C kennt das Konzept des „undefinierten Verhaltens“. Undefiniertes Verhalten ist ein umfassendes Thema mit vielen Nuancen und einer der Gründe, warum ich Java liebe: weniger undefiniertes Verhalten, weniger Verwirrung, mehr Stabilität und mehr Frieden. Viele scheinbar vernünftige Dinge in C weisen tatsächlich undefiniertes Verhalten auf, und dies ist eine häufige Fehlerquelle in Programmen. Darüber hinaus gibt jedes undefinierte Verhalten in C Implementierungen (des Compilers und der Laufzeit) die Erlaubnis, Code zu generieren, der die Festplatte formatiert und völlig unerwartete Dinge oder Schlimmeres tut. Lesen Sie diesen hervorragenden Artikel, um tief in das Meer unvorhersehbaren Verhaltens einzutauchen.

Was jeder Programmierer über Netzwerke wissen muss

Aus dem Artikel selbst: „Sie sind Programmierer. Haben Sie sich jemals gefragt, wie Multiplayer-Spiele funktionieren? Von außen wirkt es magisch: Zwei oder mehr Spieler teilen online ein gemeinsames Erlebnis, als ob sie tatsächlich zusammen in derselben virtuellen Welt existieren würden.“ Aber wie „Wir kennen die Wahrheit, Programmierer, dass das, was tatsächlich passiert, ganz anders ist als das, was Sie sehen. Es stellt sich heraus, dass alles eine Illusion ist.“ Dies ist ein sehr interessanter Artikel zum Thema Networking, der für Spieleprogrammierer geschrieben wurde, aber ich denke, dass jeder Programmierer und Entwickler davon profitieren kann.

Was jeder Java-Entwickler über Strings wissen sollte

Dies ist mein Artikel darüber java.lang.Stringund ich persönlich denke, dass jeder Java-Programmierer davon wissen sollte. Strings sind in der täglichen Java-Programmierung sehr wichtig und deshalb sind gute Kenntnisse ein Muss für jeden Java-Entwickler. Dieser Artikel behandelt viele wichtige Aspekte von Strings, darunter den String-Pool, String-Literale, den Vergleich von Strings mit ==vs equals(), das Konvertieren von Bytes in einen String, warum ein String unveränderlich ist, die richtige String-Verkettung und vieles mehr. Ein fortgeschrittener Programmierer kennt möglicherweise bereits alle diese Funktionen, es wäre aber trotzdem eine gute Idee, sie noch einmal durchzugehen.

Was sollte jeder Programmierer über Sicherheit wissen?

Diese Frage wurde von einem studentischen Programmierer auf StackOverflow gestellt. So wie wir viel über allgemeine Programmierkonzepte wie Betriebssystem, Algorithmen, Datenstrukturen, Computerarchitektur und andere Dinge wissen, ist es auch wichtig, etwas über Sicherheit zu wissen. Obwohl das Thema Sicherheit recht breit gefächert ist und die Bereiche Verschlüsselung/Entschlüsselung, SSL, Websicherheit, Verschleierung, Authentifizierung, Autorisierung usw. abdeckt, sind für jeden Programmierer grundlegende Mindestkenntnisse erforderlich. Persönlich wusste ich zu Beginn meiner Karriere nicht viel über Sicherheit. Als ich anfing, Servlet/JSP-basierte Java-Webanwendungen zu schreiben, lernte ich etwas über Websicherheit und eine Reihe von Sicherheitsbedrohungen wie SQL-Injection, Denial of Service und XML Injektion, Cross-Site-Scripting und andere. Als Java-Entwickler befolge ich jetzt sichere Java-Programmierpraktiken, die von Fortify, PMP und anderen Anbietern statischer Codeanalysen bereitgestellt werden. Dieser Artikel enthält eine sehr gute Auswahl an Sicherheitsthemen und Links. Unabhängig davon, ob Sie programmieren oder nicht, werden Sie von dieser Ressource sicherlich profitieren.

Latenzzahlen, die jeder Programmierer kennen sollte

Dieser Artikel ist ein Bonus, aber dennoch eine Pflichtlektüre für jeden Programmierer. Um eine Hochleistungsanwendung in einer beliebigen Programmiersprache zu schreiben, sei es Java oder C++, müssen Sie grundlegende Latenzwerte kennen, beispielsweise wie lange es dauert, eine Variable aus dem Speicher, aus dem L1-Cache, aus dem L2-Cache usw. zu lesen Zufälliges Lesen von einer SSD und von der Festplatte. Wie lange dauert es, einen Mutex zu sperren/entsperren, um ein Datenpaket von einer Stadt in eine andere zu senden oder einen Roundtrip innerhalb eines Rechenzentrums durchzuführen? Diese Latenzwerte sind unabhängig von der Programmiersprache und gehören zu den Grundkenntnissen, die ein Entwickler haben muss, um Anwendungen mit hoher Auslastung und geringer Latenz zu schreiben. Das Positive an diesem Link ist, dass er eine vergleichende Analyse darüber bietet, wie sich diese Werte im Laufe der Jahre entwickelt haben. Sie können sehen, wie die Werte im Jahr 2006 waren und wie sie jetzt sind. Das ist alles für diese Liste von Artikeln, die jeder Programmierer lesen sollte. Durch das Lesen von Artikeln wie „Was jeder Programmierer oder Entwickler wissen sollte“ vertiefen Sie Ihr Wissen zu einem bestimmten Thema. Ehrlich gesagt gibt es für Programmierer zu viele Dinge zu lernen, und das Erlernen einer Programmiersprache wie Java ist nur die Spitze des Eisbergs, aber die meisten von uns haben keine Leidenschaft für das Lernen. Programmieren ist ein Job, der eine ständige Weiterentwicklung erfordert, und die einzigen Dinge, die einem Programmierer im Laufe seiner Karriere nützlich sein werden, sind grundlegende Kenntnisse in Dingen wie Speicher , Unicode , Gleitkommazahlen , Zeit und Sicherheit . Einige Dinge sind sprachspezifisch, wie mein Beitrag zu String in Java und Was jeder C-Programmierer über undefiniertes Verhalten wissen sollte, aber sie sind für viele Anfänger und Entwickler gut zu lernen.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION