Java >> Java Tutorial >  >> Java

Was ich diese Woche gelernt habe (Woche 46/2013)

Jede Woche schreibe ich einen Blogbeitrag, der beschreibt, was ich in dieser Woche gelernt habe. Ich schreibe diese Blogbeiträge aus zwei Gründen.

Zuerst , ich möchte meine persönliche Entwicklung im Auge behalten, und das Schreiben regelmäßiger Blogbeiträge ist eine großartige Möglichkeit, dies zu tun.

Zweite , ich möchte meine Erkenntnisse mit Ihnen teilen. Ich hoffe, dass Sie einige davon in Ihrer täglichen Arbeit verwenden können.

Fangen wir an und finden heraus, was ich in Woche 46 gelernt habe.

Was ich in Woche 46 gelernt habe

Zuerst , Fordern Sie sich jeden Tag heraus.

Ich habe angefangen, dieses Lerntagebuch zu schreiben, weil ich meine persönliche Entwicklung verfolgen wollte. Genauer gesagt wollte ich herausfinden, ob ich wirklich regelmäßig Neues lerne. Ich dachte, dass ich es tue, aber gleichzeitig vermutete ich, dass es vielleicht nicht wahr ist.

Und rate was? Ich hatte recht!

Es gab Wochen, in denen das Schreiben dieses Lerntagebuchs viel Zeit in Anspruch genommen hat. Ich denke, das bedeutet, dass ich mich nicht hart genug gedrängt habe.

Lernen ist ein kontinuierlicher Prozess, der nie aufhört. Da wir jedoch (hoffentlich) andere Dinge in unserem Leben haben als nur Arbeit, ist es so einfach, mit dem Lernen „aufzuhören“.

Wir gehen zur Arbeit. Wir codieren. Nach der Arbeit kehren wir zu unserem normalen Leben zurück. Verdammt, wir werden wahrscheinlich sogar befördert und gewinnen etwas Autorität. Und doch haben wir keine Ahnung, was wir tun. Wir sind erfahrene Anfänger geworden.

Ich weiß nicht, wie es Ihnen geht, aber ich möchte nicht als der Typ in Erinnerung bleiben, der schöne Diagramme zeichnen konnte, aber keine Ahnung hatte, wie Software wirklich geschrieben wird.

Deshalb ist es gut, dass mich dieses Tagebuch jeden Tag daran erinnert, mich selbst herauszufordern.

Solltest du auch anfangen, ein Lerntagebuch zu schreiben?

Zweite , Korrigieren Sie Ihren Code Schritt für Schritt.

Wenn Sie mehrere Jahre an demselben Projekt gearbeitet haben oder gerade mit der Pflege eines bestehenden Projekts begonnen haben, können Teile der Codebasis (oder die gesamte Codebasis) ein Durcheinander sein. In diesem Fall haben Sie zwei Möglichkeiten:

  1. Sie können weiter hacken und hoffen, dass Ihre Änderungen nichts kaputt machen.
  2. Sie können die Codebasis Schritt für Schritt verbessern.

Es ist so einfach, die erste Option auszuwählen. Wenn Sie nur eine kleine Änderung vornehmen müssen, macht es schließlich keinen Sinn, weitere Änderungen am Code vorzunehmen. Richtig?

Falsch!

Wenn Sie die erforderliche Änderung vornehmen und den Code um sie herum bereinigen, werden Sie den Unterschied wahrscheinlich nicht sehen. Die Codebasis sieht immer noch chaotisch und seltsam aus. Wenn Sie den Code jedoch weiter bereinigen, wenn Sie Änderungen daran vornehmen, werden Sie irgendwann den Unterschied sehen .

Ein langes Softwareprojekt ist kein 100-Meter-Lauf. Es gleicht eher einem Marathon. Es braucht Geduld und Willenskraft, um bestmöglich voranzukommen.

Wenn du zu schnell gehst, wirst du es nie beenden. Wenn du zu langsam gehst, läuft dir die Zeit davon.

Diese Regeln gelten auch für Softwareprojekte. Wenn Sie weiter hacken, wird Ihre Codebasis ein nicht wartbarer Haufen Scheiße sein. Wenn Sie Ihre Codebasis Schritt für Schritt verbessern, werden Sie am Ende eine Codebasis haben, die ihre Probleme hat, aber Sie können immer noch stolz darauf sein.

Dritter , Bootstrap ist nett, aber Sie müssen sich vor technischen Schulden hüten.

Es ist kein Geheimnis, dass ich kein großer Frontend-Entwickler bin. Deshalb liebe ich Bootstrap. Ich kann „gut aussehende“ und ansprechende Layouts erstellen, ohne meine Webdesigner-Freunde zu stören. Ich hatte das Gefühl, dass Bootstrap eine perfekte Lösung für meine Probleme ist.

Wie üblich fand ich heraus, dass das nicht ganz stimmt .

Ich werde Sie nicht dazu bringen zu glauben, dass ich herausgefunden habe, was die Probleme bei der Verwendung von Bootstrap sind. Wenn Sie daran interessiert sind, lesen Sie den Blogbeitrag mit dem Titel Bootstrap ohne all die Schulden.

Vierter , ID-Listen sind nicht die beste Lösung für das N+1-Problem.

Mir ist aufgefallen, dass Unternehmensanwendungen häufig das folgende "Muster" verwenden:

  1. Rufen Sie eine Liste von IDs.
  2. Rufen Sie die tatsächlichen Entitäten mithilfe der ID-Liste ab.

Ich habe immer gedacht, dass dies vielleicht nicht die beste Lösung ist. Ich habe mich immer wieder gefragt, warum ich zwei (oder mehr) SQL-Abfragen anstelle einer einzigen SQL-Abfrage verwenden möchte, und ich konnte diese Frage nicht beantworten.

Dann beschloss ich, diese Frage meinen Twitter-Followern zu stellen, und ich bekam einige interessante Antworten.

Dann erhielt ich die "endgültige" Antwort. Wenn Sie es herausfinden möchten, lesen Sie den Blogpost mit dem Titel ID-Listen sind nicht die beste Lösung für das N+1-Problem.

Fünfter , Niemand kümmert sich um dich (außer natürlich deiner Mutter).

Dieser Satz ist unter Internet-Vermarktern ziemlich beliebt, und ich habe immer gedacht, dass daran nichts Wahres dran ist. Ein Grund dafür ist, dass Internet-Vermarkter einen ziemlich zwielichtigen Ruf haben. Mit anderen Worten, ich dachte, dass sie entweder Spammer oder Betrüger (oder beides) sind.

Allerdings ist mir diese Woche (sozusagen) das Licht aufgegangen. Ich plane, das Erscheinungsbild meiner Website zu ändern, und während dieses Prozesses habe ich beschlossen, ein neues „Leitbild“ für meine Website zu erstellen. Als ich einige Tutorials darüber las, wurde mir klar, dass eine Person auf drei Arten auf meine Website gelangen kann:

  • Er verwendet Google.
  • Er bemerkt einen interessanten Link von einem Social-Media-Dienst und klickt darauf.
  • Er hat meinen RSS-Feed abonniert.

Wenn wir über diese Optionen nachdenken, ist klar, dass die Person, die meinen RSS-Feed abonniert hat, bereits herausgefunden hat, dass meine Inhalte lesenswert sind. Wenn die Person hingegen über die Suchergebnisse oder einen Social-Media-Dienst auf meine Website gelangt ist, hat sie diese Entscheidung noch nicht getroffen.

Er interessiert sich nicht dafür, wer ich bin. Er möchte wissen, wie ich ihm helfen kann.

Das ist schön, was hat das mit Softwareentwicklung zu tun?

Eigentlich ziemlich viel.

Sie können Softwareentwicklung nicht verkaufen, indem Sie sagen, wer Sie sind. Sie verkaufen es, indem Sie beschreiben, wie Sie Ihrem Kunden helfen können.

Sie bekommen keinen Job, indem Sie potenziellen Arbeitgebern sagen, wer Sie sind. Sie erhalten es, indem Sie ihnen sagen, wie Sie ihnen helfen können.

Haben Sie den Hinweis?

Was hast du diese Woche gelernt?

Teilen Sie Ihre Lernerfahrungen oder andere Kommentare im Kommentarbereich.


Java-Tag