|
18 | 18 |
|
19 | 19 | Темы нового курса:
|
20 | 20 |
|
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) |
39 | 141 |
|
40 | 142 | ## Обратите внимание
|
41 | 143 |
|
|
0 commit comments