Programación Asincrónica (curso completo)

Programación Asincrónica (curso completo)

La programación asincrónica se ha convertido, en tiempos recientes, en un campo tan desarrollado como la programación paralela clásica. En el mundo de JavaScript, tanto en navegadores como en Node.js, la comprensión de sus técnicas ha adquirido un papel central en la formación del pensamiento de los desarrolladores. Les presento un curso integral y completo que explica todos los métodos ampliamente utilizados de programación asincrónica, los adaptadores entre ellos y los diversos huecos auxiliares. Actualmente, consta de 23 conferencias, 3 ponencias y 28 repositorios con numerosos ejemplos de código en GitHub. En total, alrededor de 17 horas de video: enlace a la lista de reproducción.

Explicaciones del esquema

En el esquema (arriba) se muestran las conexiones entre diferentes maneras de trabajar con la asincronía. Los bloques de color se refieren a la programación asincrónica, mientras que en blanco y negro se muestran los métodos de programación paralela (semaforos, mutexes, barreras, etc.) y redes de Petri, que, al igual que la programación asincrónica y el modelo de actores, son diferentes enfoques para implementar cálculos paralelos (se presentan en el esquema solo para determinar más precisamente el lugar de la programación asincrónica). El modelo de actores está vinculado a la programación asincrónica porque la implementación de actores sin multihilos también tiene derecho a existir y sirve para estructurar el código asincrónico. Las líneas punteadas relacionan eventos y colas concurrentes con callbacks, ya que estas abstracciones se basan en callbacks, pero aun así forman enfoques cualitativamente nuevos.

Temas de las conferencias

1. Programación asincrónica (introducción)
2. Temporizadores, timeouts y EventEmitter
3. Programación asincrónica con callbacks
4. Iteración asincrónica no bloqueante
5. Асинхронность с библиотекой async.js
6. Asincronía con promesas
7. Funciones asincrónicas y manejo de errores
8. Adaptadores asincrónicos: promisify, callbackify, asyncify
9. Coleccionistas de datos asincrónicos
10. Errores no manejados en promesas
11. Problema de la traza de pila asincrónica
12. Generadores y generadores asincrónicos
13. Iteradores e iteradores asincrónicos
14. Cancelación de operaciones asincrónicas
15. Composición asincrónica de funciones
16. Thenable y await ligero
17. Cola asíncrona concurrente
18. Patrón de constructor revelado (Revealing Constructor)
19. Future: Asincronía en futuros sin estado
20. Deferred: Asincronía en diferidos con estado
21. Modelo de Actores (Actor Model)
22. Patrón Observador (Observer + Observable)
23. Asincronía en RxJS y flujos de eventos

Debajo de cada video hay enlaces a repositorios con ejemplos de código que se analizan en el video. He tratado de demostrar que no hay que reducir todo a una única abstracción de asincronía. No existe un enfoque universal para la asincronía, y para cada caso se pueden seleccionar los métodos que permitan escribir código de forma más natural para esta tarea específica. Por supuesto, este curso se va a complementar y pido a todos que propongan nuevos temas y contribuyan con ejemplos de código. La tarea principal del curso es mostrar cómo construir abstracciones de asincronía desde dentro, no solo enseñar a utilizarlas. Prácticamente todas las abstracciones no provienen de bibliotecas, sino que se presentan en su implementación más simple y se descompone su funcionamiento paso a paso.

Solo los usuarios registrados pueden participar en la encuesta. Inicie sesión, por favor.

¿Cuál es su opinión sobre el curso?

  • Veré todo el curso

  • Veré selecciones

  • Me basta con un enfoque

  • Contribuiré al curso

  • No me interesa la asincronía

8 usuarios votaron. 1 usuario se abstuvo.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster