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

Научитесь разрабатывать высокопроизводительные
серверные приложения на курсе

NODE.JS

Сергей Ващенко Software Designer с 7+ годами опыта

Продолжительность:
19 занятий +4 бонусных

Практический курс, который поможет овладеть Node.js: чтобы эффективно работать с базами данных, углубиться в разработку backend-fullstack, без проблем развертывать серверные приложения и обезопасить их от атак.

  • Курс длится 2 месяца, в течение которых вы сможете комплексно овладеть разработкой с платформой Node.js.

     

  • Познакомимся с платформой и ее основными фреймворками Express.js и NestJS, научимся работать с серверами и базами данных: реляционными и NoSQL, в частности MongoDB и MySQL. Освоим асинхронную модель программирования и best practises для обеспечения безопасности серверных приложений. Затем изучим пайплайную структуру, научимся развертывать инфраструктуру и тестировать среду

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

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

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

  2. BEST PRACTICES

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

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

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

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

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

ЛЕКТОР:

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

  • Software Designer
  • 7+ лет опыта в предоставлении разработки в сфере Frontend/Backend
  • успешно внедрил изменения с использованием Scrum Framework в технологическом стеке, включающем Angular, Node.js, Python, GoLang
  • имеет опыт работы с Highload-проектами, работал в монолитных и микросервисных продуктах с использованием Go, .NET, NodeJS
  • писал и оптимизировал тяжелый SQL- и NoSQL-код
  • имеет сертификации Stanford, CISCO, Linux, AWS

ПРОГРАММА

  • 00

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

    Результаты: поймете, как JavaScript работает в браузере с помощью движка V8. Узнаете типы данных в JavaScript, научитесь использовать циклы и конструкции управления потоком. Вы можете выполнять обработку ошибок, применять различные типы функций, работать с Event Loop, Microtasks, Macrotasks и Call Stack.

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

    Знакомство с Node.js

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

    Работа с фреймворком Express.js

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

    Работа с фреймворком NestJS

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

    Обзор middleware

    • поймете особенности middleware, включая их назначение, функциональность и ключевые преимущества в обеспечении межпроцессного взаимодействия
    • научитесь распознавать и избегать bad practices в middleware
    • узнаете примеры middleware antipatterns и поймете, как их избегать
    • ознакомитесь с паттернами и принципами в контексте middleware, что позволяет создавать более структурированные и поддерживаемые программы
  • 05

    Итоговое занятие: middleware best practices

    • узнаете best practices для middleware
    • ознакомитесь с лайфхаками по использованию middleware
  • 06

    Знакомство с серверами

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

    Взаимодействие с реляционными базами данных (MySQL и PostgreSQL)

    • узнаете разницу между SQL и NoSQL базами данных
    • научитесь работать с основными SQL-запросами
    • усвоите концепции первичного ключа (Primary Key), внешнего ключа (Foreign Key) и уникального идентификатора (Unique Key)
    • узнаете, как применять принципы нормализации данных в базах данных
  • 08

    Обзор TypeORM

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

    Взаимодействие с нереляционными базами данных (MongoDB, Redis, Cassandra)

    • узнаете, как пользоваться MongoDB для Node.js
    • научитесь применять Redis для Node.js
    • сможете работать с mongoose
  • 10

    Работа с базами данных: best VS bad practices

    • узнаете о best practices для работы с базами данных, ознакомитесь с лайфхаками по использованию
  • 11

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

    • поймете, что такое реактивное программирование и его особенности
    • узнаете, как работает Websocket, и научитесь использовать его на практике
    • ознакомитесь с работой FS module
    • поймете, как работает автоматизация и тестирование по Selenium
    • научитесь работать с RxJS на практике, знаете преимущества и особенности применения
    • узнаете, как управлять событиями EventEmitter
  • 12

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

    • поймете, что такое асинхронность, когда можно использовать асинхронный подход
    • узнаете, как управлять событиями Event Emitter
    • узнаете о best и bad practices в асинхронном программировании
  • 13

    Итоговое занятие: асинхронность — best practices

    • узнаете best practices для работы с асинхронностью, ознакомитесь с лайфхаками по использованию
  • 14

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

    • научитесь различать типы тестирования
    • узнаете о принципах TDD и BDD
    • услышите best and bad practices в тестировании и логировании
    • научитесь интегрировать эти подходы на практике
  • 15

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

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

    Размещение и развертывание программы

    • узнаете о структуре типичного GitHub pipeline
    • будете различать методы релиза ПО
    • научитесь создавать бренчи и тестировать в enviroment Node.js
    • узнаете, как правильно развертывать приложение в Docker
  • 17

    Итог курса

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

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

    • поймете основные вопросы и структуру собеседования
    • научитесь выполнять live-задачки типа LeetCode Easy Level
  • 19

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

Регистрация

 

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