Asynchroon programmeren (volledige cursus)

Asynchroon programmeren (volledige cursus)

Asynchroon programmeren is de laatste tijd niet minder ontwikkeld dan klassiek parallel programmeren, en in de wereld van JavaSript, zowel in browsers als in Node.js, heeft het begrijpen van de technieken ervan een centrale rol gespeeld in de vorming van het wereldbeeld van ontwikkelaars. Ik bied je een complete en zeer complete cursus aan met een uitleg van alle veelgebruikte methoden van asynchroon programmeren, adapters ertussen en hulpopeningen. De cursus bestaat uit 23 colleges, 3 rapporten en 28 repositories met talloze codevoorbeelden op GitHub. In totaal ongeveer 17 uur aan video: afspeellijstlink.

Verklaringen bij het schema

Het diagram (hierboven) toont de verbanden tussen verschillende manieren om met asynchronie te werken. De gekleurde blokken hebben betrekking op asynchrone programmering, en de zwart-witte blokken tonen parallelle programmeermethoden (semaforen, mutexen, barrières, enz.) en Petri-netten. Deze vormen, net als asynchrone programmering en het actormodel, verschillende benaderingen voor de implementatie van parallel computing (ze worden in het diagram alleen getoond om de plaats van asynchrone programmering nauwkeuriger te bepalen). Het actormodel is gerelateerd aan asynchrone programmering omdat de implementatie van actoren zonder multithreading ook bestaansrecht heeft en wordt gebruikt om asynchrone code te structureren. De stippellijnen koppelen events en de gelijktijdige wachtrij aan callbacks, omdat deze abstracties gebaseerd zijn op callbacks, maar toch kwalitatief nieuwe benaderingen vormen.

Lezingonderwerpen

1. Asynchrone programmering (overzicht)
2. Timers, time-outs en EventEmitter
3. Asynchrone programmering met callbacks
4. Niet-blokkerende asynchrone iteratie
5. Asynchroniciteit met de async.js-bibliotheek
6. Asynchronie in beloften
7. Asynchrone functies en foutverwerking
8. Asynchrone adapters: promisify, callbackify, asyncify
9. Asynchrone gegevensverzamelaars
10. Onverwerkte fouten in beloften
11. Het probleem van asynchrone stacktrace
12. Generatoren en asynchrone generatoren
13. Iteratoren en asynchrone iteratoren
14. Asynchrone bewerkingen annuleren
15. Asynchrone functiecompositie
16. Dan is het mogelijk om te wachten op een lichtgewicht
17. Gelijktijdige asynchrone wachtrij
18. Het onthullen van het constructorpatroon
19. Toekomst: Asynchronie op staatloze toekomsten
20. Uitgesteld: Asynchronie op toestandsgebonden uitgestelde taken
21. Acteursmodel
22. Observerpatroon (waarnemer + waarneembaar)
23. Asynchronie met RxJS en gebeurtenisstromen

Onder elke video staan ​​links naar repositories met codevoorbeelden, die in de video worden besproken. Ik heb geprobeerd te laten zien dat je niet alles hoeft te reduceren tot één asynchrone abstractie. Er is geen universele aanpak voor asynchronie, en voor elk geval kun je die methoden kiezen waarmee je op een natuurlijkere manier code kunt schrijven voor deze specifieke taak. Uiteraard zal deze cursus worden aangevuld en ik vraag iedereen om nieuwe onderwerpen aan te dragen en bij te dragen aan de codevoorbeelden. Het hoofddoel van de cursus is om te laten zien hoe je asynchrone abstracties van binnenuit bouwt, en niet alleen om te leren hoe je ze gebruikt. Bijna alle abstracties komen niet uit bibliotheken, maar worden in hun eenvoudigste implementatie gegeven en hun werking wordt stap voor stap geanalyseerd.

Alleen geregistreerde gebruikers kunnen deelnemen aan het onderzoek. Inloggen, Alsjeblieft.

Wat is je houding ten opzichte van de cursus?

  • Ik zal de hele cursus bekijken

  • Ik zal selectief kijken

  • Eén aanpak is voor mij voldoende

  • Ik zal een bijdrage leveren aan de cursus

  • Ik ben niet geïnteresseerd in asynchroniciteit

8 gebruikers hebben gestemd. 1 gebruiker onthield zich van stemming.

Bron: www.habr.com

Voeg een reactie