From ab61197f8101e89902562b3e4fdaa04dc44d1933 Mon Sep 17 00:00:00 2001 From: Vitaliy Artyukh Date: 2024年2月20日 05:38:05 +0200 Subject: [PATCH] fix spelling --- Courses/Async-2024.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Courses/Async-2024.md b/Courses/Async-2024.md index 63ba78d..6b4fe31 100644 --- a/Courses/Async-2024.md +++ b/Courses/Async-2024.md @@ -2,7 +2,7 @@ 💡 Объем материала: 10 часов лекций + необязательные материалы, созвоны для ревью кода и ответов на вопросы: 2 часа в неделю в течении года, репозитории с примерами кода, задачи по всем темам. -Те способы писать асинхронный код, которые мы использовали 10-15 лет назад безвозвратно уходят в прошлое и могут быть интересны лишь для поддержки легаси упражнения в глубоком понимании асинхронного программирования. Даже способы 5-7 летней давности уже имеют мало общего с современными практиками, но интернет полон устаревшей информации, даже [открытый курс сообщества Metarhia](https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Asynchronous.md) на сегодняшний момент стал слишком громоздким и излишним. Еще нужно упомянуть о том, что в системном и прикладном коде асинхронное программирование должно выглядеть принципиально по-разному. Полностью скрыть от продуктового разработчика сложность асинхронного кода за абстракциями не удастся, потому, что он в любом случае будет работать с таймерами, событиями, стримами, fetch и другими асинхронными API, но его можно писать в десятки раз проще, чем асинхронный код с системном слое. Что касается системного слоя, то нужно вводить в обиход теорию очередей (системы массового обслуживания), модель акторов, часть абстракций из параллельного программирования (семафоры, рандеву, атомарные операции). Конечно, содержать все это в одном курсе сложновато, поэтому, мы отдадим приоритет прикладному коду и сначала полностью подготовим курс для применения асинхронного программирования в продуктовой разработке, а потом будем добавлять необязательные темы их старого курса и много других полезных абстракций, широко распространенных в других языках программирования, но слабо известных в мире JavaScript. +Те способы писать асинхронный код, которые мы использовали 10-15 лет назад безвозвратно уходят в прошлое и могут быть интересны лишь для поддержки легаси упражнения в глубоком понимании асинхронного программирования. Даже способы 5-7 летней давности уже имеют мало общего с современными практиками, но интернет полон устаревшей информации, даже [открытый курс сообщества Metarhia](https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Asynchronous.md) на сегодняшний момент стал слишком громоздким и излишним. Еще нужно упомянуть о том, что в системном и прикладном коде асинхронное программирование должно выглядеть принципиально по-разному. Полностью скрыть от продуктового разработчика сложность асинхронного кода за абстракциями не удастся, потому, что он в любом случае будет работать с таймерами, событиями, стримами, fetch и другими асинхронными API, но его можно писать в десятки раз проще, чем асинхронный код в системном слое. Что касается системного слоя, то нужно вводить в обиход теорию очередей (системы массового обслуживания), модель акторов, часть абстракций из параллельного программирования (семафоры, рандеву, атомарные операции). Конечно, содержать все это в одном курсе сложновато, поэтому, мы отдадим приоритет прикладному коду и сначала полностью подготовим курс для применения асинхронного программирования в продуктовой разработке, а потом будем добавлять необязательные темы из старого курса и много других полезных абстракций, широко распространенных в других языках программирования, но слабо известных в мире JavaScript. ## Содержание @@ -30,7 +30,7 @@ - ⭐ Предотвращение состояния гонки по данным и управлению в асинхронном коде - ⭐ Отмена асинхронных операций: `AbortController`, `AbortSignal` - ⭐ Обработка ошибок, их выявление и возможные проблемы со стектрейсом -- 🧩 Асинхронныек коллекции (собираем значения до готовности) +- 🧩 Асинхронные коллекции (собираем значения до готовности) - 🧩 Асинхронные абстракции: `Queue`, `Pool`, `Collector`, `Semaphore`, `Lock`, `Mutex` - 🧩 Системные абстракции: `threads`, `processes`, `MessageChannel`, `BroadcastChannel` - 🧩 Асинхронные генераторы и асинхронные итераторы

AltStyle によって変換されたページ (->オリジナル) /