Node.js - с нуля, основы и построение архитектуры приложений
Полный курс по написанию приложений на Node.js и построению масштабируемой и поддерживаемой архитектуры!
Description
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. Более того, примеры кода, которые вы увидите в курсе написаны с учётом реальной практики проектирования и написания легко поддерживаемых и масштабируемых приложений.
What You Will Learn!
- Разрабатывать приложения на NodeJS
- Строить архитектуру масштабируемых приложений
- Знать внутреннее устройство NodeJS и V8
- Понимать работу Event Loop
- Писать на TypeScript
- Использовать Dependecy Injection
- Писать легко поддерживаемый код
- Интегрироваться с внешними API
- Писать unit и e2e тесты
- Работать с SQL базами данных через ORM
- Анализировать производительность и утечки памяти
- Писать свои промежуточные обработчики
- Реализовывать авторизацию и Guard для API
Who Should Attend!
- Начинающие разработчики со знанием JavaScript
- Frontend разработчики, которые хотят стать fullstack
- Опытным разработчики, которые хотят познакомиться с NodeJS