[javascript.ru] Курс по Node.js 2020

Цена:
1300.2
doneМного
doneЗаканчивается
highlight_offНет в наличии
notifications_none
Уведомить

[?IMG] ?
Материал будет включать видеозапись занятий, клон гит-репозитория с примерами разбираемыми на курсе, а также задачник и клон гит-репозитория с задачами и тестами к ним.

Программа
Этот онлайн-курс посвящён профессиональной Node.JS-разработке.
В результате курса вы не только в деталях разберетесь с тем, как работает Node.JS, но и создадите полноценный сервер для SPA, написанного на React.
В процессе разработки мы посмотрим на следующие вещи:
  • аутентификация и авторизация (в том числе через социальные сети)
  • регистрация (с подтверждением email)
  • использование базы данных
  • технология Websockets для интерактивности
  • конфигурирование, логирование
  • unit, а также функциональное и e2e тестирование
Вы будете получать информацию, писать код, показывать его преподавателю, получать обратную связь и советы, и затем двигаться дальше.

Мы будем использовать современные практики разработки, а не те, которые, хоть и широко представлены в интернете, но давно устарели.

Вы получите комплексное понимание, как строить архитектуру для Node.JS, какие задачи и как решать.
Курс можно условно разделить на три части.
  1. Node.JS, главные 'строительные блоки' разработчика.
  2. Разработка веб-сервисов на современных технологиях и фреймворках.
  3. Архитектура сложных приложений, организация проекта.
Первая часть курса

  • Фундаментальный 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.
  • Авторизация с Passport.JS
    • Модель пользователя, регистрация.
    • Сессии с Node.JS.
    • Passport.JS: сериализация, стратегии, авторизация.
    • CSRF-защита от взлома для форм и AJAX.
  • Socket.IO
    • Вебсокеты.
    • Обмен сообщениями при помощи Socket.IO.
    • Интеграция Socket.IO с Koa.JS, авторизацией и другими сервисами.
По окончании этой части мы умеем создавать сервер для SPA приложения с веб-сервисами, авторизацией и чатом.

При желании можно дописать к нему новые сервисы, существующая архитектура позволяет это.

Третья часть курса

  1. Архитектура проекта

    В среднем Node.JS-проекте – сотни файлов. Это нормально, и даже вполне удобно, если их правильно организовать.
    • Архитектура HMVC для Koa.JS.
    • Логирование
  2. Процесс релиза приложения
    • Путь от git репозитория до сервера
    • Облачные CI/CD (Travis)
    • Облачные SaaS платформы (Heroku)
    • Деплой тестового приложения
После окончания третьей части вы понимаете в деталях весь цикл разработки приложения, не только написания кода, но и процесс релиза, организации логов и запуска на сервере.