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
Getuigenissen (5)
Het feit dat we meer praktische oefeningen hebben met meer gegevens die lijken op wat we in onze projecten gebruiken (satellietbeelden in rasterformaat)
Matthieu - CS Group
Cursus - Scaling Data Analysis with Python and Dask
Automatisch vertaald
Ik vond de trainer erg deskundig en beantwoordde vragen met vertrouwen om de begrip te verduidelijken.
Jenna - TCMT
Cursus - Machine Learning with Python – 2 Days
Automatisch vertaald
Zeer goed voorbereid en deskundig trainer met perfecte communicatie in het Engels. De cursus was praktisch (oefeningen + voorbeelden van toepassingen).
Monika - Procter & Gamble Polska Sp. z o.o.
Cursus - Developing APIs with Python and FastAPI
Automatisch vertaald
De uitleg
Wei Yang Teo - Ministry of Defence, Singapore
Cursus - Machine Learning with Python – 4 Days
Automatisch vertaald
Trainer ontwikkelt training op basis van de tempo van de deelnemer
Farris Chua
Cursus - Data Analysis in Python using Pandas and Numpy
Automatisch vertaald