Programació asíncrona (curs complet)

Programació asíncrona (curs complet)

La programació asíncrona s'ha desenvolupat recentment no menys que la programació paral·lela clàssica, i en el món de JavaSript, tant en navegadors com en Node.js, la comprensió de les seves tècniques ha ocupat un dels llocs centrals en la configuració de la visió del món dels desenvolupadors. Apunto a la vostra atenció un curs holístic i més complet amb una explicació de tots els mètodes generalitzats de programació asíncrona, adaptadors entre ells i obertures auxiliars. Actualment consta de 23 conferències, 3 informes i 28 repositoris amb molts exemples de codi a github. En total unes 17 hores de vídeo: enllaç a la llista de reproducció.

Explicació del pla

El diagrama (a dalt) mostra les connexions entre diferents maneres de treballar amb l'asincronia. Els blocs de colors fan referència a la programació asíncrona, i en b/n es mostren mètodes de programació paral·lel (semàfors, mutex, barreres, etc.) i xarxes de Petri, que, com la programació asíncrona i el model d'actor, són diferents enfocaments per implementar la computació paral·lela (són indicat al diagrama només per determinar amb més precisió el lloc de la programació asíncrona). El model d'actor està relacionat amb la programació asíncrona perquè la implementació d'actors sense multithreading també té dret a existir i serveix per estructurar codi asíncron. Les línies de punts enllacen els esdeveniments i la cua concurrent amb les devolucions de trucada perquè aquestes abstraccions es basen en les devolucions de trucada, però encara formen enfocaments qualitativament nous.

Temes de la conferència

1. Programació asíncrona (visió general)
2. Temporitzadors, temps morts i EventEmitter
3. Programació asíncrona mitjançant devolució de trucades
4. Iteració asíncrona no bloquejadora
5. Sincronia amb la biblioteca async.js
6. Asincronia de promeses
7. Funcions asíncrones i tractament d'errors
8. Adaptadors asíncrons: promisify, callbackify, asyncify
9. Recollidors de dades asíncrons
10. Errors no gestionats en promeses
11. El problema de la traça de pila asíncrona
12. Generadors i generadors asíncrons
13. Iteradors i iteradors asíncrons
14. Cancel·lació d'operacions asíncrones
15. Composició de funcions asíncrones
16. Llavors i lleugers esperen
17. Cua asíncrona concurrent
18. Constructor obert de patró (Constructor revelador)
19. Futur: asincronia sobre futurs sense estat
20. Diferit: asincronia en diferencials amb estat
21. Model d'actor
22. Observador de patrons (Observador + Observable)
23. Asincronia en RxJS i fluxos d'esdeveniments

Sota cada vídeo hi ha enllaços a repositoris amb exemples de codi que s'expliquen al vídeo. Vaig intentar demostrar que no cal reduir-ho tot a una abstracció d'asincronia. No hi ha cap enfocament universal de l'asincronia, i per a cada cas podeu seleccionar aquells mètodes que us permetran escriure codi de manera més natural per a aquesta tasca específica. Per descomptat, aquest curs es complementarà i demano a tothom que suggereixi nous temes i aporti exemples de codi. L'objectiu principal del curs és mostrar com construir abstraccions asincrones des de dins, i no només ensenyar com utilitzar-les. Gairebé totes les abstraccions no estan extretes de biblioteques, sinó que es donen en la seva implementació més senzilla i el seu treball s'analitza pas a pas.

Només els usuaris registrats poden participar en l'enquesta. Inicia sessiósi us plau.

Quina és la teva opinió sobre el curs?

  • Miraré tot el curs

  • Miraré selectivament

  • Un enfocament és suficient per a mi

  • Contribuiré al curs

  • No m'interessa l'asincronia

Han votat 8 usuaris. 1 usuari es va abstenir.

Font: www.habr.com

Afegeix comentari