О чём курс

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

Цели

В ходе тренинга слушатели:
  • научатся лучше понимать язык JavaScript;
  • подробно изучат типы JavaScript и их конвертацию;
  • узнают об асинхронном программировании;
  • научатся использовать REST сервисы и вебсокеты для взаимодействия с сервером;
  • научатся использовать workers и параллельное программирование;
  • смогут использовать workers для кэширования;
  • научатся использовать функциональное и реактивное программирование.

Целевая аудитория

Разработчики JavaScript, разработчики TypeScript, веб-разработчики, разработчики NodeJS developers.

Для кого

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

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

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

Темы курса

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;
  • Преимущества и примеры использования реактивного программирования.

45 000 ₽

40 500 ₽ — для физ. лиц

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

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

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

45 000 ₽

40 500 ₽ — для физ. лиц

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

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

45 000 ₽

40 500 ₽ — для физ. лиц

Юр. лицо — 45 000 ₽
Физ. лицо — 40 500 ₽
Открытая дата
Продолжая, я подтверждаю, что ознакомлен с Условиями использования и Порядком обработки персональных данных

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

WEB-007
40 часов

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

Курс посвящен современному JavaScript (EcmaScript 2015+), использованию JS для работы в браузере (события, манипуляция HTML и CSS), работе с модулями JS (NPM, Webpack), работе с сервером (HTTP, REST, AJAX, Axios, WebSocket). Курс является основой для изучения веб-фреймворков Angular и React.

от Middle

39 900 ₽

WEB-015
12 часов

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

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

от Middle

13 500 ₽

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

Наши клиенты

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

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

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