Krutá Smršť Přednášek 2019

Pokročilé povídání o Pythonu – hlasování o tématech

  • Pokročilý Python - témata
Pokročilejší jazykové prvky [P2_ADVSYN]

Lambda funkce. Pohodlnější práce se seznamy a kolekcemi: list comprehensions, iterátory, generátory. Dekorátory, closures a higher-order funkce: jak udělat funkci která vrací funkci, případně modifikuje jinou funkci.

Základy OOP [P2_OOP]

Objektový model Pythonu, třídy, dědičnost.

Pokročilé OOP [P2_ADVOOP]

Metatřídy, magické metody. Aneb jak vyrobit objekty, které se chovají "divně": třeba emulují pole nebo číselný typ nebo všechna volání metod ve skutečnosti spouští po síti na jiném stroji.

Předpoklady: Základy OOP (P2OOP nebo dřívější znalost)
Numerická matematika a náročné výpočty [P2_MATH]

Efektivní výpočty s maticemi a velkými poli: numpy. Další triky: numba (JIT kompilátor, který dokáže rozumně jednoduchý Python/numpy kód dynamicky přeložit do nativního kódu), Cython – aneb jak psát náročné kusy výpočtu v C.

Propojení Pythonu s C a dalšími jazyky [P2_C]

Různé způsoby, jak z Pythonu volat Céčkové knihovny či psát v Céčku moduly pro Python: Cython, ctypes, cffi, SWIG. Možná si ukážeme i něco z Python/C API.

Paralelní a síťové programování [P2_PARAL]

Jak zařídit, aby program dělal víc věcí najednou: vlákna (a proč je spíš nechcete používat), multiprocessing, smyčky událostí, asynchronní programování (asyncio). Ukázka použití pro implementaci síťových serverů.

Webové programování [P2_WEB]

Stručná zmínka o webových frameworcích (ale detailně si ukazovat nebudeme), minimalistický framework Flask. Low-level technologie, na kterých webové frameworky stojí. WGSI a jeho deployment pomocí uWSGI. WSGI middleware. Kombinování částí z různých frameworků v jedné aplikaci.

Předpoklady: Základní povědomí o fungování webu a protokolu HTTP.
Rozbalit všechny přednášky