Schulungsübersicht
Tag 1 — Fundamente und Tooling für robustes Python
Moderne Python-Features und Typisierung
- Grundlagen der Typisierung, Generics, Protocols und TypeGuard
- Dataclasses, frozen dataclasses sowie Übersicht zu attrs
- Pattern Matching (PEP 634+) und idiomatische Anwendung
Code-Qualität und Tooling
- Code-Formatter und Linter: black, isort, flake8, ruff
- Statische Typüberprüfung mit MyPy und pyright
- Pre-commit-Hooks und Developer Workflows
Projektmanagement und Paketierung
- Dependency-Management mit Poetry und virtuellen Umgebungen
- Paketstruktur, Einstiegspunkte (Entry Points) sowie Best Practices für Versioning
- Bau und Veröffentlichung von Paketen auf PyPI und privaten Registries
Tag 2 — Design Patterns und architektonische Praktiken
Design Patterns in Python
- Kreationelle Patterns: Factory, Builder, Singleton (pythonische Varianten)
- Strukturelle Patterns: Adapter, Facade, Decorator, Proxy
- Verhaltensbezogene Patterns: Strategy, Observer, Command
Architekturprinzipien
- SOLID-Prinzipien angewendet auf Python-Codebasen
- Hexagonale/Clean Architecture und Abgrenzungen
- Muster der Dependency Injection und Konfigurationsmanagement
Modularität und Wiederverwendbarkeit
- Beschäftigung mit der Unterscheidung zwischen Bibliotheks- und Anwendungscode
- APIs, stabile Interfaces sowie semantische Versionierung
- Umgang mit Konfiguration, Secrets und environmentspezifischen Einstellungen
Tag 3 — Nebenläufigkeit, Async IO und Performance
Nebenläufigkeit und Parallelität
- Grundlagen von Threading und die Auswirkungen des GIL
- Multiprocessing und Prozess-Pools für CPU-intensive Aufgaben
- Wann concurrent.futures vs. multiprocessing einzusetzen ist
Asynchrone Programmierung mit asyncio
- Async/await-Patterns, Event-Loop sowie Cancellation
- Design von Async-Bibliotheken und Interoperabilität mit Sync-Code
- IO-intensive Patterns, Backpressure und Rate Limiting
Profiling und Optimierung
- Profiling-Tools: cProfile, pyinstrument, perf, memory_profiler
- Optimierung von Hotpaths sowie Einsatz von C-Erweiterungen/Numba bei Bedarf
- Messung von Latenz, Durchsatz und Ressourcenauslastung
Tag 4 — Testing, CI/CD, Observability und Deployment
Test-Strategien und Automatisierung
- Unit Testing und Fixtures mit pytest; Test-Organisation
- Property-based Testing mit Hypothesis und Contract Testing
- Mocking, Monkeypatching sowie Testing asynchronen Codes
CI/CD, Releases und Monitoring
- Integration von Tests und Quality Gates in GitHub Actions/GitLab CI
- Erstellung reproduzierbarer Container mit Docker und Multi-Stage Builds
- Application Observability: strukturiertes Logging, Prometheus-Metriken und Tracing
Sicherheit, Absicherung und Best Practices
- Dependency-Auditing, SBOM-Grundlagen sowie Vulnerability Scanning
- Sichere Coding-Praktiken für Input-Validierung und Secrets Management
- Runtime-Hardening: Ressourcenlimits, Benutzerrechte und Containersicherheit
Capstone-Projekt & Review
- Team-Lab: Entwerfen und Implementieren eines kleinen Service unter Anwendung der Kurs-Patterns
- Testing, Typüberprüfung, Paketierung und CI-Pipeline für das Projekt
- Finales Review, Code-Critique sowie ein umsetzbarer Verbesserungsplan
Zusammenfassung und nächste Schritte
Voraussetzungen
- Umfangreiche Python-Programmiererfahrung auf mittlerem Niveau
- Vertrautheit mit objektorientierter Programmierung und grundlegendem Testing
- Erfahrung im Umgang mit der Befehlszeile und Git
Zielgruppe
- Senior Python-Entwickler
- Softwareingenieure, die für die Code-Qualität und Architektur von Python verantwortlich sind
- Technische Leiter 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