|
|
Zeile 1: |
Zeile 1: |
| == Lernplan für das Programmieren einer Website mit Golang ohne Webframework ==
| | {{#mermaid:sequenceDiagram |
| | Client->>DispatcherServlet: HTTP-Anfrage |
| | DispatcherServlet->>Controller: Auswahl der Methode |
| | Controller->>Service: Geschäftslogik |
| | Service->>Repository: Datenzugriff |
| | Repository-->>Service: Daten |
| | Service-->>Controller: Daten |
| | Controller-->>DispatcherServlet: Antwort |
| | DispatcherServlet-->>Client: HTTP-Antwort |
| | }} |
|
| |
|
| === 1. Einführung in Golang ===
| | <br> |
| * Grundlagen der Programmiersprache Go
| |
| * Installation und Einrichtung der Entwicklungsumgebung
| |
| * Erste Schritte mit Go: "Hello, World!" Programm
| |
|
| |
|
| === 2. Grundlagen der Webentwicklung ===
| | {{#mermaid:graphTD |
| * HTTP-Protokoll und grundlegende Konzepte
| | A[Client: HTTP-Anfrage] --> B(DispatcherServlet: Anfrageempfang); |
| * Aufbau einer einfachen HTTP-Server in Go
| | |
| * Umgang mit HTTP-Anfragen und -Antworten
| | }} |
| | |
| === 3. Routing und URL-Handling ===
| |
| * Manuelles Routing in Go
| |
| * Parsing und Verarbeiten von URL-Parametern
| |
| * Implementierung von Middleware
| |
| | |
| === 4. Arbeiten mit Templates ===
| |
| * Einführung in HTML-Templates
| |
| * Einbinden und Rendern von Templates in Go
| |
| * Dynamische Inhalte in Templates einfügen
| |
| | |
| === 5. Datenbankintegration ===
| |
| * Einführung in SQL und Datenbanken
| |
| * Verbindung zu einer Datenbank herstellen
| |
| * CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) implementieren
| |
| | |
| === 6. Benutzerverwaltung und Authentifizierung ===
| |
| * Benutzerregistrierung und -anmeldung
| |
| * Passwort-Hashing und -Speicherung
| |
| * Sitzungsverwaltung und Authentifizierung
| |
| | |
| === 7. Sicherheit und Best Practices ===
| |
| * Schutz vor gängigen Sicherheitslücken (z.B. SQL-Injection, XSS)
| |
| * HTTPS und sichere Kommunikation
| |
| * Best Practices für sichere Webanwendungen
| |
| | |
| === 8. Fehlerbehandlung und Logging ===
| |
| * Fehlerbehandlung in Go
| |
| * Logging und Überwachung der Anwendung
| |
| * Debugging-Techniken
| |
| | |
| === 9. Deployment und Skalierung ===
| |
| * Vorbereitung der Anwendung für das Deployment
| |
| * Deployment auf verschiedenen Plattformen (z.B. Heroku, AWS)
| |
| * Skalierung und Lastverteilung
| |
| | |
| === 10. Abschlussprojekt ===
| |
| * Planung und Umsetzung eines komplexen Webprojekts
| |
| * Anwendung der gelernten Konzepte und Techniken
| |
| * Präsentation und Dokumentation des Projekts
| |
| | |
| == Ressourcen ==
| |
| * Offizielle Go-Dokumentation: https://golang.org/doc/
| |
| * Go Web Programming Buch: https://www.manning.com/books/go-web-programming
| |
| * Online-Tutorials und Kurse
| |
| | |
| == Fazit ==
| |
| Mit diesem Lernplan sollten Sie in der Lage sein, eine komplexe Website mit Golang ohne die Verwendung eines Webframeworks zu entwickeln. Viel Erfolg!
| |