Návrh Školení
Den 1 — Robustní základy Pythonu a nástroje
Moderní funkce Pythonu a typování
- Základy typování, generiky, Protocols a TypeGuard
- Dataclass, neměnné dataclass a přehled knihovny attrs
- Shodování vzorů (PEP 634+) a idiomatické použití
Kvalita kódu a nástroje
- Formátory a lintery kódu: black, isort, flake8, ruff
- Statická kontrola typů pomocí MyPy a pyright
- Před-přispěvací háčky (pre-commit hooks) a pracovní postupy vývojáře
Správa projektů a balíkování
- Správa závislostí pomocí Poetry a virtuálních prostředí
- Struktura balíčků, vstupní body a nejlepší praktiky verzování
- Sestavení a publikování balíčků do PyPI a soukromých registra
Den 2 — Architektonické vzory a postupy
Architektonické vzory v Pythonu
- Vytvářející vzory: Factory, Builder, Singleton (Pythonic varianty)
- Strukturní vzory: Adapter, Facade, Decorator, Proxy
- Chování vzory: Strategy, Observer, Command
Architektonické principy
- SOLID principy aplikované na Pythonové kódovalby
- Hexagonální/Čistá architektura a hranice
- Vzory vstřikování závislostí a správa konfigurace
Modularita a znovu použítelnost
- Návrh kódu knihoven vs. aplikací
- API, stabilní rozhraní a sémantické verzování
- Zpracování konfigurace, tajných klíčů a nastavení specifických pro prostředí
Den 3 — Konkurence, asynchronní IO a výkon
Konkurence a paralelizace
- Základy vláken a dopady GIL (Global Interpreter Lock)
- Multiprocessing a pooly procesů pro CPU-vazné úlohy
- Kdy používat concurrent.futures vs. multiprocessing
Asynchronní programování s asyncio
- Vzory Async/await, smyčka událostí a zrušení
- Návrh asynchronních knihoven a interoperabilita se synchronním kódem
- IO-vazné vzory, zpětný tlak a omezení rychlosti
Profilování a optimalizace
- Nástroje pro profilování: cProfile, pyinstrument, perf, memory_profiler
- Optimalizace kritických cest a použití C-rozsáhů/Numba, kde je vhodné
- Měření latence, propustnosti a využití zdrojů
Den 4 — Testování, CI/CD, pozorovatelnost a nasazení
Testovací strategie a automatizace
- Jednotkové testování a fixtury pomocí pytest; organizace testů
- Property-based testování pomocí Hypothesis a smluvní testování
- Mockování, monkeypatching a testování asynchronního kódu
CI/CD, vydávání a monitorování
- Integrace testů a kontrolních bran do GitHub Actions/GitLab CI
- Sestavování reprodukovatelných kontejnerů pomocí Docker a vícestupňových sestavení
- Pozorovatelnost aplikací: strukturované logování, metрики Prometheus a sledování
Bezpečnost, posílení a nejlepší praktiky
- Audit závislostí, základy SBOM a skenování zranitelností
- Bezpečné programovací postupy pro ověřování vstupů a správu tajných klíčů
- Posílení při běhu: omezení zdrojů, uživatelská práva a bezpečnost kontejnerů
Capstone projekt a review
- Týmová laboratorní úloha: návrh a implementace malé služby pomocí vzorů z kurzu
- Testování, kontrola typů, balíkování a CI potok pro projekt
- Finální review, kritika kódu a akční plán pro vylepšení
Shrnutí a další kroky
Požadavky
- Silné středně pokročilé zkušenosti s programováním v Pythonu
- Oznámenost s objektem orientovaným programováním a základním testováním
- Zkušenosti s používáním příkazového řádku a Gitu
Cílové publikum
- Pokročilí vývojáři Pythonu
- Software inženýři odpovědní za kvalitu kódu a architekturu v Pythonu
- Techničtí vedoucí a MLOps/DevOps inženýři, kteří pracují s Pythonovými kódovalbami
Vyberte dostupný termín kurzu
- Formát Online
- Jazyk polština
- Kurz Veřejný kurz
- Datum zahájení 2027-01-11
- Doba trvání 4 dny (28 hodiny)
Čistá cena za účastníka
Reference (2)
všechno bylo dokonalé
Florin Vrincianu
Kurz - Python Programming Fundamentals
Přeloženo strojem
Praktické cvičení související s obsahem skutečně pomáhají lépe pochopit každý téma. Navíc, styl začínání hodiny přednáškou a pokračování praktickým cvičením je dobrý a užitečný pro propojení s přednáškou prezentovanou dříve.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
Kurz - Introduction to Data Science and AI using Python
Přeloženo strojem