Asynchronní programování (kompletní kurz)

Asynchronní programování (kompletní kurz)

Asynchronní programování se v poslední době stalo stejně rozvinutým směrem jako klasické paralelní programování, a ve světě JavaScriptu, jak v prohlížečích, tak v Node.js, pochopení jeho metod zaujalo jedno z centrálních míst ve formování pohledu vývojářů. Představuji vám komplexní a nejúplnější kurz s vysvětlením všech široce rozšířených metod asynchronního programování, adaptérů mezi nimi a pomocných prostorů. V současnosti se skládá z 23 přednášek, 3 prezentací a 28 repozitářů s mnoha příklady kódu na githubu. Celkem asi 17 hodin videa: odkaz na playlist.

Vysvětlení ke schématu

Na schématu (výše) jsou zobrazeny vazby mezi různými způsoby práce s asynchronností. Barevné bloky se vztahují k asynchronnímu programování, zatímco černobílé ukazují metody paralelního programování (semafory, mutexy, bariéry atd.) a Petriho sítě, které, podobně jako asynchronní programování a model herce, jsou různými přístupy k realizaci paralelních výpočtů (jsou uvedeny na schématu pouze pro přesnější určení místa asynchronního programování). Model herce je spojen s asynchronním programováním, protože implementace herců bez vícestupňovosti také má právo na existenci a slouží k strukturování asynchronního kódu. Tečkované čáry spojují události a konkurentní frontu s callbacky, protože tyto abstrakce vychází z callbacků, ale přesto vytvářejí kvalitativně nové přístupy.

Témata přednášek

1. Asynchronní programování (přehled)
2. Časovače, timeouty a EventEmitter
3. Asynchronní programování na callbackách
4. Neblokující asynchronní iterace
5. Асинхронность с библиотекой async.js
6. Asynchronnost na promissech
7. Asynchronní funkce a zpracování chyb
8. Asynchronní adaptéry: promisify, callbackify, asyncify
9. Asynchronní sběrače dat
10. Nezpracované chyby v promissech
11. Problém asynchronního steku volání
12. Generátory a asynchronní generátory
13. Iterátory a asynchronní iterátory
14. Zrušení asynchronních operací
15. Asynchronní kompozice funkcí
16. Thenable a lehký await
17. Konkurenční asynchronní fronta
18. Vzor otevřeného konstruktora (Revealing Constructor)
19. Future: Asynchronnost na futurech bez stavu
20. Deferred: Asynchronnost na deferech se stavem
21. Modela herců (Actor Model)
22. Vzor Pozorovatel (Observer + Observable)
23. Asynchronnost v RxJS a proudy událostí

Pod každým videem jsou odkazy na repozitáře s příklady kódu, které se ve videu rozebírají. Snažil jsem se ukázat, že není nutné všechno redukovat na jednu abstrakci asynchronnosti. Neexistuje univerzální přístup k asynchronnosti, a pro každý případ je možné vybrat ty metody, které umožní psát kód přirozeněji pro konkrétní úkol. Samozřejmě, že tento kurz bude doplněn a žádám všechny, aby navrhovali nová témata a přispěli k příkladům kódu. Hlavním cílem kurzu je ukázat, jak stavět abstrakce asynchronnosti zevnitř, a ne jen naučit je používat. Prakticky všechny abstrakce nepocházejí z knihoven, ale jsou prezentovány v jejich nejjednodušší implementaci a podrobně je vysvětlena jejich funkce.

Pouze registrovaní uživatelé se mohou účastnit ankety. Přihlaste se, prosím.

Jaký máte názor na kurz?

  • Podívám se na celý kurz

  • Podívám se výběrově

  • Stačí mi jeden přístup

  • Budu přispívat do kurzu

  • O asynchronnost nemám zájem

Hlasovalo 8 uživatelů. Zdržel se 1 uživatel.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster