23 занятия
фидбек
курсовой проект
Node.js
Научитесь разрабатывать быстрые и масштабируемые веб-приложения с Node.js, чтобы увеличить свою ценность на рынке труда

Лектор: Сергей Ващенко
Senior Software Developer в
Этот курс для вас, если вы:
-
имеете практический опыт программирования и готовы освоить серверную разработку
-
планируете переходить с Frontend-разработки в Backend или Fullstack
-
уже программируете на Node.js, но хотите улучшить знания и овладеть best practices
-
хотите повысить конкурентоспособность благодаря новым навыкам, научиться асинхронному программированию и работе с фреймворками
В программу курса входят:
О курсе
- Продолжительность:
23 занятия
-
2 месяца
-
Бонусный блок
Node.js идеально подходит для клиент-серверных приложений, ведь обрабатывает миллионы запросов каждую секунду. Эта платформа создана на втором по популярности языке программирования, а Frontend-разработчики, которые пишут бэкенд на Node.js, зарабатывают на 15 % больше. На курсе разберетесь с возможностями Node.js и научитесь применить их в своей работе.
лектор
Сергей Ващенко
Senior Software Developer в RBC (Royal Bank of Canada)
7+ лет опыта в Fullstack-разработке
-
имеет сертификации Stanford, CISCO, Linux, AWS
-
имеет опыт работы с highload-проектами: разработал аналог Jira для децентрализации команд
-
интегрировал Bluetooth с механизмом чтения кодов для проекта на > 1.000.000 юзеров
-
успешно внедрил изменения с использованием Scrum Framework в технологическом стеке, охватывающем Angular, Node.js, Python, GoLang
Программа
-
Бонусный блок. JavaScript
- Знакомство с JavaScript. Part 1
- Знакомство с JavaScript. Part 2
- Асинхронность
- Классы
Результаты: поймете основы JavaScript, типы данных, циклы, условные конструкции и работу с объектами. Научитесь использовать асинхронный код (callback-функции, промисы, async/await) и разберетесь, как работает Event Loop. Освоите основы ООП в JavaScript, в частности классы, наследование и модификаторы доступа.
-
01 занятие14.05.25 17:30
Node.js: задачи и основные концепции
- узнаете об основных преимуществах Node.js
- установите и настроите рабочую среду Node.js с помощью JetBrains WebStorm
-
02 занятие19.05.25 17:30
Архитектура программы Node.js. Начало работы с Node.js
- сможете улучшить код с помощью линтеров JSLint и ESLint
- узнаете преимущества TypeScript в Node.js
- будете уметь мотивированно выбирать фреймворк для работы, учитывая особенности и преимущества каждого
-
03 занятие21.05.25 17:30
Основы работы с сервером
- узнаете о работе с НТТР и статус-кодах
- научитесь читать, записывать, изменять и работать с директориями в файловой системе с помощью модуля fs
- выясните, как компоненты взаимодействуют между собой в Even-Driven Architecture
-
04 занятие26.05.25 17:30
Docker для Node.js
- узнаете, как Docker изолирует программы с зависимостями и обеспечивает стабильную работу в любой среде
- научитесь создавать собственные Docker-образы с помощью Dockerfile и запускать контейнеры на основе готовых шаблонов
- автоматизируете развертывание многоконтейнерных приложений с Docker Compose, которое упростит настройку сложных сред
-
05 занятие28.05.25 17:30
Express.js
- узнаете, в чем особенности Express.js, его преимущества и ограничения
- научитесь работать с одним из самых популярных фреймворков для Node.js и применять его на практике
- создадите базовую структуру приложений с помощью Express.js
-
06 занятие02.06.25 17:30
Введение в TypeScript и основы NestJS
- узнаете, какие возможности открывает TypeScript, его преимущества, ограничения и влияние на качество кода
- научитесь работать со статической типизацией и использовать ее для предотвращения ошибок в коде
- освоите интерфейсы, generics, enums, utility types и декораторы для построения гибкой архитектуры
- примените TypeScript в реальных проектах и научитесь работать с NestJS для бэкенд-разработки
-
07 занятие04.06.25 17:30
Продвинутый NestJS: архитектура и оптимизация
- научитесь строить модульную архитектуру, организуя логику на модули, сервисы и контроллеры
- автоматизируете управление зависимостями Dependency Injection (DI) и научитесь использовать middleware для обработки запросов перед контроллерами
- реализуете Guards для контроля доступа (аутентификация, роли) и Pipes для валидации и трансформации данных
-
08 занятие09.06.25 17:30
Антипаттерны проектирования
- узнаете, как антипаттерны влияют на качество кода и как их избегать, чтобы писать чистый и поддерживаемый код
- научитесь находить типичные проблемы серверного программирования, такие как неоптимальная передача параметров, Nested Hell и чрезмерное количество логов
- автоматизируете процесс оптимизации кода, чтобы улучшить обработку JSON, циклов, SQL-запросов и ошибок
- примените принципы рефакторинга и научитесь распознавать базовые практики, которых стоит избегать
-
09 занятие11.06.25 17:30
Асинхронность
- узнаете, что такое асинхронность и в каких случаях стоит использовать асинхронный подход
- научитесь управлять событиями с помощью EventEmitter для эффективной работы с потоками данных
- автоматизируете асинхронные процессы благодаря best practices и будете избегать распространенных ошибок в коде
-
10 занятие16.06.25 17:30
Реактивное программирование: WebSocket, модуль fs и Selenium
- узнаете, как работает реактивное программирование и когда его стоит применять
- научитесь пользоваться WebSocket для обмена данными в реальном времени
- автоматизируете тестирование с Selenium и оптимизируете работу с файловой системой через модуль fs
- сможете эффективно управлять событиями с помощью EventEmitter и работать с RxJS
-
11 занятие18.06.25 17:30
Работа с базами данных. Часть 1
- узнаете основы реляционных баз данных (RDBMS) и принципы их работы
- научитесь различать SQL и NoSQL и выбирать оптимальный подход для проектов
- разберетесь в концепциях реляций и базовых принципах построения баз данных
-
12 занятие23.06.25 17:30
Работа с базами данных. Часть 2
- узнаете, как работают SQL Joins и их виды для эффективной работы со связанными таблицами
- научитесь использовать процедуры в базах данных для оптимизации запросов
- разберетесь в нормализации данных для построения логической и эффективной структуры баз данных
- освоите принципы ACID-транзакций, гарантирующие надежность работы с данными
-
13 занятие25.06.25 17:30
Работа с базами данных. Часть 3
- узнаете, как работают транзакции и уровни их изоляции (Read Uncommitted, Read Committed, Repeatable Read)
- научитесь пользоваться TypeORM в NestJS для эффективной работы с базами данных
- освоите подход Code First для создания структур баз данных непосредственно в коде
-
14 занятие30.06.25 17:30
Нереляционные базы данных
- узнаете, как эффективно использовать MongoDB, Redis и Cassandra в проектах на Node.js
- научитесь работать с Mongoose для удобного взаимодействия с MongoDB
-
15 занятие02.07.25 17:30
Message Brokers
- узнаете, что такое Message Broker и какую роль он играет в системах с высокой нагрузкой
- научитесь работать с RabbitMQ с использованием обменников, очередей, маршрутизации и подтверждений сообщений
- освоите основы Apache Kafka, в частности темы, партиции, продюсеров и консумеров
- поймете, чем отличаются RabbitMQ и Apache Kafka и где их стоит применять
-
16 занятие07.07.25 17:30
Размещение и развертывание приложения
- узнаете, как устроен типичный GitHub pipeline и как его настроить
- научитесь работать с ветками (branches) и тестировать код в среде Node.js
- освоите различные методы релиза ПО и поймете, какой подходит для вашего проекта
-
17 занятие09.07.25 17:30
Облачные технологии
- научитесь работать с AWS, в частности разбираться в регионах, зонах доступности и вычислительных ресурсах
- освоите AWS Cognito для управления аутентификацией и авторизацией пользователей, а также AWS для хранения и обработки файлов
- выясните, в чем отличия AWS, GCP и Azure, и сможете выбирать правильную платформу для проекта
-
18 занятие14.07.25 17:30
Контейнеризация и DevOps
- узнаете, как работает оркестрация контейнеров и какие ключевые возможности предоставляет Kubernetes
- научитесь управлять инфраструктурой через мастер-узлы (АРІ-сервер, контроллеры, etcd) и рабочие узлы (kubelet, kube-proxy)
- освоите работу с Pod и ReplicaSet для масштабирования и поддержки нужного количества контейнеров
- выясните, как работают Deployment для непрерывных обновлений и Service (ClusterIP, NodePort, LoadBalancer) для соединения Pod с пользователями
-
19 занятие16.07.25 17:30
Логирование и тестирование
- узнаете, какие существуют типы тестирования и когда их следует применять
- научитесь работать по подходам TDD (Test-Driven Development) и BDD (Behavior-Driven Development) для улучшения процесса разработки
- овладеете best practices в тестировании и логировании, избегая распространенных ошибок
-
20 занятие21.07.25 17:30
Безопасность в серверном программировании
- узнаете, какие принципы безопасности являются критическими в серверном программировании и как избегать уязвимостей
- разберетесь в функционале и особенностях JWT
- освоите методы аутентификации и авторизации пользователей для защиты доступа к системе
- сможете гарантировать безопасность sensitive data благодаря лучшим практикам шифрования и управления доступом
-
21 занятие23.07.25 17:30
Подготовка к техническому собеседованию
- узнаете, как проходят технические собеседования и какие вопросы чаще всего задают
- научитесь эффективно решать типичные live-задачи вроде LeetCode Easy
-
22 занятие28.07 25 17:30
Итог курса
- научитесь писать эффективный и оптимизированный код
- поймете принципы CI/CD
-
23 занятие30.07.25 17:30
Защита курсовых работ
Узнать больше
Оставляйте заявку, чтобы освоить Node.js и повысить конкурентоспособность на рынке трудоустройства.