Курс по Node.js новая версия 2024 года с Nest.js и GraphQL [learn.javascript.ru] [Сергей Зеленов]

Admin

Администратор
Команда форума
22 Фев 2018
59,562
17,719
113
Собрание
Первая встреча традиционно является собранием. На нём мы знакомимся, проверяем подключение, обсуждаем организационные вопросы, взаимодействие с преподавателем, и в целом процесс обучения на курсе.

Фреймворк NestJS
Этот модуль посвящен изучению основных концепций и архитектуры одного из самых популярных фреймворков – NestJS.

Внедрение зависимостей и провайдеры
Разберем очень важную концепцию – систему внедрения зависимостей, а также ее конкретную реализацию в NestJS, изучив, как создавать и управлять провайдерами для построения модульных и тестируемых приложений.

Построение модульных приложений
Научимся организовывать приложение в виде функциональных модулей, с упором на разделение ответственности (еще один из основополагаюших принципов SOLID) масштабируемости.

Продвинутая маршрутизация и middleware
Рассмотрим продвинутые техники маршрутизации, включая динамические ссылки, обеспечение безопасности доступа к данным и использование промежуточного ПО для обработки запросов.

Интеграция баз данных с TypeORM
Базы данных играют ключевую роль в большинстве современных приложений, рассмотрим Object-Relational Mapping (ORM) и Object-Document Mapping (ODM), а также преимущества их использования в разработке.

Конфигурирование и настройка окружения
Разберем примеры конфигураций, в том числе с помощью переменных окружения, посмотрим как обеспечивается гибкость и безопасность приложения на разных этапах разработки.

Аутентификация и авторизация
Определим понятие стратегии аутентификации, включая JWT, OAuth2, а также научимся управлять доступами на основе ролей (например "админ" или "гость") с использованием встроенных механизмов и декораторов.

Обработка ошибок и логирование
Разработаем комплексный подход к обработке ошибок и логированию, используя глобальные фильтры, перехватчики и библиотеки логирования, такие как Winston и Bunyan.

Тестирование приложений
Навыки тестирования крайне важны для создания приложений "следующего уровня" – научимся писать надежные юнит-тесты, интеграционные и end-to-end тесты с использованием Jest и Supertest.

Работа с GraphQL
Научимся разрабатывать и интегрировать GraphQL, включая проектирование схем, создание резолверов и оптимизацию производительности с помощью загрузчиков данных.

Микросервисная архитектура
Возможности микросервисов в современных системах поистине безграничны, мы научимся их проектировать, создавать, развертывать и конечно управлять распределенными системами с использованием модулей для микросервисов.

Развертывание и масштабирование приложений
Разумеется написание кода – это лишь часть процесса разработки приложения. В этом модуле мы с вами овладеем процессом развертывания приложений, включая создание CI/CD конвейеров, контейнеризацию с Docker, а также стратегиями масштабирования на облачных платформах, таких как Yandex Cloud, AWS и прочих.

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

Это занятие отведено специально для них и строится целиком и полностью на ваших вопросах. Можем обсудить как чисто технические вопросы, например преимущества и недостатки микросервисной архитектуры или отличия протокола REST от GraphQL, так и нетехнические - например, из каких источников можно получать новую информацию.