
WEB-024 JavaScript. Продвинутый уровень
Начало: По мере набора группы
Длительность: 1 неделя
СертификатОнлайн
Описание курса
JavaScript – сложный и зрелый язык программирования, имеющий множество неочевидных функций. Данный курс поможет слушателям получить более глубокое понимание этого популярного языка, который, на первый взгляд, кажется простым, но на самом деле довольно сложен.
- Объект классов.
- Дескрипторы объекта.
- Методы объекта.
- Наследование прототипа.
- Символы.
- Итераторы.
- Генераторы.
- Создание итерируемых объектов.
- Асинхронные генераторы.
- Обзор типов.
- Номер типа.
- Проблемы плавающей точки и округления.
- Тип «Строка».
- Тип Boolean.
- Конвертация типов.
- Map, Set, WeakMap, WeakSet.
- BigInt.
- ArrayBuffer.
- Типизированные массивы.
- DataViews.
- Blobs.
- FileReader.
- Обработка загруженных файлов.
- Асинхронные вызовы.
- Использование в обратных вызовах.
- Класс «Промис».
- Обработка исключений 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?
- 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.
- Какую стратегию использовать.
- Обновление кэша в стратегии пуш-сообщений.
- Обновление кэша в стратегии фоновой синхронизации.
- Функции как данные.
- Аргументы функции и массив аргументов.
- Функции как методы.
- Вызов и применение методов.
- Привязка функции к объекту.
- Замыкания.
- Создание инкапсулированного значения через замыкание.
- Функция «Конструктор».
- Функции массивов: 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.
- Преимущества и примеры использования реактивного программирования.