Сложность
Сложность
Начинающий
Тип обучения
Тип обучения
Курс
Формат обучения
Формат обучения
Записанные лекции
Сертификат
Сертификат
Да

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

3 299 ₽
нет рассрочки

рейтинг 4.8 на основании отзывов на платформе Udemy

Что в курсе?

  •  Неограниченный по времени доступ к материалам
     
  •  Практические упражнения и примеры на реальных проектах
     
  •  Небольшие структурированные лекции для простого освоения
     
  •  Поддержка в чате студентов
     
  •  Ответы на вопросы в комментариях


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.

Вы научитесь

  • Разрабатывать приложения на NodeJS
  • Строить архитектуру масштабируемых приложений
  • Знать внутреннее устройство NodeJS и V8
  • Понимать работу Event Loop
  • Писать на TypeScript
  • Использовать Dependecy Injection
  • Писать легко поддерживаемый код
  • Интегрироваться с внешними API
  • Писать unit и e2e тесты
  • Работать с SQL базами данных через ORM
  • Анализировать производительность и утечки памяти
  • Писать свои промежуточные обработчики
  • Реализовывать авторизацию и Guard для API

Требования
Минимальные требования для прохождения курса: Знание JavaScript на начальном уровне;

Курс включает:

  • 18 часов видео лекций
     
  • 9 тестовых заданий
     
  • 8 упражнений

Что вы получите после обучения

Приобретаемые навыки
3
Backend разработка
4
GraphQL API
5
SSR
7
CLI
8
V8
9
Event loop
10
TypeScript
11
Dependecy Injection
12
SQL
13
ORM
14
VSCode
15
GitFlow
16
CommonJS
17
ESModules
18
Npm
19
InversifyJS
20
JWT
21
Авторизация
22
Unit-тесты
23
E2E-тестирование
Сертификат, ссылками на который можно делиться с другими людьми

Вас будут обучать

Backend разработчик Leroy Merlin

Наставник. Имеет более 7 лет коммерческого опыта разработки в различных компаниях. Последние 4 года специализировался на Node.js и TypeScript. Большой опыт работы с фреймворком Nest.js, а так же в построении микросервисных архитектур.

Технический директор и профессиональный разработчик

Основатель PurpleSchool и ex-CTO. Занимаюсь разработкой уже более 14 лет и имею большой опыт: JavaScript, TypeScript, Php, Go, C#, Swift и Python. Активно внедряю гибкие методологии разработки в компании и внутренние обучения для команд.

Образовательная организация

Более 10 000 студентов

Со всего мира прошли курсы на площадках PurpleSchool, Udemy и Stepik

Гарантия возврата денег

Если курс вам не подойдёт, мы вернём вам деньги в течение 30 дней

Практический опыт

Получите бесценный опыт реальных проектов в каждом курсе

“Я помогаю разработчикам профессионально расти, делясь опытом в своих курсах”

Антон Ларичев
Технический директор и профессиональный разработчик

Каналы и подкасты

Подкаст Не плохой код (Apple podcast, Google podcast, Яндекс Музыка)
Говорим о разработке, и о том как писать не плохой код. А в частности NodeJS, JavaScript и TypeScript.

Youtube канал PurpleSchool
Канал с обучающими видео и дополнительными материалами по тематикам курсов

Telegram канал PurpleSchool
Канал с полезными советами по разработке, разбором примеров кода и обновлениями курсов.

VK сообщество PurpleSchool
Сообщество VK с полезными советами по разработке, разбором примеров кода и обновлениями курсов.

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

1. Введение
 
1.1 Почему NodeJS для backend?
1.2 Как устроен курс
1.3 Обзор проектов
1.4 Обзор курсов
1.5 Курс с наставником
 
2. Настройка окружения
 
2.1 Подготовка окружения
2.2 Установка и версии NodeJS
2.3 Настройки VSCode
2.4 Работа с наставником
2.5 Домашние задания
2.6 Работа с gitflow

3. Начало работы с Node.js
 
3.1 Вводное видео
3.2 Сравнение сред выполнения JS
3.3 Запускаем код и REPL
3.4 Модули в JavaScript
3.5 CommonJS Modules
3.6 ES Modules
3.7 Глобальные переменные
3.8 Events
3.9 Тест - Начало работы с Node.js
3.10 Домашнее задание - Начало работы с Node.js

4. Как работает Node.js?
 
4.1 Устройство Node.js
4.2 Event Loop
4.3 Таймеры
4.4 Пример работы event loop
4.5 Stack вызова
4.6 Worker threads
4.7 Измерение производительности
4.8 Тест - Как работает Node.js
4.9 Домашнее задание - Как работает Node.js?
4.10 Код ревью домашнего задания

5. Многопоточность
 
5.1 Использование worker threads
5.2 Spawn и exec
5.3 Fork
5.4 Упражнение - Производительность потоков
5.5 Тест - Многопоточность
5.6 Домашнее задание - Многопоточность
5.7 Код ревью домашнего задания

6. Движок V8
 
6.1 Устройство V8
6.2 Работа с памятью

7. Node Package Manager
 
7.1 Вводное видео
7.2 Обзор NPM
7.3 Авторизация и профиль
7.4 Разбор package.json
7.5 Управление зависимостями
7.6 Тест - Node Package Manager
7.7 Домашнее задание - Node Package Manager
7.8 Код ревью домашнего задания

8. Приложение 1 - CLI прогноз погоды
 
8.1 Обзор приложения
8.2 Аргументы командной строки
8.3 Вывод в консоль
8.4 OS и path
8.5 Работа с файловой системой
8.6 Взаимодействие с API
8.7 Переменные окружения
8.8 Обработка ошибок
8.9 Упражнение - Завершение приложения
8.10 Публикация пакета в NPM
8.11 Npx и npm exec
8.12 Тест - CLI прогноз погоды
8.13 Домашнее задание - CLI прогноз погоды

9. Приложение 2 - API с ExpressJS
 
9.1 Вводное видео
9.2 Простой http сервер
9.3 Переходим на express
9.4 Маршрутизация
9.5 Ответы клиенту
9.6 Router
9.7 Промежуточные обработчики
9.8 Тест - Промежуточные обработчики
9.9 Домашнее задание - API с Express
9.10 Код ревью домашнего задания

10. Переход на TypeScript
 
10.1 Дополнительный курс по TypeScript
10.2 Почему TypeScript?
10.3 Начало работы с TypeScript
10.4 Базовые типы
10.5 Union типы
10.6 Interfaces и Types
10.7 Литеральные типы
10.8 Enum
10.9 Generics
10.10 Классы
10.11 Другие типы и возможности
10.12 Тест - TypeScript
10.13 Домашнее задание - Переход на TypeScript

11. Первый шаг к архитектуре
 
11.1 Обзор архитектуры
11.2 Пишем класс приложения
11.3 Добавляем логгер
11.4 Базовый класс контроллера
11.5 Упражнение - Контроллер пользователей
11.6 Обработка ошибок

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

13. Отладка и watch
 
13.1 Eslint и prettier
13.2 Подключение nodemon
13.3 Отладка
13.4 Анализ памяти
13.5 Мониторинг производительности

14. Второй шаг к архитектуре
 
14.1 Улучшение архитектуры
14.2 Data transfer object
14.3 User entity
14.4 Сервис users
14.5 Middleware для роутов
14.6 Валидация данных

15. Работа с базой данных
 
15.1 Сервис конфигурации
15.2 Работа с prisma
15.3 Репозиторий users
15.4 Упражнение - Логин пользователя

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

17. Тесты
 
17.1 Виды тестирования
17.2 Unit тесты
17.3 Упражнение - Новые unit тесты
17.4 E2e тесты
17.5 Упражнение - Дописываем e2e тесты

18. Проект - API
 
18.1 Дополнительная настройка окружения
18.2 Настройка проекта
18.3 Описание связей
18.4 CRUD запросы
18.5 Начальное заполнение данных
18.6 О проекте
18.7 Техническое задание - API акционных предложений
 18.8 Техническое задание - API управления товарами
18.9 Задание - Авторизация для админов
18.10 Код ревью домашнего задания
18.11 Задание - Реализация CRUD операций
18.12 Дополнительное задание
18.13 Бонус - Swagger
18.14 Код ревью домашнего задания

19. Проект - Чат бот
 
19.1 О проекте
19.2 Техническое задание - Бот акционных предложений
19.3 Технчиеское задание - Бот магазина с доставкой
19.4 Создание бота в Telegram
19.5 Работа с .env
19.6 Работа с Telegraf
19.7 Сцены в Telegraf
19.8 Задание - Настройка проекта и приветствие
19.9 Код ревью домашнего задания
19.10 Задание - Перенос бота на TypeScript
19.11 Задание - Передача данных в бот
19.12 Код ревью домашнего задания
19.13 Задание - Взаимодействие с пользователем
19.14 Дополнительное задание
19.15 Запуск бота на хостинге

20. Заключение
 
20.1 Куда двигаться дальше?
20.2 Код ревью домашнего задания
20.3 Сессия 1 на 1 с наставником
                                                                                       

Рейтинг курса

2.9
рейтинг
0
0
0
0
0

Может быть интересно

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

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

Оставить отзыв
Поделиться курсом с друзьями