Senden Sie mir eine Roadmap, um ein vollwertiger Java-Ingenieur zu werden

Inhalt

Ich habe versucht, die Roadmap-Java-Version unter Verwendung der unten beschriebenen URL zu erstellen. Ich hoffe, es wird ein Lernleitfaden vom Anfänger bis zum guten Java-Ingenieur.

Außerdem kann ich nicht alles selbst machen, also als Memo, um es möglich zu machen. (Es hat mehr als ein paar Jahre gedauert, um Folgendes zu verstehen ...)

Referenz

https://github.com/kamranahmedse/developer-roadmap

** * Korrigiert, weil wir durch die Unternehmenssynchronisation (2018/4/9) Ratschläge zur grundlegenden Grammatik nach Level erhalten haben **

Roadmap

New Wireframe 2 (29).png

Lernmethode

1.Hello World

Wie bei jeder Programmiersprache lernen wir zunächst, wie es funktioniert. Schreiben wir Hello World so viel, dass Gestalt zusammenbricht. Zunächst müssen Sie die Bedeutung von static void main nicht verstehen. Sie sollten es allmählich verstehen können.

2. Lernen Sie die Grundlagen

Lernen Sie die Grundlagen der Programmierung anhand der folgenden Websites und Bücher. Es gibt viele Dinge zu lernen, wie man Grammatik schreibt, Methoden verwendet und auf Modifikatoren zugreift. Ich denke, Sie werden die folgenden Teile in der Ausbildung des Unternehmens lernen, aber Sie werden es vergessen, indem Sie nur zuhören. Lassen Sie uns also Ihre Hände wiederholt bewegen und sich daran erinnern. Wenn Sie es genug beherrschen, möchten Sie vielleicht Java Silver nehmen.

▼ Website Dot Java Primer installieren (kostenpflichtig): https://dotinstall.com/lessons/basic_java_v2 Einführung in Paiza Java (teilweise kostenlos): https://paiza.jp/works/java/primer schoo:https://schoo.jp/route/27 Progate:https://prog-8.com/languages/java udemy (Rabatt während der Kampagne): https://www.udemy.com/manga-java/

▼ Bücher Level: Von Bronze bis Silber [Einführung in Java klar verstanden](https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%8F% E3% 81% 8B% E3% 82% 8BJava% E5% 85% A5% E9% 96% 80-% E7% AC% AC2% E7% 89% 88-% E3% 82% B9% E3% 83% 83% E3% 82% AD% E3% 83% AA% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA-% E4% B8% AD% E5% B1% B1-% E6% B8% 85% E5% 96% AC / dp / 484433638X / ref = sr_1_1? Dh = UTF8 & qid = 1523104343 & sr = 8-1 & Schlüsselwörter =% E3% 82% B9% E3% 83% 83% E3% 82% AD% E3 % 83% AA% E3% 82% 8F% E3% 81% 8B% E3% 82% 8B + Java% E5% 85% A5% E9% 96% 80) [Easy Java 6th Edition](https://www.amazon.co.jp/%E3%82%84%E3%81%95%E3%81%97%E3%81%84Java-%E7%AC% AC6% E7% 89% 88-% E3% 80% 8C% E3% 82% 84% E3% 81% 95% E3% 81% 97% E3% 81% 84% E3% 80% 8D% E3% 82% B7 % E3% 83% AA% E3% 83% BC% E3% 82% BA-% E9% AB% 98% E6% A9% 8B-% E9% BA% BB% E5% A5% 88 / dp / 4797388269 / ref = sr_1_1? ie = UTF8 & qid = 1523277532 & sr = 8-1 & keywords =% E3% 82% 84% E3% 81% 95% E3% 81% 97% E3% 81% 84 + Java) Level: Silber bis Gold [Einführung in Java - Von modernen Grundlagen zu objektorientierten und praktischen Bibliotheken](https://www.amazon.co.jp/Java%E6%9C%AC%E6%A0%BC%E5%85%A5%] E9% 96% 80-% E3% 83% A2% E3% 83% 80% E3% 83% B3% E3% 82% B9% E3% 82% BF% E3% 82% A4% E3% 83% AB% E3 % 81% AB% E3% 82% 88% E3% 82% 8B% E5% 9F% BA% E7% A4% 8E% E3% 81% 8B% E3% 82% 89% E3% 82% AA% E3% 83 % 96% E3% 82% B8% E3% 82% A7% E3% 82% AF% E3% 83% 88% E6% 8C% 87% E5% 90% 91% E3% 83% BB% E5% AE% 9F % E7% 94% A8% E3% 83% A9% E3% 82% A4% E3% 83% 96% E3% 83% A9% E3% 83% AA% E3% 81% BE% E3% 81% A7-% E8% B0% B7% E6% 9C% AC-% E5% BF% 83 / dp / 477418909X / ref = pd_sim_14_10? _ Codierung = UTF8 & psc = 1 & refRID = KJR3B8760NAVKYWFYBN3) [Einführung in Java, die klar verstanden werden kann](https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82% 8F% E3% 81% 8B% E3% 82% 8B-Java% E5% 85% A5% E9% 96% 80-% E5% AE% 9F% E8% B7% B5% E7% B7% A8-% E7% AC% AC2% E7% 89% 88-% E3% 82% B9% E3% 83% 83% E3% 82% AD% E3% 83% AA% E3% 82% B7% E3% 83% AA% E3% 83 % BC% E3% 82% BA / dp / 4844336770 / ref = sr_1_2? Ie = UTF8 & qid = 1523275711 & sr = 8-2 & Schlüsselwörter =% E3% 82% B9% E3% 83% 83% E3% 82% AD% E3% 83% AA% E3% 82% 8F% E3% 81% 8B% E3% 82% 8Bjava% E5% 85% A5% E9% 96% 80)

Beherrsche die IDE

Für Ingenieure ist es wichtig, Programme schnell und effizient zu schreiben. Verwenden wir dafür IDE (Development Tool). Denken Sie an die Funktion zur vorausschauenden Konvertierung und den Schlüssel für den Schusswagen. Lassen Sie uns darüber nachdenken, wie Sie effizient arbeiten können, indem Sie ein praktisches Plug-In einfügen. Vielleicht möchten Sie Ihre Senioren und Ihre Umgebung bitten, uns die empfohlene IDE und den empfohlenen Einkaufswagenschlüssel mitzuteilen. Sie sollten in der Lage sein, das Engagement der Person zu sehen. Wählen Sie diejenige, die zu Ihnen passt. Java ist im Vergleich zu anderen Sprachen auch relativ einfach zu debuggen. Verwerfen Sie die Bestätigung von System.out.print so bald wie möglich.

3. Lernen Sie das Projektmanagement

Erfahren Sie mehr über Projektmanagement-Tools, mit denen Sie Ihre Java-Bibliotheken effizient verwalten und das Erstellen vereinfachen können. Berühmte Orte sind Maven und Gradle. Gradle ist ein guter Ort, um zu gehen.

▼ Website Qiita-Artikel: https://qiita.com/tarosa0001/items/e5667cfa857529900216 ▼ Bücher [Einführung in das Java Build Tool für Maven / Gradle / SBT / Bazel](https://www.amazon.co.jp/Java%E3%83%93%E3%83%AB%E3%83%89%E3%83] % 84% E3% 83% BC% E3% 83% AB% E5% 85% A5% E9% 96% 80-Maven-Gradle-SBT-Bazel% E5% AF% BE% E5% BF% 9C / dp / 4798049387 / ref = pd_lpo_sbs_14_t_0? _encoding = UTF8 & psc = 1 & refRID = QCEC0G6GN2FWHY4CHZ1Q)

4. Lernen Sie Standards und Best Practices

Sehen wir uns die Quellen an, die wir bisher geschrieben haben. Lesen Sie zuerst die Codierungskonventionen, um Code zu schreiben, den andere sehen können. Sie müssen sich nicht an alles erinnern, aber lassen Sie uns die berühmten im Auge behalten. Es ist eine Branchenregel und Sie werden in einer Codeüberprüfung stecken bleiben. Es gibt auch verschiedene Designmuster und Sie müssen sich nicht an alle erinnern, aber es ist eine gute Idee, die Grundidee von GoF zu verstehen.

▼ Website Googles Java-Codierungskonvention: https://google.github.io/styleguide/javaguide.html Google Java Coding Convention Japanische Übersetzung: https://kazurof.github.io/GoogleJavaStyle-ja/ Umgekehrtes Entwurfsmuster, das selbst Affen verstehen können: http://www.nulab.co.jp/designPatterns/designPatterns1/designPatterns1-1.html Liste der Entwurfsmuster auf Github: https://github.com/iluwatar/java-design-patterns

▼ Bücher [Praktische Java-Codierungsmethode](https://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5Java%E3%82%B3%E3%83%BC%E3%83%87% E3% 82% A3% E3% 83% B3% E3% 82% B0% E4% BD% 9C% E6% B3% 95-% E6% A3% AE% E5% B4% 8E-% E9% 9B% 85% E7% A8% 94-ebook / dp / B0185E10ZQ / ref = sr_1_2? S = digitaler Text & dh = UTF8 & qid = 1523143333 & sr = 1-2 & Schlüsselwörter =% E3% 82% B3% E3% 83% BC% E3% 83% 87% E3 % 82% A3% E3% 83% B3% E3% 82% B0% E4% BD% 9C% E6% B3% 95) [Einführung in Entwurfsmuster, die in der erweiterten und überarbeiteten Java-Sprache gelernt wurden](https://www.amazon.co.jp/%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82% E7% 89% 88Java% E8% A8% 80% E8% AA% 9E% E3% 81% A7% E5% AD% A6% E3% 81% B6% E3% 83% 87% E3% 82% B6% E3% 82% A4% E3% 83% B3% E3% 83% 91% E3% 82% BF% E3% 83% BC% E3% 83% B3% E5% 85% A5% E9% 96% 80-% E7% B5 % 90% E5% 9F% 8E-% E6% B5% A9 / dp / 4797327030 / ref = sr_1_1? S = Bücher & dh = UTF8 & qid = 1523105664 & sr = 1-1 & Schlüsselwörter =% E3% 83% 87% E3% 82% B6% E3 % 82% A4% E3% 83% B3% E3% 83% 91% E3% 82% BF% E3% 83% BC% E3% 83% B3) EFFECTIVE JAVA 2nd Edition

5. Lesen Sie die Quelle anderer und lernen Sie die Bibliothek

Der Quellcode für verschiedene Java-Bibliotheken ist auf GitHub verfügbar. Es ist eine gute Idee, den von anderen geschriebenen Code zu lesen und als eigenes Wissen zu verwenden. Sie erfahren auch, welche Technologien derzeit im Trend sind. Außerdem sollten Sie lernen, wie man Git benutzt (Auschecken und Verzweigen). Es wäre schön, wenn Sie eine Pull-Anfrage an ein vorhandenes Projekt stellen und Änderungen an der Bibliothek vornehmen könnten. ▼ Website Github: https://github.com/trending/java Qiita-Artikel: https://qiita.com/haruto167/items/162551100449ea5c7e6d Erste Schritte mit Git: https://backlog.com/ja/git-tutorial/

6. Lernen Sie den Testcode

Versuchen Sie, Testcode in Junit oder Mock auszuführen, um Code mit besserer Qualität zu schreiben. Lassen Sie uns auch TDD als Entwicklungsmethode gedrückt halten. Sie sollten in der Lage sein, Code von guter Qualität zu schreiben, indem Sie Rot → Grün → Refaktor wiederholen.

▼ Website Erste Schritte mit Java Testen mit Junit: https://www.slideshare.net/SatoshiKubo1/junitjava ▼ Bücher Einführung in die JUnit-Praxis ~ Testtechniken für systematische Lerneinheiten

7. Schreiben Sie einen abdeckungsbewussten Testcode

Lassen Sie uns die Abdeckung (Abdeckungsrate) des Quellcodes aus dem Testcode erfassen und die Qualität weiter verbessern.

▼ Website Erstellen Sie mit JaCoCo einen Java Code Coverage Report: https://ishiis.net/2016/10/13/jacoco-coverage/ EclEmma (einschließlich JaCoCo, Eclipse-Plug-In): http://www.eclemma.org/jacoco/

8. Lernen Sie RDB

Wählen Sie Ihre Lieblings-DB aus, laden Sie sie herunter und bedienen Sie sie. Lassen Sie uns wiederholt SQL schreiben und das Schreiben von DDL und DML beherrschen. Wenn Sie ORM lernen, können Sie DB auch problemlos von Java aus bedienen. ▼ Website Dot Install PostgreSQL Primer (kostenlos): https://dotinstall.com/lessons/basic_postgresql Dot Install MySQL Primer (kostenpflichtig): https://dotinstall.com/lessons/basic_mysql_v3 Java O / R Mapper Special: http://d.hatena.ne.jp/torutk/20170726/p1 ▼ Bücher [SQL-Einführungsübung mit 215 Fragen klar verstehen! (Serie löschen)](https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83 % AA% E3% 82% 8F% E3% 81% 8B% E3% 82% 8B-SQL-% E5% 85% A5% E9% 96% 80-% E3% 83% 89% E3% 83% AA% E3 % 83% AB215% E5% 95% 8F% E4% BB% 98% E3% 81% 8D-% E3% 82% B9% E3% 83% 83% E3% 82% AD% E3% 83% AA% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA / dp / 4844333933 / ref = sr_1_1? S = Bücher & dh = UTF8 & qid = 1523144222 & sr = 1-1 & Schlüsselwörter = SQL)

9. Lernen Sie das Framework

Lernen Sie das Framework und lernen Sie, Quellcode effizienter anzuwenden. Ich persönlich empfehle Spring und die folgenden Bücher sind viel einführender in das Framework. Jedes Framework hat seine eigenen einzigartigen Eigenschaften. Nur weil ich Struts gelernt habe, heißt das nicht, dass ich Spring verwenden kann. Wählen Sie also diejenige, die zu Ihnen passt. Darüber hinaus ist das Framework veraltet und beliebt. Bis vor langer Zeit war Struts → Seasar beliebt, aber heutzutage werden Schwachstellen als Problem angesehen und es handelt sich um EOL (End of Life). Daher ist es gut, immer die neuesten Trends zu überprüfen.

▼ Bücher Erste Spring Boot-Easy Java App-Entwicklung mit Spring Framework

10. Erstellen Sie häufig verwendete Funktionen

Das Erlernen des Java-Frameworks sollte das Erstellen von Webseiten erleichtern. Implementieren wir eine Site wie ein Blog, "CRUD" (Funktion zum Erstellen / Referenzieren / Aktualisieren / Löschen) und eine Anmeldefunktion. Wenn Sie die Template-Engine entsprechend lernen, sollten Sie in der Lage sein, effizienter zu entwickeln.

11. Lernen Sie Webtests

Sobald Sie eine Website haben, testen Sie sie, aber sie kann effizient durchgeführt werden, wenn Sie sie automatisieren. Lernen Sie Ihre Browser-Automatisierungstools kennen. Wenn eine hohe Last angewendet wird, muss außerdem überprüft werden, wie viel die Site hat. Versuchen Sie es mit einem Hochlastwerkzeug.

▼ Bücher [Einführung in das kontinuierliche Testen von Browsern in der Selenpraxis mit Automatisierung](https://www.amazon.co.jp/Selenium%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96] % 80-% E8% 87% AA% E5% 8B% 95% E5% 8C% 96% E3% 81% AB% E3% 82% 88% E3% 82% 8B% E7% B6% 99% E7% B6% 9A% E7% 9A% 84% E3% 81% AA% E3% 83% 96% E3% 83% A9% E3% 82% A6% E3% 82% B6% E3% 83% 86% E3% 82% B9% E3% 83% 88-WEB-PRESS-plus / dp / 4774178942)

12. Lernen Sie NoSQL

Wie der Name schon sagt, lernen wir die Datenbank kennen, die nicht mit SQL funktioniert. Es ist eine gute Idee zu vergleichen, was im Vergleich zu RDB bequemer und was unpraktischer ist. Vergleichsbeispiel für RDB und NOSQL) Wie wäre es mit dem Hinzufügen von Elementen? Ist eine ausschließliche Kontrolle möglich? Wie ist die Leistung? etc ▼ Website Dot Install Mongo Primer (kostenlos): https://dotinstall.com/lessons/basic_mongodb_v3

13. Geld lernen

Lernen

14. Lernen Sie die Rest-API

Erfahren Sie, was die Rest-API ist und wie Sie die Rest-API in Java implementieren. Sie erhalten neue Einblicke in die Rollen von Vorder- (statische Seiten) und Rückseiten (dynamische Seiten), die Sie bisher gelernt haben. Außerdem ist die RestFul-API nicht für Daten wie RDB definiert, sodass Sie die Definition frei ändern können. Sie ist jedoch einfacher zu verwenden, wenn Sie die Daten mit Swagger definieren.

▼ Bücher [Erste Spring Boot-Easy Java App-Entwicklung mit Spring Framework]( https://www.amazon.co.jp/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AESpring-Boot%E2%80%95 % E3% 82% B9% E3% 83% 97% E3% 83% AA% E3% 83% B3% E3% 82% B0% E3% 83% BB% E3% 83% 95% E3% 83% AC% E3 % 83% BC% E3% 83% A0% E3% 83% AF% E3% 83% BC% E3% 82% AF% E3% 81% A7% E7% B0% A1% E5% 8D% 98Java% E3% 82 % A2% E3% 83% 97% E3% 83% AA% E9% 96% 8B% E7% 99% BA-I% E3% 83% BB-BÜCHER-% E4% BF% 8A% E6% 98% 8E / dp / 4777519694 / ref = sr_1_3? s = books & ie = UTF8 & qid = 1523144527 & sr = 1-3 & keywords = spring + framework) (nur Implementierungsmethode)

15. Zertifizierung lernen

Beim Zugriff auf die Site sind Sicherheitsüberprüfungen erforderlich. Lassen Sie uns die Authentifizierungsfunktion implementieren, nachdem Sie den Mechanismus (Basic, Token usw.) für diesen Zweck verstanden und die Vor- und Nachteile der einzelnen Funktionen verstanden haben. Innerhalb des Frameworks gibt es normalerweise Authentifizierungsmethoden. Beispiel) Spring → Spring Security, play → play.libs.OAuth2, AdminAction

16. Lernen Sie Sicherheit

Erfahren Sie mehr über grundlegende Sicherheit (SQL-Injection) und mehr. Eine weitere Option ist die Verwendung eines Tools zur Überprüfung von Sicherheitslücken für die Diagnose. Ist es gut, die Top 10 Grundlagen von OWASP beizubehalten?

▼ Website OWASP:https://www.owasp.org/images/2/23/OWASP_Top_10-2017%28ja%29.pdf

17. Lernen Sie Messaging

Lernen

18. Lernen Sie die Suchmaschine

Suchmaschinen (Volltextsuche) führen komplexere Suchvorgänge schneller durch als RDB und NOSQL. Google und Yahoo haben auch eigene Suchmaschinenmechanismen. Versuchen Sie hier die Verwendung der OSS Elastic-Suche, um die Vorschlagsfunktion (prädiktive Konvertierung) zu realisieren. ▼ Website Qiita:https://qiita.com/nskydiving/items/1c2dc4e0b9c98d164329

19. Lernen Sie Docker

Java ist "Einmal schreiben, überall ausführen". Funktioniert unter jedem Betriebssystem, Windows, Mac, Linux. Erstellen Sie ein Docker-Image, damit die von Ihnen erstellte Umgebung in anderen Umgebungen ausgeführt werden kann, damit sie automatisch eingerichtet und gestartet werden kann. Fügen Sie außerdem die bisher erlernte Datenbank in die Docker Compose-Einstellungen ein, damit die App automatisch ausgeführt werden kann.

Darüber hinaus sollten Jenkins und CircleCI das Erstellen einer Umgebung erleichtern.

▼ Website Dot Install Docker (kostenlos): https://dotinstall.com/lessons/basic_docker ▼ Bücher [Überarbeitete 3. Ausgabe] Einführung in die Jenkins-Praxistechnologie zur Automatisierung von Build, Test und Bereitstellung

20. Lernen Sie den Webserver

Nachdem ich diesen Punkt erreicht habe, verwende ich Tomcat (Software zum Ausführen von Java Servlet) beim Erstellen und Starten einer Website. Zu den neuesten Frameworks gehört Tomcat, sodass Sie die Tomcat-Einstellungen nicht kennen müssen. Denken Sie daran, dass Sie mit Tomcat einen Webserver starten und Porteinstellungen, JSESSIONIDs in Zugriffsprotokollen und mehr verwalten und ändern können. ~~ (* In der Vergangenheit war es notwendig, verschiedene Tomcat context.xml und server.xml festzulegen, aber diese Ära scheint zu Ende zu sein) ~~

▼ Website Einführung in Tohohos Tomcat: http://www.tohoho-web.com/ex/draft/tomcat.htm Tomcat-Servereinstellungen: https://thinkit.co.jp/free/article/0708/2/8 Java Road: http://www.javaroad.jp/opensource/js_tomcat12.htm

21. Lernen Sie Web Sockets

Lernen

22. Lernen Sie GraphQL

Lernen

23. Lernen Sie die Grafikdatenbank

Lernen

24. Fordern Sie Big Query und maschinelles Lernen heraus

Lernen

Recommended Posts

Senden Sie mir eine Roadmap, um ein vollwertiger Java-Ingenieur zu werden
Senden Sie eine Pull-Anfrage an GitHub
So erstellen Sie einen Java-Container
Kotlin-Klasse zum Senden an Java-Entwickler
[Swift] So senden Sie eine Benachrichtigung
Erste Einführung in Mac (Java-Ingenieur)
So erstellen Sie ein Java-Array
So erstellen Sie eine Java-Kalenderzusammenfassung
Kotlins Klasse Teil 2 zum Senden an Java-Entwickler
[Einführung in Java] So schreiben Sie ein Java-Programm
Wie erstelle ich einen Discord Bot (Java)
Ein Java-Ingenieur verglich Swift, Kotlin und Java.
Kotlin-Scope-Funktionen zum Senden an Java-Entwickler
Java: So senden Sie Werte von Servlet zu Servlet
Kotlins Null-Sicherheit zum Senden an Java-Entwickler
Ein neuer Ingenieur ging zu JJUG ~ "Java SE 10 / JDK 10 Release Special Feature" (26.03.2018 (Montag)) ~
Kotlin-Funktionen und Lambdas zum Senden an Java-Entwickler
Zwei Möglichkeiten, einen Thread in Java + @ zu starten
Ich möchte eine E-Mail in Java senden.
Stellen Sie über eine Java-Anwendung eine Verbindung zu Aurora (MySQL) her
So zeigen Sie eine Webseite in Java an
Code zum Escapezeichen von JSON-Zeichenfolgen in Java
Ich habe Java gemacht, um (a == 1 && a == 2 && a == 3) immer wahr zu machen
Versuchen Sie, ein Bulletin Board in Java zu erstellen
Road to Java Engineer Teil 1 Einführung & Umgebungskonstruktion
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
So konvertieren Sie einen Soliditätsvertrag in eine Java-Vertragsklasse
Die Geschichte des Versuchs, JAVA File zu bedienen
Erste Schritte mit Kotlin zum Senden an Java-Entwickler
Java fügt PowerPoint-Folien ein Textfeld hinzu
Ich habe versucht, den Block mit Java zu brechen (1)