Programare asincronă (curs complet)

Programare asincronă (curs complet)

Programarea asincronă a devenit recent dezvoltată nu mai puțin decât programarea paralelă clasică, iar în lumea JavaSript, atât în ​​browsere, cât și în Node.js, înțelegerea tehnicilor sale a ocupat unul dintre locurile centrale în modelarea viziunii despre lume a dezvoltatorilor. Vă aduc în atenție un curs holistic și cel mai complet cu o explicație a tuturor metodelor răspândite de programare asincronă, adaptoare între ele și deschideri auxiliare. În prezent, constă din 23 de prelegeri, 3 rapoarte și 28 de depozite cu multe exemple de cod pe github. În total aproximativ 17 ore de videoclip: link către lista de redare.

Explicarea schemei

Diagrama (mai sus) arată conexiunile dintre diferitele moduri de lucru cu asincronia. Blocurile colorate se referă la programarea asincronă, iar b/n prezintă metode de programare paralelă (semafore, mutexuri, bariere etc.) și rețele Petri, care, la fel ca programarea asincronă și modelul actorului, sunt abordări diferite pentru implementarea calculului paralel (sunt date în diagramă doar pentru a determina mai exact locul programării asincrone). Modelul actorului este legat de programarea asincronă deoarece implementarea actorilor fără multithreading are și dreptul de a exista și servește la structurarea codului asincron. Liniile punctate leagă evenimentele și coada concomitentă de apeluri inverse, deoarece aceste abstracții se bazează pe apeluri inverse, dar formează totuși abordări noi calitativ.

Subiecte de curs

1. Programare asincronă (prezentare generală)
2. Temporizatoare, timeout-uri și EventEmitter
3. Programare asincronă folosind apeluri inverse
4. Iterație asincronă neblocante
5. Asincronizare cu biblioteca async.js
6. Asincronie asupra promisiunilor
7. Funcții asincrone și tratarea erorilor
8. Adaptoare asincrone: promisify, callbackify, asyncify
9. Colectori de date asincroni
10. Erori nerezolvate în promisiuni
11. Problema stacktrace asincronă
12. Generatoare și generatoare asincrone
13. Iteratoare și iteratoare asincrone
14. Anularea operațiunilor asincrone
15. Compoziția funcției asincrone
16. Așteaptă apoi ușor și ușor
17. Coada asincronă concomitentă
18. Constructor deschis model (Constructor revelator)
19. Viitorul: asincronie pe viitor apatrid
20. Amânat: asincronie pe diferențiale cu stare
21. Model de actor
22. Observator de modele (Observator + Observabil)
23. Asincronie în RxJS și fluxuri de evenimente

Sub fiecare videoclip există link-uri către depozite cu exemple de cod care sunt explicate în videoclip. Am încercat să arăt că nu este nevoie să reduc totul la o singură abstracție a asincroniei. Nu există o abordare universală a asincroniei și pentru fiecare caz puteți selecta acele metode care vă vor permite să scrieți codul mai natural pentru această sarcină specifică. Desigur, acest curs va fi suplimentat și le rog pe toată lumea să sugereze noi subiecte și să contribuie cu exemple de cod. Scopul principal al cursului este să arate cum să construiești abstracții asincrone din interior și nu doar să înveți cum să le folosești. Aproape toate abstracțiile nu sunt preluate din biblioteci, ci sunt date în cea mai simplă implementare a lor, iar munca lor este analizată pas cu pas.

Numai utilizatorii înregistrați pot participa la sondaj. Loghează-te, Vă rog.

Ce parere aveti despre curs?

  • Voi urmări tot cursul

  • Mă voi uita selectiv

  • O singură abordare este suficientă pentru mine

  • Voi contribui la curs

  • Nu ma intereseaza asincronia

Au votat 8 utilizatori. 1 utilizator s-a abținut.

Sursa: www.habr.com

Adauga un comentariu