[learn javascript] Курс по Node.JS (2018)

Название: Курс по Node.JS

Maxresdefault

Курс для тех, кто ранее не разрабатывал на Node.JS или хочет получить хороший level-up в этой технологии. Этот курс посвящён профессиональной Node.JS-разработке. В результате курса вы создадите реальный проект и, главное, хорошо разберётесь в Node.JS. Мы будем использовать современные практики разработки, а не те, которые, хоть и широко представлены в интернете, но давно устарели. Вы получите комплексное понимание, как строить архитектуру для Node.JS, какие задачи и как решать.


Курс можно условно разделить на три части.

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

  1. Фундаментальный Node.JS
    Здесь мы изучим особенности работы Node.JS, его важнейшие модули и приёмы разработки.
    • Настройка окружения, редактора, инструменты для разработки и отладки.
    • Модули: организация, подключение.
    • Встроенные модули http, path, fs, events и другие.
    • Все стадии жизни Node.JS-процесса, важные для разработчика.
    • Потоки в Node.JS, частые ошибки при работе с ними.
  2. Сервер на Node.JS
    Создадим код и тесты для веб-сервера на Node.JS, а также разберёмся с асинхронностью.
    • Создание чат-сервера на Node.JS, частые ошибки.
    • Тестирование с использованием mocha, supertest и других фреймворков.
  3. Асинхронный код
    Изучим способы работы с асинхронным кодом, делающие его простым и удобным.
    • Асинхронность через callback'и, модуль async (old school).
    • Promises, Iterators, Generators, их особенности в Node.JS
    • Объединение Promises + Generators, 'плоский' асинхронный код через библиотеку 'co'.
По окончанию первой части курса вы понимаете, как разрабатывать на Node.JS, как делать сервер и правильно обрабатывать запросы, автоматически тестировать свой код.
  1. Работа с базой данных
    Мы будем использовать MongoDB, однако изучаемые принципы применимы к другим базам, в частности MySQL, PostgreSQL, Redis и т.п.
    • База MongoDB, её особенности.
    • Объектно-ориентированная работа с MongoDB через Mongoose.
    • Полная картина работы с базой: запросы, схемы, валидация, плагины и middleware.
  2. Современный веб-сервис
    • Фреймворк Koa.JS: основы, роутинг.
    • Конфигурация через модуль config.
    • Koa.JS: структура middleware, готовые middleware – какие внешние модули для чего использовать.
    • CLS и его грамотное использование для получения текущего запроса в любом модуле.
    • Правильное логирование и обработка ошибок.
    • Улучшенное тестирование, загрузка фикстур.
  3. Gulp для запуска задач
    • Типы задач gulp, написание своих задач.
    • Запуск сервера, загрузка фикстур и тестирование через gulp
  4. Авторизация с Passport.JS
    • Модель пользователя, регистрация.
    • Сессии с Node.JS.
    • Passport.JS: сериализация, стратегии, авторизация.
    • CSRF-защита от взлома для форм и AJAX.
  5. COMET при помощи Socket.IO
    • Вебсокеты.
    • Обмен сообщениями при помощи Socket.IO.
    • Интеграция Socket.IO с Koa.JS, авторизацией и другими сервисами.
  6. По окончании этой части мы умеем создавать сервер со страницами, веб-сервисами, авторизацией и чатом.
    При желании можно дописать к нему новые сервисы и страницы, существующая архитектура позволяет это.
  1. Архитектура проекта
    В среднем Node.JS-проекте – сотни файлов. Это нормально, и даже вполне удобно, если их правильно организовать.
    • Архитектура HMVC для Koa.JS.
    • Организация шаблонов, тестов, клиентских скриптов.
  2. Выкладка Production
    • Организация git-репозитария и модулей.
    • Запуск с кластеризацией на все ядра процессора через PM2.
    • Обзор методов deployment'а.
После окончания третьей части вы понимаете, как разрабатывается современный Node.JS-проект и можете производить такую разработку самостоятельно.

Подробнее:
Для просмотра содержимого вам необходимо .

Скачать: