Kontakt aufnehmen

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

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (2)

Kommende Kurse

Verwandte Kategorien