Содержание курса
Вводный
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.
Обзор пройденного и рекомендации
↗