Джокер
Администратор
- Регистрация
- 1 Янв 2015
- Сообщения
- 143.377
- Реакции
- 78.067
Складчина: Асинхронное программирование 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 руб.
СКАЧАТЬ СЛИВЫ КУРСОВ
Для возможности скачивать складчины и сливы курсов нужно зарегистрироваться
Возможно, Вас ещё заинтересует:
- Что говорит наука об астрологии [Карлос Орси]
- Налоговый контроль за счетами граждан и организаций. Новые реалии [Гарант] [Олег Крысанов, Дмитрий Ломакин]
- Без лица. Как запустить YouTube-канал, который смотрят и который приносит деньги [Сергей Антонов]
- Природа программных вирусов: создание, обнаружение и лечение [Валерий Антонов]
- Договор купли-продажи и его отдельные виды [Гарант] [Василий Витрянский]
- Японский пэчворк по-русски. Авторский метод аппликации. Техники, выкройки, полезные советы. Полное практическое руководство [Евгения Заварухина]
- Гайд: как выучить любой язык [Светлана Линн]
- Первые итоги реформы Гражданского кодекса: главные новеллы. Анализ и комментарии [Гарант] [Василий Витрянский]
- Мой язык - мой друг [Центр Практика] [Дмитрий Макеев]
- 64 рецепта для незабываемых прогулок [Кристина Визеу]