Lerne die Entwicklung von Python APIs in einem der umfassendsten Kurse zu diesem Thema. Du wirst eine voll funktionsfähige API in Python mit FastAPI erstellen. Du wirst die Grundlagen des API-Designs lernen, einschließlich Routen, Serialisierung/Deserialisierung, Schema-Validierung und Modelle. Außerdem wirst du über SQL, Tests mit pytest und den Aufbau einer CI/CD-Pipeline mit GitHub Actions lernen.
⭐️ Kursinhalte
00:00 Einführung
06:33 Projektübersicht
11:22 Python Installation auf Mac
13:15 VS Code Installation und Einrichtung auf Mac
16:37 Python Installation auf Windows
18:30 VS Code Installation und Einrichtung auf Windows
22:11 Grundlagen der Python virtuellen Umgebung
24:35 Virtuelle Umgebung auf Windows
28:56 Virtuelle Umgebung auf Mac
34:17 Abhängigkeiten mit pip installieren
36:21 FastAPI starten
39:23 Pfadoperationen
53:22 Einführung in man
57:34 HTTP-Anfragen
1:07:29 Schema-Validierung mit Pydantic
1:22:45 CRUD-Operationen
1:29:44 Speicherung in Array
1:34:06 Erstellen
1:38:15 Postman Sammlungen & Anfragen speichern
1:39:47 Einzeln abrufen
1:48:10 Reihenfolge der Pfade ist wichtig
1:52:46 Ändern von Antwortstatuscodes
2:01:49 Löschen
2:10:31 Aktualisieren
2:18:02 Automatische Dokumentation
2:21:34 Python-Pakete
2:24:11 Einführung in Datenbanken
2:28:54 Postgres Installation auf Windows
2:31:28 Postgres Installation auf Mac
2:34:26 Datenbankschema & Tabellen
2:44:35 Verwaltung von Postgres mit PgAdmin GUI
3:12:10 Deine erste SQL-Abfrage
3:19:43 Ergebnisse filtern mit "where"
3:22:55 SQL-Operatoren
3:26:38 IN
3:28:07 Musterabgleich mit LIKE
3:31:59 Ergebnisse sortieren
3:36:27 LIMIT & OFFSET
3:39:21 Daten ändern
3:53:48 App-Datenbank einrichten
3:58:21 Verbindung zur Datenbank mit Python
4:08:00 Datenbank CRUD
4:31:18 Einführung in ORM
4:35:33 SQLALCHEMY einrichten
4:55:25 Spalte CreatedAt hinzufügen
5:00:59 Alle abrufen
5:07:55 Erstellen
5:15:50 Nach ID abrufen
5:19:50 Löschen
5:22:31 Aktualisieren
5:28:21 Pydantic vs ORM Modelle
5:32:21 Pydantic Modelle im Detail
5:38:57 Antwortmodell
5:50:08 Tabelle für Benutzer erstellen
5:54:50 Pfadoperation zur Benutzerregistrierung
6:03:27 Passwörter hashen
6:08:49 Hashing-Logik refaktorisieren
6:10:32 Benutzer nach ID abrufen
6:17:13 FastAPI-Router
6:27:34 Router-Präfix
6:30:31 Router-Tags
6:32:49 Grundlagen von JWT-Token
6:47:03 Anmeldeprozess
7:00:44 Token erstellen
7:09:58 OAuth2 PasswordRequestForm
7:13:23 Überprüfen, ob der Benutzer angemeldet ist
7:25:21 Fehlerbehebung
7:27:59 Routen schützen
7:36:17 Abgelaufenen Token testen
7:38:13 Benutzer in geschützten Routen abrufen
7:42:44 Postman erweiterte Funktionen
7:50:33 Grundlagen von SQL-Beziehungen
7:54:59 Postgres Fremdschlüssel
8:07:20 SQLAlchemy Fremdschlüssel
8:13:40 Schema aktualisieren, um Benutzer einzuschließen
8:17:59 Besitzer-ID beim Erstellen neuer Einträge zuweisen
8:21:01 Nur eigene Einträge löschen und aktualisieren
8:27:48 Nur angemeldete Benutzer abrufen
8:33:37 Sqlalchemy Beziehungen
8:38:32 Abfrageparameter
8:50:46 Haupt.py-Datei aufräumen
8:53:53 Umgebungsvariablen
9:21:20 Theorie zu Abstimmungen/Likes
9:26:36 Abstimmungstabelle
9:31:33 Abstimmungen Sqlalchemy
9:34:11 Abstimmungsroute
9:52:31 SQL Joins
10:15:26 Joins in SqlAlchemy
10:28:21 Einzeln mit Joins abrufen
10:30:18 Was ist ein Datenbank-Migrationstool?
10:33:45 Alembic einrichten
11:13:50 SqlAlchemy Engine erstellen deaktivieren
11:14:28 Was ist CORS?
11:23:38 Git Voraussetzungen
11:27:40 Git installieren
11:29:23 Github
11:34:39 Einführung in Heroku
11:35:40 Heroku-App erstellen
11:40:21 Heroku Procfile
11:44:59 Eine Postgres-Datenbank hinzufügen
11:48:42 Umgebungsvariablen in Heroku
11:58:59 Alembic-Migrationen auf Heroku Postgres-Instanz
12:02:52 Änderungen in die Produktion pushen
12:05:04 Eine Ubuntu-VM erstellen
12:08:04 Pakete aktualisieren
12:10:47 Python installieren
12:12:21 Postgres installieren & Passwort einrichten
12:17:28 Postgres-Konfiguration
12:24:50 Neuen Benutzer erstellen und Python-Umgebung einrichten
12:34:06 Umgebungsvariablen
12:42:24 Alembic-Migrationen auf der Produktionsdatenbank
12:45:57 Gunicorn
12:54:12 Einen Systemd-Dienst erstellen
13:04:45 NGINX
13:10:45 Domainnamen einrichten
13:15:19 SSL/HTTPS
13:19:31 NGINX aktivieren
13:20:06 Firewall
13:23:47 Codeänderungen in die Produktion pushen
13:26:09 Dockerfile
13:38:39 Docker Compose
13:48:34 Postgres-Container
13:56:22 Bind-Mounts
14:03:39 Dockerhub
14:08:08 Produktion vs Entwicklung
14:14:51 Einführung in Tests
14:17:19 Deinen ersten Test schreiben
14:30:22 Die -s & -v Flags
14:31:44 Weitere Funktionen testen
14:35:29 Parametrisieren
14:40:21 Testen von Klassen
14:48:37 Fixtures
14:55:40 Kombination von Fixtures + Parametrisieren
14:59:13 Ausnahmen testen
15:06:07 FastAPI TestClient
15:14:26 Pytest-Flags
15:17:31 Benutzer erstellen testen
15:25:23 Testdatenbank einrichten
15:36:47 Datenbank nach jedem Test erstellen & zerstören
15:44:18 Weitere Fixtures zur Handhabung der Datenbankinteraktion
15:50:35 Trailing Slashes im Pfad
15:53:12 Fixture-Scope
16:07:50 Testbenutzer-Fixture
16:14:40 Token testen/validieren
16:18:59 Conftest.py
16:22:09 Testen
17:34:15 CI/CD Einführung
17:43:29 Github Actions
17:49:32 Jobs erstellen
17:57:38 Python/Abhängigkeiten/pytest einrichten
18:06:14 Umgebungsvariablen
18:11:19 Github Secrets
18:18:14 Testdatenbank
18:23:42 Docker-Images erstellen
18:34:33 Auf Heroku bereitstellen
18:49:10 Fehlgeschlagene Tests in der Pipeline
18:52:18 Auf Ubuntu bereitstellen