Skip to content

Commit 9b88b17

Browse files
authored
Update Async-2024.md
1 parent 57e8858 commit 9b88b17

File tree

1 file changed

+120
-18
lines changed

1 file changed

+120
-18
lines changed

Courses/Async-2024.md

Lines changed: 120 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,126 @@
1818

1919
Темы нового курса:
2020

21-
Условные обозначения: ⭐ новые лекции, ✨ открытые лекции, 🧩 необязательные темы
22-
23-
- ⭐ Контракты асинхронности на базе callback: `Callback-last-error-first`
24-
- ✨ Минимально необходимое понимание рантайма: event loop, I/O, таймеры
25-
- ⭐ Контракты асинхронности на базе событий: `EventEmitter`, `Stream`
26-
- ✨ Потоки событий, паттерн `Observer/Observable`, реактивность на `RxJS`, `signals`
27-
- ⭐ Контракты `Promise/Thenable/then/catch/finally` и синтаксис `async/await`
28-
- ⭐ Параллельное и последовательное исполнение `all/any/race/allSettled`
29-
- ⭐ Конвертеры контрактов `asyncify`, `callbackify`, стыковка кода в разных стилях
30-
- ⭐ Предотвращение состояния гонки по данным и управлению в асинхронном коде
31-
- ⭐ Отмена асинхронных операций: `AbortController`, `AbortSignal`
32-
- ⭐ Обработка ошибок, их выявление и возможные проблемы со стектрейсом
33-
- 🧩 Асинхронные коллекции (собираем значения до готовности)
34-
- 🧩 Асинхронные абстракции: `Queue`, `Pool`, `Collector`, `Semaphore`, `Lock`, `Mutex`
35-
- 🧩 Системные абстракции: `threads`, `processes`, `MessageChannel`, `BroadcastChannel`
36-
- 🧩 Асинхронные генераторы и асинхронные итераторы
37-
- 🧩 Обзор других абстракций: `future`, `do`, `coroutines`, `actor model`, `Chain of responsibility`
38-
- 🧩 Обзор легаси контрактов и антипаттернов: `yield`, `middleware`, `deferred`, `Async.js`
21+
Условные обозначения: ⭐ новые лекции, ✨ открытые старые лекции, 💯 обязательные, 🧑‍🎓 продвинутые, ⚙️ системные, 🧑‍🚀 по выбору, ⚠️ устаревшее, 🧩 необязательные темы, 💻 примеры кода, 🧑‍💻 задания
22+
23+
- 💯 Контракты асинхронности на базе callback
24+
- ⭐ Контракты `Callback` и `Callback-last-error-first` (ссылка в платном курсе)
25+
- 💻 Колбеки: https://github.com/HowProgrammingWorks/Callbacks
26+
- 💻 Примеры кода с колбеками: https://github.com/HowProgrammingWorks/AsynchronousProgramming
27+
- 🧑‍💻 Задания по колбекам (в платном курсе)
28+
- 💯 Минимально необходимое понимание рантайма: event loop, I/O, таймеры
29+
- ⭐ Фазы Event-loop в V8 и Node.js (ссылка в платном курсе)
30+
- 🧩 [Стрим с разбрром Event loop и асинхронности](https://www.youtube.com/live/ND5HNHicACI)
31+
- 💻 Таймеры: https://github.com/HowProgrammingWorks/Timers
32+
- 🧑‍💻 Задания по таймерам (в платном курсе)
33+
- 💯 Контракты на базе событий `EventTarget`, `EventEmitter`
34+
- ⭐ События (ссылка в платном курсе)
35+
- 🧑‍💻 Задания по событиям (в платном курсе)
36+
-[EventEmitter из старой лекции](https://youtu.be/LK2jveAnRNg)
37+
- 💻 EventEmitter: https://github.com/HowProgrammingWorks/EventEmitter
38+
- 💯 Абстракция потоков `Stream`
39+
- ⭐ Стримы Readable, Writable, Transform, открытый конструктор, буферизация, backpressure (ссылка в платном курсе)
40+
- 🧑‍💻 Задания по стримам (в платном курсе)
41+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/Streams/tree/master/JavaScript
42+
-[Паттерн открытый конструктор (Revealing Constructor)](https://youtu.be/leR5sXRkuJI)
43+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/RevealingConstructor
44+
- ⚙️ Контракт `Thenable`
45+
- ⭐ Контракт `Thenabe` (ссылка в платном курсе)
46+
-[Thenable из старой лекции](https://youtu.be/Jdf_tZuJbHI)
47+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/Thenable
48+
- 🧑‍💻 Задания по `Thenabe` (в платном курсе)
49+
- 💯 Контракт `Promise`
50+
- ⭐ Promise: then/catch/finally и методы класса all, allSettled, race, any (ссылка в платном курсе)
51+
-[Асинхронность на промисах из старой лекции](https://youtu.be/RMl4r6s1Y8M)
52+
- 💻 [Примеры кода](https://github.com/HowProgrammingWorks/Promise/tree/master/JavaScript)
53+
- 🧑‍💻 Задания по `Promise` (в платном курсе)
54+
- 💯 Контракт асинхронных функций `async/await`
55+
- ⭐ Асинхронные функции (ссылка в платном курсе)
56+
-[Асинхронные функции из старой лекции](https://youtu.be/Jdf_tZuJbHI)
57+
- 💻 [Примеры кода](https://github.com/HowProgrammingWorks/AsyncFunction/tree/main/JavaScript)
58+
- 🧑‍💻 Задания по `async/await` (в платном курсе)
59+
- 💯 Контракт сигналов `signals`
60+
- ⭐ Сигналы (в платном курсе)
61+
- 💻 Примеры кода: (готовятся), будут тут https://github.com/HowProgrammingWorks/Signals
62+
- 🧑‍💻 Задания по сигналам (в платном курсе)
63+
- 💯 Обработка ошибок, их выявление и решение проблем со стектрейсом
64+
-[Обработка ошибок из старой лекции](https://youtu.be/Jdf_tZuJbHI)
65+
- 💻 Примеры кода
66+
- 💻 Примеры кода из старого курса: https://github.com/HowProgrammingWorks/AsyncAwait
67+
- 💻 Примеры кода: (готовятся), будут тут https://github.com/HowProgrammingWorks/AsyncErrorHandling
68+
- 🧑‍💻 Задания по обработке ошибок
69+
- 🧑‍🎓 Асинхронная очередь `AsyncQueue`
70+
- ⭐ Асинхронная очередь (в платном курсе)
71+
- ✨ Конкурентная асинхронная очередь из старой лекции](https://youtu.be/Lg46AH8wFvg
72+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/ConcurrentQueue
73+
- 💻 Примеры кода: (готовятся), будут тут https://github.com/HowProgrammingWorks/AsyncQueue
74+
- 🧑‍🎓 Асинхронный пул `AsyncPool`
75+
-[Асинхронный пул для worker thread pool в Node.js](https://youtu.be/Jj5KZRq4wYI)
76+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/Pool
77+
- 💻 Примеры кода: (готовятся), будут тут https://github.com/HowProgrammingWorks/AsyncPool
78+
- 🧑‍🎓 Асинхронная коллекция `Collector`
79+
- 🧩 Асинхронные коллекции (собираем значения до готовности)
80+
-[Асинхронные коллекторы данных](https://youtu.be/tgodt1JL6II)
81+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/Collector
82+
- 🧑‍🎓 Паттерн цепочка ответственности `Chain of responsibility`
83+
- 💻 Примеры кода: (готовятся), будут тут https://github.com/HowProgrammingWorks/ChainOfResponsibility
84+
- 🧑‍🎓 Конвертеры контрактов `asyncify`, `callbackify`, стыковка кода в разных стилях
85+
- ⭐ Асинхронные адаптеры (в платном курсе)
86+
-[Асинхронные адаптеры из старой лекции](https://youtu.be/76k6_YkYRmU)
87+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/AsyncAdapter
88+
- 🧑‍💻 Задания по адаптерам (в платном курсе)
89+
- 🧑‍🎓 Предотвращение состояния гонки по данным и управлению в асинхронном коде (в платном курсе)
90+
- 🧑‍🎓 Отмена асинхронных операций: `AbortController`, `AbortSignal` (в платном курсе)
91+
- 🧩 Документация на MDN: https://developer.mozilla.org/en-US/docs/Web/API/AbortController
92+
- 🧑‍🎓 `Async Generator` и `Async Iterator` (в платном курсе)
93+
-[Генераторы и асинхронные генераторы из старой лекции](https://youtu.be/kvNm9D32s8s)
94+
- ⚙️ Абстракции портированные из параллельного программирования в асинхронное
95+
- 🧩 Асинхронные абстракции: `Semaphore`, `Mutex`
96+
- 🧩 Блокировки `Lock`, `Spin Lock`
97+
- ⚙️ Абстракции параллельного программирования
98+
- 🧩 Системные абстракции: `threads`, `processes`
99+
- 🧩 Межпроцессовое и межпотоковое взаимодействие, `MessageChannel`, `BroadcastChannel`
100+
- 🧩 Корутины `coroutines`
101+
- 🧑‍🎓 Асинхронные генераторы и асинхронные итераторы
102+
-[Генераторы и асинхронные генераторы из старой лекции](https://youtu.be/kvNm9D32s8s)
103+
- 💻 Генераторы: https://github.com/HowProgrammingWorks/Generator
104+
- 💻 Асинхронные генераторы: https://github.com/HowProgrammingWorks/AsyncGenerator
105+
-[Итераторы и асинхронные итераторы из старой лекции](https://youtu.be/rBGFlWpVpGs)
106+
- 💻 Итераторы: https://github.com/HowProgrammingWorks/Iterator
107+
- 💻 Асинхронные итераторы: https://github.com/HowProgrammingWorks/AsyncIterator
108+
- 🧑‍🚀 Композиция функций на колбеках `compose callbacks`
109+
-[Асинхронная композиция функций](https://youtu.be/3ZCrMlMpOrM)
110+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/AsyncCompose
111+
- 🧑‍🚀 Композиция асинхронных функций `async compose`
112+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/AsyncCompose
113+
- 🧑‍🚀 Асинхронность на потоках событий `RxJS`
114+
- ✨ Потоки событий, паттерн `Observer/Observable`
115+
-[Асинхронность на RxJS из старой лекции](https://youtu.be/0kcpMAl-wfE)
116+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/Rx
117+
- 🧑‍🚀 Модель акторов `actor model`
118+
-[Модель акторов](https://youtu.be/xp5MVKEqxY4)
119+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/ActorModel
120+
- 🧑‍🚀 Библиотека `do`: https://www.npmjs.com/package/do
121+
- 🧑‍🚀 Функциональное асинхронное программирование, контракт `Future`
122+
-[Асинхронность на фьючерах без состояния](https://youtu.be/22ONv3AGXdk)
123+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/Future
124+
- ⚠️ Асинхронность на синхронных генераторах `function*/yield`
125+
- ⚠️ Мидлвары `middleware` как антипаттерн: https://youtu.be/RS8x73z4csI
126+
- 💻 Примеры кода: (готовятся), будут тут https://github.com/HowProgrammingWorks/Middleware
127+
- ⚠️ Контракты семейства `Deferred`
128+
-[Deferred: Асинхронность на диферах с состоянием](https://youtu.be/a2fVA1o-ovM)
129+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/Deferred
130+
- ⚠️ Async.js
131+
- 🧩 [Легаси код на библиотеке `Async.js`](https://youtu.be/XQ94wQc-erU)
132+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/AsynchronousProgramming
133+
- ⚠️ Коллекция асинхронных абстракций `Metasync`: https://www.npmjs.com/package/metasync
134+
-[Архивная лекция](https://youtu.be/xNfOv9I1MDk)
135+
- ⚙️ Трекинг асинхронных контекстов
136+
- ⭐ AsyncLocalStorage, AsyncResource (в платном курсе)
137+
- 💻 Примеры использования AsyncLocalStorage и AsyncResource: https://github.com/HowProgrammingWorks/AsyncContextTracking
138+
- ⚙️ Процессы и потоки
139+
- 🧩 [Многопоточность в Node.js](https://youtu.be/VNXga8zomrY)
140+
- 🧩 [Web Locks API in Node.js and browser](https://youtu.be/auMM-uV12F0)
39141

40142
## Обратите внимание
41143

0 commit comments

Comments
 (0)