Asynkront programmering har under den senaste tiden blivit minst lika utvecklat som klassisk parallell programmering, och inom JavaScript-världen, både i webbläsare och i Node.js, har förståelsen av dess tekniker blivit central för utvecklarnas värdegrund. Jag presenterar för er en helhet och den mest omfattande kursen med förklaringar av alla vanliga metoder för asynkront programmering, adaptrar mellan dem och hjälpfunktioner. Den består nu av 23 föreläsningar, 3 presentationer och 28 arkiv med ett flertal kodexempel på GitHub. Totalt cirka 17 timmar video: .
Förklaringar till diagrammet
I diagrammet (ovan) visas samband mellan olika sätt att arbeta med asynkronitet. De färgade blocken rör asynkront programmering, medan svart-vita illustrerar metoder för parallell programmering (semaforer, mutexer, barriärer osv.) och Petri-nät, som, precis som asynkront programmering och aktörsmodellen, är olika angreppssätt för att implementera parallella beräkningar (de ges i diagrammet endast för att tydligare bestämma platsen för asynkront programmering). Aktörsmodellen är relaterad till asynkront programmering eftersom implementationen av aktörer utan flertrådsanvändning också har rätt att existera och hjälper till att strukturera asynkront kod. Den streckade linjen kopplar händelser och den konkurrerande kön till callbacks, eftersom dessa abstraktioner grundar sig på callbacks, men ändå formar kvalitativt nya angreppssätt.
Föreläsningens ämnen
Under varje video finns länkar till repositoryn med kodexempel som behandlas i videon. Jag har försökt visa att man inte behöver reducera allt till en enda abstraktion av asynkronitet. Det finns ingen universell metod för asynkronitet, och för varje situation kan man välja de metoder som gör att man kan skriva kod mer naturligt för denna specifika uppgift. Självklart kommer denna kurs att kompletteras, och jag ber alla att föreslå nya teman och bidra med kodexempel. Kursens huvudsyfte är att visa hur man bygger upp asynkronitetsabstraktioner inifrån, snarare än att bara lära sig att använda dem. Nästan alla abstraktioner kommer inte från bibliotek utan ges i deras enklaste implementation och granskas steg för steg.
Endast registrerade användare kan delta i omröstningen. , tack.
Vad tycker du om kursen?
Jag ska se hela kursen
Jag ska se utvalda delar
Jag är nöjd med ett angreppssätt
Jag kommer att bidra till kursen
Jag är inte intresserad av asynkronitet
8 användare har röstat. 1 användare avstod.
Källa: habr.com
