ganz schnell coden oder wofür war noch mal fastapi? ! weib coding vom feinsten ! Coding & Tech helptober
FastAPI und Docker: Einblicke in moderne Backend-Entwicklung
Das Webframework FastAPI für Python stand im Mittelpunkt der vergangenen Übertragung. Die Zuschauer erlebten, wie eine API mit Datenmodellen und Endpunkten aufgebaut wurde. Auch die Konfiguration der Docker-Infrastruktur sorgte für Diskussionsbedarf, besonders bei der Port-Zuweisung. Zudem wurde über die Vorzüge von FastAPI gegenüber anderen Frameworks gesprochen. Am Ende stand eine funktionierende Anwendung mit validierten Eingaben, und der Ausblick auf die nächsten Schritte in der Entwicklung wurde gegeben.
Stream-Start und Helptober-Abstimmung
00:04:52Der Stream beginnt mit einer allgemeinen Begrüßung der Zuschauer und der Erinnerung daran, dass es sich um den letzten Stream im Rahmen des Helptober handelt. Der Helptober ist ein Monat, in dem alle Einnahmen aus Twitch gespendet werden, wobei die Zuschauer über eine Abstimmung bestimmen, welcher Organisation das Geld zufließt. Eine Umfrage wird gestartet, um die aktuellen Stimmen für die Lieblingstiere (Fledermaus, Katze, Hai) zu zeigen. Aktuell führt die Fledermaus mit 37%, gefolgt von der Katze (34%) und dem Hai (30%).
Technische Vorbereitung und Docker-Infrastruktur
00:08:01Der Streamer erwähnt, dass er am Vorabend wegen Schwimmens und anderen Aufgaben spät nach Hause kam und deshalb nicht so gut vorbereitet war. Dennoch startet er mit der Arbeit an der Infrastruktur, die aus Docker Compose besteht. Er erklärt, dass er Docker Compose verwendet, um mehrere Container wie eine Datenbank und ein Backend zu starten. Es gibt technische Schwierigkeiten beim Starten von Docker, was zu Verzögerungen führt.
Einführung in FastAPI und PyDentic-Modell
00:15:14Der Streamer beginnt mit der Erklärung und Implementierung von FastAPI, einem Webframework für Python. Er erstellt ein PyDentic-Modell namens 'ReportCreate', das Kategorie und Beschreibung als Felder enthält. Anschließend definiert er einen Post-Endpunkt '/reports', der das Modell verwendet, um eingehende Daten zu validieren. Er erklärt, wie FastAPI automatisch OpenAPI-Dokumentationen generiert und warum es effizienter ist als andere Frameworks wie Django.
Diskussion über Docker und Port-Konfiguration
00:17:54Es entsteht eine ausführliche Diskussion über die richtige Konfiguration von Docker Compose, insbesondere im Hinblick auf Port-Zuweisungen. Der Streamer versucht, FastAPI auf Port 8001 laufen zu lassen, stößt jedoch auf Schwierigkeiten, da der Port bereits belegt ist. Er erkundigt sich nach dem richtigen Befehl, um den Compose-Stack zu stoppen (docker compose down) und wie er das Python-Skript korrekt starten kann.
Erfahrungen mit Docker und Entwicklungsumgebung
00:19:43Der Streamer teilt seine persönlichen Erfahrungen mit Docker, obwohl er seit 2012 in der Softwareentwicklung tätig ist, hat er bisher selten Docker verwendet. Er erklärt, dass Docker für Entwickler wichtig ist, auch wenn nicht alle Unternehmen die gleichen Technologien nutzen. Er diskutiert die Herausforderungen beim Einrichten von Entwicklungsumgebungen und erwähnt, dass er eine VM auf seinem Computer installiert hat, um Linux zu testen.
Hilfesuchung an die Community
00:41:43Der Streamer ruft explizit um Hilfe von Experten in FastAPI und Docker. Er hat drei konkrete Fragen: Wie startet man FastAPI automatisch mit Docker Compose? Wie kann man den Port ändern, auf dem FastAPI läuft? Und wie integriert man das Python-Skript korrekt in den Docker-Container? Die Community im Chat versucht, ihm mit Tipps zu helfen, wobei er gelegentlich Schwierigkeiten hat, die Vorschläge umzusetzen.
Implementierung des Enum-Typs für Kategorien
00:45:49Der Streamer arbeitet an der Implementierung eines Enum-Typs für die Kategorie-Felder im ReportCreate-Modell. Er erklärt, dass Enum in Python verwendet wird, um eine feste Menge von Werten zu definieren (z.B. Waste, Water, Trees, Animal Welfare, Infrastructure). Er zeigt, wie man das Enum in das PyDentic-Modell integriert und testet, ob die Validierung korrekt funktioniert, indem er falsche Werte eingibt und die Fehlermeldungen analysiert.
Technik-Team-Auftrag und Freiberufler-Diskussion
01:16:46Der Streamer teilt mit, dass eine Persona namens 'Patriot' nach einem ITler sucht, der ihr in der Freizeit hilft, ihre Website und Community-Projekte voranzutreiben. Er diskutiert die Dynamik zwischen Content Creator und Technikern, wobei er betont, dass solche Aufträge oft unentgeltlich bleiben. Er erwähnt auch, dass er über 600 Anfragen dafür erhalten hat und dass er diese Aufgabe an Tim, seinen Moderator, weiterleitet, der das Technik-Team leitet.
Implementierung der Response-Modelle
01:20:26Der Streamer fügt dem Code ein Response-Modell hinzu, das neben den vom Client gesendeten Daten auch eine ID und einen Status enthält. Er erklärt, wie das Server-SEITEN-Modell (ReportResponse) von dem Client-SEITEN-Modell (ReportCreate) getrennt ist. Der Streamer demonstriert, wie man die neue Funktion testet, indem er einen Dummy-Request sendet und die Antwort analysiert, um sicherzustellen, dass alles korrekt funktioniert.
Erweiterung der Enum-Kategorien und Datenbankmodell
01:55:34Der Streamer passt das Enum für die Kategorien an und stellt sicher, dass alle Kategorien korrekt in der Datenbank definiert sind (Waste, Water, Trees, Animal Welfare, Infrastructure). Er testet erneut die Validierung durch Eingabe falscher Werte und bestätigt, dass FastAPI die Anfragen korrekt ablehnt. Er erwähnt auch, dass er in späteren Lektionen ein zweites Modell hinzufügen wird, das eine Datenbank-Tabelle als Python-Klasse darstellt.
Zusammenfassung der Fortschritte und Streamende
02:04:41Der Streamer fasst die Fortschritte des Tages zusammen und betont, wie wichtig es ist, das Modellobjekt (ReportCreate) zu verstehen, das als Formularvorlage für die Daten dient. Er erklärt, wie FastAPI die Validierung durchführt und warum es entscheidend ist, die Kategorie-Felder streng zu kontrollieren. Bevor der Stream endet, erinnert er die Zuschauer an die letzte Gelegenheit, im Helptober abzustimmen, und kündigt an, dass der nächste Stream am Dienstag stattfinden wird.
Letzte Erinnerung an Helptober-Abstimmung und Streamplan
02:22:20Bevor der Stream endgültig endet, gibt der Streamer eine letzte Erinnerung an die Abstimmung für das Lieblingstier im Helptober. Er betont, dass heute der letzte Tag ist, um Abstimmungen abzugeben. Anschließend kündigt er den Streamplan an: Der nächste Stream findet am Dienstag um 19 Uhr statt, da der Streamer am Sonntag unterwegs sein wird. Der Streamplan wird auf Discord und Instagram veröffentlicht. Er dankt der Community für ihre Unterstützung und verabschiedet sich mit 'Tschaui!'