Programmazione asincrona (corso completo)

Programmazione asincrona (corso completo)

La programmazione asincrona è diventata recentemente un campo sviluppato tanto quanto la programmazione parallela classica e, nel panorama di JavaScript, sia nei browser che in Node.js, la comprensione delle sue tecniche ha assunto un ruolo centrale nella formazione del pensiero degli sviluppatori. Vi presento un corso completo e dettagliato che spiega tutti i metodi ampiamente utilizzati nella programmazione asincrona, gli adattatori tra di essi e i vari tool di supporto. Attualmente, il corso è composto da 23 lezioni, 3 conferenze e 28 repository con numerosi esempi di codice su GitHub. In totale, circa 17 ore di video: link alla playlist.

Spiegazioni dello schema

Nello schema (sopra) sono mostrati i collegamenti tra i diversi metodi di lavoro con l'asincronismo. I blocchi colorati si riferiscono alla programmazione asincrona, mentre in bianco e nero sono illustrati i metodi di programmazione parallela (semafori, mutex, barriere, ecc.) e le reti di Petri, che, come la programmazione asincrona e il modello ad attori, rappresentano diversi approcci per l'implementazione di calcoli paralleli (sono inclusi nello schema per definire più precisamente il ruolo della programmazione asincrona). Il modello ad attori è collegato alla programmazione asincrona perché l'implementazione degli attori senza multithreading è valida e serve per strutturare il codice asincrono. Le linee tratteggiate collegano eventi e la coda concorrente ai callback, poiché queste astrazioni si basano sui callback, ma formano comunque approcci qualitativamente nuovi.

Argomenti delle lezioni

1. Programmazione asincrona (panoramica)
2. Timer, timeout e EventEmitter
3. Programmazione asincrona con callback
4. Iterazione asincrona non bloccante
5. Асинхронность с библиотекой async.js
6. Asincronia con le promesse
7. Funzioni asincrone e gestione degli errori
8. Adattatori asincroni: promisify, callbackify, asyncify
9. Collettori di dati asincroni
10. Errori non gestiti nelle promesse
11. Problema dello stack trace asincrono
12. Generatori e generatori asincroni
13. Iteratori e iteratori asincroni
14. Cancellazione delle operazioni asincrone
15. Composizione asincrona di funzioni
16. Thenable e await leggero
17. Coda asincrona concorrente
18. Pattern costruttore rivelatore (Revealing Constructor)
19. Future: Asincronia sui futuri senza stato
20. Deferred: Asincronia sui differiti con stato
21. Modello attori (Actor Model)
22. Pattern Osservatore (Observer + Observable)
23. Asincronia su RxJS e flussi di eventi

Sotto ogni video ci sono collegamenti ai repository con esempi di codice discussi nei video. Ho cercato di mostrare che non bisogna ridurre tutto a un'unica astrazione dell'asincronicità. Non esiste un approccio universale all'asincronicità e per ogni caso è possibile scegliere i metodi che consentono di scrivere codice in modo più naturale per quel compito specifico. Naturalmente, questo corso verrà ampliato e invito tutti a suggerire nuovi argomenti e contribuire con esempi di codice. L'obiettivo principale del corso è mostrare come costruire astrazioni dell'asincronicità dall'interno, non solo insegnare a usarle. Quasi tutte le astrazioni non sono tratte da librerie, ma fornite nella loro implementazione più semplice e analizzate passo dopo passo nel loro funzionamento.

Solo gli utenti registrati possono partecipare al sondaggio. Accedi, per favore.

Qual è la vostra opinione sul corso?

  • Vedrò l'intero corso

  • Lo guarderò selettivamente

  • Mi basta un approccio

  • Contribuirò al corso

  • Non sono interessato all'asincronicità

Hanno votato 8 utenti. 1 utente si è astenuto.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster