Asynchronous programming (buong kurso)

Asynchronous programming (buong kurso)

Ang asynchronous programming ay kamakailan lamang ay naging hindi gaanong binuo kaysa sa klasikal na parallel programming, at sa mundo ng JavaSript, kapwa sa mga browser at sa Node.js, ang pag-unawa sa mga diskarte nito ay kinuha ang isa sa mga pangunahing lugar sa paghubog ng worldview ng mga developer. Dinadala ko sa iyong pansin ang isang holistic at pinakakumpletong kurso na may paliwanag sa lahat ng malawakang pamamaraan ng asynchronous na programming, mga adaptor sa pagitan ng mga ito at mga pandiwang pantulong na pagbubukas. Kasalukuyan itong binubuo ng 23 lektura, 3 ulat at 28 repositoryo na may maraming halimbawa ng code sa github. Kabuuan ng humigit-kumulang 17 oras ng video: link sa playlist.

Paliwanag ng pamamaraan

Ang diagram (sa itaas) ay nagpapakita ng mga koneksyon sa pagitan ng iba't ibang paraan ng pagtatrabaho sa asynchrony. Ang mga may kulay na bloke ay tumutukoy sa asynchronous programming, at ang b/w ay nagpapakita ng mga parallel na pamamaraan ng programming (semaphore, mutexes, barriers, atbp.) at Petri nets, na, tulad ng asynchronous programming at ang modelo ng aktor, ay magkakaibang mga diskarte sa pagpapatupad ng parallel computing (sila ay ibinigay sa diagram upang mas tumpak na matukoy ang lugar ng asynchronous programming). Ang modelo ng aktor ay nauugnay sa asynchronous programming dahil ang pagpapatupad ng mga aktor na walang multithreading ay mayroon ding karapatang umiral at nagsisilbing istraktura ng asynchronous code. Ang mga tuldok-tuldok na linya ay nagli-link ng mga kaganapan at ang kasabay na pila sa mga callback dahil ang mga abstraction na ito ay nakabatay sa mga callback, ngunit bumubuo pa rin ng husay na mga bagong diskarte.

Mga paksa ng panayam

1. Asynchronous programming (pangkalahatang-ideya)
2. Timer, timeout at EventEmitter
3. Asynchronous programming gamit ang mga callback
4. Non-blocking asynchronous na pag-ulit
5. Asynchrony sa async.js library
6. Asynchrony sa mga pangako
7. Mga asynchronous na function at paghawak ng error
8. Asynchronous adapters: promisify, callbackify, asyncify
9. Asynchronous na mga kolektor ng data
10. Hindi nahawakang mga pagkakamali sa mga pangako
11. Ang problema ng asynchronous stacktrace
12. Mga Generator at asynchronous na generator
13. Mga iterator at asynchronous na iterator
14. Pagkansela ng mga asynchronous na operasyon
15. Asynchronous na komposisyon ng function
16. Makakapaghintay at magaan ang timbang
17. Kasabay na asynchronous na pila
18. Pattern open constructor (Revealing Constructor)
19. Hinaharap: Asynchrony sa stateless futures
20. Ipinagpaliban: Asynchrony sa stateful differentials
21. Modelo ng Aktor
22. Pattern Observer (Observer + Observer)
23. Asynchrony sa RxJS at mga stream ng kaganapan

Sa ilalim ng bawat video ay may mga link sa mga repository na may mga halimbawa ng code na ipinaliwanag sa video. Sinubukan kong ipakita na hindi na kailangang bawasan ang lahat sa isang abstraction ng asynchrony. Walang unibersal na diskarte sa asynchrony, at para sa bawat kaso maaari mong piliin ang mga pamamaraan na magpapahintulot sa iyo na magsulat ng code nang mas natural para sa partikular na gawaing ito. Siyempre, ang kursong ito ay pupunan at hinihiling ko sa lahat na magmungkahi ng mga bagong paksa at mag-ambag ng mga halimbawa ng code. Ang pangunahing layunin ng kurso ay upang ipakita kung paano bumuo ng asynchrony abstraction mula sa loob, at hindi lamang magturo kung paano gamitin ang mga ito. Halos lahat ng abstraction ay hindi kinuha mula sa mga aklatan, ngunit ibinibigay sa kanilang pinakasimpleng pagpapatupad at ang kanilang trabaho ay nasuri nang sunud-sunod.

Ang mga rehistradong user lamang ang maaaring lumahok sa survey. Mag-sign in, pakiusap

Ano ang iyong opinyon tungkol sa kurso?

  • Papanoorin ko ang buong kurso

  • Pumili ako ng tingin

  • Ang isang diskarte ay sapat na para sa akin

  • Magtatampo ako sa kurso

  • Hindi ako interesado sa asynchrony

8 na user ang bumoto. 1 user ang umiwas.

Pinagmulan: www.habr.com

Magdagdag ng komento