Envoyez-moi une feuille de route pour devenir un ingénieur Java à part entière

Contenu

J'ai essayé de créer la version Java de la feuille de route en me référant à l'URL décrite ci-dessous. J'espère que ce sera un guide d'apprentissage des débutants aux bons ingénieurs Java.

De plus, je ne peux pas tout faire moi-même, donc comme mémo pour rendre cela possible. (Il a fallu plus de deux ans pour comprendre ce qui suit ...)

référence

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

** * Corrigé car nous avons reçu des conseils sur la grammaire de base par niveau lors de la synchronisation de l'entreprise (2018/4/9) **

Feuille de route

New Wireframe 2 (29).png

Méthode d'apprentissage

1.Hello World

Comme pour tout langage de programmation, apprenons d'abord comment le faire fonctionner. Écrivons tellement Hello World que la Gestalt s'effondre. Au début, vous n'avez pas besoin de comprendre la signification de static void main. Vous devriez être capable de le comprendre progressivement.

2. Apprenez les bases

Apprenez les bases de la programmation en utilisant les sites et les livres ci-dessous. Il y a beaucoup de choses à apprendre, comme comment écrire la grammaire, comment utiliser les méthodes et accéder aux modificateurs. Je pense que vous apprendrez les parties suivantes dans la formation de l'entreprise, mais vous l'oublierez rien qu'en écoutant, alors bougeons vos mains à plusieurs reprises et souvenons-nous-en. Si vous pouvez le maîtriser suffisamment, vous voudrez peut-être prendre Java Silver.

▼ Site Web Dot Install Java Primer (payant): https://dotinstall.com/lessons/basic_java_v2 Introduction à Paiza Java (partiellement gratuit): https://paiza.jp/works/java/primer schoo:https://schoo.jp/route/27 Progate:https://prog-8.com/languages/java udemy (remise pendant la campagne): https://www.udemy.com/manga-java/

▼ Livres Niveau: du bronze à l'argent [Introduction à Java clairement comprise](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? Ie = UTF8 & qid = 1523104343 & sr = 8-1 & mots-clés =% 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 & mots-clés =% E3% 82% 84% E3% 81% 95% E3% 81% 97% E3% 81% 84 + java) Niveau: Argent à Or [Introduction à Java - Des bases dans un style moderne aux bibliothèques orientées objet / pratiques](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? _ Encoding = UTF8 & psc = 1 & refRID = KJR3B8760NAVKYWFYBN3) [Introduction à Java clairement compréhensible](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 & mots-clés =% 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)

Maîtrisez l'IDE

Il est important pour les ingénieurs d'écrire des programmes rapidement et efficacement. Utilisons IDE (outil de développement) pour cela. Rappelez-vous la fonction de conversion prédictive et la clé du chariot de tir, Réfléchissons à la manière de travailler efficacement en insérant un plug-in pratique. Vous voudrez peut-être demander à vos aînés et à votre entourage de nous indiquer l'IDE et la clé du chariot de tir recommandés. Vous devriez pouvoir voir l'engagement de la personne. Choisissez celui qui vous convient. Java est également relativement facile à déboguer par rapport à d'autres langages. Supprimez la confirmation de System.out.print dès que possible.

3. Apprendre la gestion de projet

Découvrez les outils de gestion de projet qui vous aident à gérer efficacement vos bibliothèques Java et à faciliter la création. Les lieux célèbres sont Maven et Gradle. Gradle est un bon endroit où aller.

▼ Site Web Article Qiita: https://qiita.com/tarosa0001/items/e5667cfa857529900216 ▼ Livres [Introduction à Java Build Tools Maven / Gradle / SBT / Bazel Support](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. Apprenez les normes et les meilleures pratiques

Passons en revue les sources que nous avons écrites jusqu'à présent. Pour écrire du code que d'autres peuvent voir, lisez d'abord les conventions de codage. Vous n'avez pas à vous souvenir de tout, mais gardons une trace des plus célèbres. C'est une règle de l'industrie et vous serez coincé dans une révision de code. En outre, il existe différents modèles de conception et vous n'avez pas à vous souvenir de tous, mais c'est une bonne idée de comprendre l'idée de base du GoF.

▼ Site Web Convention de codage Java de Google: https://google.github.io/styleguide/javaguide.html Traduction japonaise de la convention de codage Java de Google: https://kazurof.github.io/GoogleJavaStyle-ja/ Modèle de conception inversé que même les singes peuvent comprendre: http://www.nulab.co.jp/designPatterns/designPatterns1/designPatterns1-1.html Liste des modèles de conception sur Github: https://github.com/iluwatar/java-design-patterns

▼ Livres [Méthode de codage Java pratique](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 = digital-text & ie = UTF8 & qid = 1523143333 & sr = 1-2 & keywords =% E3% 82% B3% E3% 83% BC% E3% 83% 87% E3 % 82% A3% E3% 83% B3% E3% 82% B0% E4% BD% 9C% E6% B3% 95) [Introduction aux modèles de conception appris dans le langage Java amélioré et révisé](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 = livres & ie = UTF8 & qid = 1523105664 & sr = 1-1 & mots-clés =% 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. Lisez la source des autres et découvrez la bibliothèque

Le code source de diverses bibliothèques Java est disponible sur GitHub. C'est une bonne idée de lire le code écrit par d'autres et de l'utiliser comme votre propre connaissance. Vous découvrirez également les technologies actuellement en vogue. Parallèlement à cela, vous devez apprendre à utiliser Git (extraction et branchement). Ce serait bien si vous pouviez faire une pull request à un projet existant et apporter des modifications à la bibliothèque. ▼ Site Web Github: https://github.com/trending/java Article Qiita: https://qiita.com/haruto167/items/162551100449ea5c7e6d Premiers pas avec Git: https://backlog.com/ja/git-tutorial/

6. Apprenez le code de test

Essayez d'exécuter le code de test dans Junit ou Mock pour écrire un code de meilleure qualité. Aussi, maintenons TDD comme méthode de développement. Vous devriez être capable d'écrire du code de bonne qualité en répétant rouge → vert → refactor.

▼ Site Web Premiers pas avec les tests java avec Junit: https://www.slideshare.net/SatoshiKubo1/junitjava ▼ Livres Introduction à la pratique JUnit ~ Techniques de test d'unité d'apprentissage systématique

7. Écrire un code de test prenant en charge la couverture

Saisissons la couverture (taux de couverture) du code source à partir du code de test et améliorons encore la qualité.

▼ Site Web Créez un rapport de couverture de code Java avec JaCoCo: https://ishiis.net/2016/10/13/jacoco-coverage/ EclEmma (y compris JaCoCo, plug-in Eclipse): http://www.eclemma.org/jacoco/

8. Apprenez RDB

Sélectionnez votre base de données préférée, téléchargez-la et utilisez-la. Écrivons SQL à plusieurs reprises et maîtrisons comment écrire DDL et DML. De plus, si vous apprenez ORM, vous pourrez facilement utiliser DB à partir de Java. ▼ Site Web Dot Install PostgreSQL Primer (gratuit): https://dotinstall.com/lessons/basic_postgresql Dot Install MySQL Primer (payant): https://dotinstall.com/lessons/basic_mysql_v3 Spécial Java O / R Mapper: http://d.hatena.ne.jp/torutk/20170726/p1 ▼ Livres [Comprenez clairement l'exercice d'introduction SQL avec 215 questions! (Série claire)](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 = books & ie = UTF8 & qid = 1523144222 & sr = 1-1 & keywords = SQL)

9. Apprenez le cadre

Apprenez le framework et apprenez à appliquer le code source plus efficacement. Je recommande personnellement Spring, et les livres suivants sont beaucoup plus introductifs au framework. Chaque cadre a ses propres caractéristiques uniques. Ce n'est pas parce que j'ai appris Struts que je peux utiliser Spring. Alors choisissez celui qui vous convient. De plus, le framework est obsolète et populaire. Jusqu'à il y a longtemps, Struts → Seasar était populaire, mais de nos jours, les vulnérabilités sont considérées comme un problème et c'est EOL (End of Life), il est donc bon de toujours vérifier les dernières tendances.

▼ Livres Premier développement d'application Java Spring Boot-Easy avec Spring Framework

10. Créer des fonctions fréquemment utilisées

L'apprentissage du framework Java devrait faciliter la création de pages Web. Implémentons un site comme un blog, "CRUD" (fonction de création / référence / mise à jour / suppression) et une fonction de connexion. De plus, si vous apprenez le moteur de modèle en conséquence, vous devriez être en mesure de développer plus efficacement.

11. Apprendre les tests Web

Une fois que vous avez un site Web, vous le testez, mais cela peut être fait efficacement si vous l'automatisez. Apprenez à connaître les outils d'automatisation de votre navigateur. De plus, lorsqu'une charge élevée est appliquée, il est nécessaire de vérifier la capacité du site. Essayez un outil à forte charge.

▼ Livres [Introduction à Selenium Practice-Continuous Browser Testing with Automation](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. Apprenez NoSQL

Comme son nom l'indique, découvrons les bases de données qui ne fonctionnent pas avec SQL. C'est une bonne idée de comparer ce qui est plus pratique et ce qui n'est pas pratique par rapport à RDB. Exemple de comparaison de RDB et NOSQL) Que diriez-vous d'ajouter des éléments? Un contrôle exclusif est-il possible? Comment est la performance? etc ▼ Site Web Dot Install Mongo Primer (gratuit): https://dotinstall.com/lessons/basic_mongodb_v3

13. Apprendre l'argent

Apprentissage

14. Apprenez l'API Rest

Découvrez ce qu'est l'API Rest et comment implémenter l'API Rest en Java. Il vous donnera de nouvelles informations sur les rôles de recto (pages statiques) et de dos (pages dynamiques) que vous avez appris jusqu'à présent. De plus, l'API RestFul n'est pas définie pour des données telles que RDB, vous pouvez donc modifier librement la définition, mais elle sera plus facile à utiliser si vous définissez les données à l'aide de Swagger.

▼ Livres [Premier développement d'application Java Spring Boot-Easy avec 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-BOOKS-% E4% BF% 8A% E6% 98% 8E / dp / 4777519694 / ref = sr_1_3? s = books & ie = UTF8 & qid = 1523144527 & sr = 1-3 & keywords = spring + framework) (Méthode de mise en œuvre uniquement)

15. Apprendre la certification

Des contrôles de sécurité sont nécessaires lors de l'accès au site. Implémentons la fonction d'authentification après avoir compris le mécanisme (Basic, token, etc.) à cet effet et compris les avantages et les inconvénients de chacun. Il existe généralement des méthodes d'authentification dans le cadre. Exemple) Spring → Spring Security, play → play.libs.OAuth2, AdminAction

16. Apprenez la sécurité

Apprenez la sécurité de base (injection SQL) et plus encore. Une autre option consiste à utiliser un outil de vérification de vulnérabilité pour le diagnostic. Est-il bon de garder le top 10 des bases de l'OWASP?

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

17. Apprendre la messagerie

Apprentissage

18. Apprenez le moteur de recherche

Les moteurs de recherche (recherche en texte intégral) effectuent des recherches plus complexes plus rapidement que RDB et NOSQL. Google et Yahoo ont également leurs propres mécanismes de moteur de recherche. Ici, pourquoi ne pas essayer d'utiliser la recherche élastique OSS pour réaliser la fonction de suggestion (conversion prédictive). ▼ Site Web Qiita:https://qiita.com/nskydiving/items/1c2dc4e0b9c98d164329

19. Apprenez Docker

Java est "Ecrire une fois, exécuter n'importe où". Fonctionne sur n'importe quel OS, Windows, Mac, Linux. Créons une image Docker afin que l'environnement que vous avez créé puisse être exécuté dans d'autres environnements afin qu'il puisse être configuré et démarré automatiquement. En outre, placez la base de données que vous avez apprise jusqu'à présent dans les paramètres de Docker Compose afin que l'application puisse s'exécuter automatiquement.

De plus, Jenkins et CircleCI devraient faciliter la création d'un environnement.

▼ Site Web Dot installer Docker (gratuit): https://dotinstall.com/lessons/basic_docker ▼ Livres [3e édition révisée] Introduction à la technologie pratique Jenkins pour l'automatisation de la construction, du test et du déploiement

20. Apprendre le serveur Web

Maintenant que j'ai atteint ce point, je pense que j'utilise Tomcat (logiciel pour exécuter Java Servlet) lors de la création et du démarrage d'un site Web. Les frameworks récents incluent Tomcat, vous n'avez donc pas besoin de connaître les paramètres Tomcat, N'oubliez pas que Tomcat vous permet de démarrer un serveur Web et de gérer et de modifier les paramètres de port, les JSESSIONID dans les journaux d'accès, etc. ~~ (* Dans le passé, il était nécessaire de définir différents context.xml et server.xml Tomcat, mais cette époque semble avoir pris fin) ~~

▼ Site Web Introduction au Tomcat de Tohoho: http://www.tohoho-web.com/ex/draft/tomcat.htm Paramètres du serveur Tomcat: https://thinkit.co.jp/free/article/0708/2/8 Route Java: http://www.javaroad.jp/opensource/js_tomcat12.htm

21. Apprendre les sockets Web

Apprentissage

22. Apprenez GraphQL

Apprentissage

23. Apprendre la base de données de graphes

Apprentissage

24. Défiez Big Query et apprentissage automatique

Apprentissage

Recommended Posts

Envoyez-moi une feuille de route pour devenir un ingénieur Java à part entière
Envoyer une pull request à GitHub
Comment créer un conteneur Java
Classe Kotlin à envoyer aux développeurs Java
[Swift] Comment envoyer une notification
Introduction initiale à Mac (ingénieur Java)
Comment créer un tableau Java
Comment créer un résumé de calendrier Java
Kotlin's Class part.2 à envoyer aux développeurs Java
[Introduction à Java] Comment écrire un programme Java
Comment créer un robot Discord (Java)
Un ingénieur Java a comparé Swift, Kotlin et Java.
Fonctions de portée Kotlin à envoyer aux développeurs Java
Java: Comment envoyer des valeurs du servlet au servlet
La sécurité Null de Kotlin à envoyer aux développeurs Java
Un nouvel ingénieur est allé à JJUG ~ "Fonctionnalité spéciale de la version Java SE 10 / JDK 10" (2018/03/26 (lundi)) ~
Fonctions Kotlin et lambdas à envoyer aux développeurs Java
Deux façons de démarrer un thread en Java + @
Je souhaite envoyer un e-mail en Java.
Connectez-vous à Aurora (MySQL) depuis une application Java
Comment afficher une page Web en Java
Code pour échapper aux chaînes JSON en Java
Je l'ai fait en Java pour toujours rendre (a == 1 && a == 2 && a == 3) vrai
Essayez de créer un babillard en Java
Ingénieur en route vers Java Partie 1 Introduction et construction de l'environnement
Je voulais que (a == 1 && a == 2 && a == 3) vrai en Java
Comment convertir un contrat de solidité en une classe de contrat Java
Histoire d'essayer de faire fonctionner le fichier JAVA
Premiers pas avec Kotlin à envoyer aux développeurs Java
Java ajoute une zone de texte aux diapositives PowerPoint
J'ai essayé de casser le bloc avec java (1)