Node.js-разработчик: кто это, обязанности, зарплаты и как им стать в 2025 году. Обзор профессии.

Обучение

Кто такой Node.js-разработчик?

Node.js-разработчик — это специалист, который отвечает за написание логики веб-приложений на стороне сервера на языке JavaScript и/или его разновидностях, таких как CoffeeScript, IcedCoffeeScript и т. д. Разработчики Node.js обычно разрабатывают back-end компоненты, связывают приложение с другими (часто сторонними) веб-сервисами и поддерживают front-end разработчиков, интегрируя их работу с приложением Node.js.

Что делают Node.js-разработчики и чем занимаются?

Обязанности на примере одной из вакансий:

  • Разработка web-приложения;
  • Разработка пользовательского интерфейса;
  • Разработка RESTful API;
  • Проектирование и разработка backend части приложений;
  • Проектирование API;
  • Проектирование БД;
  • Ревью кода.

Что должен знать и уметь Node.js-разработчик? 

Требования к Node.js-разработчикам:

  • Знание JavaScript;
  • Знание полного цикла разработки: testing, release management, deployment process and etc;
  • знание Node.js, React, Express.js, MySQL, Redis, Bull, Docker, Material-UI, Git;
  • стремление к развитию и принятию самостоятельных решений;

Востребованность и зарплаты Node.js-разработчиков

На сайте поиска работы в данный момент открыто 3 374 вакансии, с каждым месяцем спрос на Node.js-разработчиков растет.

Количество вакансий с указанной зарплатой Node.js-разработчика по всей России:

  • от 105 000 руб. – 1 115
  • от 205 000 руб. – 682
  • от 305 000 руб. – 278
  • от 405 000 руб. – 114
  • от 510 000 руб. – 42

Вакансий с указанным уровнем дохода по Москве:

  • от 120 000 руб. – 420
  • от 225 000 руб. – 280
  • от 330 000 руб. – 125
  • от 435 000 руб. – 48
  • от 545 000 руб. – 20

Вакансий с указанным уровнем дохода по Санкт-Петербургу:

  • от 110 000 руб. – 198
  • от 210 000 руб. – 127
  • от 305 000 руб. – 54
  • от 405 000 руб. – 25
  • от 505 000 руб. – 10

Как стать Node.js-разработчиком и где учиться?

Варианты обучения для Node.js-разработчика с нуля:

  • Самостоятельное обучение – всевозможные видео на YouTube, книги, форумы, самоучители и т.д. Плюсы – дешево или очень недорого. Минусы – нет системности, самостоятельное обучение может оказаться неэффективным, полученные навыки могут оказаться невостребованными у работодателя;
  • Онлайн-обучение. Пройти курс можно на одной из образовательных платформ. Такие курсы рассчитаны на людей без особой подготовки, поэтому подойдут большинству людей. Обычно упор в онлайн-обучении делается на практику – это позволяет быстро пополнить портфолио и устроиться на работу сразу после обучения.

Ниже сделали обзор 15+ лучших онлайн-курсов.

15+ лучших курсов для обучения Node.js-разработчика: подробный обзор

Стоимость: цену уточняйте на сайте.

Node.js расширяет возможности языка JavaScript и выступает в роли веб-сервера. С помощью этой платформы вы научитесь создавать полноценные веб-приложения и CLI-утилиты — и сможете вырасти как разработчик.

 

Кому подойдёт этот курс

  • Frontend-разработчикам

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

  • Backend-разработчикам

Вы освоите Node.js и научитесь писать backend на JavaScript — разберётесь во взаимодействии серверной и клиентской частей кода и станете более востребованным специалистом.

 

Чему вы научитесь

  1. Создавать веб-серверные приложения и CLI-утилиты
  2. Работать с менеджером пакетов npm
  3. Работать с шаблонами HTML
  4. Работать с REST API
  5. Использовать популярные модули Node.js
  6. Использовать инструменты разработчика для написания, контроля качества, тестирования и отладки кода
  7. Использовать базы данных PostgreSQL и MongoDB
  8. Развёртывать проект вручную и в автоматизированных системах
  9. Работать с HTTP

 

Программа

Вас ждут онлайн-лекции и практические задания на основе реальных кейсов.

  • 11 тематических модулей
  • 75 онлайн-уроков
  1. Подготовка рабочей среды

Познакомитесь с терминалом, Git, VSCode, установите и настроите рабочую среду на Windows, Linux или macOS.

  1. Hello, world!

Создадите свою первую программу на Node.js, узнаете о конфигурационном файле package.json и установке зависимостей, научитесь пользоваться специальным шаблоном для быстрого старта проекта.

  1. Решаем базовые задачи

Узнаете, как работать с файловой системой, создавать веб-сервер и обрабатывать HTTP-запросы, посылать запросы к сторонним сервисам. Изучите полезные встроенные и сторонние модули.

  1. Асинхронный код

Поймете, что такое асинхронность и почему она важна, изучите основные подходы к организации асинхронного кода (callbacks, Promises, async/await), узнаете про библиотеку Bluebird.

  1. js

Познакомитесь с популярным веб-фреймворком Express.js. Научитесь работать с рендерингом HTML, REST API, загрузкой файлов, авторизацией и аутентификацией.

  1. Реляционные базы данных

Изучите работу с реляционными базами данных на примере PostgreSQL.

  1. Нереляционные базы данных

Изучите работу с нереляционными базами, их особенности и применение. Научитесь работать с MongoDB.

  1. CLI (Command Line Interface) программы

Научитесь создавать CLI-утилиты с помощью Node.js.

  1. Углубляем теорию

Изучите продвинутые темы: жизненный цикл процесса, event loop, работа с Buffer, streams, генераторы и итераторы, HTTPS.

  1. Real-time & WebSockets

Узнаете, что такое real-time приложения, какие есть подходы к их реализации. Научитесь работать с протоколом WebSocket.

  1. Pro tips

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

  1. Дипломный проект. Сервис личных заметок

Вы создадите серверную часть для сервиса личных заметок. Реализуете авторизацию, REST API, взаимодействие с базой данных — и развернёте проект на хостинге.

Стоимость: 24 850 ₽ или рассрочка на 12 месяцев — 2 070 ₽ / мес
  1. Станьте fullstack-разработчиком, зная только JavaScript
  2. Технология Node.js позволит вам разрабатывать backend для веб-приложений самостоятельно, а язык программирования TypeScript расширит возможности JavaScript для ваших проектов

 

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

Введение в Node.js

Вы познакомитесь с рабочей средой Node.js и инструментами разработки. По итогам модуля вы создадите консольное приложение для обработки файлов с помощью потоков.

  1. Особенности работы с Node.js, установка и настройка рабочей среды
  2. Менеджер пакетов
  3. Работа с консолью, циклы событий, асинхронность
  4. Модули Node.js и инструменты разработки
  5. Стримы (потоки)
  6. js HTTP-module. HTTP-stream. Встроенный низкоуровневый веб-сервер


Библиотека Express.js

Познакомитесь с библиотекой Express.js, развернёте приложение на сервере, освоите Docker, подключите базу данных MongoDB для хранения данных и Passport.js для аутентификации пользователей, настроите обмен данными между клиентом и сервером — с этим помогут websocket и socket.io.

  1. Библиотеки Node.js для веб-разработки. Express.js
  2. Паттерн «цепочка обязанностей»
  3. Шаблонизаторы. Отрисовка контента (рендер на сервере). Библиотеки Express.js
  4. Развёртывание приложения на сервере (heroku)
  5. Docker, установка и настройка. Контейнеризация приложения
  6. Сравнение реляционных и объектно-ориентированных БД
  7. Запуск локальной MongoDB в Docker. Подключение MongoDB в Тode.js-приложение
  8. Аутентификация. Passport.js
  9. Realtime взаимодействие с сервером, протокол websocket. Библиотеки ws и socket.io


Приложение для доставки

Вы создадите сайт доставки и чат для общения двух людей. Для создания сайта вы разработаете API для аутентификации, управления и просмотра объявлений и websocket-чат. В проекте вы задействуете технологии Node.js, Express.js, Passport.js, MongoDB и Websocket.


TypeScript

Вы освоите статическую типизацию для js кода с помощью TypeScript. На практике будете использовать богатую систему типов, декораторы, enum-ы и другие возможности языка TypeScript. Научитесь настраивать проект с помощью tsconfig.json, использовать eslint для проверки стиля и качества ts-кода. Воспользуетесь всеми возможностями TypeScript для написания надёжных приложений на Node.js.

  1. js и TypeScript (настройка окружения, возможности)
  2. Динамическая типизация JavaScript vs статическая типизация TypeScript. Инструментарий tsc, tslint/eslint. Настройка проекта
  3. Система типов TypeScript. Основные принципы ООП. SOLID
  4. Библиотека Reflect-metadata. Loc-контейнеры: type-di, inversify
  5. Перенос и интеграция JS-проекта на примере пройденных материалов
  6. Организация проекта и кодовой базы. Разделение приложения на слои


Nest.js

Вы изучите фреймворк Nest.js и основные понятия, создадите проект на Node.js, реализуете функциональность из блока TypeScript на модули Nest.js, подключите базы данных (модуль для MongoDB). Научитесь подключать аутентификацию по модулям Nest.js и добавите тестирование кода в свой проект.

  1. Основные понятия: модули, контроллеры, сервисы. MVC-архитектура
  2. Погружение в Nest.js: инверсия зависимостей, провайдеры, Middleware
  3. Подключение базы данных к Nest.js — модулю для MongoDB. Сервисы, репозитории, примеры
  4. Потоки RxJs
  5. Валидация и обработка ошибок. Interceptors, pipes
  6. Аутентификация вjs, Passport.js. Guards
  7. Тестирование. Библиотека JEST. Unit-тесты, интеграционные и приёмочные тесты
  8. Вебсокеты в Nest.js


Firebase

Cоздадите аккаунт firebase, внедрите функциональность проекта «Книги» на cloud-функции и подключите облачную базу данных для хранения данных из cloud-функций.

  1. Cloud Firestore, Realtime Database
  2. Cloud Functions, Hosting
  3. Firebase Authentication


Итоговый проект  — агрегатор отелей

В конце обучения вы создадите сайт-агрегатор для просмотра и бронирования отелей. Для этого вы разработаете публичный API, API пользователя, API администратора и чат для консультанта. В проекте вы задействуете технологии Node.js, Nest.js, MongoDB и Websocket.

 

Что умею делать после обучения

  1. Работать с инструментами разработки Node.js
  2. Использовать библиотеки и фреймворки Node.js: Express.js, Nest.js
  3. Писать на TypeScript и использовать инструменты tsc, tslint/eslint
  4. Подключать и использовать в проекте базы данных (MongoDB)
  5. Настраивать обмен данными между клиентом и сервером (WebSocket)
  6. Работать с ПО для автоматизации развёртывания и управления приложениями (Docker)
  7. Настраивать аутентификацию с помощью Passport.js
  8. Писать unit-тесты
  9. Использовать Google Firebase
Стоимость: разная стоимость

Node.js был создан Райаном Далем (Ryan Dahl), развитием проекта сейчас занимается компания Joyent, крупный провайдер облачных вычислений в США. Серверная среда Node.js состоит из 80% кода C/C++ (ядро) и 20% JavaScript API. Также применяются основные принципы и спецификации CommonJS.

Этот курс создан для тех, кто уже хорошо знает и использует JavaScript на клиенте и хочет научиться программировать на JavaScript на стороне сервера.

Чему Вы научитесь

  • Создавать консольные утилиты на Node.js;
  • Создавать веб-сервисы с помощью популярного фреймворка Express.js;
  • Применять шаблонизаторы для разделения кода и оформления интерфейса в проекте;
  • Создавать и использовать различные REST API;
  • Использовать в программе веб-сокеты с помощью socket.io.

Что Вы получите

1.       Видеозаписи всех онлайн-занятий

2.       Методички и практические задания

3.       Общение с одногруппниками

4.       Сертификат об окончании обучения

Разработка серверных приложений на Node.js с использованием Express, TypeScript, GraphQl, Apollo и Nest.js.

Курс рассчитан на frontend-разработчиков или backend-разработчиков со знанием Javascript.

За 4 месяца вы научитесь:

  • разрабатывать бэкенд любой сложности на Node.js с использованием Express, Passport, Jest, GraphQL, Nest.js;
  • работать с базами данных MongoDB и PostgreSQL;
  • использовать и настраивать CI/CD для своего проекта;
  • конфигурировать приложения для production и деплоить на сервер;
  • работать с Web Sockets (Socket.IO);
  • писать понятный и чистый код на TypeScript.

Также вы получите:

  • глубокое понимание архитектуры и дизайна Node.js, V8;
  • навыки разработки с TDD;
  • понимание и опыт использования TypeScript;
  • практические навыки создания GraphQl-сервера с Apollo;
  • опыт создания Real-time и CLI-приложений.

Программа обучения

Модуль 1. Особенности Node.js

Тема 1. Введение в Node и NPM

Тема 2. Система Модулей Node.js

Тема 3. Events, Timers, Event Loop

Тема 4. Streams — Errors

Тема 5. Тестирование в Node.js

Тема 6. HTTPS Server


Модуль 2. Web Server с Express

Тема 7. Web Servers

Тема 8. Особенности Express

Тема 9. Введение в MongoDB

Тема 10. REST API с MongoDB

Тема 11. Аутентификация и Безопасность

Тема 12. Другие Особенности Web Server

Тема 13. Real-Time Web Приложения с сокетами


Модуль 3. Node.js на Prod

Тема 14. Отладка и профилирование Node.js

Тема 15. Управление процессами с Node.js

Тема 16. TypeScript — теория и практика

Тема 17. TypeScript в Node.js

Тема 18. Express с TypeScript

Тема 19. Деплой приложения

Тема 20. Node.js в Docker

Тема 21. Node.js в проде

Тема 22. CLI в Node.js


Модуль 4. Nest.js, TypeScript, GraphQL, Apollo

Тема 23. Начинаем с Nest.js

Тема 24. Работа с PostgreSQL

Тема 25. Особенности Nest.js

Тема 26. Введение в GraphQL

Тема 27. Особенности GraphQL

Тема 28. Создание GraphQL API Сервера

Тема 29. Apollo Client


Модуль 5. Проектная работа

Тема 30. Выбор темы и организация проектной работы

Тема 31. Консультация по проектам и домашним заданиям

Тема 32. Защита проектных работ

Стоимость: 24 000 р. или в рассрочку от 2 000 р./мес

Программа обучения

Неделя 1 — Введение в Node.js, асинхронность, модули

— Знакомство с командой курса. — Изучаем модули, файловую систему и потоки в Node.js. — Разбираем асинхронность в Node.js.

  • Введение в Node.js и настройка рабочей среды
  • Модули, файловая система и потоки
  • Работа с асинхронностью в Node.js
  • Разбор заданий #1


Неделя 2 — Работа с шаблонами, Express.js, Koa.js

— Изучаем принципы работы с шаблонами (шаблонизаторы Ejs, Handlebars, Pug). — Знакомимся с framework Express.js. — Изучаем framework Кoa.js.

  1. Работа с
  2. js
  3. js
  4. Разбор заданий #2


Неделя 3 — REST API, работа с базами данных

— Разбираем понятие API и изучаем примеры построения простого API. — Рассматриваем работу с реляционными и не реляционными БД на примере PostgreSQL и MongoDB.

  1. REST
  2. Работа с реляционными БД (на примере PostgreSQL)
  3. Работа с нереляционными БД (на примере MongoDB)


Неделя 4 — Сокеты, авторизация, тестирование

— Работа с Websocket. Рассматриваем библиотеку Socket.IO. — Рассматриваем различия авторизации и аутентификации. — Изучаем виды тестов (на примере Mocha и Chai тестов).

  1. Сокеты и работа с ними
  2. Авторизация и аутентификация
  3. Тестирование


Неделя 5 — Deployment

— Рассматриваем виртуальные хостинги. Deployment на Heroku с использованием Travis. — Пишем Telegram-бота, учимся работать с node-telegram-bot-api. — Выбираем framework для реализации выпускного проекта.

  1. Deployment и все, что с ним связано
  2. Процесс написания ботов
  3. Разбор заданий #3


Неделя 6 — Серверный рендеринг

— Рассматриваем принципы серверного рендеринга. — Разбираем преимущества и недостатки SPA. — Завершаем работу над выпускным проектом.

  1. Серверный рендеринг

Отзывы на сайте.

Основные темы курса:

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

 

Программа

Занятия проходят онлайн два раза в неделю.

Собрание

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

Фундаментальный Node.js

Изучим, как устроен 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 и другие, хранят все данные нашего приложения: товары, пользователей и так далее, и позволяют быстро искать среди них. Они используются почти во всех современных приложениях, исключая самые простые.

  • Общие принципы работы с базами данных:
    • SQL на примере PostgreSQL,
    • NoSQL, используя Mongodb,
    • Поиск по тексту с морфологией на Elasticsearch
  • Для проекта будем использовать mongodb, поэтому изучим ключевые особенности работы с этой базой.
  • Создание REST API для работы с пользователями при помощи MongoDB и Koa.js
    • ООП при помощи Mongoose: модели, запросы, схемы, валидация и плагины.
    • Создание, сохранение и поиск пользователей в базе.
    • Индексы для быстрого поиска.
    • Валидация, обработка ошибок

Пользователи, авторизация

Авторизация для пользователей необходима практически в каждом приложении.

  • Принципы безопасного хранения паролей, использование криптографических алгоритмов для генерации хэшей.
  • Регистрация, вход и выход из приложения.
  • Пользовательские сессии (cookie для браузера, jwt для микросервисов).
  • Использование библиотеки passport.js, которая предоставляет готовые модули авторизации. Создание и подключение OAuth 2.0 стратегий на примере социальной сети vkontakte (по желанию можем рассмотреть и другие).
  • Создание серверной части для фронтенд-приложения:

Фронтенд-часть на React.js уже написана.

  • Веб-сервисы для авторизации.

Улучшаем приложение

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

После этого занятия вы умеете создавать сервер для SPA или обычного приложения с веб-сервисами, тестами, авторизацией.

При желании можно дописать к нему новые сервисы, архитектура и ваши навыки легко позволяют это.

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

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

  • Основные приёмы и техники, их плюсы и недостатки, область применения: Long polling, Server Sent Events, Websockets.
  • Используем Websockets (при помощи socket.io) для непрерывных соединений.
  • Единая авторизация, интеграция websocket с приложением.
  • Реконнект, отслеживание состояния соединения.
  • Кластеризация при высоких нагрузках.

Развёртывание и запуск приложения

На этом занятии мы обсудим важнейшие вопросы, касающиеся запуска и обновлений готового приложения на сервере, в “боевом” окружении.

  • Запуск и поддержание работы приложения.
  • Плавное обновление (рестарт без потери соединений и без даунтайма).
  • Миграции базы данных.
  • Мониторинг.
  • Менеджмент логов.
  • Примеры развёртывания:
    • Heroku с github-интеграцией
    • Тестирование с travis-ci
  • Хранение и использование секретных ключей.

После этого занятия вы понимаете в деталях весь цикл разработки приложения: не только написания кода, но и релиза, организации логов и запуска на сервере.

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

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

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

Стоимость: бесплатно

Изучаем Backend разработку с Node.js. Работаем с серверами, файлами, базами данных. Изучаем асинхронный и синхронный подход.

  1. для тех, кто хочет начать бекенд разработку
  2. Как учиться на курсе Node.js. Правила курса
  3. Установка и первая программа
  4. Дебаг программ на Node.js
  5. Передача параметров в Node.js
  6. Читаем папки и файлы. Создаем файлы.
  7. Читаем и пишем CSV и JSON файлы в Node.js
  8. Получение GET и POST запросов на Node.js
  9. Подключение к базе данных MySQL в Node.js
  10. Роутинг на Node.JS
  11. Последовательные запросы в базу данных на Node.js
  12. Последовательные запросы в базу данных на Node.js
  13. Модули Node.js, require
  14. Проект на pure Node.js — загрузка файлов на сервер # 1
  15. Загрузка файлов на сервер. Часть 1
  16. Загрузка файла на сервер на чистой Node.js ( часть 2)
  17. Загрузка файлов на Node.js ( часть 5)
  18. Сохраняем данные из формы в базу. Sequelize. Node.js
  19. Сохраняем данные из формы в базу. Sequelize. Node.js
  20. Установка Node приложений на сервер. Руками #1

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

Раздел 1

Знакомство с платформой

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

Основы Node.js.

Модули.

  • Введение в модули.
  • Встроенные модули.
  • Менеджер пакетов npm.

Command Line Interface.

Отладка приложения.

  • Отладка в редакторе.
  • Отладка в консоли.

Свернуть / Развернуть

Раздел 2

Асинхронность

Продолжим знакомиться с платформой Node.js. Разберём на практике как работает Event Loop и асинхронность. Узнаем, как правильно писать и управлять асинхронным кодом. Познакомимся с протоколом HTTP и напишем первый сервер.

Свернуть / Развернуть

Раздел 3

Express.js

В этом разделе мы начнём проектировать API. Обсудим теоретическую часть проектирования API: что следует учитывать во время проектирования, примеры плохого и хорошего API, версионирование API. Затем обсудим как Node.js может выступать в роли веб-сервера и обрабатывать запросы от клиентов. Подключим фреймворк Express.js и узнаем как он может упростить задачу разработки API.

Свернуть / Развернуть

Раздел 4

Логирование и тестирование

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

Свернуть / Развернуть

Раздел 5

Введение в базы данных. PostgreSQL

Любому приложению требуется где-то хранить данные. Они могут храниться в разных источниках: файлы, базы данных и т.д. Базы данных применяются особенно часто. В этом разделе разберём какие бывают базы данных, чем они отличаются. Научимся проектировать структуру базы данных и познакомимся с языком запросов (SQL).

Свернуть / Развернуть

Раздел 6

PostgreSQL и Node.js

Научимся взаимодействовать с PostgreSQL из Node.js несколькими способами. Начнём с установки соединения с СУБД и отправки запросов на получение/обновление данных из Node.js. Затем обсудим вопросы безопасности (SQL-Injection). А после этого подключим к проекту ORM и посмотрим на работу с базой данных с совершенно новой стороны.

Свернуть / Развернуть

Раздел 7

Аутентификация и авторизация

Разберём термины «аутентификация» и «авторизация». Узнаем чем они отличаются и на практике рассмотрим реализацию аутентификации в приложении. Научимся валидировать данные, полученные от клиента. Познакомимся с механизмом сессий и JWT (JSON Web Token). Обсудим вопросы безопасности: XSS, CSRF.

Свернуть / Развернуть

Раздел 8

Реалтайм

Посмотрим на сервер с другой стороны. Узнаем что из себя представляют приложения реального времени и познакомимся с протоколом WebSocket. Добавим в приложение реалтайма и познакомимся с библиотекой Socket.IO.

Свернуть / Развернуть

Раздел 9

Деплой. Доставка и запуск приложения на сервере

Разберём вопросы, связанные с доставкой приложения на сервер и запуска в боевой среде. Рассмотрим настройку менеджера процессов, обратного прокси-сервера (Nginx) и мониторинг ошибок. Научимся доставлять приложение на сервер (Heroku, VDS).

Стоимость: 24 490 рублей

Вы научитесь

  • создавать веб-сервер;
  • создавать динамическое веб-приложение;
  • использовать технологии, позволяющие передавать и получать данные без перезагрузки страницы;
  • использовать сеансы для сохранения состояния веб-приложения;
  • использовать документо-ориентированная систему управления базами данных MongoDB;
  • осуществлять безопасную авторизацию пользователя.

 

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

Модуль 1. Основы Node.js (2 ак. ч.)

  • Что такое Node.js
  • Установка Node.js
  • Обзор V8 JavaScript Engine
  • Как работает Node.js
  • Чтение файлов
  • Создание веб-сервера
  • Использование веб-сервера
  • Лабораторная работа: Создание и использование веб-сервера

Модуль 2. События (2 ак. ч.)

  • События JavaScript
  • События http-сервера Node.js
  • Лабораторная работа: Использование событий http-сервера
  • Пользовательские события Node.js
  • Лабораторная работа: Использование пользовательских событий

Модуль 3. Потоки (2 ак. ч.)

  • HTTP-метод POST
  • Использование cURL
  • Способы обработки запроса
  • Чтение из файла и запись в файл
  • Загрузка файла на сервер
  • Лабораторная работа: Использование потоков

Модуль 4. Модули (2 ак. ч.)

  • Использование модулей
  • Как создать модуль
  • Лабораторная работа: Использование модулей
  • NPM — Node Packaged Modules
  • Описание модуля
  • Основные команды NPM

Модуль 5. Фреймворк Express  (4 ак. ч.)

  • Фреймворк Express
  • Установка Express
  • Базовое использование Express
  • Использование шаблонизаторов
  • Полезные модули
  • Лабораторная работа: Использование фреймворка Express

Модуль 6. Веб-сокеты (4 ак. ч.)

  • Клиент – сервер: XHR vs WebSocket
  • Модуль Socket.IO
  • Совместное использование модулей Express и Socket.IO
  • Лабораторная работа: Чат с использованием Express и Socket.IO

Модуль 7. Элементы веб-приложения. Практикум (8 ак. ч.)

  • REST API
  • Создание каркаса приложения
  • Использование шаблонизатора
  • Использование MongoDB
  • Использование сеансов
  • Маршрутизация
  • Аутентификация пользователя

 

Учим необходимому

 JavaScript

Node.js – платформа для запуска кода на языке JavaScript. Именно его предстоит учить


 HTML и CSS

Языки создания веб-страниц. Описывают их структуру (расположение блоков) и внешний вид. Отвечают за форматирование текста

 
Фреймворк (Express, Fastify)

Задает архитектуру проекта. Решает типовые задачи за программиста. Значительно сокращает количество кода и автоматизирует рутину

 
Алгоритмы и структуры данных

Любая программа — это последовательность шагов, выполняемых над данными. Способ организации данных сильно влияет на удобство работы


 Базы данных (SQL)

База данных – сердце любого проекта, они хранят внутри себя все содержимое (данные)


 Качество

Автоматизированные тесты — неотъемлемая часть профессиональной разработки


 Архитектура

Создание простого для анализа и изменения кода требует хорошего понимания принципов его организации


 Инфраструктура

Программирование — это не только код, но и сопутствующие инструменты: командная строка, NPM, Git

Преимущества выбора курсов в РоманСеменцов.ру

1. Агрегатор онлайн-курсов


2. Рейтинги онлайн-школ

  • ТОП школ по любым направлениям
  • Дата начала: 2023-01-01
  • Дата окончания: 2023-12-31

3. Актуальное обучение

  • Выбирайте лучшие курсы по отзывам реальных учеников
  • Дата начала: 2023-01-01
  • Дата окончания: 2023-12-31
Онлайн-курсы доступ в любом городе России и СНГ, включая: Рязань, Назрань, Севастополь, Тюмень, Старый Оскол, Щёлково, Ставрополь, Симферополь, Подольск, Йошкар-Ола, Омск, Сочи, Екатеринбург, Кемерово, Салават, Королёв, Нижний Тагил, Обнинск, Петрозаводск, Иркутск, Самара, Тамбов, Серпухов, Красноярск, Каспийск, Якутск, Беларусь, Санкт-Петербург, Краснодар, Южно-Сахалинск, Новочебоксарск, Ангарск, Таганрог, Чебоксары, Коломна, Орехово-Зуево, Электросталь, Владикавказ, Орёл, Кызыл, Златоуст, Челябинск, Тула, Нефтеюганск, Невинномысск, Мурманск, Архангельск, Тверь, Саратов, Вологда, Пенза, Хасавюрт, Нижневартовск, Рыбинск, Владивосток, Казахстан, Балаково, Армавир, Альметьевск, Балашиха, Одинцово, Пермь, Петропавловск-Камчатский, Ростов-на-Дону, Псков, Мытищи, Махачкала, Новороссийск, Саранск, Волгодонск, Нижний Новгород, Улан-Удэ, Чита, Томск, Владимир, Прокопьевск, Набережные Челны, Долгопрудный, Благовещенск, Волжский, Казань, Братск, Первоуральск, Новый Уренгой, Каменск-Уральский, Белгород, Домодедово, Оренбург, Северодвинск, Хабаровск, Москва, Череповец, Ярославль, Минск, Красногорск, Тольятти, Норильск, Рубцовск, Липецк, Курган, Киров, Новокузнецк, Ковров, Уссурийск, Ижевск, Керчь, Люберцы, Нефтекамск, Энгельс, Березники, Волгоград, Новочеркасск, Батайск, Астрахань, Шахты, Дзержинск, Стерлитамак, Грозный, Иваново, Новомосковск, Воронеж, Абакан, Ульяновск, Сыктывкар, Калуга, Магнитогорск, Барнаул, Новосибирск, Пятигорск, Курск, Нижнекамск, Смоленск, Копейск, Кисловодск, Великий Новгород, Химки, Калининград, Орск, Кострома, Бийск, Дербент, Сызрань, Уфа, Комсомольск-на-Амуре, Раменское, Сургут, Брянск, Черкесск, Находка, Миасс, Майкоп

Автор статьи. Ответственный за актуальный контент, текст и редактуру сайта. Эксперт по выбору профессии, курсов и профессий с 2016 года. Делюсь личным практическим опытом.

Оцените автора
Блог Романа Семенцова
Добавить комментарий