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 ...)
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) **
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.
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)
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.
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)
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
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/
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
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/
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)
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
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.
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)
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
Apprentissage
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)
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
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
Apprentissage
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
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
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
Apprentissage
Apprentissage
Apprentissage
Apprentissage
Recommended Posts