Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix spelling Async 2024 Index #111

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
tshemsedinov merged 1 commit into HowProgrammingWorks:master from Intiligent:patch-1
Feb 26, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Courses/Async-2024.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Copy link
Contributor Author

@Intiligent Intiligent Feb 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GitHub не смог распознать изменения для символа в пределах слова и показал изменения для всего параграфа почему-то. Исправлено в 2 местах 2 символа


## Содержание

Expand Down Expand Up @@ -30,7 +30,7 @@
- ⭐ Предотвращение состояния гонки по данным и управлению в асинхронном коде
- ⭐ Отмена асинхронных операций: `AbortController`, `AbortSignal`
- ⭐ Обработка ошибок, их выявление и возможные проблемы со стектрейсом
- 🧩 Асинхронныек коллекции (собираем значения до готовности)
- 🧩 Асинхронные коллекции (собираем значения до готовности)
- 🧩 Асинхронные абстракции: `Queue`, `Pool`, `Collector`, `Semaphore`, `Lock`, `Mutex`
- 🧩 Системные абстракции: `threads`, `processes`, `MessageChannel`, `BroadcastChannel`
- 🧩 Асинхронные генераторы и асинхронные итераторы
Expand Down

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