Kurzusleírás
1. nap — Robusztus Python-alapok és eszközök
Modern Python-funkciók és típusozás
- A típusozás alapjai, generikusok, Protocol-ok és TypeGuard
- Dataclass-ok, fagyasztott dataclass-ok és az attrs áttekintése
- Mintailleszté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 hookok és fejlesztői munkafolyamatok
Projektmenedzsment és csomagolás
- Függőségkezelés Poetry-val és virtuális környezetekkel
- Csomagelrendezés, belépési pontok és verziózási legjobb gyakorlatok
- Csomagok építése és közzététele PyPI-re és privát nyilvántartókba
2. nap — Tervezési minták és architekturális gyakorlatok
Tervezési minták Pythonban
- Létrehozási minták: Factory, Builder, Singleton (pythonos változatok)
- Szerkezeti minták: Adapter, Facade, Decorator, Proxy
- Viselkedési minták: Strategy, Observer, Command
Architekturális alapelvek
- SOLID-alapelvek alkalmazása Python-kódbázisokban
- Hexagonális/Tiszta architektúra és határok
- Függőséginjektálási minták és konfigurációkezelés
Modularitás és újrafelhasználás
- Könyvtár- és alkalmazáskód tervezése
- API-k, stabil interfészek és szemantikus verziózás
- Konfiguráció, titkos adatok és környezetspecifikus beállítások kezelése
3. nap — Egyidejűség, aszinkron I/O és teljesítmény
Egyidejűség és párhuzamosság
- A szálkezelés alapjai és a GIL következményei
- Multiprocessing és folyamatkészletek CPU-igényes feladatokhoz
- Mikor használjunk concurrent.futures-t vagy multiprocessinget
Aszinkron programozás az asyncio segítségével
- Async/await minták, eseményhurok és megszakítás
- Aszinkron könyvtárak tervezése és interoperabilitás szinkron kóddal
- I/O-igényes minták, vissznyomás és sebességkorlátozás
Profilozás és optimalizálás
- Profilozóeszközök: cProfile, pyinstrument, perf, memory_profiler
- Forró útvonalak optimalizálása és C-bővítmények/Numba használata, ahol indokolt
- Késleltetés, átviteli sebesség és erőforrás-kihasználtság mérése
4. nap — Tesztelés, CI/CD, megfigyelhetőség és üzembe helyezés
Tesztelési stratégiák és automatizálás
- Egységtesztelés és fixture-ök a pytesttel; tesztszervezés
- Tulajdonságalapú tesztelés a Hypothesis-szel és szerződéstesztelés
- Mockolás, monkeypatching és aszinkron kód tesztelése
CI/CD, kiadás és megfigyelés
- Tesztek és minőségi kapuk integrálása a GitHub Actions/GitLab CI-ba
- Reprodukálható konténerek építése Dockerrel és többlépcsős buildekkel
- Alkalmazás-megfigyelhetőség: strukturált naplózás, Prometheus-metrikák és tracing
Biztonság, megerősítés és legjobb gyakorlatok
- Függőségellenőrzés, SBOM-alapok és sebezhetőség-vizsgálat
- Biztonságos kódolási gyakorlatok bemenet-ellenőrzéshez és titkos adatok kezeléséhez
- Futásidejű megerősítés: erőforrás-korlátok, felhasználói jogok és konténerbiztonság
Záróprojekt és áttekintés
- Csapatlabor: egy kis szolgáltatás tervezése és megvalósítása a kurzus mintáinak felhasználásával
- Tesztelés, típusellenőrzés, csomagolás és CI-folyamat a projekthez
- Végső áttekintés, kódkritika és végrehajtható fejlesztési terv
Összefoglalás és következő lépések
Követelmények
- Erős középhaladó szintű Python-programozási tapasztalat
- Objektumorientált programozás és alapvető tesztelés ismerete
- Parancssor és Git használatában szerzett tapasztalat
Célközönség
- Szenior Python-fejlesztők
- Szoftvermérnökök, akik a Python-kód minőségéért és architektúrájáért felelnek
- Technikai vezetők és 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