• Форумы
  • Администрирование

Скачать [learn.javascript.ru] Курс по Node.js [Сергей Зеленов]

Информация
Цена: 495 РУБ
Организатор: Kail
Записаться в список
Ссылки для скачивания
Скачать
Скачать
Скачать
Kail
Организатор
Организатор
Регистрация
09.04.2020
Сообщения
395 522
Реакции
38 872
Монеты
1 191
Оплачено
0
Баллы
0
19.04.2022
  • #SkladchinaVip
  • #1
[learn.javascript.ru] Курс по Node.js [Сергей Зеленов]
Ссылка на картинку
Мы изучим, как писать современные серверные приложения.

Основные темы курса:
  • Фундаментальное понимание Node.js: важные встроенные и сторонние модули, потоки.
  • Работа с базой данных MongoDB (с другими базами она устроена аналогично).
  • Веб-сервисы и обычные страницы для обработки сетевых запросов.
  • Авторизация, в том числе через соц. сети.
  • Непрерывное соединение и общение при помощи Websockets.
  • Тестирование: unit-тесты, функциональное и e2e тестирование.
  • А также ряд других аспектов, которые не так заметны, но тоже важно сделать правильно: конфигурация, логи, обработка ошибок, роутинг и т.п.

Программа курса:

Фундаментальный Node.js
:
  • Настройка окружения для разработки.
  • Прием и обработка HTTP-запросов.
  • Организация кода Node.js-приложения: модули в старом (commonjs) и новом (ES modules) синтаксисе.
  • Отладка процесса Node.js: скрипты, утечки памяти.
  • Жизнь и смерть Node.JS-процесса, событийный цикл. Макротаски и микротаски, особенности работы в Node.js.
  • HTTP-сервер, асинхронная модель Node.js.
Потоки данных:

Потоки данных в Node.js используются при приёме и отправке multipart-форм, файлов, больших запросах к базе данных и во многих других ситуациях. Когда разработчики переходят от обычного JavaScript к Node.js, у них всегда возникают сложности с потоками, поэтому мы уделяем им особое внимание.
  • Потоки для чтения, записи и преобразования данных. Область применения потоков, их правильное использование.
  • Внутреннее устройство потоков: буферизация данных, события, методы управления потоками.
  • Тип данных Buffer для бинарных данных.
  • Передача данных из потока в поток, обработка ошибок в цепочке.
  • Последние изменения и улучшения: потоки в Node.js постоянно меняются, мы даём самую последнюю версию.
Юнит- и функциональное тестирование:
  • Типы тестирования, архитектурное устройство тестовых фреймворков, отличия, инструментарий.
  • Написание юнит-тестов при помощи Mocha и Sinon, для тестирования классов и функций.
  • Написание функциональных тестов HTTP-сервера для проверки полного цикла работы.
По окончанию этого занятия вы понимаете, как разрабатывать на Node.js, как делать сервер и правильно обрабатывать запросы, автоматически тестировать свой код.

Серверные фреймворки, Koa.js:
  • Принципы устройства широко распространённых фреймворков на Node.js: express.js и koa.js (новое поколение express).
  • Создаём простой сервер на koa.js.
  • Архитектура вложенных middleware, приём проектирования “цепочка обязанностей”.
Реализация основных задач:
  • Обработка запросов, роутинг.
  • Логирование.
  • Обработка ошибок.
  • Чтение больших POST-запросов.
  • Отдача статических файлов.
  • Конфигурация приложения в разных окружениях.
Базы данных:

Базы данных, такие как MongoDB, MySQL, Oracle и другие, хранят все данные нашего приложения: товары, пользователей и так далее, и позволяют быстро искать среди них. Они используются почти во всех современных приложениях, исключая самые простые.
  • Общие принципы работы с базами данных:
    • NoSQL, используя Mongodb,
    • Поиск по тексту с морфологией на Elasticsearch
  • Для проекта будем использовать mongodb, поэтому изучим ключевые особенности работы с этой базой.
  • Создание REST API для работы с пользователями при помощи MongoDB и Koa.js
    • ООП при помощи Mongoose: модели, запросы, схемы, валидация и плагины.
    • Создание, сохранение и поиск пользователей в базе.
    • Индексы для быстрого поиска.
    • Валидация, обработка ошибок
Пользователи, авторизация:
  • Принципы безопасного хранения паролей, использование криптографических алгоритмов для генерации хэшей.
  • Регистрация, вход и выход из приложения.
  • Пользовательские сессии (cookie для браузера, jwt для микросервисов).
  • Использование библиотеки passport.js, которая предоставляет готовые модули авторизации. Создание и подключение OAuth 2.0 стратегий на примере социальной сети vkontakte (по желанию можем рассмотреть и другие).
  • Создание серверной части для фронтенд-приложения:

    • Фронтенд-часть на React.js уже написана.
    • Веб-сервисы для авторизации.
Улучшаем приложение:
  • Шаблонизация (модуль pug).
  • Email: отправка, важные нюансы (внешние сервисы, защита от спама, инлайнинг стилей, картинки).
  • Архитектура сложных приложений:
    • Вложенный роутинг
    • Организация файлов и модулей проекта.
  • Интеграционное тестирование: написание скриптов, которые управляют браузером, позволяют автоматически открыть страницу, залогиниться, добавить товар в корзину и оплатить его.
После этого занятия вы умеете создавать сервер для SPA или обычного приложения с веб-сервисами, тестами, авторизацией. При желании можно дописать к нему новые сервисы, архитектура и ваши навыки легко позволяют это.

Чаты, непрерывная подгрузка и обмен данными:

Способы поддержки непрерывного соединения с сервером и получения новых данных: нужно для создания чата, онлайн-игр и других интерактивных приложений.
  • Основные приёмы и техники, их плюсы и недостатки, область применения: Long polling, Server Sent Events, Websockets.
  • Используем Websockets (при помощи socket.io) для непрерывных соединений.
  • Единая авторизация, интеграция websocket с приложением.
  • Реконнект, отслеживание состояния соединения.
  • Кластеризация при высоких нагрузках.
Развёртывание и запуск приложения:
  • Запуск и поддержание работы приложения.
  • Плавное обновление (рестарт без потери соединений и без даунтайма).
  • Миграции базы данных.
  • Мониторинг.
  • Менеджмент логов.
  • Примеры развёртывания:
    • Heroku с github-интеграцией
    • Тестирование с travis-ci
  • Хранение и использование секретных ключей.
После этого занятия вы понимаете в деталях весь цикл разработки приложения: не только написания кода, но и релиза, организации логов и запуска на сервере.

Занятие на дополнительные темы, нужные группе:

Несмотря на то, что курс является наиболее полным и покрывает все основные темы, касающиеся разработки и запуска веб-приложений на Node.js - всё равно есть темы, которые не вошли в программу курса, но обсудить их хочется.

Это занятие отведено специально для них и строится целиком и полностью на ваших вопросах. Можем обсудить как чисто технические вопросы, например преимущества и недостатки микросервисной архитектуры или отличия протокола REST от GraphQL, так и нетехнические - например, из каких источников можно получать новую информацию.
Показать больше
 
Зарегистрируйтесь , чтобы посмотреть скрытый контент.
Поиск по тегу:
Теги
learn.javascript.ru курс по node.js сергей зеленов
Похожие складчины
Скачать Курс по Node.js 2020 [javascript.ru]
  • Kail
  • 19.07.2022
0
Ответы
0
Просмотры
303
19.07.2022
Kail
Скачать [learn.javascript.ru] Курс по Angular [Егор Сидоров]
  • Kail
  • 17.04.2022
0
Ответы
0
Просмотры
449
17.04.2022
Kail
Скачать [learn.javascript.ru] Курс по современной вёрстке [Герман Семикозов]
  • Kail
  • 19.04.2022
0
Ответы
0
Просмотры
273
19.04.2022
Kail
Скачать [Udemy] Node.js - Полный Курс по Node.js [Богдан Стащук]
  • Kail
  • 08.04.2023
0
Ответы
0
Просмотры
2K
08.04.2023
Kail
Скачать [javascript.ru] Курс по Node.JS [Илья Кантор]
  • Kail
  • 11.06.2025
0
Ответы
0
Просмотры
52
11.06.2025
Kail
Показать больше складчин

Войдите или зарегистрируйтесь

Вы должны быть авторизованны для просмотра материала

Создать аккаунт

Создать учетную запись займет не больше минуты!

Регистрация

Войти

Уже зарегистрированы? Просто войдите.

Войти
Поделиться:
Facebook Twitter WhatsApp Электронная почта
  • Форумы
  • Администрирование
  • Русский (RU)
  • Обратная связь
  • Условия и правила
  • Политика конфиденциальности
  • Помощь
Меню
Войти

Регистрация

  • Форумы
    • Новые сообщения
  • Мои складчины
  • Служба поддержки
  • Новые складчины
    • Новые сообщения
    • Последняя активность
    • Новые оценки тем
  • Как зарегистрироваться?