Все курсы

Курс по Node.js

Этот курс посвящен одной из самых популярных и востребованных серверных технологий – 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 и фреймворков.

Сертификат

По окончанию курсов вы получаете сертификат в электронном виде на русском и английском языках.

Хотя сертификатам в нашей профессии обычно не придают значения. Главное - знания и умения, которые вы получите, если будете полноценно участвовать в курсе.

img

Программа

Собрание

Первая встреча традиционно является собранием. На нём мы знакомимся, проверяем подключение, обсуждаем организационные вопросы, взаимодействие с преподавателем, и в целом процесс обучения на курсе.

Фреймворк 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, так и нетехнические - например, из каких источников можно получать новую информацию.

Предварительные требования

  • Знание современного JavaScript, классов, асинхронных функций, работы с HTTP API.
  • Понимание браузерного JavaScript/HTML/CSS (однако клиентский код писать не понадобится, этот курс про серверный JS).
  • Интернет 256kb/s или быстрее для видео.

Преподаватель

Photo
Сергей ЗеленовВедёт курс с 28 июня 2016

Автор курса по Node.js и автоматизированного задачника. Профессионально разрабатываю веб-приложения с 2009 года, с 2013 — с использованием Node.js. Со-основатель и технический директор компании Recova, создающей систему хранения и обработки больших данных для машинного обучения. С 2015 года разрабатываю платформу learn.javascript.ru: локализация движка, мультиязычный поиск, автоматизированная проверка задач. Обучаю фундаментальным вещам и созданию архитектурно грамотного, качественного и тестируемого кода.

LinkedIn

Что говорят о курсе участники?

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

Все отзывы являются честными. Мы не модерируем их.

Курс регулярно обновляется. Все отзывы относятся к предыдущей версии курса, так как новую только запустили.

Гарантия

  • Если объяснения будут вам непонятны
  • Если курсы не дадут вам новых знаний и умений
  • Если вы не сможете подключиться к системе онлайн-обучения

…то вы сможете получить деньги назад.

Для этого достаточно не позже окончания первой недели курса написать, что именно вас не устраивает, и тогда ваше участие будет прекращено, а вы получите деньги обратно.

Для компаний

У нас большой опыт работы с самыми разными компаниями: как маленькими, так и IT-гигантами.

  • При записи нужно выбрать способ оплаты "счёт на компанию", и документы будут автоматически сгенерированы: договор, акт и счёт, есть лицензия.
  • Для зарубежных компаний выдаём инвойс на английском языке.

Физическим лицам даём справку об оплате, если нужна компании для компенсации расходов и документы для налогового вычета: детали для РФ.

Подписаться на уведомления по курсу

Новый, полностью переработанный курс совсем скоро будет доступен для записи. Вы можете запросить уведомление:

Мы рассылаем уведомления только когда вы их запрашиваете, вы можете отказаться в любой момент. Подписываясь на рассылку, вы соглашаетесь с политикой конфиденциальности. Мы не передаём email третьим лицам.

Если остались вопросы – посмотрите в часто задаваемых, напишите на почту help@javascript.ru (ответ обычно в течение дня), а если срочно — задайте по телефону +7-903-5419441.

Комментарии

перед тем как писать…
  • Если вам кажется, что в статье что-то не так - вместо комментария напишите на GitHub.
  • Для одной строки кода используйте тег <code>, для нескольких строк кода — тег <pre>, если больше 10 строк — ссылку на песочницу (plnkr, JSBin, codepen…)
  • Если что-то непонятно в статье — пишите, что именно и с какого места.