Курс можно условно разделить на три части:
- Node.JS, главные "строительные блоки" разработчика.
- Разработка веб-сервисов на современных технологиях и фреймворках.
- Архитектура сложных приложений, организация проекта.
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.
4) Современный веб-сервис
Фреймворк Koa.JS: основы, роутинг.
Конфигурация через модуль config.
Koa.JS: структура middleware, готовые middleware – какие внешние модули для чего использовать.
5) Работа с базой данных
Мы будем использовать MongoDB, однако изучаемые принципы применимы к другим базам, в частности MySQL, PostgreSQL, Redis и т.п.
База MongoDB, её особенности.
Объектно-ориентированная работа с MongoDB через Mongoose.
Полная картина работы с базой: запросы, схемы, валидация, плагины и middleware.
6) Авторизация с Passport.JS
Модель пользователя, регистрация.
Сессии с Node.JS.
Passport.JS: сериализация, стратегии, авторизация.
CSRF-защита от взлома для форм и AJAX.
7) Gulp для запуска задач
Типы задач gulp, написание своих задач.
Запуск сервера, загрузка фикстур и тестирование через gulp
8) COMET при помощи Socket.IO
Вебсокеты.
Обмен сообщениями при помощи Socket.IO.
Интеграция Socket.IO с Koa.JS, авторизацией и другими сервисами.
9) Архитектура проекта
В среднем Node.JS-проекте – сотни файлов. Это нормально, и даже вполне удобно, если их правильно организовать.
Архитектура HMVC для Koa.JS.
Организация шаблонов, тестов, клиентских скриптов.
10) Выкладка Production
Организация git-репозитария и модулей.
Запуск с кластеризацией на все ядра процессора через PM2.
Обзор методов deployment'а.
Здесь мы изучим особенности работы 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.
4) Современный веб-сервис
Фреймворк Koa.JS: основы, роутинг.
Конфигурация через модуль config.
Koa.JS: структура middleware, готовые middleware – какие внешние модули для чего использовать.
5) Работа с базой данных
Мы будем использовать MongoDB, однако изучаемые принципы применимы к другим базам, в частности MySQL, PostgreSQL, Redis и т.п.
База MongoDB, её особенности.
Объектно-ориентированная работа с MongoDB через Mongoose.
Полная картина работы с базой: запросы, схемы, валидация, плагины и middleware.
6) Авторизация с Passport.JS
Модель пользователя, регистрация.
Сессии с Node.JS.
Passport.JS: сериализация, стратегии, авторизация.
CSRF-защита от взлома для форм и AJAX.
7) Gulp для запуска задач
Типы задач gulp, написание своих задач.
Запуск сервера, загрузка фикстур и тестирование через gulp
8) COMET при помощи Socket.IO
Вебсокеты.
Обмен сообщениями при помощи Socket.IO.
Интеграция Socket.IO с Koa.JS, авторизацией и другими сервисами.
9) Архитектура проекта
В среднем Node.JS-проекте – сотни файлов. Это нормально, и даже вполне удобно, если их правильно организовать.
Архитектура HMVC для Koa.JS.
Организация шаблонов, тестов, клиентских скриптов.
10) Выкладка Production
Организация git-репозитария и модулей.
Запуск с кластеризацией на все ядра процессора через PM2.
Обзор методов deployment'а.
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.