JS Tower
Node.js

Дорожная карта

Путь от нуля до Middle Node.js разработчика

Добро пожаловать

Этот курс проведет тебя от основ Node.js до уровня Middle backend-разработчика. Программа покрывает более 90% знаний, которые требуются на собеседованиях и в реальной работе.

Структура курса:

  • Модули 1-2 — Основы Node.js и экосистема
  • Модули 3-4 — Работа с данными и HTTP
  • Модули 5-6 — Базы данных и безопасность
  • Модуль 7 — Тестирование и деплой

Общее время: 50-70 часов

Требования: Знание JavaScript на уровне курса JavaScript & TypeScript


Node.js: Основы

Модуль 1: Введение в Node.js

Время: 6-8 часов

Понимание основ Node.js — фундамент для backend-разработки.

Что такое Node.js

Архитектура, V8, однопоточность, Event Loop

Глобальные объекты

global, process, __dirname, __filename, Buffer

Модульная система

CommonJS, ES Modules, require, import/export

События и EventEmitter

Паттерн Observer, создание эмиттеров, обработка событий

Асинхронность в Node.js

Callbacks, Promises, async/await, параллельное выполнение


Модуль 2: Экосистема npm

Время: 4-5 часов

npm — сердце экосистемы Node.js. Научись управлять зависимостями.

Основы npm

package.json, установка пакетов, версионирование

npm scripts

Автоматизация задач, pre/post хуки, переменные окружения

Работа с зависимостями

dependencies vs devDependencies, lock-файлы, обновление

Создание своего пакета

Публикация в npm, семантическое версионирование


Node.js: Работа с данными

Модуль 3: Файловая система и потоки

Время: 6-8 часов

Работа с файлами — одна из ключевых задач backend-разработки.

Модуль fs

Чтение, запись, удаление файлов, синхронные и асинхронные методы

Модуль path

Работа с путями, join, resolve, basename, extname

Потоки (Streams)

Readable, Writable, Transform, Duplex, pipe

Буферы

Работа с бинарными данными, кодировки

Работа с директориями

Создание, удаление, рекурсивный обход


Модуль 4: HTTP и веб-серверы

Время: 10-12 часов

Создание веб-серверов — основная задача Node.js разработчика.

Модуль http

Создание сервера, обработка запросов и ответов

Введение в Express

Установка, middleware, маршрутизация

Маршрутизация

Параметры, query strings, Router

Middleware

Встроенные, сторонние, создание своих

Обработка данных

JSON, формы, загрузка файлов (multer)

Обработка ошибок

Централизованная обработка, кастомные ошибки

REST API

Принципы REST, CRUD операции, статус-коды


Node.js: Базы данных

Модуль 5: Работа с базами данных

Время: 10-12 часов

Хранение данных — критически важный навык для backend.

Введение в базы данных

SQL vs NoSQL, выбор базы данных

MongoDB и Mongoose

Подключение, схемы, модели, CRUD операции

PostgreSQL и Prisma

Подключение, миграции, типизация

Валидация данных

Joi, Zod, express-validator

Отношения и связи

One-to-Many, Many-to-Many, populate, join

Оптимизация запросов

Индексы, пагинация, кэширование


Node.js: Безопасность

Модуль 6: Аутентификация и безопасность

Время: 8-10 часов

Безопасность — обязательное требование для любого backend.

Аутентификация

Sessions, Cookies, JWT токены

Авторизация

Роли, права доступа, middleware защиты

OAuth 2.0

Вход через Google, GitHub, Passport.js

Защита от атак

XSS, CSRF, SQL Injection, Rate Limiting, CORS

Переменные окружения

dotenv, конфигурация, секреты


Node.js: Продакшен

Модуль 7: Тестирование и деплой

Время: 8-10 часов

Качественный код требует тестов. Деплой — финальный шаг.

Юнит-тестирование

Jest, Mocha, структура тестов

Интеграционное тестирование

Supertest, тестирование API

Логирование

Winston, Morgan, уровни логов

Docker

Dockerfile, docker-compose, контейнеризация

CI/CD

GitHub Actions, автоматический деплой

Деплой

Heroku, Railway, VPS, PM2


Что дальше

После прохождения курса ты готов к:


Статистика покрытия

КатегорияПокрытие
Основы Node.js100%
npm и модули95%
Файловая система95%
HTTP и Express95%
Базы данных90%
Безопасность90%
Тестирование85%
Деплой85%
Общее покрытие для Middle>90%

Советы

  1. Практикуйся — создавай реальные проекты после каждого модуля
  2. Читай документацию — официальная документация Node.js отлично написана
  3. Изучай исходники — смотри как устроены популярные пакеты
  4. Делай код-ревью — учись на чужом коде
  5. Участвуй в open-source — это лучший способ расти

Готов? Начни с Модуля 1: Введение в Node.js.

On this page

Добро пожаловатьNode.js: ОсновыМодуль 1: Введение в Node.jsЧто такое Node.jsГлобальные объектыМодульная системаСобытия и EventEmitterАсинхронность в Node.jsМодуль 2: Экосистема npmОсновы npmnpm scriptsРабота с зависимостямиСоздание своего пакетаNode.js: Работа с даннымиМодуль 3: Файловая система и потокиМодуль fsМодуль pathПотоки (Streams)БуферыРабота с директориямиМодуль 4: HTTP и веб-серверыМодуль httpВведение в ExpressМаршрутизацияMiddlewareОбработка данныхОбработка ошибокREST APINode.js: Базы данныхМодуль 5: Работа с базами данныхВведение в базы данныхMongoDB и MongoosePostgreSQL и PrismaВалидация данныхОтношения и связиОптимизация запросовNode.js: БезопасностьМодуль 6: Аутентификация и безопасностьАутентификацияАвторизацияХеширование паролейOAuth 2.0Защита от атакПеременные окруженияNode.js: ПродакшенМодуль 7: Тестирование и деплойЮнит-тестированиеИнтеграционное тестированиеЛогированиеDockerCI/CDДеплойЧто дальшеСтатистика покрытияСоветы