Курс по Node.js
Этот курс посвящен одной из самых популярных и востребованных серверных технологий – Node.js. Он предназначен для разработчиков, которые уже имеют представление об основных особенностях и возможностях Node.JS и хотят разобраться в вопросах создания надежных и масштабируемых приложений, используя самые лучшие и современные подходы.
О курсе
После большого перерыва вновь открыта запись на новую, полностью обновлённую программу!
Программа может незначительно поменяться, но в целом останется такой же.
Наша задача - изучить самые современные технологии, модули и практики разработки на Node.js.
Мы изучим Node.js как основную технологию, углубляясь в его возможности и архитектуру, а также используем фреймворк NestJS.
Мы будем разрабатывать реальные проекты, на примере которых постепенно изучим возможности этих технологий, различные подходы к решению практических задач и основные библиотеки экосистемы. В ходе разработки курсового проекта мы создадим масштабируемое серверное приложение, а также проработаем концепции микросервисов, тестирования и деплоя.
Кроме JavaScript, в курсе также рассматривается TypeScript, который помогает делать код более надёжным и понятным.
В рамках курса вы получите не только теоретические знания, но и практические навыки, необходимые для создания современных серверных приложений.
Как организовано обучение?
Курс идёт примерно 1.5 месяца.
До начала обучения: вводные материалы по основам Node.js.
Мы также будем использовать систему Git/GitHub для обмена исходным кодом, так делает большинство проектов. Для тех, кому это в новинку - дадим крэш-курс и поможем разобраться.
Онлайн-занятия с преподавателем 2 раза в неделю
Занятие проходит в формате вебинара. Запись занятия доступна через 15 минут после окончания. Вы также сохраняете доступ к записям после окончания курса.
Домашние задания, обратная связь по ним
Ваши решения присылаете преподавателю, он проверяет качество кода, использование правильных приёмов проектирования, даёт обратную связь.
Чат
Между занятиями доступен групповой чат для общения и вопросов преподавателю.
Курсовой проект
Большую часть кода для проекта пишете вы, проект разместим в интернете.
Результат
Вы хорошо разбираетесь в устройстве Node.js, разрабатываете и отлаживаете программы на нём.
Вы знаете, как создать и запустить проект любого размера, чтобы он стабильно работал, не падал, корректно отрабатывал при ошибках.
Вы можете разработать современный веб-сервис на Node.js с использованием самого последнего стандарта JavaScript и фреймворков.
Сертификат
По окончанию курсов вы получаете сертификат в электронном виде на русском и английском языках.
Хотя сертификатам в нашей профессии обычно не придают значения. Главное - знания и умения, которые вы получите, если будете полноценно участвовать в курсе.
Программа
Собрание
Первая встреча традиционно является собранием. На нём мы знакомимся, проверяем подключение, обсуждаем организационные вопросы, взаимодействие с преподавателем, и в целом процесс обучения на курсе.
Фреймворк 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, так и нетехнические - например, из каких источников можно получать новую информацию.
Преподаватель
Автор курса по Node.js и автоматизированного задачника. Профессионально разрабатываю веб-приложения с 2009 года, с 2013 — с использованием Node.js. Со-основатель и технический директор компании Recova, создающей систему хранения и обработки больших данных для машинного обучения. С 2015 года разрабатываю платформу learn.javascript.ru: локализация движка, мультиязычный поиск, автоматизированная проверка задач. Обучаю фундаментальным вещам и созданию архитектурно грамотного, качественного и тестируемого кода.
Что говорят о курсе участники?
Мы занимаемся обучением с 2007 года. За это время у нас обучились тысячи разработчиков из разных стран и компаний.
Все отзывы являются честными. Мы не модерируем их.
Курс регулярно обновляется. Все отзывы относятся к предыдущей версии курса, так как новую только запустили.
Гарантия
- Если объяснения будут вам непонятны
- Если курсы не дадут вам новых знаний и умений
- Если вы не сможете подключиться к системе онлайн-обучения
…то вы сможете получить деньги назад.
Для этого достаточно не позже окончания первой недели курса написать, что именно вас не устраивает, и тогда ваше участие будет прекращено, а вы получите деньги обратно.
Для компаний
У нас большой опыт работы с самыми разными компаниями: как маленькими, так и IT-гигантами.
- При записи нужно выбрать способ оплаты "счёт на компанию", и документы будут автоматически сгенерированы: договор, акт и счёт, есть лицензия.
- Для зарубежных компаний выдаём инвойс на английском языке.
Физическим лицам даём справку об оплате, если нужна компании для компенсации расходов и документы для налогового вычета: детали для РФ.
Подписаться на уведомления по курсу
Если остались вопросы – посмотрите в часто задаваемых, напишите на почту help@javascript.ru (ответ обычно в течение дня), а если срочно — задайте по телефону +7-903-5419441.
Комментарии
<code>
, для нескольких строк кода — тег<pre>
, если больше 10 строк — ссылку на песочницу (plnkr, JSBin, codepen…)