[JAVA] Wie man die Programmierung in 3 Monaten beherrscht

zunaechst

Werden Sie in 3 Monaten ein vollwertiger Programmierer an einer Programmierschule! Es gibt eine Werbephrase wie. Können Sie das Programm wirklich in ungefähr 3 Monaten (100 Tagen) beherrschen? Lassen Sie uns über den Weg nachdenken.

Lassen Sie uns unser Bestes geben, weil wir das Programm beherrschen wollen. Es sind 100 Tage in etwas mehr als 3 Monaten, also werde ich mein Bestes für 100 Tage x 10 Stunden geben, weil es jeden Tag 10 Stunden ohne Pause sind.

  1. Die Programmiersprache verstehen (20 Tage)
  2. Programmgestaltung (3 Tage)
  3. DB verstehen (7 Tage)
  4. Netzwerk verstehen (10 Tage)
  5. WEB-Frontend (10 Tage)
  6. Jede Anwendung (10 Tage)
  7. Die Cloud verstehen (20 Tage)
  8. Git (7.)
  9. DevOps (3 Tage)
  10. AI (10 Tage)

Objektorientierte Programme beherrschen

Es gibt verschiedene Sprachen wie C ++, C #, Java, Python, Ruby, Swift, Kotlin, Rust, Go usw. Lassen Sie uns mit C # gehen.

C # (20.)

Sie müssen die grundlegenden Konzepte der Programmierung erlernen und verschiedene Syntaxen beherrschen. ・ Variablen, bedingte Verzweigung, Wiederholung, Methode (1 Tag) ・ Speicher (2 Tage) ・ Müllabfuhr (1 Tag) ・ Verschiedene Syntax (10 Tage) ・ Die Bibliothek verstehen (1 Tag) ・ Regulärer Ausdruck (1 Tag) ・ Thread (4 Tage)

Variabel, Typ (2 Stunden)

Bitten Sie sie zunächst, die Variablen zu beherrschen. Erstellen Sie eine Konsolen-App und lernen Sie, wie Sie Variablen verwenden. Wir werden auch unser Wissen über Typen erweitern. Verstehen Sie Int32, String, Boolean, Double, Decimal, DateTime, TimeSpan, Guid.

Bedingte Verzweigung (2 Stunden)

Erfahren Sie, ob und wechseln Sie. if-else Sie können if-else verwenden und Switch and Break, Standard, Auslösen von Ausnahmen, um später zu lernen, und vieles mehr verstehen. Auch Boolescher Typ, verschiedene Operatoren(&&,||Usw.) Verstehen, wie man es benutzt.

Wiederholen Sie die Syntax (2 Stunden)

Verstehe und beherrsche die Syntax von while, for, foreach. Lassen Sie uns auch den Unterschied und die Verwendung von jedem verstehen.

Methode (4 Stunden)

Beherrschen Sie das Schreiben einer Methode. Lassen Sie uns auch Methodenargumente und Rückgabewerte verwenden. Sie werden auch die Verwendung von Überlast, Rückgabewert-Taple usw. beherrschen. Variablen, Bedingungen, iterative Syntax und Methoden sind Meister an einem Tag!

Stapelspeicher, Heapspeicher (2 Tage)

Verstehen Sie, wie Variablen und Klasseninstanzen Speicher verwenden. Verwendung des Stapelspeichers durch Variablendeklaration und Methodenaufruf, Verwendung des Heapspeichers vom Referenztyp, Invarianz von String, Layout im Speicher jedes Array-Elements, Speicherlayout in der Klassenmethodentabelle und Vererbung usw. Meister Am 3. Lerntag ist es ziemlich schwierig!

Müllabfuhr (1 Tag)

Verschaffen Sie sich ein besseres Verständnis der Speicherbereinigung. Verstehen Sie das Generationsspeichermanagement, die Referenzüberprüfung, LOH, den Finalizer usw. und vertiefen Sie Ihr Verständnis, damit Sie leistungsstarke Programme erstellen können. Ich habe gestern etwas über den Gedächtnismechanismus gelernt, daher sollte es leicht zu verstehen sein (lacht).

Verschiedene Syntax (10 Tage)

Beherrsche die Syntax, um in der richtigen Reihenfolge zu lernen. Lassen Sie uns die Bedeutung verstehen und die Syntax in etwa 2 bis 10 Stunden pro Stück schreiben.

erster Tag

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

der 2. Tag

Inheritance (virtual abstract) Interface try-catch-finally

Dritter Tag

Generics Nullable Partial Type Partial Method

Tag 4

Extension Method Lambda Expression Object Initializer Anonymous Type

Tag 5

LINQ null conditional operator

Tag 6

dynamic, reflection Partial method option parameter

Tag 7

async,await nameof exception filter

8. Tag

Tuple Type switch local function

Tag 9

Expression Tree Span

Tag 10

il code

Es gibt viel Syntax, aber Sie werden lernen, wie man es schreibt und wie man es benutzt. Es ist ein ziemlich teuflischer Zeitplan, aber ich werde mein Bestes geben (lacht)

Die Bibliothek verstehen (1 Tag)

Beherrschen Sie die Verwendung einer typischen Klassenbibliothek. Lassen Sie uns jeden Gegenstand in ungefähr 1 Stunde beherrschen und ihn jederzeit und überall verwenden können. String,Int32,DateTime Dictionary<TKey, TValue>,List,Array SqlConnection,SqlCommand...Entity Framework Task ORMapper HttpClient HtmlAgilityPack,AngleSharp File Stream

Regulärer Ausdruck (1 Tag)

Beherrschen Sie reguläre Ausdrücke mit der Regex-Klasse. Lassen Sie sie alle häufig verwendeten regulären Ausdrücke verstehen. Lassen Sie uns unser Bestes geben, um Schritt zu halten.

Thread (4 Tage)

Master-Multithread-Programmierung. -Monitor-Klasse, Sperrsyntax ・ InterLocked-Klasse · System.Collections.Concurrent-Namespace ・ Verbraucher- / Erzeugermuster ・ Join / Fork-Muster ・ Worker Thread-Muster Lassen Sie uns verstehen, wie es ungefähr eins pro Tag funktioniert, und in der Lage sein, tatsächlich Code zu schreiben. Multithreading ist eine schwierige Aufgabe, aber lassen Sie uns unser Bestes geben.

Entwurfsmuster (3 Tage)

Vorerst werde ich das GoF-Designmuster in 2 Tagen verstehen. Strategy Template Method Factory Bridge Builder Singleton Observer Composite Iterator andere

Erfahren Sie mehr über objektorientierte und wichtige Entwurfsmuster. In ungefähr anderthalb Stunden werden Sie in der Lage sein, das Konzept vollständig zu verstehen und den Code tatsächlich zu schreiben. Verkapselung Prinzip der Einzelverantwortung Offenes / geschlossenes Prinzip Riskovs Ersatzprinzip Prinzip der Schnittstellentrennung Prinzip der Abhängigkeitsumkehr

Das Verständnis dieser Entwurfsmuster in 3 Tagen erfordert viel Kopfschmerz, aber um in 100 Tagen zu meistern, müssen Sie mit dieser Geschwindigkeit arbeiten. geben wir unser Bestes!

DB (7 Tage)

Von hier aus werde ich das Feld wechseln und DB studieren. Verstehen Sie jedes DB-Objekt (Server, Datenbank, Berechtigung, Tabelle, Spalte, Ansicht, StoredProcedure, StoredFunction, Constraint, PK, FK, Value), machen Sie sich mit der SQL-Syntax vertraut, verstehen Sie das Konzept der Normalisierung und entwerfen Sie eine Tabelle. Muss in der Lage sein.

Normalisierung (3 Tage)

Holen Sie sich ein besseres Verständnis des Konzepts der Normalisierung. ・ Erste Normalform ・ Zweite Normalform ・ Dritte reguläre Form ・ BC (Voice Cod) reguläre Form ・ 4. reguläre Form ・ Fünfte reguläre Form ・ 6. reguläre Form ・ Hauptschlüssel ・ Externer Schlüssel ・ Funktionsabhängigkeit ・ Teilfunktionsabhängigkeit ・ Übergangsfunktionsabhängigkeit

Lassen Sie uns eine normalisierte Tabelle mit EC-Sites, Bulletin Board-Sites, Task-Management-Systemen, Auktions-Sites und Q & A-Sites als aktuelle Probleme entwerfen. Meister in 3 Tagen. Es ist ein Teufelsplan, aber ich habe keine Zeit! Lass uns deine Zähne zusammenbeißen und weitermachen! !! !!

Transaktionen und Sperrtipps (1 Tag)

Besseres Verständnis des Transaktionskonzepts (atomar, kohärent, unabhängig, beständig). Verstehen Sie das Timing von Sperrhinweisen, Eskalationen und Entsperrungen und vertiefen Sie Ihr Wissen, damit geeignete Transaktionen durchgeführt werden können.

Index (1 Tag)

Erfahren Sie, wie Indizes und Abfrageoptimierer funktionieren, verstehen Sie das interne Verhalten von JOIN (Merge Join, Hash Join, Nested Loop) und vieles mehr, um den besten Index zu entwerfen.

Verschiedene Syntax (2 Tage)

Beherrschen Sie die SQL-Syntax für die Arbeit mit DB in 2 Tagen. Es ist eine Aufschlüsselung von einem Tag für DDL und einem Tag für DML.

DDL (1 Tag)

Beherrschen Sie die Datendefinitionssprache an einem Tag. 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 Tag)

Lassen Sie uns die folgende Syntax für Data Manipulation Language in etwa einer Stunde verstehen und schreiben. insert,update,delete select where orderby group by, Max,Min,Avg,Count join union subquery CTE Row_Number,Lead,Lag,Rank,Dense_Rank, String-Manipulationsfunktionen Datumsmanipulationsfunktion andere

Ich denke, ich kann mich für diese zwei Tage ausruhen, weil ich nur lerne, wie man die Syntax schreibt.

Netzwerk (10 Tage)

Nachdem Sie DB beherrschen, ist es an der Zeit, die grundlegenden Konzepte der Netzwerkkommunikation zu verstehen, damit Sie tatsächlich Code schreiben und ihn mit Tools analysieren können. Lassen Sie uns auch das Verständnis der Spezifikationen typischer Protokolle vertiefen.

TCP / IP (2 Tage)

Kaufen Sie Mastering TCP / IP und lesen Sie es an einem Tag durch. Analysieren Sie am zweiten Tag die Kommunikation mit Fiddler oder WireShark, überzeugen Sie sich selbst, wie die Kommunikation erfolgt, und verstehen Sie sie vollständig. Es ist ein Teufelsplan, den ich an einem Tag durchlese und am nächsten Tag das Werkzeug beherrsche, aber ich habe keine Zeit. geben wir unser Bestes! !! !!

Anfrage, Antwort (1 Tag)

In WEB-Anwendungen werden Daten basierend auf dem Konzept der Anforderung und Antwort ausgetauscht. Lassen Sie uns tatsächlich mithilfe der Socket-Klasse und der TcpListner-Klasse von C # codieren und die serverseitige Programmierung durchführen. Wenn Sie es sich leisten können, implementieren wir es so, dass die vom Listener des Servers empfangene Anforderung in mehreren Threads verarbeitet werden kann. C # wurde gemastert und ich habe Multithreading durchgeführt, daher ist es einfach (ernsthaft)

DNS (1 Tag)

Grundlegendes zur Namensauflösung für IP-Adressen. Schreiben wir ein Programm, das das DNS-Protokoll in C # implementiert und tatsächlich kommunizieren und eine IP-Adresse von der Domäne erhalten kann.

HTTP (3 Tage)

HTTP verstehen. Verstehen Sie Header und Body, HTTP-Methode, Antwortcodes, Cookies, Authentifizierung, AJAX mit XMLHttpRequest usw. in 3 Tagen und können Sie den HTTP-Austausch in JavaScript und serverseitigen Sprachen implementieren.

OAuth (1 Tag)

Grundlegendes zur OAuth-Authentifizierung. Lassen Sie uns tatsächlich eine WEB-Anwendung implementieren, die sich mithilfe der OAuth-Authentifizierung mit APIs wie Facebook, Google und Twitter authentifiziert.

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

Erfahren Sie in zwei Tagen mehr über E-Mail-Protokolle, MIME und FTP. Durch Berühren verschiedener Protokolle können Sie verstehen, was die Protokolle bedeuten.

WEB-Frontend (10 Tage)

Als nächstes ist die Rezeption. Meistern Sie HTML, CSS, JavaScript, TypeScript und Front Frameworks in 10 Tagen.

HTML (1 Tag)

Erfahren Sie mehr über HTML. Lernen Sie alle Syntax und Stil an einem Tag.

CSS (2 Tage)

Master-CSS-Selektoren und verschiedene Syntaxen in 2 Tagen.

JavaScript (3 Tage)

Basierend auf Ihrem Verständnis von C # beherrschen Sie die grundlegende Syntax an einem Tag, beherrschen den Umgang mit AJAX und DOM am zweiten Tag und beherrschen das beliebte Front-End-Framework am dritten Tag.

TypeScript (1 Tag)

Beherrschen Sie die gesamte TypeScript-Syntax an einem Tag, um typsicherer zu schreiben.

Vue.js (3 Tage)

Master-Bindung, Routing, Vorlage usw. in 3 Tagen und machen Sie sich damit vertraut.

In den letzten 10 Tagen geht es hauptsächlich um das Erlernen und Verwenden der Syntax. Es ist also wie eine kurze Pause. Ich werde meine Energie sparen und mich darauf vorbereiten.

Anwendung (10 Tage)

Wir werden üben, damit Sie verschiedene Anwendungen erstellen können.

Konsole (1 Tag)

Lassen Sie uns eine Konsolenanwendung erstellen. Lassen Sie uns Fähigkeiten erwerben, damit Sie eine Anwendung erstellen können, die mit Benutzern interagieren kann, indem Sie Console.ReadLine und Console.WriteLine vollständig nutzen. Erwerben Sie bei Bedarf Kenntnisse, damit Sie auch eine Verknüpfung mit HttpClient, AngleSharp und DB herstellen können.

WPF (3 Tage)

Verstehe Xaml. Um Ihr Verständnis und Ihre Beherrschung von Binding, Converter, ObservableCollection, PropertyChanged usw. zu vertiefen. Beherrschen Sie das MVVM-Muster und können Sie hochwertige WPF-Anwendungen erstellen.

Web App (3 Tage)

Verstehen Sie das MVC-Muster. Sie können die Seite anzeigen, indem Sie HTML in der Razor-Ansicht für eine normale GET-Anforderung zurückgeben. Sie können auch APIs für API-Aufrufe aus JavaScript erstellen.

Mobile App (3 Tage)

Sie können Xamarin lernen und iOS- und Android-Apps erstellen. Sie beherrschen die grundlegende Xaml-Schreibmethode und das mobile-spezifische Xaml und erwerben das Wissen, um die terminalspezifischen Funktionen (GPS, Kamera usw.) zu beherrschen.

Wolke (20.)

Da die Zeiten die Cloud sind, wollen wir die Umrisse der einzelnen Cloud-Dienste verstehen und sie tatsächlich nutzen können. Ich habe nicht mehr viele Tage. Lassen Sie uns alle Funktionen einmal täglich verstehen und verwenden.

App Service (1 Tag)

Lassen Sie uns eine Website erstellen. Verstehen und beherrschen Sie Funktionen wie die Bereitstellung über DevOps, Slots und die automatische Skalierung.

Azure Function Verstehen Sie die Vorteile von Serverless und können Sie tatsächlich Code schreiben. Lassen Sie uns Ihr Verständnis für dauerhafte Funktionen vertiefen und es auf fortgeschrittene Weise nutzen können.

SQL Database Erstellen Sie Ihre SQL-Datenbank, um Indexempfehlungen, automatische Skalierung, Redundanz, Backups, elastische Pools und mehr besser zu verstehen und das Beste daraus zu machen.

BigQuery Lassen Sie uns den Unterschied zu SQL verstehen und beherrschen, damit er ordnungsgemäß verwendet werden kann.

Notification Hubs Lassen Sie uns in der Lage sein, Handy zu benachrichtigen.

Redis Lassen Sie uns den Cache entwerfen und verwenden, um Hochleistungsanwendungen zu erstellen.

SignalR Lassen Sie uns unser Verständnis der bidirektionalen Kommunikation mit WebSocket vertiefen, damit wir sie tatsächlich auf der Server- und der Client-Seite implementieren können.

Git (7.)

Beherrsche die Quellcode-Steuerung Git in 7 Tagen. Lassen Sie uns das Konzept einzeln verstehen und es richtig anwenden. ・ Festschreiben, Drücken, Ziehen · Ast ・ Zusammenführen · Repository ・ Synchronisieren ・ Gabel, Zuganforderung ・ Andere Befehle wie Stash

DevOps (3 Tage)

Erfahren Sie mehr über DevOps für eine kontinuierliche Serviceentwicklung. Wir werden einmal am Tag typische Dienstleistungen meistern.

CI/CD Lernen und beherrschen Sie GitHub-Aktionen an einem Tag.

Swap Lernen Sie die Funktionsweise der blau-grünen Bereitstellung kennen und nutzen Sie sie.

Selenium Nutzen Sie das UI-Testframework, um automatisierte Tests zu erstellen und die Fähigkeiten zur Durchführung von Regressionstests zu entwickeln, um eine Verschlechterung während Aktualisierungen zu verhindern.

AI (10 Tage)

Verstehe die KI in 7 Tagen. Lassen Sie uns Python an einem Tag beherrschen, typische KI-Methoden nacheinander verstehen und tatsächlich Code in Python schreiben können. ・ Python · Maschinelles Lernen · Tiefes Lernen ・ Bild- / Videoerkennung ・ Sprachanalyse ・ Klassifizierung / Clustering ・ Rückkehr und Vorhersage ・ Erkennung von Anomalien ・ Stärkung des Lernens

Zusammenfassung

Wie war es? Ich programmiere seit über 10 Jahren, aber ehrlich gesagt, wenn ich gebeten wurde, in diesem Tempo zu verstehen ...

Als Ebene des Verständnisses ・ Verstehe das Konzept ・ Sie können während der Überprüfung schreiben ・ Sie können schreiben, ohne etwas anzusehen (es dauert einige Zeit) ・ Sie können schreiben, ohne etwas anzusehen ・ Unterrichten Sie andere auf dem Whiteboard, ohne etwas anzusehen Es gibt eine Bühne namens. Ich denke, es wird mehr Zeit brauchen, um jedes Wissen über diesen Artikel anderen zu erklären. Vielleicht dauert es ungefähr zehnmal so lange, und wenn Sie so viel Zeit verbringen und Ihre Hände tatsächlich viele Male bewegen, können Sie in kurzer Zeit tatsächlich Code schreiben, anstatt nachzuforschen, und Sie werden in der Lage sein, die richtige Verwendung zu verstehen. Es gibt ein Gefühl.

100 Tage x 10 Stunden = 1000 Stunden, multipliziert mit 10 ergeben 10.000 Stunden. Ich fand, dass das "Gesetz von 10.000 Stunden", auf das in der Welt des Sports oft Bezug genommen wird, kein Fehler ist. https://www.gqjapan.jp/culture/sports/20160803/the-truth-of-the-10000-hour-rule Es reicht nicht aus, 10.000 Stunden zu schreiben, und 10.000 Stunden Lernen sind bei geringer Belastung erforderlich. Es wird wichtig sein, 10.000 Stunden damit zu verbringen, ein besseres Verständnis für jedes Wissen anzustreben. Es ist 3 Monate x 10 Mal, also mache ich für ungefähr 3 Jahre jeden Tag einmal pro Woche 10 Stunden Pause, und wenn ich ungefähr 10.000 Stunden für das Programm verbringe, denke ich, dass ich unter den besten 5% sein werde, wenn ich so viel mache. !!

Wenn Ihr Chef Ihnen sagt, dass Sie nicht gut verstehen, z. B. "Die Einarbeitungszeit ist lang! Können Sie sie etwas kürzer machen?" Oder "Wenn Sie dies im WEB tun können, sieht das Netzwerk ähnlich aus? Es ist dieselbe IT." Lass mich sehen. Ein wenig kann nützlich sein.

Bonus

In diesem Artikel habe ich die Grundlagen geschrieben, aber ich habe auch Artikel für fortgeschrittene und fortgeschrittene Benutzer geschrieben. Bitte schauen Sie hier, wenn Sie möchten. Ich habe versucht, Task-Management-Tools und -Dienste zu erstellen, um sie vom Anfänger an zu verbessern- Grundkenntnisse der Informatik und ihrer Praxis, die Sie zur Leistungsverbesserung kennen sollten Techniken und Kenntnisse, die Sie benötigen, um die Leistung von WEB-Anwendungen zu verbessern Ich habe die schnellste Mapper-Bibliothek der Welt mit C # erstellt (3 bis 10 Mal schneller als AutoMapper usw.) Funktionales UI-Design für Programmierer Fortgeschrittene technische Artikel, um ein Ingenieur von Weltklasse zu werden

Recommended Posts

Wie man die Programmierung in 3 Monaten beherrscht
So finden Sie May'n in XPath
So blenden Sie die Bildlaufleiste in WebView aus
So führen Sie JUnit in Eclipse aus
Wie man Ant in Gradle ausführt
Wie man JAVA in 7 Tagen lernt
So erhalten Sie Parameter in Spark
So installieren Sie Bootstrap in Ruby
Verwendung von InjectorHolder in OpenAM
So installieren Sie jQuery in Rails 6
Wie verwende ich Klassen in Java?
So benennen Sie Variablen in Java
So setzen Sie Lombok in Eclipse
So verketten Sie Zeichenfolgen mit Java
So installieren Sie Swiper in Rails
Verstehen Sie, wie die funktionale Programmierung in Java auf einen Schlag eingeführt wurde
[swift5] So legen Sie die Farbe hexadezimal fest
So implementieren Sie Suchfunktionen in Rails
So implementieren Sie die Datumsberechnung in Java
So implementieren Sie den Kalman-Filter mit Java
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
So ändern Sie den App-Namen in Rails
Verwendung des benannten Volumes in docker-compose.yml
So filtern Sie den JUnit-Test in Gradle
So fügen Sie ein Video in Rails ein
So standardisieren Sie die Kopfzeile in Thymeleaf
Wie kann ich Spring Tool in Eclipse 4.6.3 einbinden?
So fügen Sie eine JAR-Datei in ScalaIDE hinzu
So führen Sie eine Basiskonvertierung in Java durch
Wie man Parameter in der link_to-Methode hat
Verwendung von Docker in VSCode DevContainer
Verwendung von MySQL im Rails-Tutorial
So beheben Sie das Systemdatum in JUnit
So erzwingen Sie Codierungskonventionen in Java
Einbetten von Janus Graph in Java
[Rails] So konfigurieren Sie das Routing in Ressourcen
So erhalten Sie das Datum mit Java
So implementieren Sie Ranking-Funktionen in Rails
Verwendung von Umgebungsvariablen in RubyOnRails
So implementieren Sie die asynchrone Verarbeitung in Outsystems
So veröffentlichen Sie eine Bibliothek in jCenter
So geben Sie das ID-Attribut in JSF an
Zusammengefasst, wie man die Programmiertreppe hinaufsteigt
Verstehe in 5 Minuten !! Wie man Docker benutzt
So überschreiben Sie Firebase-Daten mit Swift
Verwendung von credentials.yml.enc aus Rails 5.2
So montieren Sie JSON direkt in Jackson
[Für Anfänger] So debuggen Sie mit Eclipse
Verwendung von ExpandableListView in Android Studio
So zeigen Sie Fehlermeldungen auf Japanisch an
Zusammenfassung der Auswahl von Elementen in Selen
[Java FX] So schreiben Sie Eclipse-Berechtigungen in build.gradle