Java >> Java Tutorial >  >> Java

Was ich diese Woche gelernt habe (Woche 38/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.

Zweiter , 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 38 gelernt habe.

Was ich in Woche 38 gelernt habe

Zuerst , E-Mail ist kein guter Weg, um Informationen zu verbreiten. Die Verwendung für diesen Zweck hat drei Probleme:

  1. Die Informationen werden nur an die Personen weitergegeben, die die E-Mail erhalten. Das mag offensichtlich erscheinen, aber meine Erfahrung hat mich gelehrt, dass viele Menschen das nicht verstehen.
  2. Selbst wenn alle erforderlichen Personen die Informationen erhalten, besteht das Problem darin, dass Personen, die sie möglicherweise in Zukunft benötigen, keinen Zugriff darauf haben.
  3. Das Schreiben guter E-Mails (und Dokumente) nimmt viel Zeit in Anspruch. Dies ist die Mühe möglicherweise nicht wert, da die Informationen nicht an alle weitergegeben werden, die sie benötigen.

Es ist klar, dass wir einen besseren Weg finden müssen, Informationen so zu verbreiten, dass sie unseren aktuellen (und zukünftigen) Bedürfnissen entsprechen. Diese Woche wurde mir klar, dass ich aufgehört hatte, einer Methode zu folgen, die ich in der Vergangenheit als nützlich empfunden hatte. Ich beschloss, diese Methode erneut zu verwenden.

Diese Methode besteht aus zwei Schritten:

  1. Wenn nach dem Vornamen gefragt wird, mache ich mir eine mentale Notiz und antworte per E-Mail.
  2. Wenn dieselbe Frage zum zweiten Mal gestellt wird, dokumentiere ich die Antwort im Wiki des Projekts und sende einen Link zur entsprechenden Wiki-Seite.

Wenn ich dieser Methode folge, kann ich die relevanten Informationen erkennen (die mehr als einmal abgefragt wurden) und sicherstellen, dass diese Informationen allen zur Verfügung stehen, die sie möglicherweise benötigen.

Zweiter , Profilieren Sie den gesamten Code, der die Datenbank verwendet, bevor Sie ihn festschreiben. Dies mag wie ein Overkill erscheinen, aber wenn Sie ORM verwenden, hilft Ihnen dies, Leistungsprobleme so schnell wie möglich zu erkennen (bevor es zu Problemen kommt).

Das Problem von ORM-Frameworks ist, dass sie sehr komplexe Bestien sind und es sehr einfach ist, sich selbst in den Fuß zu schießen. Möglicherweise haben Sie das Gefühl, dass die Leistung Ihrer Anwendung großartig ist, weil in Ihrer Entwicklungsumgebung alles einwandfrei funktioniert.

Vertraue diesem Gefühl nicht . Starten Sie Ihren Profiler und stellen Sie sicher, dass wirklich alles wie erwartet funktioniert. Wenn alles in Ordnung ist, dauert dies nicht länger als ein paar Minuten Ihrer Zeit. Wenn Sie andererseits ein Problem finden, können Sie sich zu Ihrer guten Arbeit beglückwünschen.

Dritter , Überwachen Sie die Leistung Ihrer Anwendung in der Produktionsumgebung. Produktionsdaten haben ein Eigenleben, und es ist sehr schwierig (oder unmöglich), zu versuchen, ähnliche Daten für Ihre Entwicklungsumgebung zu generieren. Das bedeutet, dass Sie möglicherweise immer noch Leistungsprobleme in der Produktionsumgebung finden, obwohl Sie Ihr Bestes tun, um Leistungsprobleme zu beseitigen.

Aus diesem Grund sollten Sie die Leistung Ihrer Produktionsumgebung ständig überwachen, da Sie so potenzielle Leistungsengpässe so schnell wie möglich erkennen können. Das ist wichtig, weil es Ihnen etwas Zeit gibt, das Problem zu beheben, bevor Scheiße den Lüfter trifft .

Ich kann ein Tool namens New Relic empfehlen. Es verfügt über hervorragende Überwachungstools für Webanwendungen und hat uns geholfen, potenzielle Leistungsprobleme zu erkennen, bevor sie zu einem PROBLEM werden .

Vierter , Sie können über Ihre aktuelle Situation jammern oder sich auf Dinge konzentrieren, die Sie ändern können. Ich habe vor kurzem damit begonnen, einer bestehenden Single-Page-Webanwendung neue Funktionen hinzuzufügen. Obwohl ich schon früher kleine Einzelseiten-Webanwendungen implementiert habe, war dies das erste Mal, dass ich an einer echten Javascript-Webanwendung arbeitete.

PERKE! Was in aller Welt geht hier vor.

Das war mein erster Gedanke, als ich den Quellcode sah. Das war auch mein zweiter Gedanke. Und drittens. Ich war ziemlich frustriert und habe alle darüber informiert (sorry Leute).

Als ich an diesem Tag von der Arbeit kam, war ich ziemlich sauer. Zum Glück war es mein Sporttag. Als ich einige Gewichte hob, wurde mir klar, dass ich zwei Möglichkeiten hatte:

  1. Jammern Sie weiter und erreichen Sie nichts.
  2. Lernen Sie die Fähigkeiten, die ich brauche, um die Arbeit zu erledigen.

Es war ziemlich klar, dass die zweite Option die einzige praktikable Option war. Also, was habe ich getan?

  1. Als ich am nächsten Tag wieder zur Arbeit ging, beschloss ich, dass ich diesen Code herausfinden werde, selbst wenn er mich umbringt (ich habe einen ziemlich harten Kopf). Also fing ich an, den Quellcode durchzulesen, und es begann für mich Sinn zu machen. Ich habe auch viel Hilfe von meinen Kollegen bekommen (danke Leute) und ich konnte die erste große Änderung an der Anwendung vornehmen. Es fühlte sich großartig an !
  2. Ich habe auch eine Kopie von Developing Backbone.js Applications von Addy Osmani bekommen. Ich hoffe, dass es mir helfen wird, wirklich zu verstehen, wie Backbone.js-Anwendungen erstellt werden.

Was war die Lektion, die ich aus all dem gelernt habe?

Gib nicht auf . Es gibt immer etwas, was Sie tun können, um die Arbeit zu erledigen. Du musst es nur zuerst finden.

Fünfter , ich dachte, dass ich Javascript kenne. In Wirklichkeit kenne ich jQuery. Ich denke, dass dies keine sehr ungewöhnliche Situation ist, insbesondere unter „Unternehmensentwicklern“. Es war klar, dass ich Javascript lernen sollte, aber es war unklar, wie ich das am besten mache.

Ich habe Javascript:The Good Parts gelesen und ich denke, dass es ein großartiges Buch ist. Es ist jedoch kein gutes Buch, wenn Sie Javascript lernen möchten.

Ich habe eine Kopie des Javascript Enlightenment erhalten und hoffe, dass es mir hilft, das Innenleben von Javascript zu verstehen. Ich weiß, dass mich das nicht zum Javascript-Experten machen wird, aber es ist ein guter Anfang .

Wenn Sie andere Bücher oder Ressourcen kennen, die für mich nützlich sein könnten, helfen Sie mir, indem Sie einen Kommentar zu diesem Blogbeitrag hinterlassen. Danke!

Was hast du diese Woche gelernt?

Teilen Sie Ihre Lernerfahrungen oder andere Kommentare im Kommentarbereich.


Java-Tag