Дорожная карта
Путь от нуля до 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 защиты
Хеширование паролей
bcrypt, argon2, salt
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
Что дальше
После прохождения курса ты готов к:
Микросервисы
Архитектура микросервисов, gRPC, Message Queues
GraphQL
Apollo Server, схемы, резолверы
WebSockets
Socket.io, real-time приложения
Статистика покрытия
| Категория | Покрытие |
|---|---|
| Основы Node.js | 100% |
| npm и модули | 95% |
| Файловая система | 95% |
| HTTP и Express | 95% |
| Базы данных | 90% |
| Безопасность | 90% |
| Тестирование | 85% |
| Деплой | 85% |
| Общее покрытие для Middle | >90% |
Советы
- Практикуйся — создавай реальные проекты после каждого модуля
- Читай документацию — официальная документация Node.js отлично написана
- Изучай исходники — смотри как устроены популярные пакеты
- Делай код-ревью — учись на чужом коде
- Участвуй в open-source — это лучший способ расти
Готов? Начни с Модуля 1: Введение в Node.js.