Asinkrono programiranje (puni kurs)

Asinkrono programiranje (puni kurs)

Asinhrono programiranje je nedavno postalo ništa manje razvijeno od klasičnog paralelnog programiranja, a u svetu JavaSript-a, kako u pretraživačima tako i u Node.js-u, razumevanje njegovih tehnika zauzelo je jedno od centralnih mesta u oblikovanju pogleda na svet programera. Predstavljam vam holistički i najpotpuniji kurs sa objašnjenjem svih rasprostranjenih metoda asinhronog programiranja, adaptera između njih i pomoćnih otvora. Trenutno se sastoji od 23 predavanja, 3 izvještaja i 28 spremišta sa mnogo primjera koda na githubu. Ukupno oko 17 sati videa: link na plejlistu.

Objašnjenje šeme

Dijagram (iznad) pokazuje veze između različitih načina rada sa asinhronijom. Obojeni blokovi se odnose na asinhrono programiranje, a crno-belo prikazuje metode paralelnog programiranja (semafori, muteksi, barijere, itd.) i Petrijeve mreže, koje su, poput asinhronog programiranja i modela aktera, različiti pristupi implementaciji paralelnog računanja (oni su dato na dijagramu samo da bi se preciznije odredilo mjesto asinhronog programiranja). Model aktera je povezan sa asinhronim programiranjem jer implementacija aktera bez višenitnog rada takođe ima pravo na postojanje i služi za strukturiranje asinhronog koda. Isprekidane linije povezuju događaje i istovremeni red sa povratnim pozivima jer su ove apstrakcije zasnovane na povratnim pozivima, ali i dalje formiraju kvalitativno nove pristupe.

Teme predavanja

1. Asinkrono programiranje (pregled)
2. Tajmeri, vremenska ograničenja i EventEmitter
3. Asinkrono programiranje korištenjem povratnih poziva
4. Neblokirajuća asinhrona iteracija
5. Asinhronija sa bibliotekom async.js
6. Asinhronost na obećanjima
7. Asinkrone funkcije i rukovanje greškama
8. Asinhroni adapteri: promisify, callbackify, asyncify
9. Asinhroni sakupljači podataka
10. Neobrađene greške u obećanjima
11. Problem asinhronog praćenja steka
12. Generatori i asinhroni generatori
13. Iteratori i asinhroni iteratori
14. Otkazivanje asinhronih operacija
15. Kompozicija asinhrone funkcije
16. Tada je moguće i lagano čekati
17. Istodobni asinhroni red čekanja
18. Otvoreni konstruktor uzorka (Revealing Constructor)
19. Budućnost: Asinhronija u budućnosti bez državljanstva
20. Odloženo: Asinhronija na diferencijalima sa stanjem
21. Glumac Model
22. Pattern Observer (Observer + Opservable)
23. Asinhronija u RxJS i tokovima događaja

Ispod svakog videa nalaze se veze do spremišta sa primjerima koda koji su objašnjeni u videu. Pokušao sam pokazati da nema potrebe sve svoditi na jednu apstrakciju asinhronije. Ne postoji univerzalni pristup asinhroniji, i za svaki slučaj možete odabrati one metode koje će vam omogućiti da napišete kod prirodnije za ovaj specifični zadatak. Naravno, ovaj kurs će biti dopunjen i molim sve da predlože nove teme i daju primjere koda. Glavni cilj kursa je pokazati kako izgraditi asinhronijske apstrakcije iznutra, a ne samo naučiti kako ih koristiti. Gotovo sve apstrakcije nisu preuzete iz biblioteka, već su date u njihovoj najjednostavnijoj implementaciji i njihov rad se analizira korak po korak.

Samo registrovani korisnici mogu učestvovati u anketi. Prijavite semolim.

Kakvo je vaše mišljenje o kursu?

  • Gledaću ceo kurs

  • Pogledaću selektivno

  • Jedan pristup mi je dovoljan

  • Ja ću doprinijeti kursu

  • Ne zanima me asinhronija

Glasalo je 8 korisnika. 1 korisnik je bio uzdržan.

izvor: www.habr.com

Dodajte komentar