Улучшаемые навыки

Асинхронное программирование
Продвинутые концепции OOP
Работа с функциональным программированием
Оптимизация производительности
Инструменты и экосистема JavaScript

Чему вы научитесь

01 Научитесь использовать асинхронные функции, промисы и async/await для работы с асинхронными операциями
02 Освоите продвинутые концепции объектно-ориентированного программирования в JavaScript, включая прототипное наследование, классы и модульность
03 Научитесь применять принципы функционального программирования, включая чистые функции, высшие функции и композицию функций
04 Освоите методы оптимизации производительности JavaScript-приложений, включая техники минимизации, отложенной загрузки и кэширования
05 Научитесь использовать современные инструменты и библиотеки, такие как Webpack, Babel и ESLint, для настройки окружения разработки и улучшения качества кода

Программа курса

01 Подробно об основах JavaScript (6 ч. - теория, 2 ч. - практика)
  • Объект классов
  • Дескрипторы объекта
  • Методы объекта
  • Наследование прототипа
  • Символы
  • Итераторы
  • Генераторы
  • Создание итерируемых объектов
  • Асинхронные генераторы
02 Подробно о типах в JavaScript (6 ч. - теория, 2 ч. - практика)
  • Обзор типов;
  • Номер типа;
  • Проблемы плавающей точки и округления;
  • Тип «Строка»;
  • Тип Boolean;
  • Конвертация типов;
  • Map, Set, WeakMap, WeakSet;
  • BigInt;
  • ArrayBuffer;
  • Типизированные массивы;
  • DataViews;
  • Blobs;
  • FileReader;
  • Обработка загруженных файлов.
03 Асинхронное программирование (7 ч. - теория, 2 ч. - практика)
  • Асинхронные вызовы;
  • Использование в обратных вызовах;
  • Класс «Промис»;
  • Обработка исключений Promise;
  • Методы all(), any(), race(), allSettled();
  • Отмена промиса с помощью Promise.race();
  • Отмена промиса с помощью AbortController;
  • Синтаксис async/await;
  • Синтаксис async/await: Обработка исключений;
  • Синтаксис async/await: await высокого уровня;
  • Синтаксис async/await: Ограничения;
  • Архитектура REST;
  • Коды состояния HTTP;
  • Методы HTTP;
  • Отсутствие сохранения состояния и масштабируемость;
  • Операции CRUD и сервисы Rest;
  • Формат возвращаемых данных: XML, JSON, XHTML;
  • Функция Fetch;
  • Fetch с возможностью отменить запрос;
  • Библиотека Axios для вызовов REST;
  • Обработка ошибок в Axios;
  • Отмена запросов в Axios;
  • Перехватчики в Axios;
  • Протокол WebSocket;
  • WebSocket в браузере;
  • WebSocket на сервере (Node.js);
  • Когда использовать WebSocket?
04 Workers и параллельное программирование (4 ч. - теория, 2 ч. - практика)
  • Workers;
  • Типы worker;
  • Worker APIs;
  • Регистрирующий worker;
  • Примеры использования Worker;
  • Сервисные workers;
  • Кэш API;
  • Регистрирующий Service worker;
  • Жизненный цикл Service worker;
  • Service worker как прокси сервера;
  • Стратегия Cache First (Cache Falling Back to Network);
  • Стратегия Network First (Network Falling Back to Cache);
  • Стратегия Stale-While-Revalidate;
  • Какую стратегию использовать;
  • Обновление кэша в стратегии пуш-сообщений;
  • Обновление кэша в стратегии фоновой синхронизации.
05 Функциональные программирование (9 ч. - теория)
  • Функции как данные;
  • Аргументы функции и массив аргументов;
  • Функции как методы;
  • Вызов и применение методов;
  • Привязка функции к объекту;
  • Замыкания;
  • Создание инкапсулированного значение через замыкание;
  • Функция «Конструктор»;
  • Функции массивов: map/filter/reduce;
  • Парадигмы программирования;
  • Декларативное и императивное программирование;
  • Функциональное программирование;
  • Высокоупорядоченные функции;
  • Чистые функции;
  • Преимущества чистых функций;
  • Неизменяемость;
  • Неизменяемость объектов: Оператор Spread;
  • Преимущества неизменяемости;
  • Immutable.js;
  • Встроенные структуры данных в Immutable.js;
  • Монады и функциональная композиция;
  • Function pipe();
  • Декомпозиция функций;
  • Монады для операций SIMD;
  • Частичное применение функции;
  • Карринг;
  • Нулевая безопасность;
  • Шаблон проектирования Null Object;
  • Монада Maybe;
  • Частично определенная функция;
  • Правила хорошего кода для написания функций;
  • Функциональные шаблоны проектирования;
  • Шаблон проектирования MVC с чистыми функциями;
  • Шаблон проектирования «наблюдатель» (observer);
  • Шаблон проектирования «порождение событий» (event sourcing);
  • Шаблон проектирования REDUX;
  • REDUX DevTools;
  • Преимущества REDUX;
  • Шаблоны проектирования в реактивном программировании (RxJS);
  • Операторы filter/map/take;
  • Операторы MergeMap/ConcatMap/SwitchMap;
  • Операторы Window/Buffer;
  • Операторы Sample/Throttle/Debounce;
  • Преимущества и примеры использования реактивного программирования.

49 500 ₽

44 550 ₽ — для физ. лиц

Записаться на курс

Для кого

Разработчик Разработчик

Расписание курсов

02.12.2025 - 16.12.2025

12:00-15:00
Дата и время:
02.12.2025-16.12.2025
12:00-15:00

Senior 32 часа

49 500 ₽

44 550 ₽ — для физ. лиц

Курс проводят

Вадим

Гордеев Вадим

Специалист в области фронтенд-разработки

О тренере

Вадим работает в ИТ-сфере с 2008 года. Обладает опытом работы в коммерческой разработке на JavaScript и TypeScript, а также навыками управления кроссфункциональной командой и командой фронтенд-разработчиков. Он проектировал различные системы и решения, включая микросервисы, мобильные и веб-приложения. Кроме того, провел более 100 технических интервью.

О проектах

  • В качестве Ведущего Frontend-разработчика работал над веб- и настольной версией корпоративного месседжера в МойОфис.
  • В роли ИТ-лида работал над решениями для дистанционного банковского обслуживания физ. лиц через iOS, Android и веб-приложения, дистанционного открытия банковского продукта физ. лицом в Т1.
  • В ролях функционального руководителя по фронтенду, ведущего разработчика по фронтенду, scrum-мастера в распределенной команде работал над веб-версией приложения для дистанционного банковского обслуживания физ. лиц (направление Дебетовые карты и текущие счета) в Luxoft.
  • В позиции Frontend-лида работал над веб
  • Серверный античит для HLDS. Придумал и реализовал защиту от декомпиляции. Помимо самого античита разработал функциональность для лицензирования и оплаты.
  • 49 500 ₽

    44 550 ₽ — для физ. лиц

    Записаться на курс

    Записаться на курс

    49 500 ₽

    44 550 ₽ — для физ. лиц

    Юр. лицо — 49 500 ₽
    Физ. лицо — 44 550 ₽
    02.12.2025, Онлайн
    02.12.2025, Онлайн
    Открытая дата

    Наши ученики работают в:

    Наши клиенты

    Mail.ru
    Альфа-Банк, банковская группа
    Лаборатория Касперского
    Магнит, розничная сеть
    Спортмастер, сеть спортивных магазинов
    ПСБ
    Сбертех
    Дзен
    IT One
    Ростелеком
    Мегафон
    Nexign
    Ozon
    Декатлон
    X5 Group
    Технониколь
    Росатом
    Газпром
    Нлмк
    ВСК
    Синимекс

    Связанные курсы

    WEB-007
    40 часов

    Разработка на JavaScript

    Изучите увлекательные подходы к разработке интерактивных веб-приложений на JavaScript, включая DOM, асинхронность и фреймворки.

    от Middle

    44 900 ₽

    WEB-015
    12 часов

    Язык программирования TypeScript

    возможностями TypeScript, включая типизацию, интерфейсы, декораторы и generic-классы. Вы научитесь создавать надежные и масштабируемые приложения, избегая типичных ошибок JavaScript. TypeScript — это строго типизированный язык программирования, который был создан на основе JavaScript и включает в себя систему типизации, облегчающую валидацию приложений. Он выбран в качестве основного языка для фреймворка Angular и в настоящее время широко используется для разработки на React и создания корпоративных клиентских приложений. Использование TypeScript позволяет вам применять синтаксис, более близкий к таким языкам, как Java или C#, что приводит к написанию аккуратного, удобного и легко поддерживаемого кода.

    от Middle

    14 900 ₽

    Не нашли, что искали? — Просто напишите, и мы поможем

    Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
    Пользователь только что записался на курс ""
    Спасибо!
    Форма отправлена успешно.