Kom i kontakt

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

Antal deltagare


Pris per deltagare

Vittnesmål (2)

Kommande Kurser

Relaterade Kategorier