Asynkroninen ohjelmointi (koko kurssi)

Asynkroninen ohjelmointi (koko kurssi)

Asynkroninen ohjelmointi on viime aikoina kehittynyt yhtä kehittyneemmäksi kuin klassinen rinnakkaisohjelmointi, ja JavaSriptin maailmassa, sekä selaimissa että Node.js:ssä, sen tekniikoiden ymmärtäminen on ottanut yhden keskeisen paikan kehittäjien maailmankuvan muovaamisessa. Tuon huomionne kokonaisvaltaisen ja täydellisimmän kurssin, jossa on selitys kaikista yleisimmistä asynkronisen ohjelmoinnin menetelmistä, niiden välisistä sovittimista ja apuaukoista. Se koostuu tällä hetkellä 23 luennosta, 3 raportista ja 28 arkistosta, joissa on monia koodiesimerkkejä githubissa. Yhteensä noin 17 tuntia videota: linkki soittolistaan.

Järjestelmän selitys

Kaavio (yllä) näyttää yhteydet erilaisten asynkronian työskentelytapojen välillä. Värilliset lohkot viittaavat asynkroniseen ohjelmointiin ja mustavalko näyttää rinnakkaisohjelmointimenetelmiä (semaforit, mutexit, esteet jne.) ja Petri-verkot, jotka asynkronisen ohjelmoinnin ja toimijamallin tavoin ovat erilaisia ​​lähestymistapoja rinnakkaislaskennan toteuttamiseen (ne ovat esitetty kaaviossa vain asynkronisen ohjelmoinnin paikan määrittämiseksi tarkemmin). Toimijamalli liittyy asynkroniseen ohjelmointiin, koska toimijoiden toteutuksella ilman monisäikeistystä on myös olemassaolooikeus ja se palvelee asynkronisen koodin jäsentämistä. Pisteviivat linkittävät tapahtumat ja samanaikaisen jonon takaisinkutsuihin, koska nämä abstraktiot perustuvat takaisinkutsuihin, mutta muodostavat silti laadullisesti uusia lähestymistapoja.

Luentojen aiheet

1. Asynkroninen ohjelmointi (yleiskatsaus)
2. Ajastimet, aikakatkaisut ja EventEmitter
3. Asynkroninen ohjelmointi takaisinsoittojen avulla
4. Ei-estävä asynkroninen iteraatio
5. Asynkronisuus async.js-kirjaston kanssa
6. Lupausten epäsynkronisuus
7. Asynkroniset toiminnot ja virheiden käsittely
8. Asynkroniset sovittimet: lupaus, takaisinsoitto, asynkronointi
9. Asynkroniset tiedonkerääjät
10. Käsittelemättömät virheet lupauksissa
11. Asynkronisen pinojäljen ongelma
12. Generaattorit ja asynkroniset generaattorit
13. Iteraattorit ja asynkroniset iteraattorit
14. Asynkronisten toimintojen peruuttaminen
15. Asynkronisen funktion koostumus
16. Kestävä ja kevyt odottaa
17. Samanaikainen asynkroninen jono
18. Kuvion avoin konstruktori (paljastava rakentaja)
19. Future: Asynchrony on stateless futuurit
20. Viivästetty: Asynkronisuus tilallisissa differentiaaleissa
21. Näyttelijämalli
22. Pattern Observer (tarkkailija + havaittava)
23. Asynkronisuus RxJS:ssä ja tapahtumavirroissa

Jokaisen videon alla on linkkejä arkistoihin, joissa on videossa selitettyjä koodiesimerkkejä. Yritin näyttää, ettei kaikkea tarvitse pelkistää yhdeksi asynkronian abstraktioksi. Ei ole olemassa yleistä lähestymistapaa asynkroniaan, ja jokaisessa tapauksessa voit valita ne menetelmät, joiden avulla voit kirjoittaa koodia luonnollisemmin tätä erityistä tehtävää varten. Tietenkin tätä kurssia täydennetään ja pyydän kaikkia ehdottamaan uusia aiheita ja antamaan koodiesimerkkejä. Kurssin päätavoitteena on näyttää, miten asynkronisia abstraktioita rakennetaan sisältä käsin, eikä vain opettaa niiden käyttöä. Lähes kaikkia abstraktioita ei ole otettu kirjastoista, vaan ne annetaan yksinkertaisimmassa toteutuksessaan ja niiden työtä analysoidaan askel askeleelta.

Vain rekisteröityneet käyttäjät voivat osallistua kyselyyn. Kirjaudu sisään, ole kiltti.

Mitä mieltä olet kurssista?

  • Katson koko kurssin

  • Katson valikoivasti

  • Yksi lähestymistapa riittää minulle

  • Osallistun kurssille

  • En ole kiinnostunut asynkronisuudesta

8 käyttäjää äänesti. 1 käyttäjä pidättyi äänestämästä.

Lähde: will.com

Lisää kommentti