Praktische Entwicklung ist keine riesige Architektur. Es ist nur eine Erweiterung der kleinen Stücke, die Sie gerade lernen.
Viele Anfänger haben solche Fragen.
"Wird das, was ich gerade lerne...
wirklich bei der Entwicklung von Diensten helfen?"
Sternzeichnen, Schleifen, if-Anweisungen, Klassen und Module.
Da diese kleinen und einfachen Codes nicht sofort mit der großen Struktur eines "echten Dienstes" verbunden sind, ist es nicht offensichtlich, wie sie miteinander verknüpft sind.
Deshalb kommt irgendwann die vage Angst auf:
"Handelt es sich um eine Technologie, die in der Praxis verwendet wird?"
"Kann ich damit wirklich eine App erstellen?"
Aber die Wahrheit ist sehr einfach.
Ein echter Dienst ist
eine 'Erweiterung' Ihrer Grundlagen, die Sie gerade gelernt haben.
Es wird nicht komplizierter oder undurchsichtiger, sondern
die gleichen Prinzipien werden wiederholt, kombiniert und erweitert.
1. Alle großen Dienste entstehen aus einfachen Strukturen
Wenn wir über Dienste sprechen, denken wir normalerweise an ein
"riesiges System".
Viele Funktionen, Anmeldungen, Zahlungen, Datenbanken...
Unendlich viele Funktionen.
Aber die meisten bekannten Dienste haben nicht so angefangen.
Das frühe Facebook hatte nur die Funktionen
"Liste der Schulfreunde und Fotos hochladen".
Das frühe YouTube hatte nur
"Videos hochladen und teilen".
Das frühe Instagram hatte sogar nur
"Filter anwenden + ein Foto hochladen".
Mit anderen Worten, jeder Dienst
hatte anfangs eine sehr einfache Struktur.
Und diese Struktur unterscheidet sich nicht von dem, was Sie gerade lernen.
Daten werden benötigt → Arrays, Hashes
Unterschiedliche Anzeige je nach Bedingung → if
Wiederholte Aktionen → Schleife
Funktionen aufteilen → Methode
Konzepte trennen → Klasse
Gemeinsame Funktionen zusammenfassen → Modul
Was Anfänger als "spielerisch erlernen" betrachten, sind
die Bausteine aller realen Dienste.
2. Die kleinen Funktionen, die Sie gerade lernen, sind die 'Atome' des Dienstes
Schauen wir uns ein Beispiel an.
Der Code, den wir verwenden, um ein Sternmuster auszugeben:
5.times do
puts "*"
end
Was hat das mit der Praxis zu tun?
Genau hier entsteht die Schlüsseltechnologie des 'Wiederholens'.
Beim Anzeigen einer Produktliste im Online-Shop
Beim Anzeigen einer Videoliste auf YouTube
Beim Auflisten von Blogbeiträgen
Beim Anzeigen von Kommentaren
Beim Sortieren von Chatverläufen nach Zeit
Jeder Bildschirm wird mit einer Schleife erstellt.
Was ist mit Bedingungen?
Die Bedingung (if) führt zu den "Entscheidungen" des Dienstes
if user.admin?
show_admin_panel
else
show_user_panel
end
In einem echten Dienst bedeutet dies:
Nur angemeldete Benutzer sehen die Schaltfläche
Nur Käufer dürfen Downloads durchführen
Nur Vollmitglieder sehen bestimmte Menüs
Wenn der Vorrat leer ist, wird die Schaltfläche deaktiviert
Alle "Entscheidungen" in einem Dienst basieren auf if.
Die kleine Bedingung, die Sie beim Sternzeichnen gelernt haben,
wird in Wirklichkeit zu einer Bedingung, die Hunderttausende von Benutzern täglich erleben.
An diesem Punkt wird der Lernende erkennen.
Die if-Bedingung, die ich lerne,
bildet das Fundament für die Benutzererfahrung.
3. Methoden sind die Einheiten der Funktionalität, Klassen sind die Form der Existenz
Ein echter Dienst stellt immer diese Fragen.
Wo soll diese Funktion platziert werden?
Wer ist für dieses Verhalten verantwortlich?
Wer sollte diese Daten verwalten?
Diese Fragen führen letztendlich
in die Welt der Methoden und Klassen.
Methode (Method) — Die kleinste Einheit der Funktionalität
Registrierung, Anmeldung, Abmeldung, Like-Klicken, Kommentieren...
Alle Funktionen, die wir in einem Dienst verwenden,
sind tatsächlich nur eine Methode.
Eine kleine Methode, die Sie erstellen,
wird in der Praxis zu einer Funktion, die Hunderttausende von Benutzern täglich verwenden.
Klasse (Class) — Die Technik, um Modelle der Welt zu erstellen
In einem Dienst gibt es immer etwas, das "existiert".
Benutzer
Beitrag
Kommentar
Bestellung
Produkt
Diese vereinfachen die komplexen Informationen der realen Welt
in einem einzigen Rahmen (Klasse).
Eine Klasse ist nicht nur eine einfache Syntax, sondern
eine Technik, um die Welt in Code umzuformen.
Sobald ein Entwickler das Konzept einer "Klasse" versteht,
wird er nicht mehr nur jemand sein, der Inhalte auf dem Bildschirm anzeigt, sondern
jemand, der die Struktur der Welt entwirft.
4. Module erzeugen die 'gemeinsamen Fähigkeiten' eines realen Dienstes
Unter den Funktionen, die Sie erstellt haben,
gibt es einige, die an vielen Stellen verwendet werden.
Protokollierung
Authentifizierung (Überprüfung der Anmeldung)
Zeitberechnung
Tagverarbeitung
Preisumrechnung
Diese Funktionen sollten nicht an einem Ort sein.
Sie müssen im gesamten Dienst gemeinsam genutzt werden.
Hier kommen Module ins Spiel.
Module werden in der Praxis wie folgt verwendet.
Gemeinsame Funktionen, die von mehreren Modellen verwendet werden
Authentifizierungslogik, die von mehreren Controllern verwendet wird
Berechnungslogik, die von mehreren Serviceobjekten gemeinsam genutzt wird
Die Module, die Sie gerade gelernt haben,
sind die 'Schlüsseltechnologien', die die Codequalität in der Praxis bestimmen.
5. Kleine Stücke bilden einen Fluss — das ist ein Dienst
Jedes Programm ist letztendlich ein "Fluss".
Der Benutzer sendet eine Anfrage
Der Server liest Daten
Es wird je nach Bedingung entschieden
Das Ergebnis wird verarbeitet
Mehrere Daten werden durch Wiederholung aufgelistet
Es wird auf dem Bildschirm angezeigt
Interessanterweise
entsprechen diese sechs Schritte
genau allem, was Sie bisher gelernt haben.
Anfrage/Antwort → symmetrisch
Datenverarbeitung → Methode
Entscheidung → Bedingung
Anzeige mehrerer Daten → Wiederholung
Strukturiertes Design → Klasse
Gemeinsame Funktionen → Modul
Sie lernen bereits
alle Phasen der Dienstentwicklung
unauffällig.
6. Was auch immer Sie erstellen, das, was Sie jetzt lernen, wird direkt angewendet
Ob Sie einen Online-Shop erstellen
Einen Blog erstellen
Ein Spiel erstellen
Einen API-Server erstellen
Einen auf KI basierenden Dienst erstellen
Ein soziales Netzwerk erstellen
Die tatsächliche Entwicklung wiederholt letztendlich die gleichen Prinzipien.
Daten verarbeiten
Wiederholungen durchführen
Bedingungen überprüfen
Strukturen aufteilen
Gemeinsame Funktionen zusammenfassen
Flüsse verbinden.
Dieses Prinzip
ändert sich nie, egal welche Sprache Sie verwenden,
welchen Dienst Sie erstellen,
wie groß Sie skalieren.
Sobald Sie dies erkennen,
beginnt der Lernende wirklich zu wachsen.
7. Fazit: Sie lernen bereits die Essenz der Dienstentwicklung
Die kleinen Codefragmente, die Sie bisher geschrieben haben,
sind tatsächlich die grundlegenden Technologien, die alle Dienstentwicklung unterstützen.
Kleine Wiederholungen erstellen Listen
Kleine Bedingungen schaffen Erfahrungen
Kleine Methoden erstellen Funktionen
Kleine Klassen erschaffen die Welt
Kleine Module schaffen Qualität
Kleine Flüsse erstellen den gesamten Dienst
Und all diese Fragmente
sind in Ihrem Gehirn bereits miteinander verbunden.
Das Erlernen des Codierens ist nicht nur ein Prozess, um "in der Lage zu sein, Dienste zu erstellen", sondern
ein Prozess, um zu verstehen, wie die Welt aufgebaut ist.
In diesem Moment
sind Sie bereit, einen Dienst zu erstellen.
Das Erstellen eines Dienstes bedeutet
nur, dass Sie das, was Sie gelernt haben,
etwas größer erweitern.