Java >> Java Tutorial >  >> Java

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

Was ich in Woche 43 gelernt habe

Zuerst , Generieren Sie genügend Dummy-Daten.

Manchmal werden die Leistungsprobleme einer Anwendung bemerkt, wenn die Anwendung in der Produktionsumgebung bereitgestellt wird. Dies ist eine schlechte Situation, da dies seismische Folgen haben kann.

Wenn Ihnen das passiert, bedeutet das, dass Sie Ihre Arbeit nicht getan haben!

Da Sie wahrscheinlich nicht wie ein Arsch aussehen wollen, müssen Sie genügend Dummy-Daten generieren, die während der Entwicklungsphase verwendet werden. Denken Sie daran, diese Richtlinien zu befolgen:

  • Die Menge der benötigten Daten hängt von Ihren Anforderungen ab. Wenn die Leistungsanforderungen der Anwendung vage sind, liegt es in Ihrer Verantwortung, diese Anforderungen zu konkretisieren . Wenn Sie die genauen Leistungsanforderungen nicht herausfinden, können Sie sicher sein, dass es Sie später in den Arsch beißt.
  • Die Generierung von Dummy-Daten muss sowohl einfach als auch schnell sein. Wenn die Generierung schwierig ist oder zu lange dauert, besteht die Chance, dass die Entwickler es nicht tun.
  • Die Generierung von Dummy-Daten muss Ihre oberste Priorität sein. Es ist oft einfach, diesen Schritt zu überspringen, weil Ihr Kunde möchte, dass Sie mit dem Hinzufügen von Funktionen zur Anwendung beginnen. Tu das nicht. Es ist Ihre Aufgabe, Ihrem Kunden die Vorteile der Dummy-Datengenerierung zu erklären und ihn davon zu überzeugen, grünes Licht für diese Aufgabe zu geben.

Zweiter , Leistungstests während der Entwicklungsphase durchführen.

Wenn Sie über einen gesunden Menschenverstand verfügen, möchten Sie vermeiden, dass Leistungsprobleme auftreten, wenn Ihre Anwendung in der Produktionsumgebung bereitgestellt wird. Dies bedeutet, dass Ihre einzige Möglichkeit darin besteht, vorher Leistungstests durchzuführen.

Außerdem ist es eine schreckliche Idee, Leistungstests nur während des Abnahmetests durchzuführen. Das Problem dieses Ansatzes besteht darin, dass, wenn während des Abnahmetests Leistungsprobleme gefunden werden, die Behebung dieser Probleme viel Zeit und Geld kosten kann. Vertrauen Sie mir, Sie möchten auch nicht in diese Situation geraten.

Sie müssen Leistungsprobleme so schnell wie möglich finden.

Mit anderen Worten, Sie müssen während der Entwicklungsphase Leistungstests durchführen. Denken Sie daran, je früher Sie ein Problem finden, desto einfacher ist es, es zu beheben.

Dritter , Benutzer beschädigen Ihre Anwendung, indem sie sie auf unerwartete Weise verwenden.

Diese Woche erhielt ich einen interessanten Fehlerbericht zu einer Funktion, die ich vor etwa anderthalb Jahren implementiert habe. Diese Funktion verfügt über ein Formular, das es den Administratoren ermöglicht, Informationen in zwei Sprachen (Finnisch und Englisch) einzugeben.

Beim Absenden des Formulars stellt die Validierung sicher, dass die Informationen in mindestens einer Sprache eingegeben werden.

Wenn der Benutzer die Informationen betrachtet, ruft die Anwendung die richtige Version ab, indem sie die vom Benutzer bevorzugte Sprache verwendet. Wenn der Benutzer die bevorzugte Sprache nicht eingestellt hat, wird die finnische Version angezeigt. Ratet mal, was passiert, wenn ein Administrator nur die englische Version in die Datenbank eingibt?

Wenn der Benutzer die bevorzugte Sprache nicht oder auf Finnisch eingestellt hat, zeigt ihm die Anwendung nichts an.

Mit anderen Worten, ich habe es vermasselt .

Da die Anwendung von Finnen verwendet wird, konnte ich mir nicht vorstellen, dass jemand Informationen nur in englischer Sprache eingeben möchte. Dieses Problem war recht einfach zu beheben, aber es hat mich eine sehr wichtige Lektion gelehrt:

Erwarten Sie das Unerwartete!

Vierter , Es liegt in Ihrer Verantwortung, sich um Ihre Kompetenz zu kümmern.

Es gibt keine guten Diskussionsforen für finnische IT-Experten. Es gibt ein paar Foren, die ich täglich überprüfe, aber sie sind oft voller Trolle. Diese Woche ist mir aufgefallen, dass viele Diskussionen einen Link zu einem Blogbeitrag mit dem Titel Warum eine Karriere in der Computerprogrammierung scheiße ist (Ich habe den Link entfernt, weil die Seite nicht mehr funktioniert. Wenn Sie einen funktionierenden Spiegel finden, lassen Sie es mich wissen) .

Die Autoren der Beiträge, die auf diesen Blog-Beitrag verlinkten, behaupteten, dass es unmöglich sei, eine langfristige Karriere in der Computerprogrammierung zu haben, weil die Lebensdauer von Programmiersprachen zu kurz sei. Ich habe darüber schon früher geschrieben und es sollte Sie nicht überraschen, dass ich diesen Leuten nicht zustimme.

Ich finde es etwas absurd, dass jemand erwartet, dass er die Programmiersprache X sein ganzes Berufsleben lang nutzen kann. Unsere Branche ist im Vergleich zu anderen traditionelleren Ingenieurberufen noch sehr jung (ich behaupte nicht, dass Softwareingenieur wirklich Ingenieurwesen ist). Deshalb denke ich, dass es nur natürlich ist, dass sich die Programmiersprachen und andere Tools ziemlich schnell weiterentwickeln.

Ich denke, dass wir zwei Optionen haben:

  1. Wir können diese neuen Programmiersprachen und Tools entweder anpassen und lernen.
  2. Wir können aussteigen und aufhören, Software zum Leben zu schreiben.

Das Wichtigste, was diese Leute wahrscheinlich nicht verstehen, ist Folgendes:

Sie sind die einzige Person, die sich um Ihre Kompetenz kümmert.

Ihr Arbeitgeber bietet Ihnen möglicherweise verschiedene Möglichkeiten, Ihre Kompetenzen zu erweitern, aber Sie sind die einzige Person, die entscheiden kann, ob Sie diese Möglichkeiten nutzen möchten. Außerdem ist es wichtig zu verstehen, dass Sie sich selbst darum kümmern müssen, wenn Ihr Arbeitgeber Ihnen diese Möglichkeiten nicht bietet.

Ich weiß, dass das ein bisschen hart klingt, und ich verstehe, dass es schwierig sein kann, Zeit zum Lernen zu finden, wenn Sie eine Familie (oder ein Leben außerhalb Ihres Jobs) haben.

Ich kann jedoch nicht verstehen, wie jemand behaupten kann, dass jemand anderes dafür verantwortlich sein sollte, sich um seine Kompetenz zu kümmern.

Es macht einfach keinen Sinn!

Fünfter , Hacken ist so einfach, dass sogar ein Kind es tun kann.

Diese Woche haben wir einen Blogbeitrag von Troy Hunt gelesen, der zeigt, dass Hacken so ist, dass sogar ein Kind es tun kann. In diesem Blogbeitrag demonstriert Troy Hunt, wie einfach es ist, Websites mit dem SQL-Injection-Tool Havij zu hacken.

Das dem Blogbeitrag beigefügte Video ist sowohl lustig als auch beängstigend. Es ist lustig wegen seines dreijährigen Sohnes und beängstigend, weil es so verdammt einfach ist, vertrauliche Informationen von der gehackten Website zu sammeln.

Dies wirft eine interessante Frage auf:

Wann haben Sie das letzte Mal versucht, Ihre Webanwendung zu hacken?

Was hast du diese Woche gelernt?

Teilen Sie Ihre Lernerfahrungen oder andere Kommentare im Kommentarbereich.


Java-Tag