Мы используем файлы cookie для обеспечения работоспособности сервиса, улучшения навигации и маркетинговых активностей Yolonce. Нажимая "Согласен", вы соглашаетесь с нашей Политикой конфиденциальности

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

  Сложность

Пока неизвестно

  Длительность

Пока неизвестно

  Формат

онлайн

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

Сертификат Stepik

Стоимость курса
3 499

Подробнее о курсе

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. Более того, примеры кода, которые вы увидите в курсе написаны с учётом реальной практики проектирования и написания легко поддерживаемых и масштабируемых приложений.

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

Сертификат Stepik

Автор курса

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

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

  Введение


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

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


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

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


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

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


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

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


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

  Движок V8


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

  Node Package Manager


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

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


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

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


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

  Переход на TypeScript


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

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


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

  Dependency Injection


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

  Отладка и watch


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

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


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

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


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

  Авторизация


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

  Тесты


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

  Заключение


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

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

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

Предварительные требования

Знание JavaScript на начальном уровне

Полный курс по написанию приложений на Node.js и построению масштабируемой и поддерживаемой архитектуры!

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

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

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

обновлено: 19.09.2024

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

Наши консультанты ответят на все вопросы
И помогут в выборе

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

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