Содержание пакета (4 курса)
1. React для современных веб-приложений 4.92
Введение
5 уроков
1.
Обзор курса
↗
2.
Что такое React
↗
3.
Пререквизит к курсу
↗
4.
Что необходимо установить
↗
5.
Варианты окружения
↗
React и JSX
8 уроков
1.
Библиотеки React и ReactDOM
↗
2.
Простое приложение на чистом React
↗
3.
Преобразование приложения в JSX
↗
4.
Особенности JSX
↗
5.
Разделение приложения на модули
↗
6.
Условная отрисовка
↗
7.
Пример с прелоадером
↗
8.
Проверка знаний
↗
Классовые компоненты
11 уроков
1.
Разбор составляющих базового React-шаблона
↗
2.
Понятие React-компонента
↗
3.
Состояние компонента и управление им
↗
4.
Нюансы создания методов в классовых компонентах
↗
5.
Жизненный цикл компонента
↗
6.
Задание по созданию таймера
↗
7.
Работа с коллекциями
↗
8.
Однонаправленный поток данных
↗
9.
Задание на обновление состояния через дочерние компоненты
↗
10.
Отличие классовых компонентов от функциональных
↗
11.
Проверка знаний
↗
Работа с формами в React
7 уроков
1.
Управляемые компоненты
↗
2.
Валидация значений формы
↗
3.
Checkbox, radio button, select
↗
4.
Задание на создание формы
↗
5.
Использование ref
↗
6.
Неуправляемые компоненты
↗
7.
Проверка знаний
↗
Проект "Фильмы"
10 уроков
1.
Обзор проекта
↗
2.
Подготовка проекта
↗
3.
Знакомство с API фильмов
↗
4.
Задание на создание общего списка
↗
5.
Добавление строки поиска
↗
6.
Реализация поиска фильмов
↗
7.
Добавление фильтрации
↗
8.
Обработка неудачного поиска
↗
9.
Безопасное хранение ключа API
↗
10.
Сборка и публикация проекта
↗
Функциональные React-компоненты
8 уроков
1.
Работа с состоянием
↗
2.
Кликер
↗
3.
Управление жизненным циклом
↗
4.
Использование ref
↗
5.
Рефакторинг таймера
↗
6.
Рефакторинг проекта Фильмы
↗
7.
Рефакторинг проекта Фильмы, часть 2
↗
8.
Проверка знаний
↗
Хуки подробно
11 уроков
1.
useState
↗
2.
useEffect
↗
3.
useContext
↗
4.
useLayoutEffect
↗
5.
useCallback, useMemo
↗
6.
useImperativeHandle
↗
7.
useReducer
↗
8.
Пользовательские хуки
↗
9.
Правила использования хуков
↗
10.
Рефакторинг таймера
↗
11.
Проверка знаний
↗
Проект "Витрина"
11 уроков
1.
Презентация проекта
↗
2.
Обзор API
↗
3.
Подготовка проекта
↗
4.
Вывод списка товаров
↗
5.
Состояние заказа
↗
6.
Добавление товара в корзину
↗
7.
Создание корзины
↗
8.
Удаление из корзины
↗
9.
Изменение количества товара в корзине
↗
10.
Добавление подсказки о добавлении товара
↗
11.
Публикация проекта
↗
Продвинутое управление состоянием приложения
7 уроков
1.
Context API и useReducer вместо пропсов
↗
2.
Создание контекста с провайдером
↗
3.
Создание редюсера
↗
4.
Доработка редьюсера
↗
5.
Переключение всех компонентов на контекст
↗
6.
Обзор сделанного
↗
7.
Проверка знаний
↗
Роутинг и SPA-приложение
14 уроков
1.
Роутинг и SPA, обзор проекта
↗
2.
Базовый роутинг
↗
3.
Компонент Link
↗
4.
Хуки useParams и useHistory
↗
5.
Хуки useLocation и useRouteMatch
↗
6.
Вложенный роутинг
↗
7.
Обзор API для проекта
↗
8.
Настройка методов
↗
9.
Главная страница
↗
10.
Страница категории
↗
11.
Страница рецепта
↗
12.
Поиск на главной
↗
13.
Нюансы публикации SPA
↗
14.
Итоги курса
↗
2. Redux для управления состоянием React-приложений 5.00
Вводный модуль
5 уроков
1.
Вводное видео
↗
2.
Что такое Redux
↗
3.
Варианты state management для React
↗
4.
Пререквизит к курсу
↗
5.
Окружение для работы
↗
Redux
9 уроков
1.
Обзор модуля
↗
2.
Три принципа Redux
↗
3.
Базовые сущности Redux
↗
4.
Базовое API Redux
↗
5.
Пример с кликером
↗
6.
Решение задачи с кликером
↗
7.
Action creators и их использование
↗
8.
Хранилище по умолчанию
↗
9.
Итоги модуля
↗
React-redux на хуках
12 уроков
1.
Обзор модуля
↗
2.
Сущности react-redux
↗
3.
Кликер на React+Redux
↗
4.
Todo List на React+Redux
↗
5.
Redux DevTools
↗
6.
Вариант организации кода #1
↗
7.
Вариант организации кода #2
↗
8.
Альтернативная точка входа
↗
9.
Вариант TodoList с фильтрами
↗
10.
Синхронизация с localStorage
↗
11.
Добавление роутинга
↗
12.
Итоги модуля
↗
Проект 1
10 уроков
1.
Обзор проекта
↗
2.
Настройка окружения
↗
3.
Базовые компоненты
↗
4.
Добавление провайдера и пустого стора
↗
5.
Редьюсер вакансий
↗
6.
Редьюсер фильтрации
↗
7.
Механизм добавления фильтров
↗
8.
Удаление фильтров и их очистка
↗
9.
Публикация проекта
↗
10.
Итоги модуля
↗
React-redux legacy
7 уроков
1.
Легаси для react-redux
↗
2.
Метод connect
↗
3.
Концепция mapStateToProps
↗
4.
Концепция mapDispatchToProps
↗
5.
Рефакторинг Todo App
↗
6.
Рефакторинг проекта 1
↗
7.
Итоги модуля
↗
Redux Middleware и асинхронная работа
12 уроков
1.
Введение в redux middleware
↗
2.
Базовое использование redux middleware
↗
3.
Подключение вместе с devTools
↗
4.
Библиотека redux-persist
↗
5.
Проблема асинхронности
↗
6.
Библиотека redux-thunk
↗
7.
Использование redux-thunk
↗
8.
Подготовка клиентского api
↗
9.
Статусы загрузки и обработка ошибок
↗
10.
Post-запросы
↗
11.
Thunk extraArgument
↗
12.
Итоги модуля
↗
Проект 2
13 уроков
1.
Обзор проекта
↗
2.
Структура проекта
↗
3.
Добавление redux бойлерплейта
↗
4.
Переключение светлой/темной темы
↗
5.
Редьюсер для стран
↗
6.
Отрисовка стран в UI
↗
7.
Фильтрация по поиску
↗
8.
Фильтрация по региону
↗
9.
Очистка фильтров
↗
10.
Детальная страница
↗
11.
Очистка детальной страницы
↗
12.
Получение информации о соседях
↗
13.
Обзор итогового приложения
↗
Redux Toolkit
13 уроков
1.
Актуальность Redux Toolkit
↗
2.
Сущности Redux Toolkit
↗
3.
Метод createAction
↗
4.
Метод createReducer
↗
5.
Метод createSlice
↗
6.
Метод configureStore
↗
7.
Практика создания слайсов
↗
8.
Extra редьюсеры
↗
9.
Структура проекта
↗
10.
Redux-persist вместе с RTK
↗
11.
Рефакторинг проекта, часть 1
↗
12.
Рефакторинг проекта, часть 2
↗
13.
Итоги модуля
↗
RTK AsyncThunk
12 уроков
1.
Обзор модуля
↗
2.
Базовое использование createAsyncThunk
↗
3.
ExtraReducers для работы с thunk экшнами
↗
4.
Практика создания thunk c createAsyncThunk
↗
5.
Использование в UI
↗
6.
Массовая обработка событий в extraReducers
↗
7.
Обработка ошибок
↗
8.
Отмена запроса к серверу
↗
9.
Extra параметр thunk
↗
10.
Базовое использование createEntityAdapter
↗
11.
Удаление и изменение данных через адаптер
↗
12.
Итоги модуля
↗
Рефакторинг проекта 2
7 уроков
1.
Постановка задачи
↗
2.
Организация структуры и слайс темы
↗
3.
Слайс блока фильтрации
↗
4.
Слайс стран
↗
5.
Слайс для деталки
↗
6.
Получение соседей
↗
7.
Итоги модуля
↗
Итоги курса
3 урока
1.
Style Guide от создателей Redux
↗
2.
FAQ по тому, что хранить в Redux-сторе
↗
3.
Итоги курса
↗
3. Тестирование JavaScript и React приложений 4.93
Вводный модуль
7 уроков
1.
Обзор курса
↗
2.
Зачем нужны тесты
↗
3.
Виды тестирования
↗
4.
Инструменты и пререквизит
↗
5.
AI и тестирование
↗
6.
Сравнение библиотек для тестирования
↗
7.
Полезные ссылки
↗
Основы Jest
10 уроков
1.
Анонс модуля
↗
2.
Знакомство с Jest
↗
3.
Настройка Jest в JavaScript проекте
↗
4.
Структура юнит-теста
↗
5.
Варианты проверок
↗
6.
Вариант структуры множественных тестов
↗
7.
Параметризованные тесты
↗
8.
Квиз по основам Jest
↗
9.
Задание по написанию простых тестов
↗
10.
Итоги модуля
↗
Особенности Jest
13 уроков
1.
Анонс модуля
↗
2.
Jest алиасы
↗
3.
Хуки Jest
↗
4.
Квиз по особенностям Jest
↗
5.
Кто такие моки
↗
6.
Базовые моки
↗
7.
Шпионим за методами
↗
8.
Моки модулей
↗
9.
Квиз по мокам
↗
10.
Тестирование ошибок
↗
11.
Watch и debug режимы
↗
12.
Тестовое покрытие
↗
13.
Итоги модуля
↗
TDD
7 уроков
1.
Анонс модуля
↗
2.
Что такое TDD. Теория
↗
3.
С чего начать
↗
4.
Создание тестовых кейсов
↗
5.
Работа над функционалом
↗
6.
Изменение требований (рефакторинг)
↗
7.
Выгода TDD и итоги модуля
↗
Расширение возможностей
6 уроков
1.
Анонс модуля
↗
2.
Использование нескольких конфигов
↗
3.
Setup файлы
↗
4.
Глобальные переменные
↗
5.
Кастомные матчеры
↗
6.
Снепшот тестирование
↗
Тестирование React приложений
14 уроков
1.
Анонс модуля
↗
2.
Что мы будем тестировать
↗
3.
Настройка окружения
↗
4.
Интеграция с линтером
↗
5.
Базовое тестирование компонента
↗
6.
Набор матчеров для разметки
↗
7.
Тестирование пользовательских действий
↗
8.
Альтернативный подход к действиям пользователя
↗
9.
Асинхронная обработка действий пользователя
↗
10.
Тестирование кастомных хуков и метод act
↗
11.
Фильтрация для coverage
↗
12.
Интеграционные тесты React компонентов
↗
13.
Имитация запроса к серверу
↗
14.
Итоги модуля
↗
Нюансы тестирования React приложений
14 уроков
1.
Анонс модуля
↗
2.
Query функции
↗
3.
By функции
↗
4.
Квиз по функциям Testing Library
↗
5.
Aria роли и как с ними работать
↗
6.
Помощник по поиску ролей
↗
7.
Доступность по тексту
↗
8.
Сужение круга поиска
↗
9.
Квиз по выборке элементов
↗
10.
Render функции
↗
11.
Кастомный render с провайдерами
↗
12.
Кастомный renderHook с провайдерами
↗
13.
Предупреждение о нехватке act(...)
↗
14.
Итоги модуля
↗
Тестирование SPA приложения
10 уроков
1.
Анонс модуля
↗
2.
Тестирование layout компонентов
↗
3.
Компонент поиска
↗
4.
Оставшиеся ui компоненты
↗
5.
Тестирование базовых страниц
↗
6.
Страница категорий
↗
7.
Квиз по использованию MemoryRouter
↗
8.
Главная страница
↗
9.
Тестирование роутинга
↗
10.
Итоги модуля
↗
Итоги курса
1 урок
1.
Обзор пройденного и рекомендации
↗
4. Фундаментальный JavaScript 4.98
Введение
5 уроков
1.
Введение
↗
2.
Обзор модуля
↗
3.
Сфера применения JavaScript, его версии и документация
↗
4.
Подключение JavaScript к html-странице
↗
5.
Использование JavaScript вне браузера
↗
Основы программирования
17 уроков
1.
Обзор модуля
↗
2.
Типы данных в JavaScript
↗
3.
Понятие переменных
↗
4.
Математические операции в JavaScript
↗
5.
Логические выражения
↗
6.
Условный оператор
↗
7.
Оператор switch
↗
8.
Тернарный оператор
↗
9.
Массивы как хранилища данных
↗
10.
Понятие цикла
↗
11.
Цикл for
↗
12.
Оператор break
↗
13.
Оператор continue
↗
14.
Понятие функции
↗
15.
Встроенный объект Math
↗
16.
Проект "Угадай число"
↗
17.
Итоги модуля
↗
Объекты и встроенные методы
14 уроков
1.
Обзор модуля
↗
2.
Простые объекты с данными
↗
3.
Хранение по ссылке
↗
4.
Оператор in
↗
5.
Цикл for..in
↗
6.
Цикл for..of
↗
7.
Методы объекта, контекст
↗
8.
Встроенные методы строк
↗
9.
Встроенные методы чисел
↗
10.
Встроенные методы массивов
↗
11.
Объект ошибки
↗
12.
Объект регулярного выражения
↗
13.
Проект "Загадки"
↗
14.
Итоги модуля
↗
Про функции подробно
11 уроков
1.
Обзор модуля
↗
2.
Функции vs процедуры
↗
3.
Функции и память
↗
4.
Варианты записи функций
↗
5.
Область видимости
↗
6.
Колбэки и функции высшего порядка
↗
7.
Рекурсия
↗
8.
Замыкание
↗
9.
Контекст вызова функции
↗
10.
Уточнение контекста вызова функции
↗
11.
Проект "Цензор"
↗
Работа со структурами данных
16 уроков
1.
Обзор модуля
↗
2.
Понятие стека и очереди
↗
3.
Понятие иммутабельности
↗
4.
Маппинг массивов и коллекций
↗
5.
Фильтрация
↗
6.
Метод reduce
↗
7.
Поиск в коллекции
↗
8.
Сортировка массива
↗
9.
Оператор остатка
↗
10.
Деструктуризация массивов
↗
11.
Деструктуризация объектов
↗
12.
Шаблонные строки
↗
13.
Глобальные методы
↗
14.
Формат JSON
↗
15.
Проект "Витрина"
↗
16.
Итоги модуля
↗
DOM API
20 уроков
1.
Обзор модуля
↗
2.
Понятие DOM
↗
3.
Получение ссылок на HTML-элементы
↗
4.
Свойства html-элементов
↗
5.
Обход html-коллекций
↗
6.
Объект classList
↗
7.
Навигация по html-элементам
↗
8.
Браузерные события
↗
9.
Снятие обработчиков событий
↗
10.
Примеры по обработке события click
↗
11.
Объект события
↗
12.
Работа с формой
↗
13.
Понятие всплытия
↗
14.
Динамическая работа с DOM
↗
15.
Полезные свойства html-элементов
↗
16.
Где искать примеры UI
↗
17.
Пример модального окна
↗
18.
Работа с браузерной памятью
↗
19.
Прочие браузерные объекты
↗
20.
Проект "Спойлер"
↗
Работа с готовыми библиотеками
9 уроков
1.
Обзор модуля
↗
2.
Библиотека lodash
↗
3.
Плавный скролл
↗
4.
Тултипы
↗
5.
Продвинутый скролл
↗
6.
Слайдеры
↗
7.
Ленивая загрузка
↗
8.
Работа с формами
↗
9.
Анимации
↗
Асинхронный JavaScript
11 уроков
1.
Обзор модуля
↗
2.
Синхронный и асинхронный код
↗
3.
Варианты взаимодействия с сервером
↗
4.
Объект Promise
↗
5.
Асинхронное получение данных
↗
6.
CRUD-операции
↗
7.
Альтернативные способы получения данных с сервера
↗
8.
Асинхронные функции
↗
9.
Методы промисов resolve и reject
↗
10.
Методы промисов all и race
↗
11.
Итоги модуля
↗
Проект "Список дел"
9 уроков
1.
Постановка задачи
↗
2.
Декомпозиция на подзадачи
↗
3.
Получение данных с сервера
↗
4.
Отрисовка полученных задач
↗
5.
Отрисовка пользователей
↗
6.
Добавление новой задачи
↗
7.
Изменение статуса
↗
8.
Удаление задачи
↗
9.
Обработка ошибок
↗
Модули и сборка приложения
8 уроков
1.
Понятие js-модуля
↗
2.
npm менеджер
↗
3.
ES6 модули: импорт и экспорт
↗
4.
Сборка приложения
↗
5.
Использование Parcel для сборки
↗
6.
Нюансы экспорта и импорта
↗
7.
Кроссбраузерность приложений
↗
8.
CommonJS модули и файлы .mjs
↗
Проект: определение геолокации по IP
14 уроков
1.
Постановка задачи
↗
2.
Декомпозиция на подзадачи
↗
3.
Создание Frontend-проекта
↗
4.
Верстка шапки
↗
5.
Разбор API по работе с IP
↗
6.
Обработка ввода пользователя
↗
7.
Валидация формы
↗
8.
Динамическая работа с DOM
↗
9.
Разбор API карт
↗
10.
Разметка с картой
↗
11.
Обновление карт на базе IP
↗
12.
Добавление полифилла
↗
13.
Добавление адаптива
↗
14.
Публикация проекта
↗
ООП в JavaScript
16 уроков
1.
Обзор модуля
↗
2.
Актуальность фабрик
↗
3.
Создание классов es6
↗
4.
Прототипное наследование
↗
5.
Наследование классов es6
↗
6.
Статические свойства и методы
↗
7.
Приватные свойства, геттеры, сеттеры
↗
8.
Классы для создания UI компонентов
↗
9.
Шаблоны проектирования
↗
10.
Шаблон Singleton
↗
11.
Шаблон Фабрика
↗
12.
Шаблон Адаптер
↗
13.
Шаблон Фасад
↗
14.
Шаблон Наблюдатель
↗
15.
Концепция ООП
↗
16.
Подведение итогов
↗