Онлайн-курс «Node.js. Профессиональная разработка REST API»

Живые вебинары, Видеоуроки, Консультации / Самостоятельно с наставником / Обучение в ЛК на сайте автора

  • 2 месяца
  • 10 модулей
  • Сертификат
  • Участие в потоке

На курсе изучите процесс создания веб-страниц, научитесь писать на чистом CSS. После успешного завершения курса сможете начать карьеру фулстек-разработчика.

Автор: HTML Academy

Обновлено: 22.02.2024

Источник изображения: Unsplash

5 150  5 480
Скидка 6%
  • Оплата на сайте автора. Цена может отличаться.
  • Доступен в рассрочку
Этот онлайн-курс включает:
  • 2 месяца
  • 10 модулей
  • Обучение: в ЛК на сайте автора
  • Когда будете учиться: строго по расписанию
  • Уровень сложности: для новичков
  • Домашние задания: есть, с проверкой
  • Сопровождение: куратором
  • Сертификат
  • Техническая поддержка: в рабочее время, чат в вк, чат в мессенджере
  • Доступ: в день начала обучения
Node.js. Профессиональная разработка REST API

HTML Academy

Перейти на сайт

Что вы узнаете?

  • Чем серверный код на JavaScript отличается от обычного.
  • Как читать и создавать файлы, какие есть ограничения.
  • Какие бывают базы данных, и чем они отличаются.
  • Как ограничить доступ к определённым маршрутам в Express.js.
  • Как оформлять ошибки для людей и машин.
  • Какие он решает задачи CORS.

Об онлайн-курсе

Преимущества Node.js в разработке REST API — повышенная производительность и масштабируемость. Node.js использует однопоточную модель событийного цикла, которая обрабатывает одновременно множество запросов. Это важно для разработки REST API, где часто требуется обработка большого количества запросов и параллельная работа с базами хранения данных. На этом онлайн-курсе проводится углубленная подготовка по разработке REST API с использованием Node.js.

Программа рассчитана на frontend-разработчиков, уверенно применяющих JS и TypeScript. Эксперты онлайн-академии HTML Academy научат участников использовать потоки streams в Node.js, строить архитектура приложения с учетом принципов управления данными, безопасности, масштабируемости и обработки ошибок. На протяжении курса студентов сопровождают наставники-практики.

Краткая программа курса «Node.js. Профессиональная разработка REST API»:

  1. Знакомство с платформой Node.js. Отличия кода на JS от классического.
  2. Введение в БД. Как на сервере можно хранить данные и результативно использовать ресурсы.
  3. Проектирование REST API.
  4. Концепция middleware. Способы ограничения доступа.
  5. Frontend и Backend.

В результате вы улучшите свои знания и навыки в архитектурном стиле REST API. Освоив современные подходы и инструменты для создания качественных и масштабируемых приложений на сервере, с возможностью хранения данных, вы станете более востребованным на рынке IT.

Раздел 1.Введение в Node.js. CLI

Рассмотрим схему работы на курсе. Познакомимся с платформой Node.js и узнаем, для решения каких задач она подходит лучше всего. Обсудим чем серверный код на JavaScript отличается от обычного. Подготовим основу для проекта и напишем первое приложение с интерфейсом командной строки (CLI).

Организационные вопросы:

  • Обзор личных проектов.
  • Схема работы на курсе.
  • Репозиторий демо-проекта.

Практика:

  • TypeScript и Node.js.
  • Классы в TypeScript.
  • Подготовка окружения.
  • Разработка CLI.
  • Формат данных TSV.

Раздел 2. Цикл событий. Потоки (Streams)

Узнаем, как устроен цикл событий в Node.js. Познакомимся с микро- и макрозадачами. Разберёмся, от чего зависит порядок выполнения асинхронного кода. Затем погрузимся в работу с файловой системой. Узнаем, как читать и создавать файлы, какие есть ограничения, познакомимся с потоками (Streams). На практике разберёмся, как формировать большие файлы с данными и взаимодействовать с удалёнными серверами из Node.js.

  • Как устроен цикл событий (EventLoop).
  • Паттерн «Издатель-подписчик» (EventEmitter).
  • Абстракция Buffer.
  • Потоки (Streams).

Практика:

  • Экспорт данных в TSV.
  • Чтение больших файлов.
  • HTTP-запросы из Node.js.

Раздел 3. Архитектура приложения

Начнём проектировать архитектуру основного приложения. Обсудим разные подходы к построению архитектуры. Узнаем как разбивать приложение на отдельные слои. Спроектируем первые сервисы приложения: управление конфигурацией, логирование. Познакомимся с инверсией управления (IoC) и соберём контейнер зависимостей. Научимся применять библиотеку Inversify и внедрять зависимости.

  • Переменные окружения.
  • Логирование.

Практика:

  • Архитектура приложения.
  • Сервис управления конфигурацией.
  • Сервис логирования (pino).
  • IoC.
  • Внедрение зависимостей.

Раздел 4. Введение в базы данных. MongoDB

Познакомимся с базами данных и узнаем, какие бывают базы данных, и чем они отличаются. Разберёмся, как хранить данные на сервере. На практике познакомимся с MongoDB, научимся запускать её с помощью Docker и попрактикуемся в получении и записи данных. Научимся работать c MongoDB из Node.js: соединение, коллекции, модели (Mongoose, Typegoose).
Введение в базы данных.

  • Знакомство с Docker.
  • Mongoose.

Практика:

  • Установка MongoDB.
  • Клиент для MongoDB.
  • Mongoose.
  • Typegoose.

Раздел 5. Базы данных на практике. Проектирование REST

Попрактикуемся в работе с MongoDB из Node.js: опишем все модели, познакомимся с валидаторами, разработаем сервисы для доступа к данным. На практике познакомимся с паттерном DTO (Data Transfer Object). Подключим сервисы для работы с базой данных к CLI. Затем перейдём к проектированию REST API и спроектируем первую версию REST API. Познакомимся с форматом OpenAPI и опишем первую версию спецификации.

  • Разделение ответственности.
  • Data Transfer Object.
  • Проектирование REST API.
  • Формат OpenAPI, Swagger.

Практика:

  • Сервисы для доступа к данным.
  • Валидация данных.
  • Импорт данных в базу (CLI).
  • Спецификация OpenAPI.

Раздел 6. Express.js

Начнём имплементировать REST API. Познакомимся с фреймворком Express.js, обсудим его сильные и слабые стороны. Познакомимся с маршрутизацией. Спроектируем слой абстракции: контроллеры. Научимся формировать и обрабатывать запросы к API. Познакомимся с дополнительным инструментом nodemon. Узнаем, как обрабатывать ошибки.

  • Обработка запросов клиента.
  • Express.js.
  • И вновь MVC.
  • Практика:
  • Маршрутизация.
  • Перезапуск приложения.
  • Обработка ошибок.
  • Контроллеры.

Раздел 7. Middleware. Валидация. Загрузка файлов

Продолжим знакомиться с Express.js и разберёмся с концепцией middleware. Узнаем, что это такое, и какие задачи удобно решать с помощью middleware. Затем спроектируем дополнительную абстракцию и напишем несколько собственных middleware.

После этого плавно перейдём к вопросу валидации данных — узнаем, почему важно проверять данные от клиентов, и организуем проверку входных данных в проекте. На практике познакомимся инструментами для валидации joi и class-validator.

После этого перейдём к загрузке файлов. Клиенты могут передавать не только текстовые данные, но и целые файлы. Узнаем, как их принимать на стороне сервера, сохранять и возвращать клиентам. На практике реализуем загрузку аватарок пользователей.

  • Middleware.
  • Зачем и как валидировать данные.
  • Загрузка файлов.

Практика:

  • Middleware для валидации данных.
  • class-validator для валидации.
  • Загрузка файлов с помощью multer.
  • Middleware static.

Раздел 8. Ограничение доступа. Авторизация

Не все ресурсы должны быть доступны анонимным клиентам, поэтому разберёмся, как ограничить доступ к определённым ресурсам. Узнаем, как ограничить доступ к определённым маршрутам в Express.js. Разберёмся, чем авторизация отличается от аутентификации. Познакомимся с JWT (JSON Web Tokens) и научимся применять их на практике. Попрактикуемся в создании приватных маршрутов и реализуем сценарий «Вход в закрытую часть приложения».

  • Авторизация и аутентификация.
  • Сессии.
  • JSON Web Tokens.

Практика:

  • Приватные маршруты.
  • JWT.
  • jose.

Раздел 9.Бэкенд и фронтенд

Узнаем, как подружить бэкенд и фронтенд. Научимся переиспользовать DTO на стороне фронтенда. Вспомним про паттерн «Адаптер». Познакомимся с CORS и узнаем, какие он решает задачи. Отрефакторим обработку ошибок: посмотрим, как оформлять ошибки для людей и машин.

  • DTO и фронтенд.
  • CORS.

Практика:

  • CORS.
  • Рефакторинг: разделение ошибок.

Раздел 10. Финал

  • Подведём итоги курса. Обсудим дальнейший план изучения Node.js.
  • Формат
    Самостоятельно с наставником
    Живые вебинары / Видеоуроки / Консультации
    Обучение в ЛК на сайте автора
  • Продолжительность
    2 месяца
  • Уровень сложности
    Для новичков
  • Когда вы будете учиться
    Строго по расписанию
  • Домашние задания
    ЕстьС проверкой
  • Документ об обучении
    Сертификат Освоение программы курса
  • Сопровождение
    Куратором Работа с наставником 2 часа в неделю.
  • Техническая поддержка
    В рабочее времяЧат в вкЧат в мессенджере
  • Год выхода
    2023 Последнее обновление: 22.02.2024
  1. Нажмите на кнопку
    Узнать подробнее
  2. Вы перейдете на детальную страницу онлайн-курса Онлайн-академии. Внимательно прочитайте представленную на ней информацию.
  3. Следуя указаниям, оформите заказ на онлайн-курс.
  4. Обязательно укажите актуальный e-mail. На него придет вся информация, в частности, по доступу к онлайн-курсу.
  5. Если вы еще не готовы к покупке онлайн-курса, то советуем для начала освоить бесплатный материал Онлайн-академии.

Если инструкция вам не помогла, пожалуйста напишите нам на почту info@info-hit.ru, мы оперативно поможем вам получить необходимую информацию.

Отзывы об онлайн-курсе

Пока никто не оставил отзывов. Чтобы оставить отзыв перейдите на полную версию страницы.

Другие курсы автора