Веб-разработка

Учебник Express.js для начинающих

19 уроков · 6 разделов · бесплатно, без регистрации

Полный курс по бэкенду на Node.js и Express. Ты пройдёшь путь от голого http-сервера до защищённого REST API в проде: разберёшь маршруты и middleware, спроектируешь REST, подключишь базу данных, реализуешь аутентификацию через JWT и закроешь приложение helmet, CORS и rate-limit. Каждый урок — это разбор под капотом, запускаемые примеры и реальные best practices.

Курс «Express.js: бэкенд на Node» состоит из 6 разделов и 19 уроков: Введение, Node и HTTP, Маршруты и запросы, Middleware, REST API, База данных и аутентификация и Безопасность и деплой. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Введение, Node и HTTP

    1. Что такое Express и зачем он нужен

      Express.js как тонкая надстройка над http-модулем Node.js: маршруты и middleware вместо ручного разбора запросов.

    2. Установка и первый сервер

      npm init, установка Express, минимальный сервер и автоперезагрузка через node --watch и npm-скрипты.

    3. Node под капотом: event loop

      Однопоточная модель Node, неблокирующий ввод-вывод и цикл событий: почему один поток держит тысячи соединений.

    4. Основы HTTP: методы, статусы, заголовки

      HTTP-методы GET/POST/PUT/PATCH/DELETE, коды статусов 2xx-5xx и заголовки — словарь, на котором работает Express.

  2. 2 Маршруты и запросы

    1. Маршруты: GET, POST и ответы

      Объявление маршрутов Express для разных методов, отдача текста и JSON и порядок выбора обработчика.

    2. Параметры пути и query-строка

      Динамические параметры /users/:id в req.params и опции ?sort=name в req.query: гибкие маршруты Express.

    3. Тело запроса и заголовки

      Чтение JSON и форм через express.json/urlencoded в req.body, заголовки через req.get и базовая валидация входных данных.

  3. 3 Middleware

    1. Что такое middleware

      Middleware как функция (req, res, next) и конвейер обработки запроса в Express: next() как эстафетная палочка.

    2. Свои и сторонние middleware

      Привязка middleware глобально, по пути и к маршруту, фабрики middleware для ролей и готовые пакеты morgan, cors, helmet.

    3. Обработка ошибок в middleware

      Error-handling middleware (err, req, res, next), автоматический проброс async-ошибок в Express 5 и свои классы ошибок со статусом.

  4. 4 REST API

    1. Принципы REST

      REST как стиль проектирования API: ресурсы-существительные, методы-глаголы, идемпотентность и предсказуемые url.

    2. CRUD-маршруты на практике

      Полный набор Create-Read-Update-Delete маршрутов Express для ресурса с правильными статусами и проверкой наличия.

    3. express.Router и структура проекта

      Вынос маршрутов в модули через express.Router, префиксы подключения и слои routes/controllers/services.

  5. 5 База данных и аутентификация

    1. Подключение базы данных

      SQL и NoSQL, драйверы и ORM (Prisma, Mongoose), асинхронный доступ к данным через async/await и пул соединений.

    2. Регистрация и хеширование паролей

      Безопасное хранение паролей: односторонний хеш с солью через bcrypt, регистрация и вход, защита от утечки базы.

    3. Аутентификация через JWT

      Устройство JWT (header.payload.signature), поток аутентификации, выдача и проверка токена в middleware Express.

  6. 6 Безопасность и деплой

    1. Безопасность: helmet, CORS, rate-limit

      Базовая защита Express-API тремя middleware: helmet (заголовки), cors (кросс-домен) и express-rate-limit (частота запросов).

    2. Переменные окружения и конфигурация

      Секреты и настройки в process.env и .env, dotenv, NODE_ENV и проверка обязательных переменных на старте Express.

    3. Деплой в продакшен

      Вывод Express в прод: PM2 в кластере, graceful shutdown по SIGTERM, обратный прокси nginx и чек-лист готовности.