Ta kontakt
 Varighet 28 timer

Kursplan

Dag 1 — Robust Python-grunnlag & Verktøy

Moderne Python-funksjoner og typning

  • Typning baser, generiske, Protocols og TypeGuard
  • Dataklasser, fryste dataklasser og oversikt over attrs
  • Mønstermatching (PEP 634+) og idiomatisk bruk

Kodekvalitet og verktøy

  • Kodeformatere og lints: black, isort, flake8, ruff
  • Statisk typer med MyPy og pyright
  • Pre-commit hooks og utviklerarbeidsflyt

Prosjektstyring og pakking

  • Avhengighetsstyring med Poetry og virtuelle miljøer
  • Pakkeoppsett, inngangspunkter og versjonering beste praksis
  • Bygge og publisere pakker til PyPI og private registre

Dag 2 — Designmønstre & Arkitekturpraksis

Designmønstre i Python

  • Opprettningsmønstre: Factory, Builder, Singleton (Pythoniske varianter)
  • Strukturelle mønstre: Adapter, Facade, Decorator, Proxy
  • Bærende mønstre: Strategy, Observer, Command

Arkitekturprinsipper

  • SOLID-prinsipper anvendt på Python-kodebaser
  • Hexagonal/Clean Architecture og grenser
  • Avhengighet injeksjon mønstre og konfigurasjonsstyring

Modularitet og gjenbruk

  • Design av bibliotek vs applikasjon kode
  • APIer, stabile grensesnitt og semantisk versjonering
  • Behandle konfigurasjon, hemmeligheter og miljøspesifikke innstillinger

Dag 3 — Samtidighet, Async IO og ytelse

Samtidighet og parallellisering

  • Trådbaserte grunnleggende og GIL-implikasjoner
  • Multiprocessing og prosesspooler for CPU-tunge oppgaver
  • Når å bruke concurrent.futures vs multiprocessing

Asynkron programmering med asyncio

  • Async/await mønstre, hendelsessløyfe og avbrytelse
  • Design av asynkrone biblioteker og interoperabilitet med synkron kode
  • IO-baserte mønstre, baktrykk og hastighetsbegrensning

Profiling og optimalisering

  • Profilering verktøy: cProfile, pyinstrument, perf, memory_profiler
  • Optimalisering av varme stier og bruk av C-utvidelser/Numba der det er hensiktsmessig
  • Måle forsinkelse, båndbredde og ressursutnyttelse

Dag 4 — Testing, CI/CD, Observability og utlevering

Teststrategier og automatisering

  • Enhetstesting og fixtures med pytest; testorganisering
  • Egenskap-basert testing med Hypothesis og kontrakt testing
  • Mocking, monkeypatching og testing av asynkron kode

CI/CD, release og overvåking

  • Integrasjon av tester og kvalitetssperre til GitHub Actions/GitLab CI
  • Bygge reproduserbare containere med Docker og flertrinn bygge
  • Applikasjon observability: strukturert logging, Prometheus metrikker og sporinger

Sikkerhet, harding og beste praksis

  • Avhengighetsrevisjon, SBOM grunnleggende og sårbarhetsscan
  • Sikker koding praksis for validering av inngang og hemmelighetsstyring
  • Kjøring harding: ressursbegrensninger, brukerrettigheter og containersikkerhet

Sluttprosjekt & Gjennomgang

  • Team lab: Design og implementer en liten tjeneste ved hjelp av mønstre fra kurset
  • Testing, typer, pakking og CI-pipeline for prosjektet
  • Sluttgjenomgang, kodekritikk og handlebar forbedringsplan

Oppsummering og neste steg

Krav

  • Solid Python-programmering på mellomnivå
  • Kjennskap til objektorientert programmering og grunnleggende testing
  • Erfaring med kommandolinje og Git

Målgruppe

  • Senior Python-utviklere
  • Programvareingeniører ansvarlige for Python kodekvalitet og arkitektur
  • Tekniske ledere og MLOps/DevOps-ingeniører som jobber med Python-kodebaser

Antall deltakere


Pris per deltaker

Referanser (2)

Kommende kurs

Relaterte kategorier