Ta kontakt
 Varighet 28 timer

Kursplan

Dag 1 — Robuste Python-grunnlag og verktøy

Moderne Python-funksjoner og typing

  • Typing-grunnleggende, generisk, Protokoller og TypeGuard
  • Dataklasser, fryste dataklasser og attrs-overblikk
  • Mønstermatching (PEP 634+) og idiomatisk bruk

Kodekvalitet og verktøy

  • Kodeformaterings- og linterverktøy: black, isort, flake8, ruff
  • Statisk typekontroll med MyPy og pyright
  • Pre-commit-kroker og utviklerarbeidsflyter

Prosjektledelse og pakking

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

Dag 2 — Designmønstre og arkitekturpraksis

Designmønstre i Python

  • Kreativ mønstre: Factory, Builder, Singleton (Pythoniske varianter)
  • Strukturelle mønstre: Adapter, Facade, Decorator, Proxy
  • Adferdsmønstre: Strategy, Observer, Command

Arkitektureprinper

  • SOLID-prinsippene anvendt på Python-kodebaser
  • Hexagonal/Rens Arkitektur og grenser
  • Avhengighetsinjeksjonsmønstre og konfigurasjonsstyring

Modularitet og gjenbruk

  • Design av bibliotek vs applikkasjonskode
  • API-er, stabile grensesnitt og semantisk versjonering
  • Håndtering av konfigurasjon, hemmeligheter og miljøspesifikke innstillinger

Dag 3 — Konkurrens, Async IO og ytelse

Konkurrens og parallellisering

  • Tråd-grunnlag og implikasjoner av GIL
  • Multiprocessing og prosesspuler for CPU-bundne oppgaver
  • Når man skal bruke concurrent.futures vs multiprocessing

Asynkron programmering med asyncio

  • Async/await-mønstre, hendelseløkke og kansellering
  • Design av asynkrone biblioteker og interoperabilitet med synkron kode
  • IO-bundne mønstre, backpressure og hastighetsbegrensning

Profilering og optimering

  • Profilverktøy: cProfile, pyinstrument, perf, memory_profiler
  • Optimering av varmsti og bruk av C-utvidelser/Numba der passende
  • Måling av laten, gjennomstrømning og ressursutnyttelse

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

Teststrategier og automatisering

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

CI/CD, utgivelse og overvåkning

  • Integrering av testing og kvalitetskontrollpunkt til GitHub Actions/GitLab CI
  • Bygge reproduserbare containere med Docker og flerstegsbygging
  • Applikasjonobservabilitet: strukturert logging, Prometheus-metrikker og sporings

Sikkerhet, forsterking og beste praksis

  • Avhengighetsoptre, grunnleggende SBOM og sårsomhets-skanning
  • Sikker programmeringspraksis for inndatavalidering og hemmelighetsstyring
  • Løptidsforsterking: ressursbegrensninger, brukerrätter og container sikkerhet

Capstone-prosjekt og gjennomgang

  • Team-lab: design og implementasjon av en liten tjeneste ved hjelp av mønstre fra kurset
  • Testing, typekontroll, pakking og CI-rørledning for prosjektet
  • Sluttgjennomgang, kodekritikk og handlingsrettet forbedringsplan

Oppsummering og neste steg

Krav

  • Styrk mellomnivå Python-programmeringserfaring
  • Kjennskap til objektorientert programmering og grunnleggende testing
  • Erfaring med bruk av kommandolinjen og Git

Målgruppe

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

Antall deltakere


Pris per deltaker

Referanser (2)

Kommende kurs

Relaterte kategorier