Асинхронното програмиране напоследък стана не по-малко развито направление от класическото паралелно програмиране, а в света на JavaScript, както в браузърите, така и в Node.js, разбирането на неговите техники зае едно от централните места в формирането на мирогледа на разработчиците. Предлагам на вашето внимание цялостен и най-пълен курс с обяснение на всички широко разпространени методи за асинхронно програмиране, адаптери между тях и спомагателни пространства. В момента той се състои от 23 лекции, 3 доклада и 28 репозитория с множество примери на код в github. Общото продължение е около 17 часа видео: .
Обяснения към схемата
В схемата (горе) са показани връзките между различните начини на работа с асинхронността. Цветните блокове са свързани с асинхронното програмиране, а черно-белите показват методите на паралелно програмиране (семафори, мютекси, бариери и т.н.) и мрежи на Петри, които, подобно на асинхронното програмиране и модела на акторите, представляват различни подходи към реализирането на паралелни изчисления (те са дадени в схемата, само за да се определи по-точно мястото на асинхронното програмиране). Моделът на акторите е свързан с асинхронното програмиране, защото реализацията на акторите без многопоточност също има право на съществуване и служи за структурирането на асинхронния код. Пунктираните линии свързват събитията и конкурентната опашка с колбековете, защото тези абстракции се основават на колбекове, но все пак формират качествено нови подходи.
Темите на лекциите
Под всяко видео има връзки към репозитории с примери за код, които се разглеждат във видеото. Стараех се да покажа, че не трябва да се свежда всичко до една абстракция на асинхронността. Универсален подход към асинхронността не съществува, а за всеки случай могат да се подберат методи, които ще позволят писането на код по-естествено за конкретната задача. Разбира се, този курс ще бъде допълван и моля всички да предлагат нови теми и да допринасят за примери с код. Основната задача на курса е да покаже как да се изграждат абстракции на асинхронността отвътре, а не просто да обучи как да се използват. Практически всички абстракции не се взимат от библиотеки, а са представени в най-простата им реализация и стъпка по стъпка е разгледана тяхната работа.
Само регистрирани потребители могат да участват в анкетата. , моля.
Вашето мнение за курса?
Ще гледам целия курс
Ще гледам избирателно
Достатъчен ми е един подход
Ще допринасям за курса
Не се интересувам от асинхронност
Гласували 8 потребители. Въздържал се 1 потребител.
Източник: habr.com
