Asinchroninis programavimas (visas kursas)

Asinchroninis programavimas (visas kursas)

Asinchroninis programavimas pastaruoju metu tapo ne mažiau išvystytas nei klasikinis lygiagretusis programavimas, o JavaSript pasaulyje, tiek naršyklėse, tiek Node.js, jo technikų supratimas užėmė vieną iš pagrindinių vietų formuojant kūrėjų pasaulėžiūrą. Atkreipiu jūsų dėmesį į holistinį ir išsamiausią kursą su visų plačiai paplitusių asinchroninio programavimo metodų, adapterių tarp jų ir pagalbinių angų paaiškinimu. Šiuo metu jį sudaro 23 paskaitos, 3 pranešimai ir 28 saugyklos su daugybe kodų pavyzdžių „github“. Iš viso apie 17 valandų vaizdo įrašo: nuoroda į grojaraštį.

Schemos paaiškinimas

Diagrama (aukščiau) rodo sąsajas tarp skirtingų darbo su asinchronija būdų. Spalvoti blokai nurodo asinchroninį programavimą, o juodai rodomi lygiagretaus programavimo metodai (semaforai, mutexes, barjerai ir kt.) ir Petri tinklai, kurie, kaip ir asinchroninis programavimas ir veikėjo modelis, yra skirtingi lygiagretaus skaičiavimo įgyvendinimo būdai (jie yra diagramoje pateikta tik siekiant tiksliau nustatyti asinchroninio programavimo vietą). Aktoriaus modelis yra susijęs su asinchroniniu programavimu, nes veikėjų įgyvendinimas be daugiagijos taip pat turi teisę egzistuoti ir tarnauja asinchroniniam kodui struktūrizuoti. Taškinės linijos susieja įvykius ir lygiagrečią eilę su atgaliniais skambučiais, nes šios abstrakcijos yra pagrįstos atgaliniais skambučiais, tačiau vis tiek sudaro kokybiškai naujus metodus.

Paskaitų temos

1. Asinchroninis programavimas (apžvalga)
2. Laikmačiai, skirtieji laikas ir įvykių emiteris
3. Asinchroninis programavimas naudojant atgalinius skambučius
4. Neblokuojanti asinchroninė iteracija
5. Asinchronija su async.js biblioteka
6. Pažadų asinchronija
7. Asinchroninės funkcijos ir klaidų valdymas
8. Asinchroniniai adapteriai: promisify, callbackify, asyncify
9. Asinchroniniai duomenų rinktuvai
10. Neapdorotos pažadų klaidos
11. Asinchroninio stacktrace problema
12. Generatoriai ir asinchroniniai generatoriai
13. Iteratoriai ir asinchroniniai iteratoriai
14. Asinchroninių operacijų atšaukimas
15. Asinchroninių funkcijų sudėtis
16. Laukia lengvas ir lengvas
17. Lygiagreti asinchroninė eilė
18. Šablonas atviras konstruktorius (atskleidžiantis konstruktorius)
19. Ateitis: ateities be pilietybės asinchronija
20. Atidėtas: būsenos skirtumų asinchronija
21. Aktorius modelis
22. Modelio stebėtojas (stebėtojas + stebimasis)
23. Asinchronija RxJS ir įvykių srautuose

Po kiekvienu vaizdo įrašu yra nuorodos į saugyklas su kodų pavyzdžiais, kurie paaiškinti vaizdo įraše. Bandžiau parodyti, kad nereikia visko redukuoti į vieną asinchronijos abstrakciją. Nėra universalaus požiūrio į asinchroniją ir kiekvienu atveju galite pasirinkti tuos metodus, kurie leis jums natūraliau parašyti kodą šiai konkrečiai užduočiai. Žinoma, šis kursas bus papildytas ir prašau visų siūlyti naujas temas bei prisidėti prie kodų pavyzdžių. Pagrindinis kurso tikslas – parodyti, kaip kurti asinchronines abstrakcijas iš vidaus, o ne tik išmokyti jomis naudotis. Beveik visos abstrakcijos nėra paimtos iš bibliotekų, o pateikiamos paprasčiausiu jų įgyvendinimu ir žingsnis po žingsnio analizuojamas jų darbas.

Apklausoje gali dalyvauti tik registruoti vartotojai. Prisijungti, Prašau.

Kokia jūsų nuomonė apie kursą?

  • Žiūrėsiu visą kursą

  • Pažiūrėsiu pasirinktinai

  • Man užtenka vieno požiūrio

  • Prisidėsiu prie kursų

  • Manęs nedomina asinchronija

Balsavo 8 vartotojai. 1 vartotojas susilaikė.

Šaltinis: www.habr.com

Добавить комментарий