Собрание
Первая встреча традиционно является собранием. На нём мы знакомимся, проверяем подключение, обсуждаем организационные вопросы, взаимодействие с преподавателем, и в целом процесс обучения на курсе.
Фреймворк 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, так и нетехнические - например, из каких источников можно получать новую информацию.
Первая встреча традиционно является собранием. На нём мы знакомимся, проверяем подключение, обсуждаем организационные вопросы, взаимодействие с преподавателем, и в целом процесс обучения на курсе.
Фреймворк 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, так и нетехнические - например, из каких источников можно получать новую информацию.
Для просмотра скрытого содержимого необходимо Войти или Зарегистрироваться.