Этот курс посвящён профессиональной Node.JS-разработке. Мы будем использовать современные практики разработки, а не те, которые, хоть и широко представлены в интернете, но давно устарели. Вы получите комплексное понимание, как строить архитектуру для Node.JS, какие задачи и как решать.
Курс можно условно разделить на три части.
1. Node.JS, главные "строительные блоки" разработчика. 2. Разработка веб-сервисов на современных технологиях и фреймворках. 3. Архитектура сложных приложений, организация проекта.
Основные темы программы:
Первая часть курса
1. Фундаментальный Node.JS Здесь мы изучим особенности работы Node.JS, его важнейшие модули и приёмы разработки.
Настройка окружения, редактора, инструменты для разработки и отладки. Модули: организация приложения Встроенные модули http, path, fs, events и другие. Жизнь и смерть Node.JS-процесса, важные особенности работы Event Loop в примерах. Потоки в Node.JS, частые ошибки при работе с ними.
2. Сервер на Node.JS Создадим код и тесты для веб-сервера на Node.JS, а также разберёмся с асинхронностью.
Создание чат-сервера на Node.JS, частые ошибки. Тестирование с использованием mocha и других фреймворков.
3. Асинхронный код Изучим способы работы с асинхронным кодом, делающие его простым и удобным.
Промисы (promises) Async/Await их особенности в Node.JS. По окончанию первой части курса вы понимаете, как разрабатывать на Node.JS, как делать сервер и правильно обрабатывать запросы, автоматически тестировать свой код.
Вторая часть курса
1. Современный веб-сервис Фреймворк Koa.JS: основы, роутинг. Конфигурация через модуль config. Koa.JS: структура middleware, готовые middleware – какие внешние модули для чего использовать.
2. Работа с базой данных Мы будем использовать MongoDB, однако изучаемые принципы применимы к другим базам, в частности MySQL, PostgreSQL, Redis и т.п. База MongoDB, её особенности. Объектно-ориентированная работа с MongoDB через Mongoose. Полная картина работы с базой: запросы, схемы, валидация, плагины и middleware.
3. Авторизация с Passport.JS Модель пользователя, регистрация. Сессии с Node.JS. Passport.JS: сериализация, стратегии, авторизация. CSRF-защита от взлома для форм и AJAX.
4. Gulp для запуска задач Типы задач gulp, написание своих задач. Запуск сервера, загрузка фикстур и тестирование через gulp
5. COMET при помощи Socket.IO Вебсокеты. Обмен сообщениями при помощи Socket.IO. Интеграция Socket.IO с Koa.JS, авторизацией и другими сервисами.
По окончании этой части мы умеем создавать сервер со страницами, веб-сервисами, авторизацией и чатом.
Третья часть курса
1. Архитектура проекта В среднем Node.JS-проекте – сотни файлов. Это нормально, и даже вполне удобно, если их правильно организовать. Архитектура HMVC для Koa.JS. Организация шаблонов, тестов, клиентских скриптов.
2. Выкладка Production Организация git-репозитария и модулей. Запуск с кластеризацией на все ядра процессора через PM2. Обзор методов deployment'а.
После окончания третьей части вы понимаете, как разрабатывается современный Node.JS-проект и можете производить такую разработку самостоятельно.
Автор: Сергей Зеленов Продолжительность: ~19 часов