Онлайн‑курс Node.js и Nest.js. Микросервисная архитектура

2 июля — 2 сентября 2024

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

Запишитесь на консультацию

Оставьте свои контакты, мы свяжемся с вами и ответим на все вопросы.

*Обязательное поле
Записаться на консультацию

Почему курс профессиональный

На этом курсе вы научитесь делать настоящие проекты, такие же по уровню сложности, как в индустрии. И будете делать их правильно, чтобы после обучения выдавать результат высокого уровня, за который компании готовы платить.

Чтобы добиться такого качества обучения, мы используем профессиональную триаду «критерии-проекты-наставники»:

НаставникиПроверкой ваших проектов на соответствие критериям качества занимаются наставники, которые являются профессиональными разработчиками.

Критерии качестваПрофессиональные критерии качества мы разрабатываем совместно с компаниями и профессиональным сообществом.

Настоящие проектыВ течение обучения вы выполняете настоящие проекты.

Настоящие проекты

В течение обучения вы выполняете настоящие проекты.

Как проходит
обучение на курсе

Что вас ждёт на обучении

Подходит ли вам этот курс

Учим делать правильно

Ориентировочная зарплата выпускника

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

183 000 ₽

Информация о медианных зарплатах в городе Москва получена на основе исследования компании «Хабр Карьера» во втором полугодии 2023 года.

Цена повысится через 12 дней.

Наставники — это опытные профессионалы, работающие в индустрии

Профессиональный наставник

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

Чтобы отбирать таких специалистов, мы построили уникальную систему привлечения и фильтрации.

Вместе с наставником вы будете разрабатывать проект в экосистеме, привычной профессионалам. Рабочий процесс мало отличается от реальной разработки в больших компаниях.

Процесс отбора наставника

  1. Формальные требования

    Проверяем, кем и где кандидат в наставники работал, какой у него опыт, а также смотрим на его код.

  2. Собеседование

    Проводим часовое собеседование, на котором проверяем знание предметной области, а также умение понятно объяснять и другие человеческие качества.

  3. Регулярная обратная связь

    Прошедших собеседование кандидатов допускаем до учеников. На этом путь наставника только начинается. После каждого курса мы собираем обратную связь, которая помогает наставникам совершенствоваться.

Процесс работы с наставником

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

Привет. У меня последний блок с товарами почему-то выравнивается неправильно, всё перепробовала. Взглянешь?
Давай сегодня созвонимся и разберёмся вместе?
Голосовая консультация с наставником

Детальная обратная связь

Ревью кода — это привычная практика, используемая в крупных компаниях, когда более опытный разработчик проверяет код менее опытного. Львиную долю обратной связи вы получите от наставника в виде ревью кода. Он прочитает каждую строчку, оставит комментарии и поможет сделать ваше решение правильным.

Голосовые консультации

А когда ревью кода недостаточно, наставники используют голосовые консультации, зачастую с демонстрацией экрана. На таких консультациях разбирают сложные вопросы или демонстрируют нетривиальные приёмы. Во время курса в зависимости от тарифа предусмотрено до 9 часов голосовых консультаций.

Учебный проект

Учебный проект будет общим для всех, над ним вы будете работать вместе с преподавателем на живых лекциях.

Проект уже свёрстан. В течение курса вы сфокусируетесь на главном: проектировании и программировании, применяя микросервисную архитектуру.

Учебный проект «Типотека»

«Типотека»

Простой headless-движок для блога, построен на микросервисной архитектуре. Для разработки микросервисов используется фреймворк Nest.js. Функциональность: управление контентом, регистрация и авторизация пользователей (JWT), отправка уведомлений на email, взаимодействие с брокером сообщений (RabbitMQ), имплементация паттерна BFF.

Личные проекты

На курсе вы будете работать над проектом «Readme». А на индивидуальном обучении вам будет доступен дополнительный проект «TaskForce».

Личный проект «Readme»

«Readme»

Продвинутая версия headless-движка для блога. Главная особенность сервиса — это формат постов. При публикации пользователь выбирает один из пяти доступных форматов записи. Такой формат публикации является чем-то средним между микроблогингом и полноценными, большими блог-постами.

Личный проект «TaskForce»

«TaskForce»

Онлайн площадка для поиска исполнителей на разовые задачи. Приложение функционирует как биржа объявлений, где заказчики — физические лица публикуют задания. Исполнители могут откликаться на эти задания, предлагая свои услуги и стоимость работ.

Отзывы компаний

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

В Авито нет верстальщиков, только фронтенд-разработчики разных уровней. Чтобы попасть к нам на работу младшим разработчиком, человек должен обладать определёнными навыками. Это уверенное владение базовыми технологиями: HTML, CSS и JavaScript, понимание того, как работает браузер, знание, как делать проекты кроссбраузерными, как работает API, DOM и другие важные основы. Кроме этого мы ценим ответственность, умение играть в команде, желание развиваться и инициативность.

Мне, как наставнику на курсах и бывшей студентке, известны стандарты качества Академии и то, как строится работа. Всё максимально приближено к реальным условиям — используется система контроля версий Git, есть разбивка проекта на этапы (своеобразные итерации), обязательное ревью кода наставниками и неумолимый дедлайн. Большое внимание уделяется доступности интерфейсов, а это полезно для всей отрасли.

В целом программа обучения в Академии построена грамотно для старта. Она помогает подготовить универсального бойца, который сможет качественно заниматься разработкой и в студии, и в крупной продуктовой компании. Если человек защитился на 100%, то это показатель, что у него всё в порядке с обучаемостью, мотивированностью и личными качествами, которые понадобятся в будущем на работе. А дальше уже всё зависит от активности и способности доказать свои умения делом.

Яна Крикливая разработчик клиентской части, Авито

Авито

Авито Интернет-сервис для размещения объявлений о товарах, услугах, вакансиях и резюме на рынке труда.

Что касается вёрстки и создания веб-страниц, мы в команде трепетно относимся к семантической разметке и её пониманию, умению писать на чистом CSS и системному мышлению у разработчика. Страницы должны быть не только красивыми для пользователя, но и быстро загружаться, быть структурированными и, конечно, удобными для работы в команде. При нашем объёме проектов уделять этому внимание очень важно.

Кроме этого, ценится понимание принципов доступности, так как думать о людях, которые будут пользоваться интерфейсом — это хороший тон. Человек, который присоединяется к нашей команде не должен бояться решать незнакомые задачи, искать нестандартные решения и брать ответственность.

В этом смысле, подход Академии к обучению кажется адекватным: кодревью от опытного разработчика хорошо подготавливает к работе. Особенно ценно, что вся работа над проектами сразу идёт через Git — у нас также вся работа в компании проходит через обязательные ревью.

Сейчас в команде работает выпускник Академии Павел и я им доволен. Необходимые базовые навыки, понимание семантики, работа с чистым CSS — всё это на хорошем уровне, а что касается JavaScript — он быстро ориентируется, если делал что-то похожее — вспоминает. Он был сразу готов взять и начать работать.

Иногда бывает, что при выходе нового джуниор-разработчика, менторить приходится до самых мелких моментов. В случае с Павлом вливание в команду прошло практически беззаботно.

Мне, как руководителю не важны сертификаты и дипломы, я смотрю на код, который пишет человек, что им движет работать в этой сфере, почему он выбрал именно фронтенд. Поэтому если я вижу, что человек самостоятельно развивается, проходит курсы и целеустремлён — для меня это хороший показатель его заинтересованности.

Сергей Чикирев Wrike Website Team Lead

Wrike

Wrike Популярный сервис для управления проектами и совместной работы.

Мы в Ostrovok.ru постоянно ищем талантливых ребят: наш продукт быстро развивается и лишние фронтендерские руки (желательно «золотые») нужны всегда. Хорошего специалиста найти не так просто, поэтому мы уже несколько раз обращались к Академии, когда подбирали джуниоров.

Ребята приходили с хорошей базой и горящими глазами, быстро вливались в процессы и команду. Сейчас в Ostrovok.ru работают три выпускника Академии — все на позиции джунов и отлично справляются.

Спасибо Академии за хорошо подготовленных специалистов.

Ostrovok.ru

Ostrovok.ru Интернет-сервис по бронированию более 900 000 отелей.

Мы регулярно отправляем своих сотрудников на тренинги, семинары, интенсивы и всячески открыты к образовательным программам, так мы и познакомились с HTML Academy.

Сотрудники, прошедшие курсы, рассказывают, что материал в лекциях и заданиях изложен доступно и интересно. Отмечают также что после обучения, в какой-то мере, перестраивается мышление и начинаешь глубже понимать специфику языка, а это помогает в работе. Обучению им пришлось уделять действительно много времени, но это того стоит.

Для наших задач в компании, программа обучения включает в себя все необходимые железные основы и даже некоторые хитрости, поэтому мы отправляем на обучение в Академию как разработчиков с опытом, чтобы структурировать знания, так и новичков, чтобы подтянуть их на нужный уровень.

Валерия Шемякина Менеджер по обучению Ozon.

Ozon

Ozon Крупнейший российский интернет-магазин.

HTML Академия — лучшее, что происходило с ИТ-образованием в России.

Если вы боитесь, что не разберётесь или «программирование — это не для вас», то HTML Академия подойдёт вам идеально. Всегда будет у кого спросить и кто вас поддержит.

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

Андрей Ситник

Андрей Ситник Автор множества проектов с открытым исходным кодом. Создатель PostCSS, Autoprefixer и Logux_io.

К нам на вакансию фронтенд-разработчика пришёл выпускник Академии. Знания, полученные на интенсивах по JavaScript и вёрстке помогают ему решать задачи с минимальными трудозатратами.

В целом, именно обучение на курсах Академии дало нашему сотруднику возможность развиваться как хорошему разработчику и профессионально подходить к решению проблем в работе.

ГиперМетод

ГиперМетод Ведущий разработчик решений для организации дистанционного обучения, управления знаниями и учебным процессом, развития и оценки персонала в компаниях и учебных заведениях.

Огромное спасибо HTML Academy за крутых выпускников! Три человека брали к себе на стажировку, в последующем два из них остались у нас на постоянной работе. Классные ребята с хорошим бэкграундом! Академия обучает сильных специалистов!

NORDMOUNT

NORDMOUNT Внедрение, кастомизация и интеграция Salesforce на рынках США и западной Европы.

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

Раздел 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-приложений.

  • Взаимодействия между микросервисами.
  • Брокеры сообщений.
  • Когда выгодно применять брокеры.
  • RabbitMQ.
  • Publisher, Consumer, Exchange, Queue.
  • Виды очередей в RabbitMQ.
Практика

Практика

  • Установка RabbitMQ в Docker.
  • Создание Exchange, Queue.
  • 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

Финал

Подведём итоги и обсудим план дальнейшего развития.

Рекомендованные для прохождения курса программы *

Операционная система
  • Windows 10×64 Home или Pro 21H1 (build 19043) или выше
  • Windows 11×64 Home или Pro 21H2 или выше
  • Linux (актуальные LTS версии Ubuntu, Debian и другие)
  • Mac OS 11 Big Sur и новее
Браузер
  • Браузер, основанный на Blink: Chrome, Яндекс.Браузер, Opera, Edge — последняя версия
  • Mozilla Firefox последняя версия
  • Apple Safari 15.2 и новее
Система контроля версий
  • Git
  • Git bash для Windows
Среда разработки
  • Node.js LTS
  • npm (версия, которая поставляется вместе с Node.js)
  • MongoDB, последняя версия

* Мы рекомендуем такое окружение, потому что проверили на нём все учебные задачи и убедились, что с таким набором программ всё работает без ошибок.

Цена повысится через 12 дней.

Сертификат

После прохождения курса вы получите электронный сертификат

Образовательная деятельность осуществляется на основании государственной лицензии № 3026 от 6 июня 2017 года.

Сертификат онлайн-курса «Node.js и Nest.js. Микросервисная архитектура»

Статистика Академии

  • 12лет на рынке обучения
  • 246онлайн-курсов проведено
  • 43 626выпускников защитили проекты

Загружаем…

Индивидуальный формат Хит

Индивидуальный формат идеально подходит для компаний. Сделайте процесс обучения сотрудников максимально эффективным и подстройте его под рабочий график.

Вы частное лицо и вам нужно стартовать прямо сейчас и получить профессию за несколько месяцев интенсивного обучения? Это возможно в индивидуальном формате, ведь он максимально близок к персональному менторству.

Запишитесь на консультацию

Мы поможем выбрать курс, ответим на все вопросы и расскажем о действующих скидках.


*Обязательное поле