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

2 мая — 3 июля 2023

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

150 000 ₽

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

Консультация по телефону 8 800 555-86-28.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Учебный проект «Куплю. Продам»

«Куплю. Продам»

Интернет-сервис, упрощающий продажу или покупку любых вещей. Всё, что требуется для покупки: найти подходящее объявление и связаться с продавцом по email. Продать ненужные вещи ничуть не сложней: зарегистрируйтесь и заполните форму нового объявления.

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

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

Личный проект «Шесть городов»

«Шесть городов»

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

Личный проект «Что посмотреть»

«Что посмотреть»

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

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

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

В Авито нет верстальщиков, только фронтенд-разработчики разных уровней. Чтобы попасть к нам на работу младшим разработчиком, человек должен обладать определёнными навыками. Это уверенное владение базовыми технологиями: 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

Введение в 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.

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

Операционная система
  • Windows 10 x64
  • Mac OS 11 Big Sur и новее
  • Ubuntu 20.04 и новее
Браузер
  • Браузер, основанный на Blink: Chrome, Яндекс.Браузер, Opera, Edge — последняя версия
  • Mozilla Firefox последняя версия
  • Apple Safari 15.2 и новее
Система контроля версий
  • Git
  • Git bash для Windows
Среда разработки
  • Node.js LTS
  • npm (версия, которая поставляется вместе с Node.js)
  • MongoDB, последняя версия

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

Консультация по телефону 8 800 555-86-28.

Сертификат

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

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

Сертификат онлайн-курса «Node.js. Разработка серверов приложений и API»

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

  • 10лет на рынке обучения
  • 166онлайн-курсов проведено
  • 30 430выпускников защитили проекты
К сожалению, места на курсе закончились. Но этот курс входит в программу профессии «Фулстек-разработчик», также его можно приобрести отдельно в синхронном формате.

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

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


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