Содержание пакета (3 курса)
1. Node.js — бэкенд для фронтенда. От концепции до деплоя! 4.93
Вводный
6 уроков
1.
Презентация курса
↗
2.
Актуальность NodeJS
↗
3.
Спектр задач для NodeJS
↗
4.
Что значит бэкенд для фронтенда
↗
5.
Инструменты для работы с курсом
↗
6.
Версии NodeJS
↗
Возможности Node.js
12 уроков
1.
О модуле
↗
2.
Hello world на Node.js
↗
3.
Варианты синтаксиса
↗
4.
Как работает Node.js
↗
5.
Event loop
↗
6.
Асинхронный код в Node.js
↗
7.
Файловая система
↗
8.
Собственные cli утилиты
↗
9.
Тестирование
↗
10.
Веб-сервер
↗
11.
Квиз по модулю
↗
12.
Итоги модуля
↗
Инструменты и особенности
10 уроков
1.
О модуле
↗
2.
npm и его особенности
↗
3.
Альтернативы npm
↗
4.
Контроль версий Node.js
↗
5.
Особенности модулей
↗
6.
Варианты ошибок и работа с ними
↗
7.
Дебаггер VS Code
↗
8.
Переменные окружения
↗
9.
Квиз по модулю
↗
10.
Итоги модуля
↗
Express
18 уроков
1.
О модуле
↗
2.
Что такое Express
↗
3.
Стартовое приложение
↗
4.
Понятие middleware
↗
5.
Порты, HTTP заголовки, методы и статусы
↗
6.
Работа с роутами
↗
7.
Чтение входящего запроса
↗
8.
Использование роутера
↗
9.
Работа со статикой
↗
10.
REST API
↗
11.
Варианты организации кода
↗
12.
Кастомный middleware
↗
13.
Валидация запросов
↗
14.
Работа с ошибками
↗
15.
Кастомные ошибки
↗
16.
CORS
↗
17.
Квиз по модулю
↗
18.
Итоги модуля
↗
Проект 1
11 уроков
1.
Какую проблему мы будем решать
↗
2.
Разбор стартового шаблона
↗
3.
Создание фасада API
↗
4.
Подготовка данных для фронта
↗
5.
Обработка ошибок
↗
6.
Оптимизация запросов
↗
7.
Миграция на другую версию внешнего сервиса
↗
8.
Начало миграции
↗
9.
Завершение миграции
↗
10.
Квиз по модулю
↗
11.
Итоги модуля
↗
Кэширование данных
10 уроков
1.
О модуле
↗
2.
Особенности браузерного кэширования
↗
3.
Реализация браузерного кэширования
↗
4.
Введение в Redis
↗
5.
Настройка окружения для Redis
↗
6.
Базовые операции с Redis
↗
7.
Redis и NodeJS
↗
8.
Кэширование запросов
↗
9.
Квиз по модулю
↗
10.
Итоги модуля
↗
Введение в MongoDB
18 уроков
1.
О модуле
↗
2.
Что такое MongoDB
↗
3.
Настройка окружения
↗
4.
Варианты взаимодействия с Node.js
↗
5.
Подключение к Mongo из Node.js
↗
6.
Концепция схемы и модели Mongoose
↗
7.
Создание первой схемы
↗
8.
Использование схемы
↗
9.
Изменение и удаление документа
↗
10.
Особенности схем
↗
11.
Связи между сущностями
↗
12.
Валидация Mongoose
↗
13.
Исключение полей
↗
14.
Другие типы данных в схеме
↗
15.
Сортировка
↗
16.
Пагинация
↗
17.
Квиз по модулю
↗
18.
Итоги модуля
↗
Аутентификация
12 уроков
1.
О модуле
↗
2.
Варианты аутентификации
↗
3.
Логика JWT
↗
4.
HttpOnly Cookie
↗
5.
Защищенные роуты
↗
6.
Создание входа пользователя
↗
7.
Хэширование пароля
↗
8.
Приватные ресурсы
↗
9.
Ошибки доступа
↗
10.
Проблема Cors
↗
11.
Квиз по модулю
↗
12.
Итоги модуля
↗
Проект 2
11 уроков
1.
Обзор проекта
↗
2.
Стартовые шаблоны
↗
3.
Создание короткой ссылки
↗
4.
Хранение ссылок в MongoDB
↗
5.
Создание пользователей
↗
6.
Аутентификация
↗
7.
Безопасность пользователя
↗
8.
Ссылки конкретных пользователей
↗
9.
Изменение и удаление ссылок
↗
10.
Синхронизация с фронтом
↗
11.
Итоги модуля
↗
Стабильность приложения
10 уроков
1.
О модуле
↗
2.
Атаки на инфраструктуру
↗
3.
Логирование ошибок
↗
4.
Логирование на практике
↗
5.
Хранение логов
↗
6.
Helmet
↗
7.
Важность кэширования
↗
8.
Защита от DDOS
↗
9.
Квиз по модулю
↗
10.
Итоги модуля
↗
Публикация приложения
16 уроков
1.
О модуле
↗
2.
Варианты деплоя
↗
3.
Выбор провайдера
↗
4.
Установка зависимостей
↗
5.
Управление пользователями
↗
6.
Установка веб-сервера
↗
7.
Фронтенд на сервере
↗
8.
Добавление домена
↗
9.
Бэкенд на сервере
↗
10.
Стабильность бэкенда
↗
11.
Связь бэкенда и фронтенда
↗
12.
Настройка файервола
↗
13.
Добавление https
↗
14.
Добавление http2
↗
15.
Квиз по модулю
↗
16.
Итоги модуля
↗
Итоги курса
1 урок
1.
Обзор пройденного и рекомендации
↗
2. 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.
Итоги курса
↗
3. TypeScript для профессиональной разработки 4.78
Введение
6 уроков
1.
Приветствие
↗
2.
Что такое TypeScript и зачем нужен
↗
3.
Альтернативы TypeScript
↗
4.
Пререквизит к курсу
↗
5.
Настройка окружения
↗
6.
Как построен курс
↗
Базовая типизация
11 уроков
1.
О модуле
↗
2.
Примитивные типы
↗
3.
Базовая типизация функций
↗
4.
Базовая типизация объектов
↗
5.
Объекты как параметры функции
↗
6.
Типизация массивов
↗
7.
Кортежи
↗
8.
Алиасы
↗
9.
Union типы
↗
10.
Enum
↗
11.
Итоги модуля
↗
Продвинутая типизация
12 уроков
1.
О модуле
↗
2.
Подробнее об интерфейсах
↗
3.
Подробнее об алиасах
↗
4.
Type vs Interface
↗
5.
Сужение типов
↗
6.
Type Guards
↗
7.
Asserts
↗
8.
Типизация this
↗
9.
Перегрузка функций
↗
10.
Рекурсивные типы
↗
11.
Оператор !
↗
12.
Итоги модуля
↗
Дженерики
9 уроков
1.
О модуле
↗
2.
Актуальность дженериков
↗
3.
Базовые примеры
↗
4.
Добавление требований
↗
5.
Оператор keyof
↗
6.
Сужение допустимых значений типа
↗
7.
Значения по умолчанию
↗
8.
Области видимости типов дженерика
↗
9.
Итоги модуля
↗
Комбинирование типов
13 уроков
1.
О модуле
↗
2.
Оператор typeof
↗
3.
Conditional type
↗
4.
Еще раз про extends
↗
5.
Оператор infer
↗
6.
Маппинг типов
↗
7.
Утилиты Extract, Exclude, NonNullable
↗
8.
Утилиты Record, Pick, Omit
↗
9.
Утилиты ReadOnly, Required, Partial
↗
10.
Утилиты Parameters, CounstructorParameters
↗
11.
Доступ по индексу
↗
12.
Шаблонные литералы
↗
13.
Итоги модуля
↗
Проект 1. Vanilla JS -> TypeScript
7 уроков
1.
Обзор проекта
↗
2.
Постановка задачи
↗
3.
Создание ts-проекта
↗
4.
Создание интерфейсов
↗
5.
Добавление type guards
↗
6.
Типы асинхронных функций
↗
7.
Итоги модуля
↗
Классы
8 уроков
1.
О модуле
↗
2.
Интерфейс для класса
↗
3.
Модификаторы доступа
↗
4.
Нюансы конструктора
↗
5.
Абстрактные классы
↗
6.
Геттеры и сеттеры
↗
7.
Статические свойства и методы
↗
8.
Итоги модуля
↗
Настройки компилятора
9 уроков
1.
О модуле
↗
2.
Составные части конфига
↗
3.
Базовые настройки
↗
4.
Опции компилятора
↗
5.
Дополнительные опции
↗
6.
Тюнинг строгости
↗
7.
Дополнительный линтинг
↗
8.
Рекомендованные конфиги
↗
9.
Итоги модуля
↗
Типизация React-компонентов
12 уроков
1.
О модуле
↗
2.
Настройка окружения
↗
3.
Типизация пропсов
↗
4.
Типизация стилей
↗
5.
Типизация стейта
↗
6.
Хэндлеры
↗
7.
Хранение типов
↗
8.
Нюансы useEffect
↗
9.
Типизация useRef
↗
10.
Приложение TodoList
↗
11.
Классовые компоненты
↗
12.
Итоги модуля
↗
Проект на React+TS
11 уроков
1.
Обзор проекта
↗
2.
Окружение для проекта
↗
3.
Создание типов сущностей
↗
4.
Шапка приложения
↗
5.
Компонент поиска
↗
6.
Альтернативный вариант формы
↗
7.
Компонент статистики
↗
8.
Шапка карточки
↗
9.
Инфо компонент
↗
10.
Получение данных
↗
11.
Итоги модуля
↗
Типизация Redux
9 уроков
1.
О модуле
↗
2.
Добавления Redux в приложение
↗
3.
Типизация слайсов
↗
4.
Типизация селекторов
↗
5.
Типизация asyncThunk
↗
6.
Типизация extraReducers
↗
7.
AsyncThunk как дженерик
↗
8.
Добработка асинхронного слайса
↗
9.
Итоги модуля
↗
Проект React+Redux+TS
9 уроков
1.
Обзор проекта
↗
2.
Окружение для проекта
↗
3.
Базовые типы приложения
↗
4.
UI компоненты
↗
5.
Типизация переключателя темы
↗
6.
Типизация списка стран
↗
7.
Типизация детальной страницы
↗
8.
Типизация контролей
↗
9.
Итоги проекта
↗
Итоги курса
1 урок
1.
Что дальше
↗