Мы используем cookie для стабильной работы сервиса. Подробнее

Node.js — с нуля, основы и построение архитектуры приложений

4.3
ФорматОнлайн
Объём18 занятий
УровеньНачальный
По окончанииСертификат Stepik
О курсе

Подробнее

Node.js - это среда выполнения JavaScript на backend, спроектированная для построения масштабируемых сетевых приложений. На текущий момент его используют уже не только для создания backend for frontend, но и для написания полноценных backend приложений, микросервисов и парсеров сайтов. Он не заменим для создания GraphQL API или выполнения SSR frontend приложений. В курсе мы разберём его с нуля, поэтому от вас требуется только начальное знание JavaScript. Этот курс отличается от многих тем, что мы не будем просто писать API на express. Наша задача на практике познакомится со всеми концепциями Node.js и написать несколько приложений - простую CLI утилиту прогноза погоды и архитектурно сложное API, где express нам нужен будет только для перенаправления запросов и промежуточных обработчиков. В остальном API будет спроектирована по принципу многоуровневой архитектуры (layer architecture), где мы явно отделим слои обработчиков, контроллеров, сервисов и репозиториев друг от друга. Мы даже напишем свой небольшой framework, который легко можно масштабировать и где компоненты будут максимально отделимы друг от друга. Именно это позволит вам в полной мере изучить все особенности Node.js, построение архитектуры и получить понимание принципов на которых базируются крупные framework типа NestJS. Мы детально изучим: Внутреннее устройство Node.js Работу таймеров и events CommonJS и ES Modules Многопоточность и оптимизацию производительности Работу движка V8 Работу с Node Package Manager Работу со стандартными библиотеками и переменными окружений Framework Express Перевод приложений на TypeScript Layer архитектуру Dependency Injection и Inversion of control Библиотеку InversifyJS Отладку приложения и поиск утечек памяти или проблем производительности Авторизацию и JWT Работу с SQL ORM Prisma Написание unit и e2e тестов Лекции содержат как теоретическую часть, так и live-code, где мы вместе будем писать и проектировать наши приложения. В конце каждого модуля вас ожидает тест, который позволит укрепить ваши знания, а небольшие упражнения по ходу курса - попрактиковаться писать код. В результате курса вы получите знания и навыки для эффективного написания приложений на Node.js и перехода к большим современным framework типа NestJS. Более того, примеры кода, которые вы увидите в курсе написаны с учётом реальной практики проектирования и написания легко поддерживаемых и масштабируемых приложений.
Требования

Что нужно для старта

  • Знание JavaScript на начальном уровне
Аудитория

Для кого этот курс

  • - Начинающие разработчики со знанием JavaScript
  • - Frontend разработчики, которые хотят стать fullstack
  • - Опытным разработчики, которые хотят познакомиться с NodeJS
Содержание

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

18 занятий
ТемаЧто внутри
01Введение

- Почему NodeJS для backend?
- Как устроен курс
- Обзор проектов
- Обзор курсов
- Перенос курса

02Настройка окружения

- Подготовка окружения
- Установка и версии NodeJS
- Настройки VSCode

03Начало работы с Node.js

- Вводное видео
- Сравнение сред выполнения JS
- Запускаем код и REPL
- Модули в JavaScript
- CommonJS Modules
- ES Modules
- Глобальные переменные
- Events
- Тест - Начало работы с Node.js

04Как работает Node.js?

- Устройство Node.js
- Event Loop
- Таймеры
- Пример работы event loop
- Stack вызова
- Worker threads
- Измерение производительности
- Тест - Как работает Node.js

05Многопоточность

- Использование worker threads
- Spawn и exec
- Fork
- Упражнение - Производительность потоков
- Тест - Многопоточность

06Движок V8

- Устройство V8
- Работа с памятью

07Node Package Manager

- Вводное видео
- Обзор NPM
- Авторизация и профиль
- Разбор package.json
- Управление зависимостями
- Тест - Node Package Manager

08Приложение 1 - CLI прогноз погоды

- Обзор приложения
- Аргументы командной строки
- Вывод в консоль
- OS и path
- Работа с файловой системой
- Взаимодействие с API
- Переменные окружения
- Обработка ошибок
- Упражнение - Завершение приложения
- Публикация пакета в NPM
- Npx и npm exec
- Тест - CLI прогноз погоды

09Приложение 2 - API с ExpressJS

- Вводное видео
- Простой http сервер
- Переходим на express
- Маршрутизация
- Ответы клиенту
- Router
- Промежуточные обработчики

10Переход на TypeScript

- Дополнительный курс по TypeScript
- Почему TypeScript?
- Начало работы с TypeScript
- Базовые типы
- Union типы
- Interfaces и Types
- Литеральные типы
- Enum
- Generics
- Классы
- Другие типы и возможности
- Тест - TypeScript

11Первый шаг к архитектуре

- Обзор архитектуры
- Пишем класс приложения
- Добавляем логгер
- Базовый класс контроллера
- Упражнение - Контроллер пользователей
- Обработка ошибок

12Dependency Injection

- Разбор DI и IOC
- Декораторы
- Metadata Reflection
- Внедряем InversifyJS
- Упражнение - Улучшаем DI
- Тест - Dependency Injection

13Отладка и watch

- Eslint и prettier
- Подключение nodemon
- Отладка
- Анализ памяти
- Мониторинг производительности

14Второй шаг к архитектуре

- Улучшение архитектуры
- Data transfer object
- User entity
- Сервис users
- Middleware для роутов
- Валидация данных

15Работа с базой данных

- Сервис конфигурации
- Работа с prisma
- Репозиторий users
- Упражнение - Логин пользователя

16Авторизация

- Работа JWT
- Создание токена
- Middleware для проверки jwt
- Упражнение - Guard авторизации
- Тест - Авторизация

17Тесты

- Виды тестирования
- Unit тесты
- Упражнение - Новые unit тесты
- E2e тесты
- Упражнение - Дописываем e2e тесты

18Заключение

- Куда двигаться дальше?

01Введение

- Почему NodeJS для backend?
- Как устроен курс
- Обзор проектов
- Обзор курсов
- Перенос курса

02Настройка окружения

- Подготовка окружения
- Установка и версии NodeJS
- Настройки VSCode

03Начало работы с Node.js

- Вводное видео
- Сравнение сред выполнения JS
- Запускаем код и REPL
- Модули в JavaScript
- CommonJS Modules
- ES Modules
- Глобальные переменные
- Events
- Тест - Начало работы с Node.js

04Как работает Node.js?

- Устройство Node.js
- Event Loop
- Таймеры
- Пример работы event loop
- Stack вызова
- Worker threads
- Измерение производительности
- Тест - Как работает Node.js

05Многопоточность

- Использование worker threads
- Spawn и exec
- Fork
- Упражнение - Производительность потоков
- Тест - Многопоточность

06Движок V8

- Устройство V8
- Работа с памятью

07Node Package Manager

- Вводное видео
- Обзор NPM
- Авторизация и профиль
- Разбор package.json
- Управление зависимостями
- Тест - Node Package Manager

08Приложение 1 - CLI прогноз погоды

- Обзор приложения
- Аргументы командной строки
- Вывод в консоль
- OS и path
- Работа с файловой системой
- Взаимодействие с API
- Переменные окружения
- Обработка ошибок
- Упражнение - Завершение приложения
- Публикация пакета в NPM
- Npx и npm exec
- Тест - CLI прогноз погоды

09Приложение 2 - API с ExpressJS

- Вводное видео
- Простой http сервер
- Переходим на express
- Маршрутизация
- Ответы клиенту
- Router
- Промежуточные обработчики

10Переход на TypeScript

- Дополнительный курс по TypeScript
- Почему TypeScript?
- Начало работы с TypeScript
- Базовые типы
- Union типы
- Interfaces и Types
- Литеральные типы
- Enum
- Generics
- Классы
- Другие типы и возможности
- Тест - TypeScript

11Первый шаг к архитектуре

- Обзор архитектуры
- Пишем класс приложения
- Добавляем логгер
- Базовый класс контроллера
- Упражнение - Контроллер пользователей
- Обработка ошибок

12Dependency Injection

- Разбор DI и IOC
- Декораторы
- Metadata Reflection
- Внедряем InversifyJS
- Упражнение - Улучшаем DI
- Тест - Dependency Injection

13Отладка и watch

- Eslint и prettier
- Подключение nodemon
- Отладка
- Анализ памяти
- Мониторинг производительности

14Второй шаг к архитектуре

- Улучшение архитектуры
- Data transfer object
- User entity
- Сервис users
- Middleware для роутов
- Валидация данных

15Работа с базой данных

- Сервис конфигурации
- Работа с prisma
- Репозиторий users
- Упражнение - Логин пользователя

16Авторизация

- Работа JWT
- Создание токена
- Middleware для проверки jwt
- Упражнение - Guard авторизации
- Тест - Авторизация

17Тесты

- Виды тестирования
- Unit тесты
- Упражнение - Новые unit тесты
- E2e тесты
- Упражнение - Дописываем e2e тесты

18Заключение

- Куда двигаться дальше?

Документ после выпуска

Сертификат Stepik

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

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

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Node.js — с нуля, основы и построение архитектуры приложений» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Направления:JavaScript

Информация обновлена 28 июля 2026 г.

Продолжить выбор

Похожие курсы

Начать без затрат

Бесплатные курсы