Материал будет включать видеозапись занятий, клон гит-репозитория с примерами разбираемыми на курсе, а также задачник и клон гит-репозитория с задачами и тестами к ним.
Программа Этот онлайн-курс посвящён профессиональной Node.JS-разработке. В результате курса вы не только в деталях разберетесь с тем, как работает Node.JS, но и создадите полноценный сервер для SPA, написанного на React. В процессе разработки мы посмотрим на следующие вещи:
аутентификация и авторизация (в том числе через социальные сети)
регистрация (с подтверждением email)
использование базы данных
технология Websockets для интерактивности
конфигурирование, логирование
unit, а также функциональное и e2e тестирование
Вы будете получать информацию, писать код, показывать его преподавателю, получать обратную связь и советы, и затем двигаться дальше.
Мы будем использовать современные практики разработки, а не те, которые, хоть и широко представлены в интернете, но давно устарели.
Вы получите комплексное понимание, как строить архитектуру для Node.JS, какие задачи и как решать. Курс можно условно разделить на три части.
Node.JS, главные 'строительные блоки' разработчика.
Разработка веб-сервисов на современных технологиях и фреймворках.
Архитектура сложных приложений, организация проекта.
Первая часть курса
Фундаментальный Node.JS Здесь мы изучим особенности работы Node.JS, его важнейшие модули и приёмы разработки.
Настройка окружения, редакторы кода, инструменты для разработки и отладки.
Модули: организация приложения.
Встроенные модули http, path, fs, events и другие.
Жизнь и смерть Node.JS-процесса, важные особенности работы Event Loop.
Потоки в Node.JS, частые ошибки при работе с ними.
Сервер на Node.JS Создадим веб-сервер на Node.JS, а также разберёмся с асинхронностью.
Создание чат-сервера на Node.JS, частые ошибки.
Особенности обработки пользовательских запросов в контексте Event Loop.
Асинхронный код Изучим способы работы с асинхронным кодом, делающие его простым и удобным.
Промисы (promises)
Async/Await их особенности в Node.JS.
Тестирование Здесь мы изучим основные приемы тестирования кода.
Библиотеки и фреймворки для тестирования: mocha, assert, sinon, nock и другие
Принципы и примеры unit-тестов
Особенности и примеры функциональных и e2e тестов
Другие виды тестирования: нагрузочные, интеграционные и другие
По окончанию первой части курса вы понимаете, как разрабатывать на Node.JS, как делать сервер и правильно обрабатывать запросы, автоматически тестировать свой код. Вторая часть курса
Современный веб-сервис
Фреймворк Koa.JS: основы, роутинг.
Конфигурация через модуль config.
Koa.JS: структура middleware, готовые middleware – какие внешние модули для чего использовать.
Работа с базой данных
Мы будем использовать MongoDB, однако изучаемые принципы применимы к другим базам, в частности MySQL, PostgreSQL, Redis и т.п.
База MongoDB, её особенности.
Объектно-ориентированная работа с MongoDB через Mongoose.
Полная картина работы с базой: запросы, схемы, валидация, плагины и middleware.
Интеграция Socket.IO с Koa.JS, авторизацией и другими сервисами.
По окончании этой части мы умеем создавать сервер для SPA приложения с веб-сервисами, авторизацией и чатом.
При желании можно дописать к нему новые сервисы, существующая архитектура позволяет это. Третья часть курса
Архитектура проекта
В среднем Node.JS-проекте – сотни файлов. Это нормально, и даже вполне удобно, если их правильно организовать.
Архитектура HMVC для Koa.JS.
Логирование
Процесс релиза приложения
Путь от git репозитория до сервера
Облачные CI/CD (Travis)
Облачные SaaS платформы (Heroku)
Деплой тестового приложения
После окончания третьей части вы понимаете в деталях весь цикл разработки приложения, не только написания кода, но и процесс релиза, организации логов и запуска на сервере.
Вариант 1: Электронная доставка на email
После оплаты заказа на сайте, вам приходит ссылка на курс/тренинг/материалы на почту указанную в заказе.