Запись 

[НТМL Academy] Node.js и Nest.js. Микросервисная архитектура

Зарегистрируйтесь, чтобы посмотреть скрытый контент
Организатор
Организатор
Организую Складчины
Команда форума
Сообщения
540 949
Реакции
8 403
Монеты
325
Оплачено
1
Ссылка на картинку
14 марта — 15 мая 2023

Курс разработан для тех, кто хочет сменить профессию и стать высокооплачиваемым профессионалом. Он подойдёт для работающих людей, у которых мало времени.

Программа курса
Раздел 1
Введение в микросервисы
Знакомимся с микросервисной архитектурой. Узнаем о плюсах и минусах микросервисов. Разберёмся, когда выгодно применять микросервисы, а в каких случаях оставаться на монолите. Обсудим стратегии декомпозиции и разобьём приложение на отдельные сервисы. Обсудим способы взаимодействия между сервисами.

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

Обзор личных проектов.
Схема работы на курсе.
Репозиторий демо-проекта.
Монорепозитории.
Проектирование микросервисов.
Стратегия декомпозиции приложения.

Практика

Подготовка рабочего окружения.
Декомпозиция функциональности приложения.
Подготовка диаграммы архитектуры приложения.
Подготовка монорепозитория с помощью NX.
Раздел 2
Введение в Nest
Знакомимся с фреймворком Nest. Обсуждаем архитектуру и его особенности. Учимся применять CLI для автоматизации рутинных операций и генерации шаблонного кода. Знакомимся с базовыми абстракциями Nest: модули, контроллеры, сервисы и провайдеры.

Знакомство с фреймворком Nest.
Когда выгодно применять Nest.
Nest CLI.
Базовые абстракции Nest.

Практика

Модули, контроллеры, провайдеры.
Формирование спецификации в OpenAPI.
Интеграция Nest CLI с NX.
Общие библиотеки в NX.
Имплементация REST API в Nest.
Раздел 3
Nest и базы данных. MongoDB
Разбираемся как интегрировать Mongo с Nest. Описываем модели. Настраиваем сервисы и решаем задачу по сохранению пользователей в базе данных. Знакомимся с паттерном «Репозиторий».

Docker и микросервисы.
Проверка состояния сервисов в контейнерах.
Управление конфигурацией приложения.
Валидация.
Динамические модули.
Пользовательские провайдеры.
Паттерн «Репозиторий».

Практика

Установка MongoDB в Docker.
Взаимодействие с MongoDB из Nest.
Практика управления конфигурацией приложения.
joi, class-validator, class-transform.
Раздел 4
Nest и базы данных. PostgreSQL
Знакомимся с объектно-реляционной системой управления базами данных — PostgreSQL. Осваиваем азы синтаксиса SQL. Проектируем схему базы данных. Знакомимся с PrismaORM для взаимодействия с базой данных.

Реляционные базы данных.
Введение в PostgreSQL.
Когда выгодно применять PostgreSQL.
Язык структурированных запросов (SQL).
Инструменты для взаимодействия с PostgreSQL (pgAdmin, psql).
ORM для Node.js

Практика

Установка PostgreSQL в Docker.
Подключаем PrismaORM к сервису.
Prisma CLI.
Миграции в Prisma ORM.
Проектируем и генерируем модели.
Добавляем связи между таблицами.
Имплементация CRUD.
Prisma ORM: наполнение базы тестовыми данными.
Раздел 5
Валидация и авторизация
Узнаем как реализовать аутентификацию и авторизацию в приложениях Nest на основе JWT. Учимся валидировать данные от клиента. Знакомимся с новыми абстракциями Nest: пайпы (pipes), guards, interceptors. Продолжаем разбираться с Prisma ORM. Учимся ограничивать выборки, создавать постраничную пагинацию, применять сортировки.

Nest и валидация входных данных.
Знакомство с абстракциями: pipes, guards, interceptors.
JWT и Nest.
Ограничение выборки данных.

Практика

Аутентификация и авторизация.
Паттерны DTO, RDO.
Валидация данных от клиента.
Пайпы (декораторы, ValidationPipe).
Пользовательские пайпы.
Prisma ORM. Постраничная пагинация.
Prisma ORM. Фильтрация, сортировки.
Обработка параметров запроса (query string).
Guards, interceptors.
Раздел 6
Взаимодействие между микросервисами. RabbitMQ
Узнаем про разные способы (синхронные и асинхронные) взаимодействия между микросервисами. Обсудим их преимущества и недостатки. Познакомимся с новым инструментом RabbitMQ (брокер сообщений). Научимся взаимодействовать с RabbitMQ из Nest-приложений.

Раздел 7
BFF (Backend For Frontend)
Знакомимся с паттерном BFF (Backend For Frontend). Какие задачи решает паттерн, когда его необходимо применять. Обсуждаем пути к имплементации, подводные камни. Разбираемся как взаимодействовать из Node.js с почтовыми серверами, протоколом SMTP. Реализуем отправку почтовых уведомлений из Nest.

Паттерн Backend For Frontend.
Слой BFF: какие задачи решает.
Инструменты для имплементации паттерна.
Несколько BFF?!

Практика

Дополнительная практика с RabbitMQ.
Разворачиваем в Docker SMTP-сервер для тестирования отправки email.
Рассылка email из Nest.
BFF.
Раздел 8
Деплой
Узнаем как подготовить и запустить приложение на настоящем сервере. Практикуемся работать с Docker. Продолжаем знакомиться с возможностями Nest: Exception Filters, загрузка файлов (на диск и в базу данных). Обсуждаем потенциальные улучшения для проекта. Задаём вектор дальнейшего развития.

Что такое деплой.
Подготовка приложения к деплою.
Публикация приложения (VDS).
Абстракции Nest: Exception Filters, Middleware.

Практика

Деплой приложения.
Exception Filters на практике.
Загрузка файлов.
Раздел 9
Финал
Подведём итоги и обсудим план дальнейшего развития.
 
Зарегистрируйтесь , чтобы посмотреть скрытый авторский контент.
Поиск по тегу:
Теги
html academy node.js и nest.js paola reina автор марина куршанова архитектура марина куршанова микросервисная архитектура ооак ооак paola reina ооак паола рейна паола рейна переделка родного тела шарнирное крепление головы шарнирное крепление рук шарнирное тело
Похожие складчины
Организатор
Ответы
0
Просмотры
106
Организатор
Организатор
Найти больше схожих складчин

Зарегистрируйте учетную запись

У вас появится больше возможностей!

Создать учетную запись

Пройдите быструю регистрацию

Войти

Уже зарегистрированы? Войдите.

Сверху