Schulungsübersicht
Tag 1 — Robuste Python-Grundlagen & Tooling
Moderne Python-Funktionen und Typisierung
- Grundlagen der Typisierung, Generics, Protokolle und TypeGuard
- Dataclasses, frozen dataclasses und Übersicht über attrs
- Mustererkennung (PEP 634+) und idiomatische Nutzung
Codequalität und Tooling
- Code-Formater und Linter: black, isort, flake8, ruff
- Statische Typüberprüfung mit MyPy und pyright
- Pre-commit-Hooks und Entwicklerworkflows
Projektmanagement und Paketierung
- Abhängigkeitsmanagement mit Poetry und virtuellen Umgebungen
- Paketlayout, Einstiegspunkte und Best Practices für die Versionierung
- Bauen und Veröffentlichen von Paketen auf PyPI und privaten Registern
Tag 2 — Design Patterns & Architekturprinzipien
Design Patterns in Python
- Kreationsmuster: Factory, Builder, Singleton (Python-varianten)
- Strukturelle Muster: Adapter, Fassade, Decorator, Proxy
- Verhaltensmuster: Strategy, Observer, Command
Architekturprinzipien
- SOLID-Prinzipien in Python-Codebasen angewendet
- Hexagonale/Clean-Architektur und Grenzen
- Dependency Injection-Muster und Konfigurationsmanagement
Modularität und Wiederverwendbarkeit
- Bibliothekscode versus Anwendungscodierung entwerfen
- APIs, stabile Schnittstellen und semantische Versionierung
- Konfiguration, Geheimnisse und umgebungsabhängige Einstellungen verwalten
Tag 3 — Konkurrenz, Async IO und Performance
Konkurrenz und Parallelität
- Fundamentale Threading-Grundsätze und GIL-Auswirkungen
- Multiprocessing und Prozesspools für CPU-intensiv ausgeführte Aufgaben
- Wann concurrent.futures im Vergleich zu multiprocessing eingesetzt werden sollte
Async-Programmierung mit asyncio
- Muster für async/await, Ereignisschleife und Abbruch
- Aufbau asynchroner Bibliotheken und Interoperabilität mit synchronem Code
- IO-gesteuerte Muster, Backpressure und Rate Limiting
Profilierung und Optimierung
- Profilierungs-tools: cProfile, pyinstrument, perf, memory_profiler
- Optimieren von Hot Paths und gegebenenfalls die Nutzung von C-Erweiterungen/Numba
- Messung von Latenz, Durchsatz und Ressourcenverbrauch
Tag 4 — Testing, CI/CD, Observabilität und Deployment
Testing-Strategien und -Automatisierung
- Unit testing und Fixtures mit pytest; Testorganisation
- Eigenschaftsbasiertes Testing mit Hypothesis und Contract-Testing
- Mocking, Monkeypatching und Asynchronen Code testen
CI/CD, Release und Monitoring
- Integration von Tests und Qualitätssicherung in GitHub Actions/GitLab CI
- Aufbau reproduzierbarer Container mit Docker und mehrstufigen Builds
- Anwendungsbetreuung: Strukturiertes Logging, Prometheus-Metriken und Tracing
Sicherheit, Verfestigung und Best Practices
- Abhängigkeitsüberprüfung, SBOM-Grundlagen und Schwachstellenanalyse
- Sichere Codierungstechniken für Eingabevalidierung und Geheimnismanagement
- Laufzeitverfestigung: Ressourcengrenzen, Benutzerrechte und Container-Sicherheit
Kapstone-Projekt & Überprüfung
- Team-Labor: Entwerfen und Implementieren eines kleinen Services unter Verwendung von Muster des Kurses
- Testing, Typüberprüfung, Paketierung und CI-Pipeline für das Projekt
- Abschlussüberprüfung, Codekritik und handlungsorientierter Verbesserungsplan
Zusammenfassung und Nächste Schritte
Voraussetzungen
- Solide Python-Programmierkenntnisse auf fortgeschrittenem Niveau
- Kenntnisse der objektorientierten Programmierung und grundlegende Tests
- Erfahrung mit der Befehlszeile und Git
Zielgruppe
- Senior Python-Entwickler
- Software-Ingenieure, die für die Qualität und Architektur von Python-Code verantwortlich sind
- Technische Leiter und MLOps/DevOps-Ingenieure, die mit Python-Codebasen arbeiten
Erfahrungsberichte (2)
Praktische Übungen zum Inhalt helfen wirklich, jedes Thema besser zu verstehen. Außerdem ist es gut und hilfreich, die Kurse mit einer Vorlesung zu beginnen und dann mit praktischen Übungen fortzusetzen, um den vorgestellten Stoff besser einordnen zu können.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
Kurs - Introduction to Data Science and AI using Python
Maschinelle Übersetzung
Beispiele/Übungen, die perfekt auf unser Fachgebiet abgestimmt sind
Luc - CS Group
Kurs - Scaling Data Analysis with Python and Dask
Maschinelle Übersetzung