[HTML Academy] Node.js и Nest.js. Микросервисная архитектура [14 марта-15 мая 2023]
Нужен организатор, который сможет выдать материал в удобном html формате как
Продажник:
Важное (обязательно прочитать перед записью) :
Данная тема идет как онлайн доступ, а не как выкачка информации.
Доступ под виндоус - через настроенный браузер. Для мака - доступ через виртуалку (виртуалку ставите самостоятельно)
Сервисом пользуемся в любое время суток, без записи по времени.
Нажмите, чтобы раскрыть...
[HTML Academy] Онлайн‑курс Node.js и Nest.js. Микросервисная архитектура [14 марта — 15 мая 2023]
Курс разработан для тех, кто хочет сменить профессию и стать высокооплачиваемым профессионалом. Он подойдёт для работающих людей, у которых мало времени.
Курс разработан для тех, кто хочет сменить профессию и стать высокооплачиваемым профессионалом. Он подойдёт для работающих людей, у которых мало времени.
Раздел 1
Введение в микросервисы
Знакомимся с микросервисной архитектурой. Узнаем о плюсах и минусах микросервисов. Разберёмся, когда выгодно применять микросервисы, а в каких случаях оставаться на монолите. Обсудим стратегии декомпозиции и разобьём приложение на отдельные сервисы. Обсудим способы взаимодействия между сервисами.
Организационные вопросы.
Введение в Nest
Знакомимся с фреймворком Nest. Обсуждаем архитектуру и его особенности. Учимся применять CLI для автоматизации рутинных операций и генерации шаблонного кода. Знакомимся с базовыми абстракциями Nest: модули, контроллеры, сервисы и провайдеры.
Nest и базы данных. MongoDB
Разбираемся как интегрировать Mongo с Nest. Описываем модели. Настраиваем сервисы и решаем задачу по сохранению пользователей в базе данных. Знакомимся с паттерном «Репозиторий».
Nest и базы данных. PostgreSQL
Знакомимся с объектно-реляционной системой управления базами данных — PostgreSQL. Осваиваем азы синтаксиса SQL. Проектируем схему базы данных. Знакомимся с PrismaORM для взаимодействия с базой данных.
Валидация и авторизация
Узнаем как реализовать аутентификацию и авторизацию в приложениях Nest на основе JWT. Учимся валидировать данные от клиента. Знакомимся с новыми абстракциями Nest: пайпы (pipes), guards, interceptors. Продолжаем разбираться с Prisma ORM. Учимся ограничивать выборки, создавать постраничную пагинацию, применять сортировки.
Взаимодействие между микросервисами. RabbitMQ
Узнаем про разные способы (синхронные и асинхронные) взаимодействия между микросервисами. Обсудим их преимущества и недостатки. Познакомимся с новым инструментом RabbitMQ (брокер сообщений). Научимся взаимодействовать с RabbitMQ из Nest-приложений.
Раздел 7
BFF (Backend For Frontend)
Знакомимся с паттерном BFF (Backend For Frontend). Какие задачи решает паттерн, когда его необходимо применять. Обсуждаем пути к имплементации, подводные камни. Разбираемся как взаимодействовать из Node.js с почтовыми серверами, протоколом SMTP. Реализуем отправку почтовых уведомлений из Nest.
Деплой
Узнаем как подготовить и запустить приложение на настоящем сервере. Практикуемся работать с Docker. Продолжаем знакомиться с возможностями Nest: Exception Filters, загрузка файлов (на диск и в базу данных). Обсуждаем потенциальные улучшения для проекта. Задаём вектор дальнейшего развития.
Финал
Подведём итоги и обсудим план дальнейшего развития.
Введение в микросервисы
Знакомимся с микросервисной архитектурой. Узнаем о плюсах и минусах микросервисов. Разберёмся, когда выгодно применять микросервисы, а в каких случаях оставаться на монолите. Обсудим стратегии декомпозиции и разобьём приложение на отдельные сервисы. Обсудим способы взаимодействия между сервисами.
Организационные вопросы.
- Обзор личных проектов.
- Схема работы на курсе.
- Репозиторий демо-проекта.
- Монорепозитории.
- Проектирование микросервисов.
- Стратегия декомпозиции приложения.
- Подготовка рабочего окружения.
- Декомпозиция функциональности приложения.
- Подготовка диаграммы архитектуры приложения.
- Подготовка монорепозитория с помощью NX.
Введение в Nest
Знакомимся с фреймворком Nest. Обсуждаем архитектуру и его особенности. Учимся применять CLI для автоматизации рутинных операций и генерации шаблонного кода. Знакомимся с базовыми абстракциями Nest: модули, контроллеры, сервисы и провайдеры.
- Знакомство с фреймворком Nest.
- Когда выгодно применять Nest.
- Nest CLI.
- Базовые абстракции Nest.
- Модули, контроллеры, провайдеры.
- Формирование спецификации в OpenAPI.
- Интеграция Nest CLI с NX.
- Общие библиотеки в NX.
- Имплементация REST API в Nest.
Nest и базы данных. MongoDB
Разбираемся как интегрировать Mongo с Nest. Описываем модели. Настраиваем сервисы и решаем задачу по сохранению пользователей в базе данных. Знакомимся с паттерном «Репозиторий».
- Docker и микросервисы.
- Проверка состояния сервисов в контейнерах.
- Управление конфигурацией приложения.
- Валидация.
- Динамические модули.
- Пользовательские провайдеры.
- Паттерн «Репозиторий».
- Установка MongoDB в Docker.
- Взаимодействие с MongoDB из Nest.
- Практика управления конфигурацией приложения.
- joi, class-validator, class-transform.
Nest и базы данных. PostgreSQL
Знакомимся с объектно-реляционной системой управления базами данных — PostgreSQL. Осваиваем азы синтаксиса SQL. Проектируем схему базы данных. Знакомимся с PrismaORM для взаимодействия с базой данных.
- Реляционные базы данных.
- Введение в PostgreSQL.
- Когда выгодно применять PostgreSQL.
- Язык структурированных запросов (SQL).
- Инструменты для взаимодействия с PostgreSQL (pgAdmin, psql).
- ORM для Node.js
- Установка PostgreSQL в Docker.
- Подключаем PrismaORM к сервису.
- Prisma CLI.
- Миграции в Prisma ORM.
- Проектируем и генерируем модели.
- Добавляем связи между таблицами.
- Имплементация CRUD.
- Prisma ORM: наполнение базы тестовыми данными.
Валидация и авторизация
Узнаем как реализовать аутентификацию и авторизацию в приложениях 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.
Взаимодействие между микросервисами. 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.
Деплой
Узнаем как подготовить и запустить приложение на настоящем сервере. Практикуемся работать с Docker. Продолжаем знакомиться с возможностями Nest: Exception Filters, загрузка файлов (на диск и в базу данных). Обсуждаем потенциальные улучшения для проекта. Задаём вектор дальнейшего развития.
- Что такое деплой.
- Подготовка приложения к деплою.
- Публикация приложения (VDS).
- Абстракции Nest: Exception Filters, Middleware.
- Деплой приложения.
- Exception Filters на практике.
- Загрузка файлов.
Финал
Подведём итоги и обсудим план дальнейшего развития.
Нужен организатор, который сможет выдать материал в удобном html формате как
Продажник:
https://htmlacademy.ru/intensive/nodejs-2
goto/post?id=9025565#post-9025565