Асінхроннае праграмаванне за апошні час стала не меней развітым кірункам, чым класічнае раўналежнае праграмаванне, а ў міры JavaSript, як у браўзэрах, так і ў Node.js, разуменне яго прыёмаў заняло адно з цэнтральных месцаў у фармаванні светапогляду распрацоўнікаў. Прапаную вашай увазе цэласны і найболей поўны курс з тлумачэннем усіх шырока распаўсюджаных метадаў асінхроннага праграмавання, адаптараў паміж імі і дапаможных праёмаў. Цяпер ён складаецца з 23 лекцый, 3 дакладаў і 28 рэпазітароў з мноствам прыкладаў кода на github. Усяго каля 17 гадзін відэа:
Тлумачэнні да схемы
На схеме (вышэй) паказаны сувязі паміж рознымі спосабамі працы з асінхроннасцю. Каляровыя блокі адносяцца да асінхроннага праграмавання, а ч/б паказаны метады паралельнага праграмавання (семафоры, мьютэксы, бар'еры і г.д.) і сеткі Пятры, якія, як і асінхроннае праграмаванне і мадэль акцёраў, з'яўляюцца рознымі падыходамі да рэалізацыі паралельных вылічэнняў (яны дадзены на схеме толькі каб дакладней вызначыць месца асінхроннага праграмавання). Мадэль акцёраў звязана з асінхронным праграмаваннем таму, што рэалізацыя акцёраў без шматструменнасці таксама мае права на існаванне і служыць для структуравання асінхроннага кода. Пункцірнымі лініямі падзеі і канкурэнтная чарга звязаныя з колбекамі таму, што гэтыя абстракцыі грунтуюцца на колбеках, але ўсё ж фармуюць якасна новыя падыходы.
Тэмы лекцый
Пад кожным відэа ёсць спасылкі на рэпазітары з прыкладамі кода, якія разбіраюцца ў відэа. Я пастараўся паказаць, што не трэба зводзіць усё да адной абстракцыі асінхроннасці. Універсальнага падыходу да асінхроннасці не існуе, а для кожнага выпадку можна падабраць тыя метады, якія дазволяць пісаць код больш натуральна для гэтай канкрэтнай задачы. Вядома ж, гэты курс будуць дапаўняцца і я прашу ўсіх прапаноўваць новыя тэмы і кантрыб'юціць у прыклады кода. Асноўная задача курса - гэта паказаць як будаваць абстракцыі асінхроннасці знутры, а не проста навучыць імі карыстацца. Практычна ўсе абстракцыі не бяруцца з бібліятэк, а дадзены ў самай простай іх рэалізацыі і пакрокава разабрана іх работа.
Толькі зарэгістраваныя карыстачы могуць удзельнічаць у апытанні.
Ваша стаўленне да курса?
-
Пагляджу ўвесь курс
-
Пагляджу выбарачна
-
Мне хапае аднаго падыходу
-
Буду кантрыб'юціць у курс
-
Не цікаўлюся асінхроннасцю
Прагаласавалі 8 карыстальнікаў. Устрымаўся 1 карыстач.
Крыніца: habr.com