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 на начальном уровне