[JAVA] Comment maîtriser la programmation en 3 mois

en premier

Devenez programmeur à part entière en 3 mois dans une école de programmation! Il y a une phrase publicitaire comme. Pouvez-vous vraiment maîtriser le programme en environ 3 mois (100 jours)? Pensons au chemin.

Faisons de notre mieux sérieusement car nous voulons maîtriser le programme. C'est 100 jours en un peu plus de 3 mois, alors je ferai de mon mieux pendant 100 jours x 10 heures car c'est 10 heures par jour sans pause.

  1. Comprendre le langage de programmation (20 jours)
  2. Conception du programme (3 jours)
  3. Comprendre DB (7 jours)
  4. Comprendre le réseau (10 jours)
  5. Interface WEB (10 jours)
  6. Chaque application (10 jours)
  7. Comprendre le cloud (20 jours)
  8. Git (7ème)
  9. DevOps (3 jours)
  10. AI (10 jours)

Maîtriser les programmes orientés objet

Il existe différents langages tels que C ++, C #, Java, Python, Ruby, Swift, Kotlin, Rust, Go, etc. Allons-y avec C #.

C # (20e)

Vous devez apprendre les concepts de base de la programmation et maîtriser diverses syntaxes. ・ Variables, branchement conditionnel, répétition, méthode (1 jour) ・ Mémoire (2 jours) ・ Collecte des ordures (1 jour) ・ Diverses syntaxes (10 jours) ・ Comprendre la bibliothèque (1 jour) ・ Expression régulière (1 jour) ・ Fil (4 jours)

Variable, type (2 heures)

Tout d'abord, demandez-leur de maîtriser les variables. Créez une application console et apprenez à utiliser des variables. Nous augmenterons également nos connaissances sur les types. Comprendre autour de Int32, String, Boolean, Double, Decimal, DateTime, TimeSpan, Guid.

Succursale conditionnelle (2 heures)

Découvrez si et changez. if-else Vous pourrez utiliser if-else et comprendre switch and break, default, lancer des exceptions pour apprendre plus tard, et plus encore. Aussi type booléen, divers opérateurs(&&,||Etc.) Comprendre comment utiliser.

Répéter la syntaxe (2 heures)

Comprendre et maîtriser la syntaxe de while, for, foreach. Comprenons également la différence et l'utilisation de chacun.

Méthode (4 heures)

Maîtrisez comment écrire une méthode. Pouvons également utiliser des arguments de méthode et des valeurs de retour. Vous maîtriserez également comment utiliser la surcharge, la valeur de retour taple, etc. Les variables, les conditions, la syntaxe itérative et les méthodes sont maîtres en un jour!

Mémoire de pile, mémoire de tas (2 jours)

Comprenez comment les variables et les instances de classe utilisent la mémoire. Comment utiliser la mémoire de pile par déclaration de variable et appel de méthode, comment utiliser la mémoire de tas de type référence, invariance de String, disposition en mémoire de chaque élément du tableau, disposition de la mémoire à la table de méthode de classe et héritage, etc. Maître C'est assez difficile le 3ème jour d'apprentissage!

Collecte des ordures (1 jour)

Obtenez une meilleure compréhension de la collecte des ordures. Comprenez la gestion de la mémoire générationnelle, la vérification des références, la LOH, le finaliseur, etc., et approfondissez votre compréhension afin de pouvoir créer des programmes haute performance. J'ai appris le mécanisme de la mémoire hier, donc ça devrait être facile à comprendre (rires).

Syntaxe variée (10 jours)

Maîtrisez la syntaxe pour apprendre dans l'ordre. Comprenons le sens et écrivons la syntaxe en environ 2 à 10 heures par pièce.

premier jour

class, struct accessor(public, private, internal, protected) property(getter, setter,Auto property, property initializer) method (static, overload, override, abstract)

le 2ème jour

Inheritance (virtual abstract) Interface try-catch-finally

Troisième jour

Generics Nullable Partial Type Partial Method

Jour 4

Extension Method Lambda Expression Object Initializer Anonymous Type

Jour 5

LINQ null conditional operator

Jour 6

dynamic, reflection Partial method option parameter

Jour 7

async,await nameof exception filter

8e jour

Tuple Type switch local function

Jour 9

Expression Tree Span

Jour 10

il code

Il y a beaucoup de syntaxe, mais vous apprendrez à l'écrire et à vous en servir. C'est un programme assez diabolique, mais je ferai de mon mieux (rires)

Comprendre la bibliothèque (1 jour)

Maîtrisez comment utiliser une bibliothèque de classes typique. Maîtrisons chaque élément en environ 1 heure et pouvons l'utiliser à tout moment et n'importe où. String,Int32,DateTime Dictionary<TKey, TValue>,List,Array SqlConnection,SqlCommand...Entity Framework Task ORMapper HttpClient HtmlAgilityPack,AngleSharp File Stream

Expression régulière (1 jour)

Maîtrisez les expressions régulières à l'aide de la classe Regex. Faites-leur comprendre toutes les expressions régulières couramment utilisées. Faisons de notre mieux pour suivre.

Sujet (4 jours)

Maîtrisez la programmation multithread. -Monitor classe, syntaxe de verrouillage ・ Classe InterLocked · System.Collections.Concurrent namespace ・ Modèle consommateur / producteur ・ Modèle de jointure / fourche ・ Modèle de fil de travail Comprenons comment cela fonctionne environ un par jour et être capable d'écrire du code. Le multithreading est une tâche difficile, mais faisons de notre mieux.

Modèle de conception (3 jours)

Pour le moment, je comprendrai le modèle de conception du GoF dans 2 jours. Strategy Template Method Factory Bridge Builder Singleton Observer Composite Iterator autre

Découvrez les modèles de conception orientés objet et importants. Dans environ une heure et demie, vous serez en mesure de comprendre pleinement le concept et d'écrire réellement le code. Encapsulation Principe de responsabilité unique Principe ouvert / fermé Principe de remplacement de Riskov Principe de séparation d'interface Principe de l'inversion de dépendance

Comprendre ces modèles de conception en 3 jours nécessite beaucoup de maux de tête, mais pour maîtriser en 100 jours, vous devez aller à cette vitesse. faisons de notre mieux!

DB (7 jours)

De là, je vais changer de domaine et étudier DB. Comprenez chaque objet de base de données (serveur, base de données, autorisation, table, colonne, vue, procédure stockée, fonction stockée, contrainte, PK, FK, valeur), familiarisez-vous avec la syntaxe SQL, comprenez le concept de normalisation et concevez une table. Besoin de pouvoir.

Normalisation (3 jours)

Obtenez une meilleure compréhension du concept de normalisation. ・ Première forme normale ・ Deuxième forme normale ・ Troisième forme régulière ・ Forme régulière BC (Voice Cod) ・ 4ème forme régulière ・ Cinquième forme régulière ・ 6ème forme régulière ・ Touche principale ・ Clé externe ・ Dépendance de fonction ・ Dépendance de fonction partielle ・ Dépendance de la fonction transitionnelle

Soyons capables de concevoir un tableau normalisé avec des sites EC, des sites de babillards électroniques, des systèmes de gestion des tâches, des sites d'enchères et des sites de questions-réponses en tant que problèmes réels. Master en 3 jours. C'est un programme diabolique, mais je n'ai pas le temps! Serrons les dents et continuons! !! !!

Transactions et astuces de verrouillage (1 jour)

Mieux comprendre le concept de transaction (atomique, cohérente, indépendante, persistante). Comprenez le timing des conseils de verrouillage, des escalades et des déblocages, et approfondissez vos connaissances afin que les transactions appropriées puissent être effectuées.

Index (1 jour)

Découvrez le fonctionnement des index et des optimiseurs de requêtes, comprenez le comportement interne de JOIN (jointure de fusion, jointure hachée, boucle imbriquée) et bien plus encore pour vous aider à concevoir le meilleur index.

Syntaxe variée (2 jours)

Maîtrisez la syntaxe SQL pour travailler avec DB en 2 jours. Il s'agit d'une répartition d'un jour pour DDL et d'un jour pour DML.

DDL (1 jour)

Maîtrisez le langage de définition de données en une journée. Table (Create,Alter,Drop) -- Column(PK,FK,Null,Constraint) Stored Procedure Stored Function Constraint(PK, FK...etc) View User Defined Types Table Value Parameter

DML (1 jour)

Comprenons et écrivons la syntaxe suivante pour Data Manipulation Language dans environ une heure. insert,update,delete select where orderby group by, Max,Min,Avg,Count join union subquery CTE Row_Number,Lead,Lag,Rank,Dense_Rank, Fonctions de manipulation de chaînes Fonction de manipulation de date autre

Je pense que je peux me reposer pendant ces deux jours car je n'apprends qu'à écrire la syntaxe (Makoto)

Réseau (10 jours)

Maintenant que vous maîtrisez DB, il est temps de comprendre les concepts de base qui composent les communications réseau afin que vous puissiez réellement écrire du code et l'analyser avec des outils. Aussi, approfondissons la compréhension des spécifications des protocoles typiques.

TCP / IP (2 jours)

Achetez la maîtrise TCP / IP et lisez en une journée Le deuxième jour, analysez réellement la communication avec Fiddler ou WireShark, voyez par vous-même comment la communication est effectuée et comprenez-la parfaitement. C'est un programme diabolique que j'ai lu en un jour et maîtrisé l'outil le lendemain, mais je n'ai pas le temps. faisons de notre mieux! !! !!

Demande, réponse (1 jour)

Dans les applications WEB, les données sont échangées sur la base du concept de demande et de réponse. Codons en fait en utilisant la classe Socket et la classe TcpListner de C # et devenons capables de faire de la programmation côté serveur. Si vous pouvez vous le permettre, implémentons-le pour que la requête reçue par l'auditeur du serveur puisse être traitée dans plusieurs threads. C # a été maîtrisé et j'ai fait du multi-threading, donc c'est facile (sérieusement)

DNS (1 jour)

Comprendre la résolution de noms pour les adresses IP. Écrivons un programme qui implémente le protocole DNS en C # et peut réellement communiquer et obtenir une adresse IP du domaine.

HTTP (3 jours)

Comprenez HTTP. Comprendre les en-têtes et les corps, la méthode HTTP, les codes de réponse, les cookies, l'authentification, AJAX avec XMLHttpRequest, etc. en 3 jours et être en mesure de réellement implémenter des échanges HTTP en JavaScript et en langages côté serveur.

OAuth (1 jour)

Comprenez l'authentification OAuth. Implémentons en fait une application WEB qui s'authentifie à l'aide de l'authentification OAuth avec des API telles que Facebook, Google et Twitter.

SMTP, POP3, IMAP, MIME, FTP (2 jours)

Découvrez les protocoles de messagerie, MIME et FTP en deux jours. En touchant divers protocoles, vous serez en mesure de comprendre ce que signifient les protocoles.

Front end WEB (10 jours)

Vient ensuite la réception. Maîtrisez les frameworks HTML, CSS, JavaScript, TypeScript et frontaux en 10 jours.

HTML (1 jour)

En savoir plus sur le HTML. Apprenez toute la syntaxe et le style en une journée.

CSS (2 jours)

Maîtrisez les sélecteurs CSS et diverses syntaxes en 2 jours.

JavaScript (3 jours)

Sur la base de votre compréhension de C #, vous maîtriserez la syntaxe de base en un jour, maîtriserez comment gérer AJAX et DOM le deuxième jour, et maîtriserez le framework front-end populaire le troisième jour.

TypeScript (1 jour)

Maîtrisez toute la syntaxe TypeScript en une journée pour une écriture plus sécurisée.

Vue.js (3 jours)

Master Binding, Routing, Template, etc. en 3 jours et familiarisez-vous avec eux.

Les 10 derniers jours sont principalement consacrés à l'apprentissage et à l'utilisation de la syntaxe, c'est donc comme une courte pause. Je vais économiser mon énergie et me préparer à cela.

Application (10 jours)

Nous allons nous entraîner afin que vous puissiez créer diverses applications.

Console (1 jour)

Construisons une application console. Acquérons des compétences afin que vous puissiez créer une application capable d'interagir avec les utilisateurs en utilisant pleinement Console.ReadLine et Console.WriteLine. Si nécessaire, acquérez des connaissances afin de pouvoir également établir des liens avec HttpClient, AngleSharp et DB.

WPF (3 jours)

Comprenez Xaml. Pour approfondir votre compréhension et votre maîtrise de Binding, Converter, ObservableCollection, PropertyChanged, etc. Maîtrisez le modèle MVVM et soyez capable de créer des applications WPF de haute qualité.

Application Web (3 jours)

Comprenez le modèle MVC. Vous pourrez afficher la page en renvoyant du HTML dans la vue Razor pour une requête GET normale. Vous pourrez également créer des API pour les appels d'API à partir de JavaScript.

Application mobile (3 jours)

Vous pourrez étudier Xamarin et créer des applications iOS et Android. Vous maîtriserez la méthode d'écriture Xaml de base et le Xaml spécifique au mobile, et acquerrez les connaissances nécessaires pour maîtriser les fonctions spécifiques au terminal (GPS, appareil photo, etc.).

Nuage (20e)

Puisque les temps sont le cloud, comprenons les grandes lignes de chaque service cloud et pouvons l'utiliser réellement. Je n'ai plus plusieurs jours. Comprenons et utilisons toutes les fonctions à un rythme d'une fois par jour.

App Service (1 jour)

Soyons capables de créer un site Web. Comprendre et maîtriser les fonctionnalités telles que le déploiement à partir de DevOps, des emplacements et la mise à l'échelle automatique.

Azure Function Comprendre les avantages du sans serveur et être capable d'écrire du code. Approfondissons votre compréhension des fonctions durables et devenons capables de les utiliser de manière avancée.

SQL Database Créez votre base de données SQL pour mieux comprendre les recommandations d'index, la mise à l'échelle automatique, la redondance, les sauvegardes, les pools élastiques, etc. pour en tirer le meilleur parti.

BigQuery Comprenons la différence avec SQL et maîtrisons-le afin qu'il puisse être utilisé correctement.

Notification Hubs Pouvons avertir le mobile.

Redis Concevons et utilisons le cache pour créer des applications hautes performances.

SignalR Approfondissons notre compréhension de la communication bidirectionnelle à l'aide de WebSocket afin de pouvoir réellement l'implémenter côté serveur et côté client.

Git (7e)

Maîtrisez le contrôle du code source Git en 7 jours. Comprenons le concept un par un par jour et devenons capables de l'utiliser correctement. ・ Commit, Push, Pull · Branche ・ Fusionner ・ Dépôt ・ Synchronisation ・ Fourche, demande de tirage ・ Autres commandes telles que Stash

DevOps (3 jours)

Découvrez DevOps pour une évolution continue des services. Nous maîtriserons les services typiques une fois par jour.

CI/CD Apprenez à connaître et à maîtriser les actions GitHub en une journée.

Swap Découvrez et profitez du fonctionnement du déploiement bleu-vert.

Selenium Tirez parti du cadre de test de l'interface utilisateur pour créer des tests automatisés et développer les compétences nécessaires pour effectuer des tests de régression afin d'éviter toute dégradation lors des mises à jour.

AI (10 jours)

Comprenez l'IA en 7 jours. Maîtrisons Python en un jour, comprenons les méthodes d'IA typiques une par une par jour et soyez en mesure d'écrire du code en Python. ・ Python ・ Apprentissage automatique · L'apprentissage en profondeur ・ Reconnaissance d'image / vidéo ・ Analyse du langage ・ Classification / regroupement ・ Retour et prédiction ・ Détection d'anomalies ・ Renforcer l'apprentissage

Résumé

Comment était-ce? Je programme depuis plus de 10 ans, mais honnêtement, si on me demandait de comprendre à ce rythme ...

En tant que niveau de compréhension ・ Comprendre le concept ・ Vous pouvez écrire tout en vérifiant ・ Vous pouvez écrire sans rien regarder (cela prend du temps) ・ Vous pouvez écrire sans rien regarder ・ Enseignez aux autres sur le tableau blanc sans rien regarder Il y a une étape appelée. Je pense qu'il faudra plus de temps pour pouvoir expliquer chaque connaissance de cet article aux autres. Peut-être que cela prendra environ 10 fois plus de temps, et si vous passez autant de temps et bougez réellement vos mains plusieurs fois, vous serez en mesure d'écrire du code en peu de temps au lieu d'enquêter, et vous serez en mesure de comprendre l'utilisation appropriée. Il y a un sentiment.

100 jours x 10 heures = 1000 heures, multiplié par 10 donne 10000 heures. J'ai senti que la «loi des 10 000 heures» souvent évoquée dans le monde du sport n'est pas une erreur. https://www.gqjapan.jp/culture/sports/20160803/the-truth-of-the-10000-hour-rule Il ne suffit pas d'écrire 10 000 heures et 10 000 heures d'apprentissage sont nécessaires avec une légère charge. Il sera important de passer 10 000 heures à viser un niveau plus élevé de compréhension de chaque connaissance. C'est 3 mois x 10 fois, donc pendant environ 3 ans, je fais une pause une fois par semaine pendant environ 10 heures chaque jour, et si je passe environ 10000 heures, je pense que si je fais autant, je serai dans le top 5%. !!

Si votre patron dit quelque chose que vous ne comprenez pas, comme "La période de formation est longue! Pouvez-vous la raccourcir un peu?" Ou "Si vous pouvez le faire en ligne, le réseau est similaire? C'est le même IT." laisse moi voir. Un peu peut être utile.

prime

Dans cet article, j'ai écrit les bases, mais j'ai également écrit des articles pour les utilisateurs intermédiaires et avancés. Jetez un œil ici si vous le souhaitez. J'ai essayé de créer des outils et des services de gestion des tâches pour m'améliorer à partir du niveau débutant- Connaissance de base de l'informatique et de sa pratique que vous devez connaître pour améliorer les performances Techniques et connaissances à connaître pour améliorer les performances des applications WEB J'ai créé la bibliothèque Mapper la plus rapide au monde avec C # (3 à 10 fois plus rapide qu'AutoMapper, etc.) Conception d'interface utilisateur fonctionnelle pour les programmeurs Articles techniques avancés pour devenir un ingénieur de classe mondiale

Recommended Posts

Comment maîtriser la programmation en 3 mois
Comment trouver May'n dans XPath
Comment masquer la barre de défilement dans WebView
Comment exécuter JUnit dans Eclipse
Comment exécuter Ant dans Gradle
Comment apprendre JAVA en 7 jours
Comment obtenir des paramètres dans Spark
Comment installer Bootstrap dans Ruby
Comment utiliser InjectorHolder dans OpenAM
Comment installer jQuery dans Rails 6
Comment utiliser les classes en Java?
Comment nommer des variables en Java
Comment définir Lombok dans Eclipse
Comment concaténer des chaînes avec Java
Comment installer Swiper in Rails
Comprendre comment la programmation fonctionnelle a été introduite dans Java d'un seul coup
[swift5] Comment spécifier la couleur en hexadécimal
Comment implémenter la fonctionnalité de recherche dans Rails
Comment implémenter le calcul de la date en Java
Comment implémenter le filtre de Kalman par Java
Prise en charge multilingue de Java Comment utiliser les paramètres régionaux
Comment changer le nom de l'application dans les rails
Comment utiliser le volume nommé dans docker-compose.yml
Comment filtrer JUnit Test dans Gradle
Comment insérer une vidéo dans Rails
Comment normaliser le pied de page d'en-tête dans Thymeleaf
Comment inclure Spring Tool dans Eclipse 4.6.3?
Comment ajouter un fichier jar dans ScalaIDE
Comment faire une conversion de base en Java
Comment avoir des paramètres dans la méthode link_to
Comment utiliser Docker dans VSCode DevContainer
Comment utiliser MySQL dans le didacticiel Rails
Comment fixer la date système dans JUnit
Comment appliquer les conventions de codage en Java
Comment intégrer Janus Graph dans Java
[rails] Comment configurer le routage dans les ressources
Comment obtenir la date avec Java
Comment implémenter la fonctionnalité de classement dans Rails
Comment utiliser les variables d'environnement dans RubyOnRails
Comment implémenter le traitement asynchrone dans Outsystems
Comment publier une bibliothèque dans jCenter
Comment spécifier l'attribut id dans JSF
Résumé de la façon de monter les escaliers de programmation
Comprendre en 5 minutes !! Comment utiliser Docker
Comment écraser les données Firebase avec Swift
Comment utiliser credentials.yml.enc introduit à partir de Rails 5.2
Comment assembler JSON directement dans Jackson
[Pour les débutants] Comment déboguer avec Eclipse
Comment utiliser ExpandableListView dans Android Studio
Comment afficher les messages d'erreur en japonais
Résumé de la sélection des éléments dans Selenium
[Java FX] Comment écrire des autorisations Eclipse dans build.gradle