Asynkront programmering (komplett kursus)

Asynkront programmering (komplett kursus)

Asynkron programmering er på det seneste blevet en lige så udviklet retning som klassisk parallel programmering, og i JavaScript-verdenen, både i browsere og i Node.js, har forståelsen af dens teknikker taget en central rolle i udvikleres verdenssyn. Jeg præsenterer for dig et sammenhængende og mest fuldstændige kursus med forklaring af alle udbredte metoder til asynkron programmering, adaptere mellem dem og hjælpeskaber. Det består nu af 23 forelæsninger, 3 præsentationer og 28 repositories med mange kodeeksempler på GitHub. Samlet set omkring 17 timers video: link til playliste.

Forklaringer til diagrammet

I diagrammet (ovenfor) vises forbindelserne mellem forskellige måder at arbejde med asynkronitet. De farvede blokke relaterer til asynkron programmering, mens sort/hvide viser metoder til parallel programmering (semaforer, mutexer, barrierer osv.) og Petri-net, som ligesom asynkron programmering og aktørmodellen er forskellige tilgange til implementering af parallelle beregninger (de er givet i diagrammet kun for præcist at definere pladsen for asynkron programmering). Aktørmodellen er relateret til asynkron programmering, fordi implementeringen af aktører uden multitrådning også har ret til at eksistere og tjener til struktureret asynkron kode. Punktlinjerne forbinder begivenheder og den konkurrerende kø med callbacks, fordi disse abstraktioner er baseret på callbacks, men alligevel danner de kvalitativt nye tilgange.

Emner for forelæsninger

1. Asynkron programmering (overblik)
2. Timere, timeouts og EventEmitter
3. Asynkron programmering med callbacks
4. Ikke-blokerende asynkron iteration
5. Асинхронность с библиотекой async.js
6. Asynkronitet med promises
7. Asynkrone funktioner og fejlbehandling
8. Asynkrone adaptorer: promisify, callbackify, asyncify
9. Asynkrone datakollektorer
10. Ubehandlede fejl i promises
11. Problemet med den asynkrone staktrace
12. Generatorer og asynkrone generatorer
13. Iteratører og asynkrone iteratører
14. Annullering af asynkrone operationer
15. Asynkron sammensætning af funktioner
16. Thenable og letvægts await
17. Konkurrerende asynkron kø
18. Mønster for åben konstruktør (Revealing Constructor)
19. Future: Asynkronitet på futures uden tilstand
20. Deferred: Asynkronitet på deferreds med tilstand
21. Aktørmodel (Actor Model)
22. Observer-mønsteret (Observer + Observable)
23. Asynkronitet med RxJS og hændelsesstrømme

Under hver video er der links til repositories med eksempler på kode, som gennemgås i videoen. Jeg har bestræbt mig på at vise, at man ikke skal reducere alting til én abstraktion af asynkronitet. Der findes ikke en universel tilgang til asynkronitet, og for hver enkelt sag kan man finde de metoder, der gør det lettere at skrive kode, der er mere naturlig for den pågældende opgave. Selvfølgelig vil dette kursus blive suppleret, og jeg opfordrer alle til at foreslå nye emner og bidrage med eksempler på kode. Kursusets primære mål er at vise, hvordan man bygger abstraktioner af asynkronitet indefra, i stedet for blot at lære at bruge dem. Praktisk talt alle abstraktioner er ikke taget fra biblioteker, men givet i deres simpelste implementering, og deres arbejde er gennemgået trin for trin.

Kun registrerede brugere kan deltage i undersøgelsen. Log ind, please.

Hvad mener du om kurset?

  • Jeg vil se hele kurset

  • Jeg vil se udvalgte dele

  • Jeg har nok med én tilgang

  • Jeg vil bidrage til kurset

  • Jeg er ikke interesseret i asynkronitet

8 brugere har stemt. 1 bruger har undladt at stemme.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster