CodeGym /Java-Blog /Random-DE /Wie war es? Oder mein erstes Projekt
John Squirrels
Level 41
San Francisco

Wie war es? Oder mein erstes Projekt

Veröffentlicht in der Gruppe Random-DE
Dies ist eine Übersetzung der Erfolgsgeschichte unserer globalen Java-Community. Alex hat Java in der russischsprachigen Version des Kurses gelernt, die Sie auf CodeGym auf Englisch lernen. Möge es die Inspiration für Ihr weiteres Lernen sein und vielleicht möchten Sie eines Tages Ihre eigene Geschichte mit uns teilen :)

Einführung

Ein wenig darüber, wie ich zum Programmieren gekommen bin. Ich bin ausgebildete Lehrerin und Psychologin und übe meinen Beruf seit 5 Jahren erfolgreich aus. Doch aus verschiedenen Gründen denke ich zunehmend über einen Umzug in ein anderes Land nach. Und weil die Sprache und die Vorschriften in anderen Ländern unterschiedlich sind, könnte ich ohne eine ernsthafte Umschulung nicht derselbe Fachmann werden. Also suchte ich nach einfacheren und interessanteren Wegen, mich zu bewegen und erfolgreich zu sein. Wie war es?  Oder mein erstes Projekt - 1Ich habe mich als Tätowierer versucht (dafür sind im Wesentlichen keine Sprachkenntnisse erforderlich), aber das ist eine Geschichte für einen anderen Tag. Dann machte mich mein Arbeitskollege mit CodeGym bekannt. Ich war zunächst skeptisch gegenüber den Versprechungen, mich durch das Spielen eines Spiels zu einem vollwertigen Programmierer zu machen, und das zu einem so bescheidenen Preis. Doch dann bekam ich etwas Geburtstagsgeld (das nicht der „Familiensteuer“ unterliegt) und stand vor der Wahl zwischen WoW und CodeGym ... Nun, dank eines rechtzeitigen Rabatts hat sich die Waage in die richtige Richtung gewendet, und hier bin ich. Wie wir alle bereits wissen sollten, ist CodeGym zu 90 % reine Übung. Sie lernen, Aufgaben zu lösen. Sie lernen, das Wissen, das Ihnen fehlt, im Internet zu finden. Das ist alles gut, aber nach 15 Leveln wurde ich das Gefühl nicht los, dass mir etwas fehlte, das das Bild für mich vervollständigt. Ich habe darüber nachgedacht, GeekBrains beizutreten, aber (wahrscheinlich zum Glück) hat mich derselbe Freund rechtzeitig gestoppt und mir Udemy vorgestellt. Als ich dieses Wissensarchiv öffnete, folgte ich den Appellen: „ Psst, Freund. Bist du ein Neuling?“ Es gibt einen Rabatt für Sie ... nur für 3 Tage – lassen Sie sich diese Gelegenheit nicht entgehen! „Später wurde klar, dass es immer Rabatte gibt, aber darum geht es nicht. Ich habe sofort ein Paket mit zwei Kursen gekauft: Java von 0 bis Pro und etwas Ähnliches für Android. Und hier beginnt unsere Geschichte.

Erfolg oder Misserfolg?

Während ich den Android-Kurs durcharbeitete, bekam ich die Hausaufgabe, ein Projekt auf der Grundlage meiner neuen Kenntnisse zu erstellen. Ich gehöre zu den Menschen, die glauben, etwas auf einfache oder gewöhnliche Weise zu tun sei so, als ob man es überhaupt nicht tun würde. Also fing ich sofort an, mein Leben zu komplizieren. Ich habe mich an die Person gewandt, die ich kenne und die über die am weitesten entwickelte und lebhafteste Vorstellungskraft verfügt. Das ist meine liebe Frau (ja, sie wird diesen Artikel auch lesen). Sie schlug vor, eine App mit Tierbildern zu erstellen, die beim Anklicken entsprechende Tiergeräusche von sich geben. Es war eine tolle Idee, aber trotzdem ziemlich einfach. Ich nahm diesen Vorschlag als Grundlage und begann zu überlegen:
  • Diese App muss mehr als nur Flaum sein (etwas zum Lachen und Vergessen). Ich möchte, dass es einen Wert hat. Zum Beispiel, indem man etwas lehrt.
  • Lass es das Alphabet mit Tieren sein. Aber nicht irgendein Alphabet, sondern das englische Alphabet!
  • Und nicht nur Tiere, sondern seltene Tiere, die nur wenige Menschen kennen, um ihren Horizont zu erweitern!
  • Und es sollte eine Animation, eine Audiowiedergabe der Buchstabennamen und der Tiernamen auf Englisch und Russisch geben!
Das nenne ich nun Hausaufgaben (ich habe vergessen zu erwähnen, dass ich vor CodeGym mit dem Programmieren grundsätzlich nicht vertraut war. Und von dem Moment, als ich anfing, die Website aktiv zu nutzen, bis zu dem Moment, als ich mit dem Projekt begann, vergingen weniger als 3-4 Monate. Also, wenn Sie Sie sind ein Veteran auf diesem Gebiet und denken: „ Pff... Hat sich etwas gegenüber der Originalversion geändert? “, ich versichere Ihnen, ja, es hat sich geändert! Die erste Schwierigkeit, auf die ich stieß, war seltsamerweise der Beginn des Projekts. Es stellt sich heraus, dass nicht nur Autoren unter einer „Schreibblockade“ leiden ... Aber weil ich Psychologe bin, kannte ich die Lösung für mein Problem. Sie müssen nur anfangen, etwas zu tun. Machen Sie zumindest einen kleinen Schritt und hören Sie dann einfach nicht auf. Also begann ich mit einer abstrakten Briefklasse . Diese Klasse verfügte über mehrere Felder und musste daher über verschiedene Methoden verfügen. In Wirklichkeit hatte ich keine Ahnung, was ich damit machen würde, aber ich musste etwas tun. Dann habe ich für jeden Buchstaben Klassen erstellt, sodass diese die abstrakte Klasse erben. Es hat viel Zeit gekostet und an diesem Tag ging mein erster Arbeitstag zu Ende. Am nächsten Tag habe ich das Projekt gelöscht und neu gestartet. Ich habe das Projekt gerade geöffnet, um mich daran zu erinnern, was sich seit dem oben beschriebenen Moment geändert hat. Und ich würde gerne sagen, dass alles besser aussah, als ich fertig war, aber nein. Es gibt wirklich noch Klassen für jeden Buchstaben... Dies lag insbesondere daran, dass mir diese Hausaufgabe fast ganz am Anfang des Android-Kurses zugewiesen wurde und ich alleine die Feinheiten der Beziehung zwischen einem herausfinden musste Aktivität (das aktive Fenster oder so ähnlich) mit einer Klasse. Und ich habe nichts anderes gefunden oder mir etwas anderes ausgedacht als diese ungeschickte Art, eine bestimmte Klasse mit einer bestimmten Aktivität zu verknüpfen. Jedenfalls wurde einer der Grundsätze der Programmierung (Wiederholungen vermeiden) 26 Mal verletzt. Zuerst habe ich (wie es mir schien) die ersten beiden Buchstaben vollständig implementiert und eine grobe Benutzeroberfläche erstellt, die aus zwei Menüs besteht (einem allgemeinen Menü, das bei der Erweiterung der Funktionalität erforderlich sein könnte, und einem Inhaltsverzeichnis, von dem aus man zu jedem springen kann). der Buchstaben). Beim Programmieren hatte ich keine großen Schwierigkeiten. Während ich mein unabhängiges Projekt umsetzte, wurden viele Dinge, wie die Beziehungen zwischen Klassen, Methoden usw., klar und das Projekt selbst wurde zu einer hervorragenden Übung für die Konsolidierung aller Kenntnisse, die ich nicht nur über Android, sondern auch über Java erworben hatte. Die zweite Schwierigkeit wardass der Brief gleichzeitig wechselte, als sein Name gehört wurde. Der sanfte Übergang (Schattierung) erweckte den Eindruck, als ob der Ton dem Bild vorausginge. Aber als ich den Ton verzögerte, fror der gesamte Thread ein – der Übergang wurde einfach um den Betrag der Verzögerung verschoben, was den gleichen unerwünschten Effekt erzeugte, nur später. Dann habe ich die mutige Entscheidung getroffen, mein Programm multithreaded zu machen! Ich habe die Tonwiedergabe in einen separaten Thread verschoben, mit einer Verzögerung, die lang genug war, damit das Bild geladen werden konnte. So weit ging es mit dem Multithreading, aber ich war stolz darauf, sagen zu können, dass ich eine Multithread-App schrieb. Die letzte Schwierigkeit bestand in der Auswahl geeigneter Materialien. Dachten Sie, dass es im Englischen kein Tier für den Buchstaben X gibt (es stellt sich heraus, dass dies der Fall ist)? Ich musste 26 Tiere identifizieren, ihre Bilder und Geräusche finden und die Namen von 26 Buchstaben und 26 Tieren aufzeichnen. Wenn ich in einem Team gearbeitet hätte, hätte ich diesen Teil der Arbeit natürlich jemand anderem überlassen. Solche eintönigen Momente zerstören die Lust an der Arbeit, und wenn keine Lust da ist, gibt es Ausreden. Wie auch immer, diese Phase dauerte ungefähr zwei Wochen (ich habe das Projekt in meiner Freizeit gemacht und wenn ich keine Ausreden hatte). Das Projekt wurde etwa drei bis vier Wochen nach Beginn für abgeschlossen erklärt.

Lohnt es sich, weiterhin Programmieren zu studieren?

Es folgte Ernüchterung. Erstens durfte ich meine Hausaufgaben im Kurs nicht veröffentlichen. Ich habe die Arbeit gemacht und mir eine Menge Mühe gegeben, um anzugeben, aber das durfte ich nicht. Zweitens funktionierte meine App im Emulator und auf meinem Telefon einwandfrei. Von dem, was ich vorhatte, habe ich die Animation nicht implementiert, weil ich spuckte und beschloss, sie fertigzustellen, nachdem ich die relevanten Lektionen des Kurses durchgearbeitet hatte. Doch als ich anfing, darüber nachzudenken, die Anwendung zu verteilen, stieß ich auf ein interessantes Problem. Nachdem ich mit einem anderen Telefon und einem Tablet überprüft hatte, ob meine App für verschiedene Bildschirme und verschiedene Android-Versionen optimiert war, stieß ich auf einen unbekannten Fehler. Beim Wechsel zu einem Buchstaben wurde das Programm einfach beendet. Ich habe versucht, die Ursache des Problems zu finden, habe die Protokolle überprüft, die im Vergleich zu prägnanten Java-Ausnahmen noch mehr wie Hokuspokus wirkten. Das Internet hat mir nicht geholfen. Einerseits habe ich eine funktionierende App erstellt, die meine Kinder gerne spielen. Andererseits funktioniert es nur auf meinem Telefon. Das bringt mich zum Lachen. Natürlich war ich verärgert, aber als ich darüber nachdachte, kam ich zu dem Schluss, dass ich mehr gewonnen als verloren hatte:
  • Ich bin besser darin geworden, mit Kritik an meiner Arbeit umzugehen.
  • Ich erkannte den Wert von Wissen und Erfahrung im Softwaredesign.
  • Ich habe mein Selbstwertgefühl beim Programmieren gestärkt.
  • Ich erkannte die Notwendigkeit, Designmuster und die Grundlagen des Refactorings zu studieren.
  • Und wie gesagt, jetzt habe ich meine eigene App, die niemand sonst hat und wahrscheinlich auch nie haben wird. =)
"Ich weiß das ich nichts weiß". Durch die Umsetzung von Bildungsprojekten wie diesem haben Sie eine großartige Gelegenheit, Ihr Wissen zu analysieren, wo Wissenslücken bestehen, und Wege zu finden, um weitere Fortschritte zu erzielen. Lohnt es sich, weiterhin Programmieren zu studieren, wenn Sie verstehen, dass all Ihre Bemühungen über einen langen Zeitraum Ihres Lebens Sie von 0 auf +0,001 gebracht haben? Für mich war die Antwort ja. Was ist mit dir?
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION