Курс: Продвинутая разработка на JavaScript

Курс: Продвинутая разработка на JavaScript

Курс: Продвинутая разработка на JavaScript


Продолжительность курса: 40 ак. ч.

Описание курса:
В ходе этого курса слушатели смогут лучше понять сложные функции, синтаксические конструкции и внутренние механизмы языка JavaScript. Этот курс будет полезен разработчикам, которые уже имеют опыт использования JavaScript, но хотят полностью реализовать потенциал этого языка и начать использовать менее известные, но его очень интересные и полезные возможности.

Аудитория:
Разработчики JavaScript, разработчики TypeScript, веб-разработчики, разработчики NodeJS developers.

Программа курса:
Модуль 1. Подробно об основах JavaScript
• Объект классов
• Дескрипторы объекта
• Методы объекта
• Наследование прототипа
• Символы
• Итераторы
• Генераторы
• Создание итерируемых объектов
• Асинхронные генераторы

Модуль 2. Подробно о типах в JavaScript
• Обзор типов;
• Номер типа;
• Проблемы плавающей точки и округления;
• Тип «Строка»;
• Тип Boolean;
• Конвертация типов;
• Map, Set, WeakMap, WeakSet;
• BigInt;
• ArrayBuffer;
• Типизированные массивы;
• DataViews;
• Blobs;
• FileReader;
• Обработка загруженных файлов.

Модуль 3. Асинхронное программирование
• Асинхронные вызовы;
• Использование в обратных вызовах;
• Класс «Промис»;
• Обработка исключений 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?

Модуль 4. Workers и параллельное программирование
• 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;
• Какую стратегию использовать;
• Обновление кэша в стратегии пуш-сообщений;
• Обновление кэша в стратегии фоновой синхронизации.

Модуль 5. Функциональные программирование
• Функции как данные;
• Аргументы функции и массив аргументов;
• Функции как методы;
• Вызов и применение методов;
• Привязка функции к объекту;
• Замыкания;
• Создание инкапсулированного значение через замыкание;
• Функция «Конструктор»;
• Функции массивов: 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;
• Преимущества и примеры использования реактивного программирования.

Окончательная цена указывается в договоре на обучение.

Характеристики курса

  • Начало: Ведется набор
  • Вендор: JavaScript
  • Код курса: JS15
  • Город: Екатеринбург, Пермь, Москва,
  • Направление: Курсы для IT-специалистов
  • Академических часов: 40
  • Количество мест: 8
  • Очно: 84900 ₽
  • Дистанционно: 84900 ₽
Записаться на курс

Курсы повышения квалификации
и профессиональной переподготовки


График работы:
Мы отвечаем на звонки и письма в будние дни с 7:00 до 16:00 по Мск

8 800 (600)-66-16

Владелец сайта:
АНО ДПО «Учебный центр «ШИФТ»
ИНН 5904355180
ОГРН 1175958039586
Юридический адрес: 614010, г. Пермь, ул. Клары Цеткин, д. 14, офис 32.
E-mail: info@eshift.ru