Schulungsübersicht
Tag 1 — Robuste Python-Grundlagen & Werkzeuge
Moderne Python-Funktionen und Typisierung
- Grundlagen der Typisierung, Generics, Protocols und TypeGuard
- Dataclasses, eingefrorene Dataclasses und Überblick über attrs
- Mustervergleich (PEP 634+) und idiomatische Nutzung
Code-Qualität und Werkzeuge
- Code-Formatter und Linter: black, isort, flake8, ruff
- Statische Typprüfung mit MyPy und pyright
- Pre-commit-Hooks und Entwickler-Workflows
Projektmanagement und Packaging
- Abhängigkeitsmanagement mit Poetry und virtuellen Umgebungen
- Paketstruktur, Einstiegspunkte und Versionierungs-Best-Practices
- Aufbau und Veröffentlichung von Paketen auf PyPI und privaten Registries
Tag 2 — Entwurfsmuster & Architekturpraktiken
Entwurfsmuster in Python
- Erzeugungsmuster: Factory, Builder, Singleton (Pythonische Varianten)
- Strukturelle Muster: Adapter, Facade, Decorator, Proxy
- Verhaltensmuster: Strategy, Observer, Command
Architektonische Prinzipien
- SOLID-Prinzipien angewendet auf Python-Codebasen
- Hexagonale/Clean Architecture und Grenzen
- Dependency-Injection-Muster und Konfigurationsmanagement
Modularität und Wiederverwendung
- Gestaltung von Bibliotheks- vs. Anwendungscod
- APIs, stabile Schnittstellen und semantische Versionierung
- Verarbeitung von Konfiguration, Secrets und umgebungsspezifischen Einstellungen
Tag 3 — Parallelität, Async IO und Performance
Parallelität und Gleichzeitigkeit
- Threading-Grundlagen und Auswirkungen der GIL
- Multiprocessing und Process-Pools für CPU-lastige Aufgaben
- Wann concurrent.futures vs. multiprocessing verwendet werden sollte
Async-Programmierung mit asyncio
- Async/await-Muster, Event-Loop und Abbruch
- Gestaltung asynchroner Bibliotheken und Interoperabilität mit synchronem Code
- IO-lastige Muster, Backpressure und Rate-Limiting
Profiling und Optimierung
- Profilierungswerkzeuge: cProfile, pyinstrument, perf, memory_profiler
- Optimierung von Hotpaths und Verwendung von C-Extensions/Numba, wo geeignet
- Messung von Latenz, Durchsatz und Ressourcennutzung
Tag 4 — Tests, CI/CD, Observability und Deployment
Teststrategien und Automatisierung
- Unit-Tests und Fixtures mit pytest; Testorganisation
- Eigenschaftsbasierte Testung mit Hypothesis und Contract-Testing
- Mocking, Monkeypatching und Testung asynchronen Codes
CI/CD, Release und Monitoring
- Integration von Tests und Qualitäts-Gates in GitHub Actions/GitLab CI
- Aufbau reproduzierbarer Container mit Docker und Multi-Stage-Builds
- Observability von Anwendungen: strukturierte Protokollierung, Prometheus-Metriken und Tracing
Sicherheit, Härtung und Best Practices
- Abhängigkeits-Auditing, SBOM-Grundlagen und Schwachstellenscanning
- Sichere Programmierpraktiken für Eingabevalidierung und Secret-Management
- Runtime-Härtung: Ressourcenlimits, Benutzerrechte und Container-Sicherheit
Capstone-Projekt & Review
- Team-Labor: Entwurf und Implementierung eines kleinen Dienstes unter Verwendung der Kursmuster
- Tests, Typprüfung, Packaging und CI-Pipeline für das Projekt
- Finale Review, Code-Kritik und umsetzbarer Verbesserungsplan
Zusammenfassung und nächste Schritte
Voraussetzungen
- Starke Erfahrung in der Python-Programmierung auf mittlerem Niveau
- Vertrautheit mit objektorientierter Programmierung und grundlegenden Tests
- Erfahrung in der Nutzung der Befehlszeile und Git
Zielgruppe
- Senior Python-Entwickler
- Software-Ingenieure, die für Code-Qualität und Architektur in Python verantwortlich sind
- Technische Leads sowie MLOps/DevOps-Ingenieure, die mit Python-Codebasen arbeiten
Erfahrungsberichte (2)
Alles war perfekt.
Florin Vrincianu
Kurs - Python Programming Fundamentals
Maschinelle Übersetzung
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