Kursplan

Dag 1 — Robusta Python-grundläggande och verktyg

Modern Python-funktioner och typer

  • Typernas grunder, generics, Protocols, och TypeGuard
  • Dataclasses, frozen dataclasses, och attrs-översikt
  • Mönstermatchning (PEP 634+) och idiomatisk användning

Kodkvalitet och verktyg

  • Kodformaterare och linter: black, isort, flake8, ruff
  • Statisk typkontroll med MyPy och pyright
  • Förcommit hooks och utvecklararbetsflöden

Projektledning och paketering

  • Beroendehantering med Poetry och virtuella miljöer
  • Paketalayout, inmatningspunkter och versioneringens bästa praxis
  • Bygga och publicera paket till PyPI och privata register

Dag 2 — Designmönster & arkitekturprinciper

Designmönster i Python

  • Kreationsmönster: Factory, Builder, Singleton (Pythoniska varianter)
  • Strukturmallar: Adapter, Facade, Decorator, Proxy
  • Beteendemönster: Strategy, Observer, Command

Arkitekturprinciper

  • SOLID-principer tillämpade på Python-kodbas
  • Hexagonal/Clean Architecture och gränser
  • Beroendejektionsmönster och konfigurationshantering

Mångsidighet och återanvändning

  • Utformning av bibliotek vs applikationskod
  • API:er, stabila gränssnitt och semantisk versionering
  • Hantering av konfiguration, hemligheter och miljöspecifika inställningar

Dag 3 — Koncurrens, Async IO, och prestanda

Konkurrens och parallellism

  • Trådgrundläggande och GIL-implikationer
  • Multiprocessering och processpooler för CPU-bound uppgifter
  • När man ska använda concurrent.futures vs multiprocessing

Aysnc-programmering med asyncio

  • Async/await-mönster, händelseloop och avbrytning
  • Utformning av async-bibliotek och interoperabilitet med synkron kod
  • IO-bound mönster, backpressure och rate limiting

Profilerings- och optimeringstools

  • Profileringsverktyg: cProfile, pyinstrument, perf, memory_profiler
  • Optimera varma sökvägar och använda C-tillägg/Numba vid behov
  • Måta latens, genomsättning och resursutnyttjande

Dag 4 — Testning, CI/CD, övervakning och distribution

Testningsstrategier och automatisering

  • Enhetstestning och fixtures med pytest; testorganisation
  • Egenskapsbaserat testning med Hypothesis och kontraktsbaserad testning
  • Mocking, monkeypatching och asynkron kodtestning

CI/CD, release och övervakning

  • Integrering av tester och kvalitetsgator i GitHub Actions/GitLab CI
  • Bygga reproducerbara containrar med Docker och multi-stage builds
  • Applikationsövervakning: strukturerat loggning, Prometheus-mätvärden och spårning

Säkerhet, hårdnande och bästa praxis

  • Beroendegranskning, SBOM-grunder och sårbarhetsscanning
  • Säkra programmeringspraktiker för inmatningsvalidering och hemligheterhantering
  • Körande hårdnande: resursgränser, användarrättigheter och containersäkerhet

Toppminiprojekt & granskning

  • Labb i lag: utforma och implementera en liten service med mönster från kursen
  • Testning, typkontroll, paketering och CI-pipeline för projektet
  • Slutgranskning, kodkritik och handlingens förbättringsplan

Sammanfattning och nästa steg

Krav

  • Kraftig mellannivå-erfarenhet av Python-programmering
  • Familiaritet med objektorienterad programmering och grundläggande testning
  • Erfarenhet av att använda kommandoraden och Git

Målgrupp

  • Senior Pythonutvecklare
  • Programvaruutvecklare som är ansvariga för kvaliteten och arkitekturen av Python-kod
  • Tekniska ledare och MLOps/DevOps-ingenjörer som arbetar med Python-kodbas
 28 timmar

Antal deltagare


Pris per deltagare

Vittnesmål (5)

Kommande Kurser

Relaterade Kategorier