Python i Asyncio. Programowanie asynchroniczne - Helion
Tytuł oryginału: Using Asyncio in Python: Understanding Python's Asynchronous Programming Features
TÅ‚umaczenie: Piotr Rajca
ISBN: 978-83-283-7004-3
stron: 144, Format: ebook
Data wydania: 2020-10-01
Księgarnia: Helion
Cena książki: 29,92 zł (poprzednio: 39,89 zł)
Oszczędzasz: 25% (-9,97 zł)
Programowanie wspóÅ‚bieżne jest ważnÄ… technikÄ… w tworzeniu nowoczesnych rozwiÄ…zaÅ„ sieciowych. ProgramiÅ›ci Pythona czÄ™sto w tym celu korzystajÄ… z wÄ…tków i mechanizmu wywÅ‚aszczania. Z tym że nie jest to optymalne rozwiÄ…zanie - z uwagi na ryzyko naruszenia bezpieczeÅ„stwa. Istnieje też możliwość programowania asynchronicznego z wykorzystaniem biblioteki asyncio, która zostaÅ‚a dodana w Pythonie 3.4. ZÅ‚ożoność API Asyncio budzi jednak obawy programistów Pythona, również biegle posÅ‚ugujÄ…cych siÄ™ tym jÄ™zykiem. Mimo to wysiÅ‚ek wÅ‚ożony w zrozumienie dziaÅ‚ania Asyncio jest opÅ‚acalny, gdyż biblioteka ta pozwala na skuteczne rozwiÄ…zywanie problemów ze wspóÅ‚bieżnym programowaniem sieciowym.
Lektura tej książki uÅ‚atwi Ci pozbycie siÄ™ obaw przed bibliotekÄ… asyncio. Zrozumiesz jej podstawowe elementy, co pozwoli Ci na rozpoczÄ™cie programowania sterowanego zdarzeniami i prostÄ… obsÅ‚ugÄ™ tysiÄ™cy jednoczesnych poÅ‚Ä…czeÅ„ sieciowych. Dowiesz siÄ™, dlaczego Asyncio stanowi bezpieczniejszÄ… alternatywÄ™ dla wielozadaniowoÅ›ci z wywÅ‚aszczaniem wÄ…tków, i dogÅ‚Ä™bnie zrozumiesz koncepcjÄ™ programowania asynchronicznego. NastÄ™pnie przeanalizujesz wprowadzone w Pythonie zmiany, dziÄ™ki którym możliwe jest programowanie asynchroniczne. Dowiesz siÄ™ także, w jakich konkretnie sytuacjach biblioteka asyncio jest wyjÄ…tkowo użyteczna i których narzÄ™dzi należy wtedy używać. W książce pokazano najlepsze sposoby wykorzystania nowych możliwoÅ›ci Asyncio.
W tej książce:
- porównanie programowania wspóÅ‚bieżnego z wykorzystaniem Asyncio i wÄ…tków
- podstawy programowania bazujÄ…cego na zdarzeniach
- możliwoÅ›ci Asyncio ważne dla programistów koÅ„cowych oraz twórców frameworków
- składnia async/await, w tym API koprocedur i klasy Future
- szczegóÅ‚owe przypadki użycia kilku bibliotek zgodnych z Asyncio
Programowanie asynchroniczne: nowa wizja bezpieczeństwa kodu Pythona!
Osoby które kupowały "Python i Asyncio. Programowanie asynchroniczne", wybierały także:
- Superinteligencja. Scenariusze, strategie, zagro 66,67 zł, (14,00 zł -79%)
- Poradnik design thinking - czyli jak wykorzysta 48,28 zł, (14,00 zł -71%)
- Kosymulacja. Elastyczne projektowanie i symulacja wielodomenowa 38,39 zł, (11,90 zł -69%)
- F# 4.0 dla zaawansowanych. Wydanie IV 96,45 zł, (29,90 zł -69%)
- Systemy reaktywne. Wzorce projektowe i ich stosowanie 65,31 zł, (20,90 zł -68%)
Spis treści
Python i Asyncio. Programowanie asynchroniczne eBook -- spis treści
Wstęp 7
1. Prezentacja Asyncio 11
- Restauracja ThreadBotów 11
- Epilog 15
- Jakie problemy stara się rozwiązywać Asyncio? 16
2. Prawda o wÄ…tkach 19
- Zalety stosowania wÄ…tków 20
- Wady stosowania wÄ…tków 21
- Studium przypadku: roboty i sztućce 24
3. Asyncio - przeglÄ…d informacji 31
- Szybki start 32
- Wieża Asyncio 37
- Koprocedury 40
- Nowe słowa kluczowe async def 41
- Nowe słowo kluczowe await 43
- Pętla zdarzeń 46
- Klasy Task i Future 48
- Kilka sÅ‚ów o terminologii 51
- Asynchroniczne menedżery kontekstu: async with 54
- Zastosowanie modułu contextlib 55
- Iteratory asynchroniczne: async for 58
- Prostszy kod dziÄ™ki użyciu generatorów asynchronicznych 61
- Asynchroniczne wyrażenia listowe 62
- Rozpoczynanie i kończenie (łagodne!) 64
- Do czego służy argument return_exceptions=True funkcji gather()? 68
- Sygnały 70
- Oczekiwanie na egzekutor podczas procesu kończenia 74
4. 20 bibliotek Asyncio, których nie używasz (ale... mniejsza z tym) 81
- Strumienie (biblioteka standardowa) 82
- Studium przypadku: kolejka komunikatów 82
- Studium przypadku: poprawa kolejki komunikatów 89
- Framework Twisted 93
- Kolejka Janus 95
- aiohttp 97
- Studium przypadku: "Witaj, świecie!" 97
- Studium przypadku: mechanizm zbierania doniesień 97
- OMQ (ZeroMQ) 101
- Studium przypadku: obsługa wielu gniazd 102
- Studium przypadku: monitorowanie wydajności aplikacji 106
- asyncpg i Sanic 113
- Studium przypadku: unieważnienie pamięci podręcznej 117
- Inne biblioteki i zasoby 127
5. Przemyślenia końcowe 129
A. Krótka historia programowania asynchronicznego w jÄ™zyku Python 131
- Na początku było asyncore 131
- Ścieżka do rodzimych koprocedur 133
B. Materiały uzupełniające 135
- Przykład ze sztućcami z wykorzystaniem asyncio 135
- Materiały dodatkowe do przykładu z mechanizmem zbierania doniesień 137
- Materiały uzupełniające studium przypadku z ZeroMQ 138
- Obsługa wyzwalaczy bazy danych na potrzeby studium przypadku użycia bibliotek asyncpg 140
- Materiał uzupełniający do przykładu z frameworkiem Sanic: aelapsed i aprofiler 142