Kurzusleírás

Nap 1 — Erős Python alapok és eszközök

Moderne Python funkciók és tipusozás

  • Tipusozási alapok, generikusok, Protocols, és TypeGuard
  • Dataclasses, fagyasztott dataclasses, és attrs áttekintés
  • Minta egyeztetés (PEP 634+) és idiomatikus használat

Kódminőség és eszközök

  • Kódformázók és linterek: black, isort, flake8, ruff
  • Statikus típusellenőrzés MyPy-vel és pyright-tal
  • Pre-commit húzóprogramok és fejlesztői munkafolyamatok

Projektkezelés és csomagolás

  • Függőségkezelés a Poetry-vel és virtuális környezetekkel
  • Csomag szerkezete, bejárópontok, és verzióközpontú gyakorlatok
  • Csomagok létrehozása és közzététele a PyPI-hoz és privát regisztrációkhoz

Nap 2 — Tervezési minták és architektúrális gyakorlatok

Tervezési minták Pythonban

  • Létrehozási minták: Factory, Builder, Singleton (Pythonos variánsok)
  • Strukturális minták: Adapter, Facade, Decorator, Proxy
  • Szóbeli minták: Strategy, Observer, Command

Architektúrális elvek

  • A SOLID elvek alkalmazása Python kódalapokra
  • Eszközgöri/Clean architektúra és határok
  • Függőséginjekció minták és konfigurációs kezelés

Modularitás és újrafelhasználhatóság

  • Könyvtár vs alkalmazás kód tervezése
  • API-k, stabil interfészek, és szemantikus verzióközépvonalak
  • Konfiguráció, titkosított adatok, és környezetspecifikus beállítások kezelése

Nap 3 — Párhuzamosság, aszinkron IO, és teljesítmény

Párhuzamosság és paralelizmus

  • Műtőszál alapjai és a GIL következményei
  • Többfeldolgozás és feldolgozók poolja a CPU-intenzív feladatokhoz
  • Mikor használni a concurrent.futures-t vs többfeldolgozást

Aszinkron programozás az asyncio-val

  • Async/await minták, eseménykör, és megszakítás
  • Aszinkron könyvtárak tervezése és a szinkron kód kompatibilitása
  • IO-intenzív minták, visszatartás, és sebességkorlátozás

Profilozás és optimalizálás

  • Profilozási eszközök: cProfile, pyinstrument, perf, memory_profiler
  • Teljesítménykritikus útvonalak optimalizálása és a C-kiterjesztések/Numba használata a szükséges esetben
  • Késleltetés, átviteli sebesség, és erőforrás felhasználás mérése

Nap 4 — Tesztelés, CI/CD, megfigyelhetőség, és telepítés

Tesztelési stratégiák és automatizáció

  • Egységtesztek és fixture-k a pytest-tel; tesztek szervezése
  • Property-based tesztelés a Hypothesis-szel és szerződéstesztelés
  • Meghajtók, monkeypatching, és aszinkron kód tesztelése

CI/CD, kiadás, és figyelés

  • Tesztelések és minőségkapuk integrálása a GitHub Actions/GitLab CI-be
  • Helyreállítható tárolók létrehozása Docker-rel és több szakaszú build-ekkel
  • Alkalmazás megfigyelhetősége: strukturált naplózás, Prometheus metrikák, és nyomkövetés

Biztonság, erősítés, és legjobb gyakorlatok

  • Függőségek ellenőrzése, SBOM alapjai, és biztonsági ellenőrzések
  • Biztonságos kódolási gyakorlatok a bemenet ellenőrzéséhez és titkos adatok kezeléséhez
  • Futás közbeni erősítés: erőforrás korlátok, felhasználói jogok, és tároló biztonság

Záró projekt és áttekintés

  • Csoport labor: kis szolgáltatás tervezése és implementálása a tanfolyam mintái alapján
  • Tesztelés, típusellenőrzés, csomagolás, és CI-folyamat a projekthez
  • Végleges áttekintés, kódkritika, és műveleti javítási terv

Összefoglalás és további lépések

Követelmények

  • Erősen középfokú Python programozási tapasztalat
  • Ismerőség az objektumorientált programozással és alapvető teszteléssel
  • Tapasztalat a parancssori és Git használatával

A célközönség

  • Öregbetyár Python fejlesztők
  • Szoftvermérnökök, akik felelősek a Python kód minőségéért és architektúrájáért
  • Technikai vezetők és MLOps/DevOps mérnökök, akik Python kódalapokkal dolgoznak
 28 Órák

Résztvevők száma


Ár résztvevőnként

Vélemények (5)

Közelgő kurzusok

Rokon kategóriák