Cursusaanbod

Dag 1 — Robuuste Python-basis en tooling

Modieuze Python-kenmerken en typing

  • Basis van typing, generics, Protocols en TypeGuard
  • Dataclasses, frozen dataclasses en overzicht van attrs
  • Pattern matching (PEP 634+) en idiomatic gebruik

Codekwaliteit en tooling

  • Codeformatters en linters: black, isort, flake8, ruff
  • Statische type checking met MyPy en pyright
  • Pre-commit hooks en developer workflows

Projectbeheer en packaging

  • Afhankelijkheidbeheer met Poetry en virtuele omgevingen
  • Package layout, entry points en best practices voor versiebeheer
  • Bouwen en publiceren van packages naar PyPI en private registries

Dag 2 — Ontwerppatronen & architectuurprincipes

Ontwerppatronen in Python

  • Creational patterns: Factory, Builder, Singleton (Pythonic varianten)
  • Structural patterns: Adapter, Facade, Decorator, Proxy
  • Behavioral patterns: Strategy, Observer, Command

Architectuurprincipes

  • SOLID principes toegepast op Python-codebases
  • Hexagonal/Clean Architecture en boundaries
  • Dependency injection patronen en configuratiebeheer

Modulariteit en herbruikbaarheid

  • Bibliotheekcode vs. applicatiecode ontwerpen
  • APIs, stabiele interfaces en semantisch versiebeheer
  • Configuratie, secrets en omgevingsspecifieke instellingen beheren

Dag 3 — Concurrency, Async IO en prestaties

Concurrency en parallelisme

  • Basis van threads en GIL-implicaties
  • Multiprocessing en process pools voor CPU-bound taken
  • Wanneer concurrent.futures vs multiprocessing gebruikt moet worden

Async programming met asyncio

  • Async/await patronen, event loop en annulering
  • Async libraries ontwerpen en interoperabiliteit met sync code
  • IO-bound patronen, backpressure en rate limiting

Profilering en optimalisatie

  • Profileringstools: cProfile, pyinstrument, perf, memory_profiler
  • Hete paden optimaliseren en C-extensions/Numba waar nodig gebruiken
  • Latency, doorvoer en resourcegebruik meten

Dag 4 — Testing, CI/CD, observability en deployment

Testing strategieën en automatisering

  • Unit testing en fixtures met pytest; testorganisatie
  • Property-based testing met Hypothesis en contracttesting
  • Mocking, monkeypatching en het testen van asynchrone code

CI/CD, release en monitoring

  • Tests en kwaliteitsgates integreren in GitHub Actions/GitLab CI
  • Reproduceerbare containers bouwen met Docker en multi-stage builds
  • Toepassingsobservabiliteit: gestructureerd loggen, Prometheus-metrics en tracing

Veiligheid, hardening en best practices

  • Afhankelijkheidscontrole, SBOM-basis en vulnerabiliteitsanalyses
  • Veilige coderingspraktijken voor inputvalidatie en secrets management
  • Runtime hardening: resource limieten, gebruikersrechten en containerbeveiliging

Eindproject & evaluatie

  • Team labo: een klein service ontwerpen en implementeren met behulp van patronen uit de cursus
  • Testing, type-checking, packaging en CI-pipeline voor het project
  • Eindbeoordeling, codekritiek en actieplan voor verbeteringen

Samenvatting en volgende stappen

Vereisten

  • Een sterke ervaring op tussen- tot geavanceerd niveau in Python-programmering
  • Vertrouwdheid met objectgeoriënteerde programmering en basis testing
  • Erfaring met het gebruik van de command line en Git

Doelgroep

  • Senior Python-developers
  • Software-engineers die verantwoordelijk zijn voor de kwaliteit en architectuur van Python-code
  • Technische leiders en MLOps/DevOps-ingenieurs die werken met Python-codebases
 28 Uren

Aantal deelnemers


Prijs Per Deelnemer

Getuigenissen (5)

Voorlopige Aankomende Cursussen

Gerelateerde categorieën