Kontakt aufnehmen

Schulungsübersicht

Tag 1 – Robuste Python-Grundlagen & Tooling

Modernes Python-Feature und Typisierung

  • Grundlagen der Typisierung, Generics, Protocols und TypeGuard
  • Dataclasses, eingefrorene Dataclasses und Überblick über attrs
  • Pattern Matching (PEP 634+) und idiomatische Nutzung

Codequalität und Tooling

  • 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, Entry Points und beste Praktiken für Versionierung
  • Erstellung und Veröffentlichung von Paketen in PyPI und privaten Registern

Tag 2 – Design-Patterns & Architekturpraktiken

Design-Patterns in Python

  • Erstellende Patterns: Factory, Builder, Singleton (Pythonische Varianten)
  • Strukturelle Patterns: Adapter, Facade, Decorator, Proxy
  • Verhaltensbezogene Patterns: Strategy, Observer, Command

Architekturprinzipien

  • Anwendung der SOLID-Prinzipien auf Python-Codebasen
  • Hexagonale/Clean Architecture und Grenzen
  • Dependency-Injection-Patterns und Konfigurationsmanagement

Modularität und Wiederverwendung

  • Gestaltung von Bibliotheks- vs. Anwendungskod
  • APIs, stabile Schnittstellen und semantische Versionierung
  • Umgang mit Konfiguration, Secrets und umgebungsspezifischen Einstellungen

Tag 3 – Konkurrenz, Async IO und Leistung

Konkurrenz und Parallelisierung

  • Grundlagen des Threading und Auswirkungen des GIL
  • Multiprocessing und Process Pools für CPU-lastige Aufgaben
  • Wann concurrent.futures vs. multiprocessing verwenden

Async-Programmierung mit asyncio

  • Async/Await-Patterns, Event Loop und Abbruch
  • Gestaltung asynchroner Bibliotheken und Interoperabilität mit Synchron-Code
  • IO-lastige Patterns, Backpressure und Rate Limiting

Profiling und Optimierung

  • Profiling-Tools: cProfile, pyinstrument, perf, memory_profiler
  • Optimierung von Hot Paths und Verwendung von C-Erweiterungen/Numba, wo geeignet
  • Messung von Latenz, Durchsatz und Ressourcennutzung

Tag 4 – Testing, CI/CD, Observability und Bereitstellung

Testing-Strategien und Automatisierung

  • Unit-Testing und Fixtures mit pytest; Testorganisation
  • Property-basiertes Testing mit Hypothesis und Vertragstesting
  • Mocking, Monkeypatching und Testing asynchronen Codes

CI/CD, Release und Monitoring

  • Integration von Tests und Qualitätsschwellen in GitHub Actions/GitLab CI
  • Erstellung reproduzierbarer Container mit Docker und Multi-Stage-Builds
  • Anwendungs-Observability: Strukturierte Logging, Prometheus-Metriken und Tracing

Sicherheit, Härtung und beste Praktiken

  • Abhängigkeitsprüfung, SBOM-Grundlagen und Schwachstellenscanning
  • Sichere Programmierpraktiken für Eingabevalidierung und Secret-Management
  • Laufzeit-Härtung: Ressourcengrenzen, Benutzerrechte und Container-Sicherheit

Capstone-Projekt & Review

  • Team-Labor: Entwurf und Implementierung eines kleinen Dienstes unter Verwendung der im Kurs behandelten Patterns
  • Testing, Typprüfung, Packaging und CI-Pipeline für das Projekt
  • Abschließendes Review, Code-Kritik und planbarer Verbesserungsplan

Zusammenfassung und nächste Schritte

Voraussetzungen

  • Starke Erfahrung in der Python-Programmierung auf mittlerem Niveau
  • Vertrautheit mit objektorientierter Programmierung und grundlegendem Testing
  • Erfahrung in der Nutzung der Kommandozeile und von Git

Zielgruppe

  • Senior-Python-Entwickler
  • Softwareingenieure, die für die Codequalität und Architektur in Python verantwortlich sind
  • Technische Leiter und MLOps-/DevOps-Ingenieure, die mit Python-Codebasen arbeiten
 28 Stunden

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (2)

Kommende Kurse

Verwandte Kategorien