JavaScript. Продвинутый уровень
Длительность
32 ак.ч.
Локация
Онлайн
Код
WEB-024
45 000 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей
Описание
В ходе этого тренинга слушатели смогут лучше понять сложные функции, синтаксические конструкции и внутренние механизмы языка JavaScript. Этот курс будет полезен разработчикам, которые уже имеют опыт использования JavaScript, но хотят полностью реализовать потенциал этого языка и начать использовать менее известные, но его очень интересные и полезные возможности.После прохождения курса выдается
удостоверение о повышении квалификации государственного образца
удостоверение о повышении квалификации государственного образца
Цели
В ходе тренинга слушатели:
- научатся лучше понимать язык JavaScript;
- подробно изучат типы JavaScript и их конвертацию;
- узнают об асинхронном программировании;
- научатся использовать REST сервисы и вебсокеты для взаимодействия с сервером;
- научатся использовать workers и параллельное программирование;
- смогут использовать workers для кэширования;
- научатся использовать функциональное и реактивное программирование.
Целевая аудитория
Разработчики JavaScript, разработчики TypeScript, веб-разработчики, разработчики NodeJS developers.
Разбираемые темы
-
1. Подробно об основах JavaScript (6 ч. - теория, 2 ч. - практика)
- Объект классов
- Дескрипторы объекта
- Методы объекта
- Наследование прототипа
- Символы
- Итераторы
- Генераторы
- Создание итерируемых объектов
- Асинхронные генераторы
-
2. Подробно о типах в JavaScript (6 ч. - теория, 2 ч. - практика)
- Обзор типов;
- Номер типа;
- Проблемы плавающей точки и округления;
- Тип «Строка»;
- Тип Boolean;
- Конвертация типов;
- Map, Set, WeakMap, WeakSet;
- BigInt;
- ArrayBuffer;
- Типизированные массивы;
- DataViews;
- Blobs;
- FileReader;
- Обработка загруженных файлов.
-
3. Асинхронное программирование (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?
-
4. 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;
- Какую стратегию использовать;
- Обновление кэша в стратегии пуш-сообщений;
- Обновление кэша в стратегии фоновой синхронизации.
-
5. Функциональные программирование (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;
- Преимущества и примеры использования реактивного программирования.
Раcписание курсов
Вид:
Регистрируйтесь на следующий курс
Предварительная регистрация гарантирует участие в обучении. Мы обязательно оповестим вас, когда курс будет запланирован
Связанные курсы
Разработка на JavaScript
Курс посвящен современному JavaScript (EcmaScript 2015+), использованию JS для работы в браузере (события, манипуляция HTML и CSS), работе с модулями JS (NPM, Webpack), работе с сервером (HTTP, REST, AJAX, Axios, WebSocket). Курс является основой для изучения веб-фреймворков Angular и React.
Онлайн:
17.02.2025 - 06.03.2025
Язык программирования TypeScript
TypeScript – это строго типизированный язык программирования, созданный на основе JavaScript. Он включает в себя систему типизации, облегчающую валидацию JavaScript приложений. TypeScript выбран в качестве основного языка для фреймворка Angular и в настоящее время широко используется для React-разработки и создания клиентских приложений корпоративного уровня.
Онлайн:
10.02.2025 - 12.02.2025