Asynchrone programmering (volledige cursus)

Asynchrone programmering (volledige cursus)

Asynchroon programmeren is de laatste tijd net zo goed ontwikkeld als klassiek parallel programmeren, en in de wereld van JavaScript, zowel in browsers als in Node.js, heeft het begrijpen van de technieken ervan een centrale plaats ingenomen in de denkwijze van ontwikkelaars. Ik bied u een samenhangende en meest complete cursus aan met uitleg over alle breed toepasbare methoden van asynchroon programmeren, adapters ertussen en ondersteunende lagen. Momenteel bestaat het uit 23 lezingen, 3 presentaties en 28 repositories met tal van codevoorbeelden op GitHub. In totaal ongeveer 17 uur video: link naar afspeellijst.

Uitleg bij het schema

In het schema (boven) worden de verbindingen tussen verschillende manieren van omgaan met asynchroniciteit getoond. De gekleurde blokken zijn gerelateerd aan asynchroon programmeren, terwijl zwart-wit de methoden van parallel programmeren weergeven (semaphores, mutexes, barrières, enz.) en Petri-netten, die, net als asynchroon programmeren en het actor-model, verschillende benaderingen zijn voor het implementeren van parallelle berekeningen (ze zijn in het schema opgenomen om de plaats van asynchroon programmeren nauwkeuriger te bepalen). Het actor-model is gerelateerd aan asynchroon programmeren omdat de implementatie van actoren zonder multithreading ook bestaansrecht heeft en dient voor de structurering van asynchrone code. De puntlijntjes verbinden evenementen en de concurrent queue met callbacks omdat deze abstracties gebaseerd zijn op callbacks, maar toch kwalitatief nieuwe benaderingen vormen.

Onderwerpen van de lezingen

1. Asynchroon programmeren (overzicht)
2. Timers, timeouts en EventEmitter
3. Asynchroon programmeren met callbacks
4. Non-blocking asynchrone iteratie
5. Асинхронность с библиотекой async.js
6. Asynchroniciteit met promises
7. Asynchrone functies en foutafhandeling
8. Asynchrone adapters: promisify, callbackify, asyncify
9. Asynchrone dataverzamelaars
10. Onbehandelde fouten in promises
11. Probleem van asynchrone stacktrace
12. Generators en asynchrone generators
13. Iterators en asynchrone iterators
14. Annuleren van asynchrone operaties
15. Asynchrone samenstelling van functies
16. Thenable en lichte await
17. Concurrente asynchrone queue
18. Pattern Revealing Constructor
19. Future: Asynchroniciteit met toekomst zonder status
20. Deferred: Asynchroniciteit met deferred met status
21. Actor Model
22. Observer Pattern (Observer + Observable)
23. Asynchroniciteit met RxJS en evenementstromen

Onder elke video vindt u links naar de repositories met voorbeeldcode die in de video worden behandeld. Ik heb geprobeerd aan te tonen dat het niet nodig is om alles te reduceren tot één abstractie van asynchroniciteit. Er bestaat niet één universele benadering voor asynchroniciteit; voor elke situatie kunnen de juiste methoden worden gekozen die het mogelijk maken om code natuurlijker te schrijven voor die specifieke taak. Uiteraard zal deze cursus worden aangevuld en vraag ik iedereen om nieuwe onderwerpen voor te stellen en bij te dragen aan de voorbeeldcode. Het belangrijkste doel van de cursus is om te laten zien hoe je abstracties van asynchroniciteit van binnenuit opbouwt, en niet alleen om te leren hoe ze gebruikt moeten worden. Bijna alle abstracties komen niet uit bibliotheken, maar worden gegeven in hun meest eenvoudige implementatie, waarbij hun werking stap voor stap wordt besproken.

Alleen geregistreerde gebruikers kunnen deelnemen aan de enquête. Log in, alstublieft.

Wat is uw mening over de cursus?

  • Ik zal de hele cursus bekijken

  • Ik zal selectief bekijken

  • Ik heb genoeg aan één benadering

  • Ik wil bijdragen aan de cursus

  • Ik ben niet geïnteresseerd in asynchroniciteit

8 gebruikers hebben gestemd. 1 gebruiker onthield zich.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster