«Node.js» онлайн-курс | robot_dreams

Онлайн-курс по разработке на Node.js

NODE.JS

Один инструмент, который сочетает универсальность, масштабирование и большой выбор готовых решений

  • За 2 месяца обучения на курсе вы:

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

  • В результате разработаете собственное приложение, которое сможете добавить в свой профиль на GitHub.

В ПРОГРАММУ КУРСА ВХОДЯТ:

  1. КОМПЛЕКСНАЯ РАБОТА С NODE.JS

    В течение курса вы полностью овладеете Node.js — от знакомства с базовым функционалом до работы с фреймворками, серверами и современными инструментами.

  2. BEST PRACTICES

    На курсе овладеем лучшими практиками разработки на Node.js: уделим время асинхронному программированию, работе с базами данных и безопасности инфраструктуры.

  3. КУРСОВОЙ ПРОЕКТ

    В конце курса презентуете курсовой проект – разработаете собственное приложение, которое впоследствии сможете добавить в свой профиль на GitHub.

  4. БОНУСНЫЙ БЛОК

    Для студентов, еще не работавших с JavaScript или желающих освежить знания этого языка, мы добавили в курс бонусный блок с основами JS, состоящий из 4 занятий.

ЛЕКТОР:

Сергей
Ващенко

  • 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

ПРОГРАММА

  • 00

    Бонусный блок. JavaScript

    Результаты: поймете основы JavaScript, типы данных, циклы, условные конструкции и работу с объектами. Научитесь использовать асинхронный код (callback-функции, промисы, async/await) и разберетесь, как работает Event Loop. Освоите основы ООП в JavaScript, в частности классы, наследование и модификаторы доступа.

    • Знакомство с JavaScript. Part 1
    • Знакомство с JavaScript. Part 2
    • Асинхронность. Part 1
    • Классы
  • 01

    Node.js: задачи и основные концепции

    • узнаете об основных преимуществах Node.js
    • установите и настроите рабочую среду Node.js с помощью JetBrains WebStorm
  • 02

    Архитектура программы Node.js. Начало работы с Node.js

    • сможете улучшить код с помощью линтеров JSLint и ESLint
    • узнаете преимущества TypeScript в Node.js
    • будете уметь мотивированно выбирать фреймворк для работы, учитывая особенности и преимущества каждого
  • 03

    Основы работы с сервером

    • узнаете о работе с НТТР и статус-кодах
    • научитесь читать, записывать, изменять и работать с директориями в файловой системе с помощью модуля fs
    • выясните, как компоненты взаимодействуют между собой в Even-Driven Architecture
  • 04

    Docker для Node.js

    • узнаете, как Docker изолирует программы с зависимостями и обеспечивает стабильную работу в любой среде
    • научитесь создавать собственные Docker-образы с помощью Dockerfile и запускать контейнеры на основе готовых шаблонов
    • автоматизируете развертывание многоконтейнерных приложений с Docker Compose, которое упростит настройку сложных сред
  • 05

    Express.js

    • узнаете, в чем особенности Express.js, его преимущества и ограничения
    • научитесь работать с одним из самых популярных фреймворков для Node.js и применять его на практике
    • создадите базовую структуру приложений с помощью Express.js
  • 06

    Введение в TypeScript и основы NestJS

    • узнаете, какие возможности открывает TypeScript, его преимущества, ограничения и влияние на качество кода
    • научитесь работать со статической типизацией и использовать ее для предотвращения ошибок в коде
    • освоите интерфейсы, generics, enums, utility types и декораторы для построения гибкой архитектуры
    • примените TypeScript в реальных проектах и научитесь работать с NestJS для бэкенд-разработки
  • 07

    Продвинутый NestJS: архитектура и оптимизация

    • научитесь строить модульную архитектуру, организуя логику на модули, сервисы и контроллеры
    • автоматизируете управление зависимостями Dependency Injection (DI) и научитесь использовать middleware для обработки запросов перед контроллерами
    • реализуете Guards для контроля доступа (аутентификация, роли) и Pipes для валидации и трансформации данных
  • 08

    Антипаттерны проектирования

    • узнаете, как антипаттерны влияют на качество кода и как их избегать, чтобы писать чистый и поддерживаемый код
    • научитесь находить типичные проблемы серверного программирования, такие как неоптимальная передача параметров, Nested Hell и чрезмерное количество логов
    • автоматизируете процесс оптимизации кода, чтобы улучшить обработку JSON, циклов, SQL-запросов и ошибок
    • примените принципы рефакторинга и научитесь распознавать базовые практики, которых стоит избегать
  • 09

    Асинхронность

    • узнаете, что такое асинхронность и в каких случаях стоит использовать асинхронный подход
    • научитесь управлять событиями с помощью EventEmitter для эффективной работы с потоками данных
    • автоматизируете асинхронные процессы благодаря best practices и будете избегать распространенных ошибок в коде
  • 10

    Реактивное программирование: WebSocket, модуль fs и Selenium

    • узнаете, как работает реактивное программирование и когда его стоит применять
    • научитесь пользоваться WebSocket для обмена данными в реальном времени
    • автоматизируете тестирование с Selenium и оптимизируете работу с файловой системой через модуль fs
    • сможете эффективно управлять событиями с помощью EventEmitter и работать с RxJS
  • 11

    Работа с базами данных. Часть 1

    • узнаете основы реляционных баз данных (RDBMS) и принципы их работы
    • научитесь различать SQL и NoSQL и выбирать оптимальный подход для проектов
    • разберетесь в концепциях реляций и базовых принципах построения баз данных
  • 12

    Работа с базами данных. Часть 2

    • узнаете, как работают SQL Joins и их виды для эффективной работы со связанными таблицами
    • научитесь использовать процедуры в базах данных для оптимизации запросов
    • разберетесь в нормализации данных для построения логической и эффективной структуры баз данных
    • освоите принципы ACID-транзакций, гарантирующие надежность работы с данными
  • 13

    Работа с базами данных. Часть 3

    • узнаете, как работают транзакции и уровни их изоляции (Read Uncommitted, Read Committed, Repeatable Read)
    • научитесь пользоваться TypeORM в NestJS для эффективной работы с базами данных
    • освоите подход Code First для создания структур баз данных непосредственно в коде
  • 14

    Нереляционные базы данных

    • узнаете, как эффективно использовать MongoDB, Redis и Cassandra в проектах на Node.js
    • научитесь работать с Mongoose для удобного взаимодействия с MongoDB
  • 15

    Message Brokers

    • узнаете, что такое Message Broker и какую роль он играет в системах с высокой нагрузкой
    • научитесь работать с RabbitMQ с использованием обменников, очередей, маршрутизации и подтверждений сообщений
    • освоите основы Apache Kafka, в частности темы, партиции, продюсеров и консумеров
    • поймете, чем отличаются RabbitMQ и Apache Kafka и где их стоит применять
  • 16

    Размещение и развертывание приложения

    • узнаете, как устроен типичный GitHub pipeline и как его настроить
    • научитесь работать с ветками (branches) и тестировать код в среде Node.js
    • освоите различные методы релиза ПО и поймете, какой подходит для вашего проекта
  • 17

    Облачные технологии

    • научитесь работать с AWS, в частности разбираться в регионах, зонах доступности и вычислительных ресурсах
    • освоите AWS Cognito для управления аутентификацией и авторизацией пользователей, а также AWS для хранения и обработки файлов
    • выясните, в чем отличия AWS, GCP и Azure, и сможете выбирать правильную платформу для проекта
  • 18

    Контейнеризация и DevOps

    • узнаете, как работает оркестрация контейнеров и какие ключевые возможности предоставляет Kubernetes
    • научитесь управлять инфраструктурой через мастер-узлы (АРІ-сервер, контроллеры, etcd) и рабочие узлы (kubelet, kube-proxy)
    • освоите работу с Pod и ReplicaSet для масштабирования и поддержки нужного количества контейнеров
    • выясните, как работают Deployment для непрерывных обновлений и Service (ClusterIP, NodePort, LoadBalancer) для соединения Pod с пользователями
  • 19

    Логирование и тестирование

    • узнаете, какие существуют типы тестирования и когда их следует применять
    • научитесь работать по подходам TDD (Test-Driven Development) и BDD (Behavior-Driven Development) для улучшения процесса разработки
    • овладеете best practices в тестировании и логировании, избегая распространенных ошибок
  • 20

    Безопасность в серверном программировании

    • узнаете, какие принципы безопасности являются критическими в серверном программировании и как избегать уязвимостей
    • разберетесь в функционале и особенностях JWT
    • освоите методы аутентификации и авторизации пользователей для защиты доступа к системе
    • сможете гарантировать безопасность sensitive data благодаря лучшим практикам шифрования и управления доступом
  • 21

    Подготовка к техническому собеседованию

    • узнаете, как проходят технические собеседования и какие вопросы чаще всего задают
    • научитесь эффективно решать типичные live-задачи вроде LeetCode Easy
  • 22

    Итог курса

    • научитесь писать эффективный и оптимизированный код
    • поймете принципы CI/CD
  • 23

    Защита курсовых работ

Регистрация

 

 
 
 
Регистрируясь, вы соглашаетесь с условиями договора-оферти и политикой конфиденциальности.