Kurzusleírás
1. nap — Szilárd Python alapok & Eszközök
Modern Python funkciók és típusok
- Típusok alapjai, generikus típusok, Protocols és TypeGuard
- Dataclassok, fagyott dataclassok, és az attrs áttekintése
- Mintaegyezítés (PEP 634+) és idiómatikus használata
Kódminőség és eszközök
- Kódformázók és linterek: black, isort, flake8, ruff
- Statisztikus típusellenőrzés MyPy és pyright segítségével
- Pre-commit hookok és fejlesztői munkafolyamatok
Projektek menedzselése és csomagolás
- Függőségek kezelése Poetry-val és virtuális környezetekkel
- Csomagstruktúra, belépési pontok és verziózási legjobb gyakorlatok
- Csomagok építése és kiadása a PyPI-re és a privát regiszterekre
2. nap — Mintázatok & Architektúra-elvek
Mintázatok Pythonban
- Létrehozási mintázatok: Gyár (Factory), Építő (Builder), Egzemplár (Singleton) (Pythonos változatokkal)
- Szerkezeti mintázatok: Adapter, Facade, Decorator, Proxy
- Kondíciós mintázatok: Stratégia, Megfigyelő, Parancs
Architektúra-elvek
- SOLID elvek alkalmazása Python kódbázisokon
- Hexagonal/Clean Architektúra és határok
- Függőséginjekció mintázatok és konfigurációkezelés
Modularitás és újrafelhasználás
- Könyvtár vs. alkalmazás kód tervezése
- API-k, stabil felületek és szemantikus verziózás
- Konfigurációk, titkok és környezetre szabott beállítások kezelése
3. nap — Konkurencia, Async IO és teljesítmény
Konkurencia és párhuzamosság
- Threading alapok és a GIL (Global Interpreter Lock) hatásai
- Multiprocessing és processz-poolok CPU-igényes feladatokhoz
- Mikor használni a concurrent.futures-t, és mikor a multiprocessing-t
Aszinkron programozás asyncio-val
- Async/await mintázatok, eseménykör (event loop) és lemondás
- Aszinkron könyvtárak tervezése és szinkron kóddal való interoperabilitás
- I/O-igényes mintázatok, backpressure és ráta korlátozás
Profilozás és optimalizálás
- Profilozó eszközök: cProfile, pyinstrument, perf, memory_profiler
- Forró utak (hot paths) optimalizálása és C-kiterjesztések/Numba használata ahol szükséges
- Látencia, áteresztő képesség és erőforrás-hasznosítás mérése
4. nap — Tesztelés, CI/CD, Megfigyelhetőség és Telepítés
Tesztelési stratégiák és automatizálás
- Egységtesztelés és fixture-ok pytest-tel; tesztstruktúra
- Tulajdonságalapú tesztelés Hypothesissel és szerződéstesztelés
- Mockolás, monkeypatching és aszinkron kód tesztelése
CI/CD, Kiadás és Figyelés
- Tesztek és minőségi kapuk integrálása GitHub Actions/GitLab CI-ba
- Ismételhető konténerek építése Dockerrel és többlépcsős buildekkel
- Alkalmazás megfigyelhetősége: strukturált naplózás, Prometheus metrikák és követés
Biztonság, Erősítés és Legjobb gyakorlatok
- Függőségek átvizsgálása, SBOM alapok és sebezhetőségvizsgálat
- Biztonságos kódolási gyakorlatok bemenet-érvényesítéshez és titokkezeléshez
- Futtatási idő erősítése: erőforrás-korlátok, felhasználói jogok és konténerviszbiztonság
Fejlesztői projekt & Vétél
- Csapatos labor: egy kis szolgáltatás tervezése és implementálása a kurzus mintázataival
- A projekt tesztelése, típusellenőrzése, csomagolása és CI-pipeline-ja
- Végleges átvétél, kódkritika és cselekvési terv javításhoz
Összefoglaló és További lépések
Követelmények
- Szilárd közép szintű Python-programozási tapasztalat
- Tudatosság az objektumorientált programozásról és az alapvető tesztelésről
- Tapasztalat parancssor és Git használataban
Célközönség
- Haladó Python-fejlesztők
- Szoftvermérnökök, akik a Python kód minőségéért és architektúrájáért felelősek
- Technikai vezetők, valamint MLOps/DevOps mérnökök, akik Python kódbázisokkal dolgoznak
Vélemények (2)
minden tökéletes volt
Florin Vrincianu
Kurzus - Python Programming Fundamentals
Gépi fordítás
A gyakorlati feladatok a tartalomhoz való kapcsolódáshoz nagy segítséget nyújtanak, hogy jobban megértsük minden témát. Ezenkívül az órát előadással kezdve, majd gyakorlati feladatokkal folytatva szintén jó és hasznos módja annak, hogy kapcsolatot teremtsek az korábban bemutatott anyaggal.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
Kurzus - Introduction to Data Science and AI using Python
Gépi fordítás