La programmazione asincrona è diventata negli ultimi tempi un campo sviluppato non meno della programmazione parallela classica. Nel mondo di JavaScript, sia nei browser che in Node.js, la comprensione delle sue tecniche ha occupato uno dei posti centrali nella formazione della mentalità degli sviluppatori. Vi presento un corso completo e il più dettagliato possibile che spiega tutti i metodi di programmazione asincrona ampiamente diffusi, i loro adattatori e i metodi ausiliari. Attualmente, consiste in 23 lezioni, 3 relazioni e 28 repository con moltissimi esempi di codice su github. In totale, circa 17 ore di video: .
Spiegazioni allo schema
Nello schema (sopra) sono mostrati i legami tra i diversi modi di lavorare con l'asincronia. I blocchi colorati si riferiscono alla programmazione asincrona, mentre in bianco e nero sono mostrati i metodi di programmazione parallela (semafori, mutex, barriere, ecc.) e le reti di Petri, che, come la programmazione asincrona e il modello attoriale, sono diversi approcci per implementare calcoli paralleli (sono dati nello schema solo per definire meglio la posizione della programmazione asincrona). Il modello attoriale è legato alla programmazione asincrona perché l'implementazione degli attori senza multithreading ha diritto di esistere e serve a strutturare il codice asincrono. Le linee tratteggiate collegano gli eventi e la coda concorrente ai callback perché queste astrazioni si basano sui callback, ma comunque formano approcci qualitativamente nuovi.
Temi delle lezioni
Sotto ogni video ci sono link ai repository con esempi di codice, che vengono analizzati nel video. Ho cercato di mostrare che non è necessario ridurre tutto a un'unica astrazione di asincronicità. Non esiste un approccio universale all'asincronicità; per ogni caso si possono scegliere i metodi che permetteranno di scrivere codice in modo più naturale per quel compito specifico. Certamente, questo corso sarà ulteriormente ampliato e chiedo a tutti di proporre nuovi argomenti e contribuire agli esempi di codice. L'obiettivo principale del corso è mostrare come costruire astrazioni di asincronicità dall'interno, e non solo insegnare come usarle. Praticamente tutte le astrazioni non vengono da librerie, ma sono fornite nella loro implementazione più semplice e il loro funzionamento viene analizzato passo dopo passo.
Solo gli utenti registrati possono partecipare al sondaggio. , per favore.
Qual è la tua opinione sul corso?
Guarderò l'intero corso
Guarderò selettivamente
Mi basta un approccio
Contribuirò al corso
Non mi interessa l'asincronicità
Hanno votato 8 utenti. Si è astenuto 1 utente.
Fonte: habr.com
