Skip to content

Commit 23be873

Browse files
authored
Add plan for Async-2024 course
1 parent 38a58fe commit 23be873

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

Courses/Async-2024.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Асинхронное программирование 2024
2+
3+
Те способы писать асинхронный код, которые мы использовали 10-15 лет назад безвозвратно уходят в прошлое и могут быть интересны лишь для поддержки легаси упражнения в глубоком понимании асинхронного программирования. Даже способы 5-7 летней давности уже имеют мало общего с современными практиками, но интернет полон устаревшей информации, даже [открытый курс сообщества Metarhia](https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Asynchronous.md) на сегодняшний момент стал слишком громоздким и излишним. Еще нужно упомянуть о том, что в системном и прикладном коде асинхронное программирование должно выглядеть принципиально по-разному.
4+
5+
## Содержание
6+
7+
Важные аспекты нового курса:
8+
9+
- Концентрация на практическом применении (примеры кода из реальных проектов)
10+
- Актуальность и соответствие стандартам по состоянию на 2024
11+
- Задачи и разбор их решений, семинары, ревью кода (курс это не только видео)
12+
- Рекомендации к выбору стиля и абстракций асинхронности под задачу
13+
- Внимание к корректной обработке ошибок во всех стилях асинхронности
14+
- Упор на надежность, поддерживаемость, тестируемость, снижение зацепления
15+
16+
Темы нового курса:
17+
18+
- Контракты асинхронности на базе callback: callback-last, error-first
19+
- Минимально необходимое понимание рантайма: event loop, I/O, таймеры
20+
- Контракты асинхронности на базе событий: EventEmitter, Streams
21+
- Контракт Promise и синтаксис async/await
22+
- Конвертеры контрактов, стыковка кода в разных стилях
23+
- Предотвращение состояния гонки по данным и управлению в асинхронном коде
24+
- Отмена асинхронных операций: AbortController, AbortSignal
25+
- Обработка ошибок, их выявление и возможные проблемы со стектрейсом
26+
- Асинхронныек коллекции (собираем значения до готовности)
27+
28+
## Обратите внимание
29+
30+
Что нужно знать и уметь на входе:
31+
32+
- [Синтаксис JavaScript, но можно без всяких триков](https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Fundamentals.md)
33+
- Уверенно владеть git, иметь github аккаунт
34+
- Желательно docker, иметь рабочую машину на linux или mac
35+
- Любая среда разработки, IDE или редактор
36+
37+
Чем это курс не является: это не чтение документации, не курс по библиотекам и фреймворкам, не повторение старого курса, не лайвкодинг и не мастеркласс, не стрим. Новый курс - это максимально сконцентрированная информация и практические задачи как для прикладного, так и для системного программирования со сравнением этих подходов.

0 commit comments

Comments
 (0)