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
 28 Stunden

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (5)

Kommende Kurse

Verwandte Kategorien