Dozhd
Администратор
- Регистрация
- 17 Янв 2014
- Сообщения
- 167.721
- Реакции
- 387.815
Складчина: Асинхронное программирование JavaScript [Андрей Кобец]
Иногда на просторах интернета встречаются глупости про JavaScript — мол, смешной язык со своими «онкликами и колбэками». Чаще всего такое пишут люди, не погружённые в контекст JS, либо просто невежественные.
Но дыма без огня не бывает. На чём же основана такая критика?
Мы знаем, что асинхронный подход куда эффективнее в задачах с большой долей ввода-вывода (I/O). В таком супер-интерактивном приложении, как браузер, работа с I/O занимает львиную часть. Поэтому создатели браузеров приняли единственно верное решение и взяли за основу именно асинхронный подход.
Однако проблема в том, что асинхронное программирование без специальной инфраструктуры практически моментально скатывается в «вермишель» из вложенных друг в друга колбэков.
Сейчас эти проблемы решаются с помощью:
промисов
асинхронных итераторов и потоков данных
async/await и top await
Но у любой абстракции есть своя цена. В случае с JS мы платим сразу двумя «валютами»: сложностью входа (все эти таски, микротаски, Event Loop и переполненные очереди) и производительностью.
Поэтому даже начинающему специалисту нужно крепко разбираться в нюансах и подводных камнях этих абстракций. Без этого асинхронность остаётся «магией, которая иногда работает», а её цена превращается в головную боль, а не в осознанный выбор.
Чтобы закрыть этот пробел и превратить сложность в понятную, управляемую силу, на следующей неделе проведу небольшой live-интенсив. Интенсив посвящён детальному изучению асинхронного программирования в JavaScript, включая всесторонний разбор Promise Api — но не ограничиваясь только им.
Мы разберём:
нюансы реализации Event Loop в браузере и Node.js
подводные камни и узкие места для производительности
паттерны достижения многозадачности и отзывчивости интерфейса
Материал — абсолютный мастхэв для джунов и выше. Но гарантирую: даже опытный мидл узнает много нового.
Каждая лекция — это важный пазл общей картины. Я постарался сделать программу так, чтобы она не вызывала информационного взрыва, а плавно вела по теме.
Программа:
Асинхронное программирование в JS:
Колбэки и промисы
Event Loop: как всё это крутится
Таски и микротаски
Асинхронность и параллельность
Глубокое погружение в Promise:
Способы создания, выстраивание цепочек, обработка ошибок
Концепция Thenable-объектов
Сложные композиции
Отмена промисов
Асинхронная синхронность:
Конечные автоматы, сопрограммы и async/await
Асинхронные модули и top await
Асинхронные итераторы и for await
Нюансы и баги
Цена 4500 руб.
СКАЧАТЬ
Иногда на просторах интернета встречаются глупости про JavaScript — мол, смешной язык со своими «онкликами и колбэками». Чаще всего такое пишут люди, не погружённые в контекст JS, либо просто невежественные.
Но дыма без огня не бывает. На чём же основана такая критика?
Мы знаем, что асинхронный подход куда эффективнее в задачах с большой долей ввода-вывода (I/O). В таком супер-интерактивном приложении, как браузер, работа с I/O занимает львиную часть. Поэтому создатели браузеров приняли единственно верное решение и взяли за основу именно асинхронный подход.
Однако проблема в том, что асинхронное программирование без специальной инфраструктуры практически моментально скатывается в «вермишель» из вложенных друг в друга колбэков.
Сейчас эти проблемы решаются с помощью:
промисов
асинхронных итераторов и потоков данных
async/await и top await
Но у любой абстракции есть своя цена. В случае с JS мы платим сразу двумя «валютами»: сложностью входа (все эти таски, микротаски, Event Loop и переполненные очереди) и производительностью.
Поэтому даже начинающему специалисту нужно крепко разбираться в нюансах и подводных камнях этих абстракций. Без этого асинхронность остаётся «магией, которая иногда работает», а её цена превращается в головную боль, а не в осознанный выбор.
Чтобы закрыть этот пробел и превратить сложность в понятную, управляемую силу, на следующей неделе проведу небольшой live-интенсив. Интенсив посвящён детальному изучению асинхронного программирования в JavaScript, включая всесторонний разбор Promise Api — но не ограничиваясь только им.
Мы разберём:
нюансы реализации Event Loop в браузере и Node.js
подводные камни и узкие места для производительности
паттерны достижения многозадачности и отзывчивости интерфейса
Материал — абсолютный мастхэв для джунов и выше. Но гарантирую: даже опытный мидл узнает много нового.
Каждая лекция — это важный пазл общей картины. Я постарался сделать программу так, чтобы она не вызывала информационного взрыва, а плавно вела по теме.
Программа:
Асинхронное программирование в JS:
Колбэки и промисы
Event Loop: как всё это крутится
Таски и микротаски
Асинхронность и параллельность
Глубокое погружение в Promise:
Способы создания, выстраивание цепочек, обработка ошибок
Концепция Thenable-объектов
Сложные композиции
Отмена промисов
Асинхронная синхронность:
Конечные автоматы, сопрограммы и async/await
Асинхронные модули и top await
Асинхронные итераторы и for await
Нюансы и баги
Цена 4500 руб.
СКАЧАТЬ
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- [Тайм-коды] Финансовая модель бизнеса в условиях увеличения налоговой нагрузки и ИИ-инструментов [klerk] [Наталья Климова]
- [Тайм-коды] Претензии ФНС при работе с маркетплейсом: дробление бизнеса и т.д [klerk] [Владислав Каминский]
- Буткемп по TensorFlow для глубокого обучения [Udemy] [ZTM] [Андрей Неагои, Дэниел Бурк]
- Орден Профита [Свидетель Профита]
- Звукопроизношение, 2 часть [Defectology] [Виктория Гуренко]
- Понимание психозов и психотерапия психотического процесса [МАПП]