Kursplan
Dag 1 — Robusta Python-grundvalar & Verktyg
Moderna Python-funktioner och typning
- Grunden i typning, generika, Protocols och TypeGuard
- Dataclasses, frysta dataclasses och översikt över attrs
- Mönstermatchning (PEP 634+) och idiomatisk användning
Kodkvalitet och verktyg
- Kodformatteringar och linter: black, isort, flake8, ruff
- Statisk typkontroll med MyPy och pyright
- Pre-commit hooks och utvecklars arbetsflöden
Projekthantering och paketering
- Berorlighetsstyrning med Poetry och virtuella miljöer
- Paketsstruktur, ingångspunkter och bästa praxis för versionering
- Bygg och publicera paket till PyPI och privata registrier
Dag 2 — Designmönster & Arkitekturpraktik
Designmönster i Python
- Skapande mönster: Factory, Builder, Singleton (Pythoniska varianter)
- Strukturella mönster: Adapter, Facade, Decorator, Proxy
- Beteendemönster: Strategy, Observer, Command
Arkitekturnprinciper
- SOLID-principerna tillämpade på Python-kodsamlingar
- Hexagonal/Rena arkitektur och gränser
- Berorlighetsinjectionmönster och konfigurationsstyrning
Modularitet och återanvändning
- Att designa bibliotekskod jämfört med applikationskod
- API:er, stabila gränssnitt och semantisk versionering
- Hantering av konfiguration, hemligheter och miljöspecifika inställningar
Dag 3 — Konkurrens, Asynkron IO och prestanda
Konkurrens och parallellisering
- Grundläggande trådatteknik och GIL-konsekvenser
- Multiprocessing och processpooler för CPU-bundna uppgifter
- När ska man använda concurrent.futures jämfört med multiprocessing
Asynkron programmering med asyncio
- Async/await-mönster, event loop och avbrott
- Att designa asynkrona bibliotek och interoperabilitet med synkron kod
- IO-bundna mönster, backpressure och ratelimiting
Profilerings och optimering
- Profileringsverktyg: cProfile, pyinstrument, perf, memory_profiler
- Optimering av heta vägar och användning av C-utökningar/Numba där det är lämpligt
- Mätning av latens, genomsättning och resursutnyttjande
Dag 4 — Testning, CI/CD, Observabilitet och Deployment
Teststrategier och automatisering
- Enhetstestning och fixtures med pytest; testorganisation
- Egenskapsbaserad testning med Hypothesis och kontraktstestning
- Mockning, monkeypatching och testning av asynkron kod
CI/CD, releaser och övervakning
- Integrera test och kvalitetskontroller i GitHub Actions/GitLab CI
- Bygg reproducerbara containrar med Docker och flerstegsbygge
- Tillämpningsobservabilitet: strukturerad loggning, Prometheus-metrik och spårning
Säkerhet, härdding och bästa praxis
- Revision av beroenden, grundläggande SBOM och sårbarhetsskanning
- Säker kodpraxis för indatavalidering och hemlighetshantering
- Körningstids härdding: resursgränser, användarrättigheter och containersäkerhet
Avslutande projekt & Genomgång
- Laglaboration: Designa och implementera en liten tjänst med mönster från kursen
- Testning, typkontroll, paketering och CI-pipeline för projektet
- Slutlig genomgång, kodkritik och handlingsplan för förbättringar
Sammanfattning och nästa steg
Krav
- Stark praktisk erfarenhet av Python-programmering på mellannivå
- Kännedom till objektorienterad programmering och grunder i testning
- Erfarenhet av att använda kommandoraden och Git
Målgrupp
- Senior Python-utvecklare
- Programvarutekniker ansvariga för kodsäkerhet och arkitektur i Python
- Techniska chefer och MLOps/DevOps-ingenjörer som arbetar med Python-kodsamlingar
Vittnesmål (2)
allt var perfekt
Florin Vrincianu
Kurs - Python Programming Fundamentals
Maskintolkat
Praktiska övningar relaterade till innehållet hjälper verkligen till att förstå mer om varje ämne. Dessutom är det bra och hjälpsamt att börja lektionen med en föreläsning och sedan fortsätta med praktiska övningar, vilket gör det lättare att relatera till den tidigare presenterade föreläsningen.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
Kurs - Introduction to Data Science and AI using Python
Maskintolkat