Async IO w Pythonie

Zakres szkolenia

Szkolenie z efektywnego wykorzystania biblioteki asyncio. Uczestnicy szkolenia zapoznają się z podstawowymi koncepcjami wykorzystywanymi do pisania asynchronicznego kodu, takimi jak coroutines, obiekty futures, tasks itp. Oprócz poznania i nauki efektywnego użycia samej biblioteki, istotnym elementem szkolenia jest praktyczne omówienie zagadnień związanych z testowaniem i debugowaniem kody asynchronicznego.


Plan szkolenia

Podstawy programowania asynchronicznego

  • generatory, funkcje generatorowe i coroutines
  • zastosowania programowania asynchronicznego

Biblioteka asyncio

  • najważniejsi gracze - coroutines, futures, tasks, loops

Asynchroniczne:

  • funkcje (async def)
  • pętle (async for)
  • menadżery kontekstu (async with)
  • instrukcja await

Integracja z kodem legacy

  • stara składnia (yield from) i integracja kodu napisanego w starym (yield from) i nowym stylu (async i await)

Testy jednostkowe z użyciem unittest

  • testowanie asynchronicznego kodu (unittest, doctest, code coverage)
  • mockowanie coroutines, izolacja testów

Debuggowanie asynchronicznego kodu

  • Synchronizacja pomiędzy coroutines

Najczęstsze idiomy i pułapki

Znajomość Pythona na poziomie zaawansowanym.

2 dni po 8 godzin lekcyjnych