Asynchrónne programovanie (úplný kurz)

Asynchrónne programovanie (úplný kurz)

Asynchrónne programovanie sa v poslednej dobe stalo rovnako rozvinutým smerom, ako klasické paralelné programovanie, a v svete JavaScriptu, či už v prehliadačoch alebo v Node.js, porozumenie jeho technikám zaujalo jedno z ústredných miest vo formovaní pohľadu vývojárov. Predkladám vám komplexný a najúplnejší kurz s vysvetlením všetkých široko rozšírených metód asynchrónneho programovania, adaptérmi medzi nimi a pomocnými priehradkami. V súčasnosti sa skladá z 23 prednášok, 3 prezentácií a 28 úložísk s množstvom príkladov kódu na github. Celkovo okolo 17 hodín videa: odkaz na playlist.

Vysvetlenia k schéme

Na schéme (vyššie) sú zobrazené väzby medzi rôznymi spôsobmi práce s asynchrónnosťou. Farebné bloky sa vzťahujú na asynchrónne programovanie, zatiaľ čo čiernobiele ukazujú metódy paralelného programovania (semafory, mutexy, bariéry a pod.) a Petriho siete, ktoré, rovnako ako asynchrónne programovanie a model hercov, sú rôzne prístupy na realizáciu paralelných výpočtov (sú zobrazené na schéme len na to, aby presnejšie určili miesto asynchrónneho programovania). Model hercov súvisí s asynchrónnym programovaním, pretože realizácia hercov bez viacvláknovosti tiež má právo na existenciu a slúži na štruktúrovanie asynchrónneho kódu. Čiarové čiary súvisia s udalosťami a konkurenčnou frontou s callbackmi, pretože tieto abstrakcie sú založené na callbackoch, ale predsa vytvárajú kvalitatívne nové prístupy.

Témy prednášok

1. Asynchrónne programovanie (prehľad)
2. Časovače, timeouty a EventEmitter
3. Asynchrónne programovanie na callbackoch
4. Nezablokujúce asynchrónne iterovanie
5. Асинхронность с библиотекой async.js
6. Asynchrónnosť na promisoch
7. Asynchrónne funkcie a spracovanie chýb
8. Asynchrónne adaptéry: promisify, callbackify, asyncify
9. Asynchrónne kolektory dát
10. Nezpracované chyby v promisoch
11. Problém asynchrónneho stack traceu
12. Generátory a asynchrónne generátory
13. Iterátory a asynchrónne iterátory
14. Zrušenie asynchrónnych operácií
15. Asynchrónna kompozícia funkcií
16. Thenable a ľahký await
17. Konkurenčná asynchrónna fronta
18. Vzor otvoreného konštruktora (Revealing Constructor)
19. Future: Asynchrónnosť na future bez stavu
20. Deferred: Asynchrónnosť na deferoch so stavom
21. Modela hercov (Actor Model)
22. Pozorovateľský vzor (Observer + Observable)
23. Asynchronnosť v RxJS a prúdy udalostí

Pod každým videom sú odkazy na repozitáre s príkladmi kódu, ktoré sa v videu rozoberajú. Snažil som sa ukázať, že nie je potrebné všetko zjednodušovať na jednu abstrakciu asynchronnosti. Neexistuje univerzálny prístup k asynchronnosti, a pre každý prípad je možné vybrať také metódy, ktoré umožnia písať kód prirodzenejšie pre danú úlohu. Samozrejme, tento kurz sa bude ďalej dopĺňať a prosím všetkých, aby navrhli nové témy a prispeli do príkladov kódu. Hlavným cieľom kurzu je ukázať, ako budovať abstrakcie asynchronnosti zvnútra, a nie len naučiť, ako ich používať. Takmer všetky abstrakcie nie sú z knižníc, ale sú podané v ich najjednoduchšej implementácii a krok za krokom je rozobraná ich práca.

Len registrovaní používatelia sa môžu zúčastniť prieskumu. Prihláste sa, prosím.

Aký je váš názor na kurz?

  • Pozriem si celý kurz

  • Pozriem si výberovo

  • Stačí mi jeden prístup

  • Budem prispievať do kurzu

  • Nezaujímam sa o asynchronnosť

Hlasovalo 8 používateľov. Zdržal sa 1 používateľ.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster