- Регистрация
- 26.05.2022
- Сообщения
- 26 737
- Реакции
- 192
- Баллы
- 63
Этот онлайн-курс посвящён профессиональной 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.
Авторизация с Passport.JS
Модель пользователя, регистрация.
Сессии с Node.JS.
Passport.JS: сериализация, стратегии, авторизация.
CSRF-защита от взлома для форм и AJAX.
Socket.IO
Вебсокеты.
Обмен сообщениями при помощи Socket.IO.
Интеграция Socket.IO с Koa.JS, авторизацией и другими сервисами.
По окончании этой части мы умеем создавать сервер для SPA приложения с веб-сервисами, авторизацией и чатом.
При желании можно дописать к нему новые сервисы, существующая архитектура позволяет это.
Архитектура сложных приложений, организация проекта.
Архитектура проекта
В среднем Node.JS-проекте – сотни файлов. Это нормально, и даже вполне удобно, если их правильно организовать.
Архитектура HMVC для Koa.JS.
Логирование
Процесс релиза приложения
Путь от git репозитория до сервера
Облачные CI/CD (Travis)
Облачные SaaS платформы (Heroku)
Деплой тестового приложения
После окончания третьей части вы понимаете в деталях весь цикл разработки приложения, не только написания кода, но и процесс релиза, организации логов и запуска на сервере.
Продажник: learn.javascript.ru/courses/nodejs
В результате курса вы не только в деталях разберетесь с тем, как работает 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.
Авторизация с Passport.JS
Модель пользователя, регистрация.
Сессии с Node.JS.
Passport.JS: сериализация, стратегии, авторизация.
CSRF-защита от взлома для форм и AJAX.
Socket.IO
Вебсокеты.
Обмен сообщениями при помощи Socket.IO.
Интеграция Socket.IO с Koa.JS, авторизацией и другими сервисами.
По окончании этой части мы умеем создавать сервер для SPA приложения с веб-сервисами, авторизацией и чатом.
При желании можно дописать к нему новые сервисы, существующая архитектура позволяет это.
Архитектура сложных приложений, организация проекта.
Архитектура проекта
В среднем Node.JS-проекте – сотни файлов. Это нормально, и даже вполне удобно, если их правильно организовать.
Архитектура HMVC для Koa.JS.
Логирование
Процесс релиза приложения
Путь от git репозитория до сервера
Облачные CI/CD (Travis)
Облачные SaaS платформы (Heroku)
Деплой тестового приложения
После окончания третьей части вы понимаете в деталях весь цикл разработки приложения, не только написания кода, но и процесс релиза, организации логов и запуска на сервере.
Продажник: learn.javascript.ru/courses/nodejs
