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: .
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
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. , 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
