Node.js – это программная платформа, которая позволяет запускать JavaScript-код на сервере. Она основана на движке V8, который является частью браузера Google Chrome, и обеспечивает высокую производительность выполнения кода на сервере.
На курсах Node.js можно научиться создавать серверные приложения и API, использовать модули и пакеты для расширения функциональности приложения, работать с базами данных, асинхронным программированием, тестированием и отладкой приложений на Node.js.
Также на курсах можно изучить популярные фреймворки и библиотеки для разработки на Node.js, такие как Express, Socket.io, Mongoose, Sequelize и многие другие. Кроме того, на курсах можно познакомиться с экосистемой Node.js и узнать о различных инструментах и практиках разработки на этой платформе.
1 место. Курс «Node.js от Skillbox»
Цена: Рассрочка на 12 месяцев – 1 812 ₽ / мес
Ссылка на сайт: https://skillbox.ru/course/nodejs/
Node.js расширяет возможности языка JavaScript и выступает в роли веб-сервера. С помощью этой платформы вы научитесь создавать полноценные веб-приложения и CLI-утилиты — и сможете вырасти как разработчик.
- Длительность – 3 месяца
- Онлайн в удобное время
- Много практики
- Доступ к курсу навсегда.
Кому подойдёт этот курс:
- Frontend-разработчикам
Вы расширите круг своих компетенций, научитесь разрабатывать и клиентскую, и серверную часть кода — сможете самостоятельно создавать веб-серверные приложения, которые работают в режиме реального времени. - Backend-разработчикам
Вы освоите Node.js и научитесь писать backend на JavaScript — разберётесь во взаимодействии серверной и клиентской частей кода и станете более востребованным специалистом.
Чему вы научитесь:
- Создавать веб-серверные приложения и CLI-утилиты
- Работать с менеджером пакетов npm
- Работать с шаблонами HTML
- Работать с REST API
- Использовать популярные модули Node.js
- Использовать инструменты разработчика для написания, контроля качества, тестирования и отладки кода
- Использовать базы данных PostgreSQL и MongoDB
- Развёртывать проект вручную и в автоматизированных системах
- Работать с HTTP.
Содержание курса:
Вас ждут вебинары и практика на основе реальных кейсов.
11 тематических модулей, 75 видеоматериалов
- Подготовка рабочей среды
Познакомитесь с терминалом, Git, VSCode, установите и настроите рабочую среду на Windows, Linux или macOS. - Hello, world!
Создадите свою первую программу на Node.js, узнаете о конфигурационном файле package.json и установке зависимостей, научитесь пользоваться специальным шаблоном для быстрого старта проекта. - Решаем базовые задачи
Узнаете, как работать с файловой системой, создавать веб-сервер и обрабатывать HTTP-запросы, посылать запросы к сторонним сервисам. Изучите полезные встроенные и сторонние модули. - Асинхронный код
Поймете, что такое асинхронность и почему она важна, изучите основные подходы к организации асинхронного кода (callbacks, Promises, async/await), узнаете про библиотеку Bluebird. - Express.js
Познакомитесь с популярным веб-фреймворком Express.js. Научитесь работать с рендерингом HTML, REST API, загрузкой файлов, авторизацией и аутентификацией. - Реляционные базы данных
Изучите работу с реляционными базами данных на примере PostgreSQL. - Нереляционные базы данных
Изучите работу с нереляционными базами, их особенности и применение. Научитесь работать с MongoDB. - CLI (Command Line Interface) программы
Научитесь создавать CLI-утилиты с помощью Node.js. - Углубляем теорию
Изучите продвинутые темы: жизненный цикл процесса, event loop, работа с Buffer, streams, генераторы и итераторы, HTTPS. - Real-time & WebSockets
Узнаете, что такое real-time приложения, какие есть подходы к их реализации. Научитесь работать с протоколом WebSocket. - Pro tips
Получите полезные практические советы и инструменты для эффективной отладки, тестирования, развёртывания проекта. - Дипломный проект. Сервис личных заметок
Вы создадите серверную часть для сервиса личных заметок. Реализуете авторизацию, REST API, взаимодействие с базой данных — и развернёте проект на хостинге.
Спикер – Евгений Миротин
Software Development Engineer в Play North. Блок «Node.js»
16 лет опыта в IT, последние 9 лет — как JavaScript-программист (frontend и fullstack). Работал над проектами для Viacom (MTV, European Music Awards и другие), разрабатывал систему для управления IoT-проектами и развивал культуру микродонатов. Выступал на конференциях «Интернет вещей» и International Mobile Developers Conference (Москва), онлайн-конференции академии Prof IT (Киев) и митапе MinskJS.
Отзывы об обучении в Skillbox доступны на сайте.
2 место. Курс «Backend-разработка на Node.js от Нетология»
Цена: 24 850 ₽ или рассрочка на 12 месяцев – 2 070 ₽ / мес
Ссылка на сайт: https://netology.ru/programs/nodejs
Станьте fullstack-разработчиком, зная только JavaScript.
Технология Node.js позволит вам разрабатывать backend для веб-приложений самостоятельно, а язык программирования TypeScript расширит возможности JavaScript для ваших проектов.
- Вебинары, видеолекции, практические задания
- Портфолио: Библиотека, приложение для доставки еды и агрегатор отелей
- Удостоверение о повышении квалификации установленного образца.
Что такое Node.js
Это технология, с помощью которой пишут backend на JavaScript. Изучив Node.js, frontend-разработчики становятся fullstack-разработчиками — выполняют более сложные и интересные задачи и переходят на позиции с большей оплатой.
Это самый простой способ начать разрабатывать backend, если вы уже знакомы с JavaScript.
Что нужно знать на старте:
- Основы JavaScript: базовые конструкции языка, замыкания
- Прототипное наследование
- Понимание цикла обработки событий (event loop) и навык работы с событиями
- Понимание асинхронных операций: коллбэки и промисы.
Проекты, которые вы выполните:
За шесть месяцев вы освоите Node.js и создадите три масштабных проекта
- Библиотека
Проект, который вы будете разрабатывать во время всего курса, добавляя ему больше функций - Приложение для доставки еды
Реализуете сайт доставки и чат для общения двух людей - Агрегатор отелей
Создадите сайт для просмотра и бронирования отелей.
Программа курса:
- Введение в Node.js
Вы познакомитесь с рабочей средой Node.js и инструментами разработки. По итогам модуля вы создадите консольное приложение для обработки файлов с помощью потоков.
- Особенности работы с Node.js, установка и настройка рабочей среды
- Менеджер пакетов
- Работа с консолью, циклы событий, асинхронность
- Модули Node.js и инструменты разработки
- Стримы (потоки)
- Node.js HTTP-module. HTTP-stream. Встроенный низкоуровневый веб-сервер
- Библиотека Express.js
Познакомитесь с библиотекой Express.js, развернёте приложение на сервере, освоите Docker, подключите базу данных MongoDB для хранения данных и Passport.js для аутентификации пользователей, настроите обмен данными между клиентом и сервером — с этим помогут websocket и socket.io.
- Библиотеки Node.js для веб-разработки. Express.js
- Паттерн «цепочка обязанностей»
- Шаблонизаторы. Отрисовка контента (рендер на сервере). Библиотеки Express.js
- Развёртывание приложения на сервере (heroku)
- Docker, установка и настройка. Контейнеризация приложения
- Сравнение реляционных и объектно-ориентированных БД
- Запуск локальной MongoDB в Docker. Подключение MongoDB в Тode.js-приложение
- Аутентификация. Passport.js
- 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.
- Node.js и TypeScript (настройка окружения, возможности)
- Динамическая типизация JavaScript vs статическая типизация TypeScript. Инструментарий tsc, tslint/eslint. Настройка проекта
- Система типов TypeScript. Основные принципы ООП. SOLID
- Библиотека Reflect-metadata. Loc-контейнеры: type-di, inversify
- Перенос и интеграция JS-проекта на примере пройденных материалов
- Организация проекта и кодовой базы. Разделение приложения на слои
- Nest.js
Вы изучите фреймворк Nest.js и основные понятия, создадите проект на Node.js, реализуете функциональность из блока TypeScript на модули Nest.js, подключите базы данных (модуль для MongoDB). Научитесь подключать аутентификацию по модулям Nest.js и добавите тестирование кода в свой проект.
- Основные понятия: модули, контроллеры, сервисы. MVC-архитектура
- Погружение в Nest.js: инверсия зависимостей, провайдеры, Middleware
- Подключение базы данных к Nest.js — модулю для MongoDB. Сервисы, репозитории, примеры
- Потоки RxJs
- Валидация и обработка ошибок. Interceptors, pipes
- Аутентификация в Nest.js, Passport.js. Guards
- Тестирование. Библиотека JEST. Unit-тесты, интеграционные и приёмочные тесты
- Вебсокеты в Nest.js
- Firebase
Cоздадите аккаунт firebase, внедрите функциональность проекта «Книги» на cloud-функции и подключите облачную базу данных для хранения данных из cloud-функций.
- Cloud Firestore, Realtime Database
- Cloud Functions, Hosting
- Firebase Authentication
- Итоговый проект — агрегатор отелей
В конце обучения вы создадите сайт-агрегатор для просмотра и бронирования отелей. Для этого вы разработаете публичный API, API пользователя, API администратора и чат для консультанта. В проекте вы задействуете технологии Node.js, Nest.js, MongoDB и Websocket.
Вам будут преподавать практикующие эксперты
- Вера Некрасова
Senior Software Developer - Денис Владимиров
Backend developer, «Барс груп» - Василий Петров
Backend developer - Никита Дышаев
Backend developer, Outside Digital - Алексей Кулагин
CTO, Lead engineer, «Штрихпунктир»
И др.
Выпускник о курсе:
Сергей Кундрюков
Программист в EPAM
«Я проходил курсы в разных школах по разным темам, но этот курс оказался одним из самых незабываемых. Тема для меня не новая, но преподаватели раскрыли её глубже. Лекции всегда были интересные, не затянутые по времени и в них было много новых фич: повторяли предыдущий материал в начале каждого занятия, в презентациях давали ссылки на GitHub курса, который удобно было актуализировать. Разбирали домашку в конце каждой лекции. Мы разрабатывали довольно насыщенное функционалом приложение, которое, я уверен, студенты с гордостью будут показывать при трудоустройстве. Отдельное спасибо всем преподавателям: лекторам и кураторам, которые быстро проверяют домашние задания. Курс — бомба, спасибо всем за незабываемые эмоции!»
3 место. Курс «Node.JS от GeekBrains»
Цена: 16 500 ₽
Ссылка на сайт: https://gb.ru/courses/2898
- Онлайн-курс, 6 уроков.
Курс познакомит со средой Node.js и научит работать с её основными модулями. Вы узнаете, что такое Node.js, поймёте как эта среда устроена и каким образом JavaScript может запускаться вне браузера. За время курса мы реализуем проект, задействующий основные модули Node.js.
Какой бы путь для дальнейшей карьеры вы не выбрали – курс по Node.js позволит вам получить знания и навыки, которые пригодятся вам и на собеседовании, и на первой работе.
Чему Вы научитесь:
- Инициализация проекта на Node.js
- Управление зависимостями проекта при помощи npm
- Внутреннее устройство Node.js
- Что такое “цикл событий” и зачем он нужен
- Порядок выполнения операций в цикле событий
- Функции setTimeout/setInterval/setImmediate
- Что такое события
- Как события применяются в Node.js
- Стандартный модуль Events и его базовый функционал
- Навыки записи и чтения файлов различными способами – синхронным, асинхронным, через потоки
- Стандартный модуль Stream и его базовый функционал
- Навыки создания консольных приложений – ввод данных, элементы графического интерфейса, создание исполняемых файлов
- Создание http-сервера на Node.js, базовые знания о маршрутизации http-запросов
- Масштабирование веб-сервера при помощи модуля Cluster
- Отличие вебсокетов от http-запросов, базовые навыки работы с библиотекой Socket.io
- Применение модуля worker_threads для выполнения ресурсоемких вычислений.
Программа курса:
- Введение в Node.js. Управление зависимостями
Студенты после урока будут понимать, что такое Node.js, зачем он нужен, будут уметь инициализировать проект, узнают, что такое npm, а также выведут Hello World в консоль двумя разными способами. - Цикл событий. События в Node.js
Вы поймете, как работает Node.js, что такое асинхронные операции и в каком порядке они выполняются. Зачем нужен стандартный модуль Events, какие функции он выполняет. Зачем, когда и как использовать “события”. - Работа с файловой системой. Класс Buffer. Модуль Streams
Мы изучим, что такое кодировка файла, познакомимся со стандартным модулем Node.js для работы с файловой системой. Научится читать, преобразовывать и записывать данные. Узнаем, что такое Buffer в Node.js и где его можно встретить. Изучим, что такое потоки в Node.js, узнаем о 4-х типах потоков, познакомимся с потоковым чтением и записью данных. - CLI-приложения
Узнаем, как создавать консольные приложения при помощи Node.js и создадим своё первое консольное приложение. Познакомимся с базовыми понятиями, вводом данных, научимся добавлять в приложение элементы графического интерфейса и создавать из программы исполняемый файл, способный запускаться и работать из любой директории. - HTTP-cервер на Node.js
Изучим, что такое http-сервер, чем GET-запрос отличается от POST-запроса, как обработать эти запросы и как при помощи Node.js показать html-страницу. А также узнаем, что такое кластеризация, как и зачем применяется стандартный модуль Cluster в Node.js. Подключим этот модуль в свою программу и на практике посмотрим на одну из форм горизонтального масштабирования Node.js сервиса - Библиотека Socket.io. Workers в Node.js
Изучим, что такое веб-сокеты, как организовать получение данных от сервиса в режиме реального времени, изучим базовый функционал библиотеки Socket.IO. Познакомимся со стандартным модулем worker_threads и научимся выносить ресурсоемкие вычисления в отдельный поток, чтобы не блокировать основной.
Информация о преподавателях доступна на сайте.
Отзывы выпускников:
Руслан Сафуанов
«За 6 уроков охватить весь Node.js конечно же не удалось, но темы затронуты довольно важные и раскрыты довольно хорошо 5/5».
Оксана Грицюк
«Спасибо Артему, курс понравился, но он очень базовый, просто показывает, что да как, а дальше сам) Хотелось бы более глубокое погружение!»
Евгений Григорьев
«Курс интересный, но сложный. Часть домашних работ показалась фрустрирующе-непонятной, так как на лекциях было мало примеров и часто было непонятно не только как выполнить поставленную задачу, но и что вообще требуется. Артём Шашков – замечательный преподаватель. Очень понятно изложил курс и отвечал в личной переписке, помогал с домашними заданиями.»
Курс «Node.js Developer от OTUS»
Цена: 52 500 ₽
Ссылка на сайт: https://otus.ru/lessons/node/
Разработка серверных приложений на Node.js с использованием Express, TypeScript, GraphQl, Apollo и Nest.js.
- Длительность обучения: 4 месяца, 4 ак. часа в нед.
- Формат: Online.
Курс рассчитан на 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-приложений.
Преподаватели:
– Маргарита Образцова
Nitor, Senior Software Engineer
Профессиональный опыт: 7 лет программирования на JavaScript, NodeJS. Сейчас интересно функциональное программирование, работает с Clojure.
Тех. стек: HTML, CSS, JavaScript, TypeScript, Clojure, ClojureScript, Node.JS, Webpack
Участвовала на проектах различных уровней сложности: от стартапов до бизнес-приложений.
Автор статей о веб разработке. Спикер Holy JS
Преподаватель и лектор Хельсинкского университета прикладных наук – Haaga-Helia UAS.
– Андрей Осипук
Закончил Астраханский Государственный Технический Университет по специальности “Вычислительные машины, комплексы, системы и сети”.
Сейчас старший разработчик в компании OOO “Селдон”, разрабатывает сервисы для Ростелекома и других компаний. Ранее участвовал в разработке frontend и backend приложений в криптовалютной сфере.
– Юрий Дворжецкий
Lead developer, Luxoft
Ведущий full-stack разработчик, кандидат физико-математических наук.
Программирует с начальных классов, преподаёт со студенчества.
Разрабатывает на разных платформах: большие и маленькие проекты, высоконагруженные и очень красивые, многим известные и совсем специфические.
И др.
Программа курса:
- Особенности Node.js
- Введение в Node и NPM
- Система Модулей Node.js
- Events, Timers, Event Loop
- Streams – Errors
- Тестирование вjs
- HTTPS Server.
- Web Server с Express
- Web Servers
- Особенности Express
- Введение в MongoDB
- Аутентификация и Безопасность.
- Node.js на Prod
- Отладка и профилирование Node.js
- Real-Time Web Приложения с сокетами
- Другие Особенности Web Server
- Расширенные функции MongoDB – Aggregation Framework
- TypeScript – теория и практика
- TypeScript в Node.js
- Express с TypeScript
- Управление процессами с Node.js
- Построение Rest API с Express, Mongoose
- CLI в Node.js
- Node.js в Docker
- Node.js в проде.
- Nest.js, TypeScript, GraphQL, Apollo
- Работа с PostgreSQL
- Начинаем с Nest.js
- Особенности Nest.js
- Введение в GraphQL
- Особенности GraphQL
- Создание GraphQL API Сервера
- Apollo Client
- Сборка проекта, CI
- Деплой проекта, CD.
- Проектная работа
- Выбор темы и организация проектной работы
- Защита проектных работ.
Выпускной проект
Заключительный месяц курса посвящен проектной работе. Проект станет вашим портфолио для будущих работодателей.
Предлагаемые темы выпускного проекта:
- образовательная платформа с возможностью смотреть и редактировать медиаконтент;
- сервер для хранения заметок с Git;
- ORM-фреймворк;
- html-шаблонизатор;
на выбор ученика.
Возможные технологии для проектов — Node.js, GraphQL, Nest.js, Express.
Отзывы:
Вячеслав Мельников
«Обучение в OTUS послужило хорошим стартом в работе с Node.js и стало отличной платформой для развития направления и начала реализации довольно амбициозного проекта на рабочем месте.
Отдельная благодарность ведущим преподавателям: Александру Коржикову, Антону Мореву и Юрию Дворжецкому! Благодаря Александру, Антону и Юрию, из OTUS я вынес не только солидный багаж теоретической информации, начальной практики, но и то, что гораздо более ценнее и что передаётся только в живом общении: здоровый, профессионально обоснованный оптимизм, позитивную энергию и… (!) новое понимание о личности преподавателя и его роли в процессе обучения.
Спасибо также менторам и менеджерам, которые обеспечивали бесперебойную работу учебного процесса (даже в праздники :))!
Спасибо большое!»
Олег Бородатов
«Это было классное приключение! Закрыл кучу белых пятен и узнал много нового о node.js и web разработке.
По итогу получил от курса что хотел: навыки и все необходимые инструменты для работы над проектами самой разной направленности.
Теперь javascript в моих руках это действительно язык общего назначения:)»
Курс «Node.js-разработчик от Хекслет»
Цена: 124 000 ₽ – 140 000 ₽
Ссылка на сайт: https://ru.hexlet.io/programs/backend
С нуля до разработчика за 10 месяцев. Возвращаем деньги, если не удалось найти работу.
- Практика
Более 320 заданий в тренажере. 4 реальных проекта в портфолио. Разбор задач и вопросов с собеседований - Наставники
Наставники помогают скорректировать траекторию обучения и внимательно проверяют все домашние задания. Вам не будет стыдно за результат - Стажировка
Участие в проектах с реальными пользователями. Полный цикл разработки в открытых проектах.
Кому подойдёт обучение:
- Новичкам, которые хотят освоить профессию с нуля
- Тем, кто уже пробовал учиться самостоятельно, но чувствует потребность в наставнике
- Тем, кто пробовал учиться на сторонних курсах, но до сих пор испытывает сложности в самостоятельном написании кода.
Программа курса:
- Основы программирования
Создайте первые страницы с помощью HTML и CSS. Изучите основы программирования: типы данных, условные конструкции, циклы и функции. Прокачайте алгоритмическое мышление и реализуйте самостоятельно функции сортировки. Правильно настройте операционную систему для разработки, научитесь пользоваться командной строкой. Установите Git, редактор кода VS Code. Наполните свое портфолио на Github первыми программами. - Профессиональный JavaScript
Научитесь писать production-ready код. Освойте принципы объектно-ориентированного и функционального программирования. Начните писать модульный код, который легко расширять и поддерживать. Ускорьтесь с помощью автоматизированного тестирования своего кода. Настройте непрерывную интеграцию и опубликуйте свой первый пакет в npm. Пишите код аки бог. - Асинхронное программирование и сетевые запросы
Погрузитесь в асинхронность, научитесь писать код, который эффективно утилизирует процессор. Изучите HTTP и выполняйте запросы с помощью Axios. Постройте архитектуру утилиты, которая скачивает страницы сайтов из интернета, парсит их и меняет так, чтобы они могли работать без доступа в интернет. - Разработка на Fastify
Создавайте комплексные сервисы с помощью Fastify. Используйте ORM для создания моделей и их отображения на базу данных. Накатывайте миграции для эволюции базы данных. Реализуйте аутентификацию и авторизацию. Пишите автоматизированные тесты для повышения качества кода и гарантии его работоспособности. Деплойте сайт на сервер.
Наставники:
– Айдар Шайхутдинов
По образованию радиофизик, в веб-разработке с 2014 года. Имеет опыт работы как на фрилансе, так и в распределённых командах. Разрабатывал проекты для «Ростелекома», фронт для системы распределения доступа в «Газпром-нефть»
– Александр Колиух
Наш выпускник! Стал фулстек-разработчиком на Хекслете. Успел поработать как на аутсорсе, так и в команде продуктовой компании. Сейчас разработчик EPAM Systems. Основной стек – React / Redux / Effector / TypeScript
– Антон Минин
Работает ведущим программистом JS Frontend. За более чем 10-летний опыт в разработке ПО, попробовал себя в разных ролях. Кроме JS Frontend, интересуется также: backend-разработкой, проектированием и управлением разработкой ПО
– Василий Кузенков
Путь в программирование начал школьником с модификации игр на С++. А уже в вузе подрабатывал, программируя на Vue + Electron с Laravel на бэке. Создал свой стартап, работал в крупной аутсорс-компании. Амбассадор качественного кода и хороших инженерных практик.
По окончании курса выдаётся сертификат — подтверждение того, что вы серьезно поработали над собой и имеете хорошую перспективу стать первоклассным специалистом.
Истории успеха учеников (отзывы) доступны на сайте.
Курс «JavaScript. Уровень 5. Серверное программирование на Node.js от Центр компьютерного обучения «Специалист» при МГТУ им.Н.Э.Баумана»
Цена: 29 950 ₽ – 54 000 ₽
Ссылка на сайт: https://www.specialist.ru/course/node
На курсе Node.js вы познакомитесь с тонкостями работы на серверной платформе, использующей язык программирования JavaScript, узнаете, как устанавливать и запускать платформу Node.js, изучите приемы работы с модулями Node.JS, познакомитесь с особенностями работы сервера Node.JS, научитесь разрабатывать масштабируемые клиентские и серверные приложения и сервисы.
- Длительность: 24 ак. ч.
Node.JS — серверная JavaScript платформа, включающая интерпретатор JavaScript, встроенный сервер и базовый набор библиотек. Платформа предоставляет полностью асинхронную работу с файлами и сетевыми устройствами. С помощью Node.js вы сможете создавать высокопроизводительные масштабируемые клиентские и серверные приложения и сервисы. Особенностью Node.js является каркас, который исполняется не в браузере клиента, а на стороне сервера.
Курс рекомендован разработчикам, имеющим твердые знания в области программирования на JavaScript, а именно:
- слушателям, закончившим курсы по JavaScript и желающим продолжить изучение этой технологии;
- слушателям, закончившим курсы направления «веб-технологии» и желающим идти в ногу со временем;
- веб-разработчикам, желающим изучить новую серверную технологию.
В ходе курса слушатели ведут работу над проектом по созданию веб-сайта с использованием фреймворка Express.
Вы научитесь:
- создавать веб-сервер;
- создавать динамическое веб-приложение;
- использовать технологии, позволяющие передавать и получать данные без перезагрузки страницы;
- использовать сеансы для сохранения состояния веб-приложения;
- использовать документо-ориентированная систему управления базами данных 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
- Использование сеансов
- Маршрутизация
- Аутентификация пользователя.
В зависимости от программы обучения выдаются следующие документы:
– Свидетельство выпускника
– Сертификат международного образца
– Удостоверение о повышении квалификации.
Курс «Node.js Серверный JavaScript от LoftSchool»
Цена: 26 500 ₽ – 43 524 ₽
Ссылка на сайт: https://loftschool.com/course/nodejs/
- 20 обучающих модулей, 100+ часов обучения.
- Сертификат.
За 6 недель вы научитесь:
- js и серверный javascript
Среда Node.js позволяет любому разработчику, знакомому с JavaScript, создавать серверную часть для приложений любой сложности. - WebSocket и socket.io
Научитесь настраивать обмен данными между клиентом и сервером с невероятной скоростью. - Deploy
Научитесь разворачивать ваше приложение на самых популярных площадках прямо из git-репозитория и с максимальный комфортом. - Серверный рендеринг
Серверный рендеринг — отнюдь не прихоть, а жизненно важный момент вашего приложения. В некоторых случаях, клиентский рендеринг делает SEO-продвижение попросту невозможным. - Тестировать приложения
Научитесь тестировать каждую часть вашего приложения, автоматизировать тестирование и наслаждаться стабильностью работы. - js и Koa.js
Мы рассмотрим два самых популярных и известных фреймворка для разработки в среде Node.js, которые значительно облегчают процесс разработки.
Программа обучения:
Неделя 1 — Введение в Node.js, асинхронность, модули
— Знакомство с командой курса.
— Изучаем модули, файловую систему и потоки в Node.js.
— Разбираем асинхронность в Node.js.
Неделя 2 — Работа с шаблонами, Express.js, Koa.js
— Изучаем принципы работы с шаблонами (шаблонизаторы Ejs, Handlebars, Pug).
— Знакомимся с framework Express.js.
— Изучаем framework Кoa.js.
Неделя 3 — REST API, работа с базами данных
— Разбираем понятие API и изучаем примеры построения простого API.
— Рассматриваем работу с реляционными и не реляционными БД на примере PostgreSQL и MongoDB.
Неделя 4 — Сокеты, авторизация, тестирование
— Работа с Websocket. Рассматриваем библиотеку Socket.IO.
— Рассматриваем различия авторизации и аутентификации.
— Изучаем виды тестов (на примере Mocha и Chai тестов).
Неделя 5 — Deployment
— Рассматриваем виртуальные хостинги. Deployment на Heroku с использованием Travis.
— Пишем Telegram-бота, учимся работать с node-telegram-bot-api.
— Выбираем framework для реализации выпускного проекта.
Неделя 6 — Серверный рендеринг
— Рассматриваем принципы серверного рендеринга.
— Разбираем преимущества и недостатки SPA.
— Завершаем работу над выпускным проектом.
Выпускной проект:
Вымышленный корпоративный сайт. Новости, чат, панель администратора и пользовательские настройки — всё это вам будет необходимо реализовать во время обучения.
В течение курса вы разработаете серверную часть для корпоративного приложения — внутренней системы взаимодействия между сотрудниками.
Преподаватели:
— Максим Иванов
Senior Frontend Developer в компании Mojang
В программировании 9 лет
В веб разработке 6 лет
В преподавании 1 год.
— Глеб Шалтаев
Senior Software Engineer в EPAM
В программировании 23 года
В веб-разработке с 2012
В преподавании 2 года.
Отзывы выпускников:
Евгений Терновой
Motion Tailor, разработчик
«Получил, что ожидал.
Курс хороший, получил, что ожидал, информация концентрированная и актуальная, так сказать прямиком с поля боя)) Так же приятным бонусом была работа с ботами) Задания в меру сложные, помогают почувствовать полученные знания на кончиках пальцев)
От наставника получал хороший фидбэк на протяжении всего курса, плюс ему в карму).»
Дмитрий Олейник
Фрилансер
«Курс понравился, много полезного для себя подчеркнул и задан верный вектор для дальнейшего развития. JS и Node.js действительно крутая штука. Курс довольно интенсивный, много информации и не всегда просто совмещать с работой, но вполне реально. Спасибо)»
Курс «Node.js. Разработка серверов приложений и API от html academy»
Цена: 24 900 руб. – 27 900 руб.
Ссылка на сайт: https://htmlacademy.ru/intensive/nodejs
Курс разработан для тех, кто хочет сменить профессию и стать высокооплачиваемым профессионалом. Он подойдёт для работающих людей, у которых мало времени.
На этом курсе вы научитесь делать настоящие проекты, такие же по уровню сложности, как в индустрии. И будете делать их правильно, чтобы после обучения выдавать результат высокого уровня, за который компании готовы платить.
Что вас ждёт на обучении:
- Структурированная теория
В начале каждого раздела вы изучаете теорию из текстового учебника и отобранных нами материалов. - Практика
После изучения теории выполняете домашнее задание, в котором работаете над своим проектом и закрепляете учебный материал. - Ревью кода
После каждого задания ваш личный наставник проверяет качество работы, делится опытом и рассказывает, как можно сделать лучше. - Адвайзер
Во время учёбы вас будет сопровождать адвайзер. Он поможет составить индивидуальный план прохождения курса — в зависимости от свободного времени, которое вы готовы выделять на обучение.
Программа курса:
- Знакомство с платформой
Познакомимся с основами Node.js, настроим редактор кода для отладки и обсудим особенности программирования на стороне сервера. Научимся создавать и запускать приложения в консоли, передавать им параметры. Познакомимся с практической стороной отладки. - Асинхронность
Продолжим знакомиться с платформой Node.js. Разберём на практике как работает Event Loop и асинхронность. Узнаем, как правильно писать и управлять асинхронным кодом. Познакомимся с протоколом HTTP и напишем первый сервер. - Express.js
В этом разделе мы начнём проектировать API. Обсудим теоретическую часть проектирования API: что следует учитывать во время проектирования, примеры плохого и хорошего API, версионирование API. Затем обсудим как Node.js может выступать в роли веб-сервера и обрабатывать запросы от клиентов. Подключим фреймворк Express.js и узнаем, как он может упростить задачу разработки API. - Логирование и тестирование
В этом разделе мы поговорим о тестировании приложений на Node.js. Узнаем, что следует тестировать и какие есть особенности тестирования приложений, созданных на платформе Node.js. Подготовим окружение для тестирования и попрактикуемся в написании тестов. - Введение в базы данных. PostgreSQL
Любому приложению требуется где-то хранить данные. Они могут храниться в разных источниках: файлы, базы данных и т.д. Базы данных применяются особенно часто. В этом разделе разберём какие бывают базы данных, чем они отличаются. Научимся проектировать структуру базы данных и познакомимся с языком запросов (SQL). - PostgreSQL и Node.js
Научимся взаимодействовать с PostgreSQL из Node.js несколькими способами. Начнём с установки соединения с СУБД и отправки запросов на получение/обновление данных из Node.js. Затем обсудим вопросы безопасности (SQL-Injection). А после этого подключим к проекту ORM и посмотрим на работу с базой данных с совершенно новой стороны. - Аутентификация и авторизация
Разберём термины «аутентификация» и «авторизация». Узнаем, чем они отличаются и на практике рассмотрим реализацию аутентификации в приложении. Научимся валидировать данные, полученные от клиента. Познакомимся с механизмом сессий и JWT (JSON Web Token). Обсудим вопросы безопасности: XSS, CSRF. - Реалтайм
Посмотрим на сервер с другой стороны. Узнаем, что из себя представляют приложения реального времени и познакомимся с протоколом WebSocket. Добавим в приложение реалтайма и познакомимся с библиотекой Socket.IO. - Деплой. Доставка и запуск приложения на сервере
Разберём вопросы, связанные с доставкой приложения на сервер и запуска в боевой среде. Рассмотрим настройку менеджера процессов, обратного прокси-сервера (Nginx) и мониторинг ошибок. Научимся доставлять приложение на сервер (Heroku, VDS).
После прохождения курса вы получите электронный сертификат.
Курс «Node.js от Илья Кантор»
Цена: 23 000 ₽
Ссылка на сайт: https://learn.javascript.ru/courses/nodejs
Этот курс посвящён профессиональной серверной разработке на Node.js. Мы изучим, как писать современные серверные приложения.
Основные темы курса:
- Фундаментальное понимание 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 и другие, хранят все данные нашего приложения: товары, пользователей и так далее, и позволяют быстро искать среди них. Они используются почти во всех современных приложениях, исключая самые простые.
- Общие принципы работы с базами данных
- Для проекта будем использовать mongodb, поэтому изучим ключевые особенности работы с этой базой.
- Создание REST API для работы с пользователями при помощи MongoDB и Koa.js
- Пользователи, авторизация
Авторизация для пользователей необходима практически в каждом приложении.
- Принципы безопасного хранения паролей, использование криптографических алгоритмов для генерации хэшей.
- Регистрация, вход и выход из приложения.
- Пользовательские сессии (cookie для браузера, jwt для микросервисов).
- Использование библиотеки passport.js, которая предоставляет готовые модули авторизации. Создание и подключение OAuth 2.0 стратегий на примере социальной сети vkontakte (по желанию можем рассмотреть и другие).
- Создание серверной части для фронтенд-приложения
- Улучшаем приложение
- Шаблонизация (модуль pug).
- Email: отправка, важные нюансы (внешние сервисы, защита от спама, инлайнинг стилей, картинки).
- Архитектура сложных приложений
- Интеграционное тестирование: написание скриптов, которые управляют браузером, позволяют автоматически открыть страницу, залогиниться, добавить товар в корзину и оплатить его.
После этого занятия вы умеете создавать сервер для SPA или обычного приложения с веб-сервисами, тестами, авторизацией.
При желании можно дописать к нему новые сервисы, архитектура и ваши навыки легко позволяют это.
- Чаты, непрерывная подгрузка и обмен данными
Способы поддержки непрерывного соединения с сервером и получения новых данных: нужно для создания чата, онлайн-игр и других интерактивных приложений.
- Основные приёмы и техники, их плюсы и недостатки, область применения: Long polling, Server Sent Events, Websockets.
- Используем Websockets (при помощи socket.io) для непрерывных соединений.
- Единая авторизация, интеграция websocket с приложением.
- Реконнект, отслеживание состояния соединения.
- Кластеризация при высоких нагрузках.
- Развёртывание и запуск приложения
На этом занятии мы обсудим важнейшие вопросы, касающиеся запуска и обновлений готового приложения на сервере, в “боевом” окружении.
- Запуск и поддержание работы приложения.
- Плавное обновление (рестарт без потери соединений и без даунтайма).
- Миграции базы данных.
- Мониторинг.
- Менеджмент логов.
- Примеры развёртывания
- Хранение и использование секретных ключей.
После этого занятия вы понимаете в деталях весь цикл разработки приложения: не только написания кода, но и релиза, организации логов и запуска на сервере.
- Занятие на дополнительные темы, нужные группе
Несмотря на то, что курс является наиболее полным и покрывает все основные темы, касающиеся разработки и запуска веб-приложений на Node.js – всё равно есть темы, которые не вошли в программу курса, но обсудить их хочется.
Это занятие отведено специально для них и строится целиком и полностью на ваших вопросах. Можем обсудить как чисто технические вопросы, например преимущества и недостатки микросервисной архитектуры или отличия протокола REST от GraphQL, так и нетехнические – например, из каких источников можно получать новую информацию.
Курсовой проект – онлайн-магазин:
- С товарами в базе данных, сгруппированными по категориям.
- С возможностью поиска по товарам.
- С аутентификацией и регистрацией пользователей.
- С чатом поддержки.
- А также с отсылкой почты и другим функционалом, важным для реальных проектов.
Преподаватель – Сергей Зеленов
Ведёт курс с 28 июня 2016
«Автор программы курса по Node.JS, а также автоматизированного задачника. Занимаюсь профессионально разработкой веб-приложений с 2009 года, а с 2013 в основном использую Node.JS. Являюсь главным разработчиком распределенной системы хранения и обработки больших данных для машинного обучения в режиме реального времени в компании SO1.»
Что говорят о курсе участники?
Михаил Талалаев
«Без преувеличения могу сказать, что мои ожидания того, что должно быть в программе курса и как должно быть подано полностью оправдались. Понравилось внимание преподавателя к нюансам и стиль изложения, плюс все сказанное подкрепляется в живую показанным кодом. В общем, Илья, большое вам спасибо за проделанную работу! По правде говоря, оценивая курс трудно быть объективным, настолько курс хорош. Объем и глубина материала отличная.»
Павел Ашифин
«Спасибо большое Илье, замечательный курс. Сильная сторона курса, помимо хорошей программы, в том, что обо всем, что будет непонятно/интересно можно (и даже нужно) спрашивать у Ильи – для этого, во-первых, предоставлены все технические возможности, и во-вторых, Илья всегда отвечает на все вопросы. Ну и еще следует упомянуть про домашки, их выполнение дает хорошую почву для обсуждения всяких разных моментов, с которыми потом скорее всего столкнешься в реальных проектах.»
Курс «Разработка на Node.js от RS School »
Бесплатно
Ссылка на сайт: https://rs.school/nodejs/
- Срок обучения – 2 месяца
- Сертификат выдается всем успешно закончившим обучение.
Содержание курса:
В процессе прохождения нужно будет создать CLI приложение для NodeJS, а также REST сервер.
В курсе будут освещены следующие темы:
- Основы NodeJS, его архитектура, переменные окружения, особенности работы с асинхронным кодом, взаимодействие с файловой системой, работа с потоками.
- Построение REST API на базе фреймворка Express.
- Архитектурные паттерны, используемые при проектировании приложения.
- Работа с базами данных.
- Конфигурирование, логирование и обработка ошибок.
- Аутентификация, JWT, CORS.
- Тестирование.
Преподаватели:
– Сергей Караулов
«Начинал свою профессиональную деятельность как врач. В определенный момент заинтересовался версткой, затем начал изучать JavaScript. В итоге хобби превратилось в работу. Сейчас работаю фронтенд разработчиком в саратовском офисе EPAM. Предпочитаю работать с Angular, нравится MEAN стек. Люблю изучать новое и помогать в этом другим.»
– Дмитро Корнев
«Работаю 3й год в EPAM Software Engineer, начинал с курсов по Front-end, но первый проект был связан с разработкой API на PHP7. Зашло и вернулся в Node.js. С тех пор занял позицию лида на проекте. В свободное время участвую в развитии Node.js курсов в Харьковской локации и глобально.»
– Оганнес Гаспарян
«Я занимаюсь программированием уже как 6 лет. Начинал свою карьеру как PHP разработчик, потом перешёл к Front-end и вместе с этим начал изучение Node JS. Закончил GITC (Gyumri Information Technology Center). Очень люблю JS и контрибутить в open source.»
– Антон Грядченко
«Более 5 лет занимаюсь разработкой веб-приложений используя NodeJS. На данный момент работаю в компании EPAM на позиции Lead Software Engineer. Участвую во внутренних программах обучения и повышения квалификации сотрудников компании.»
– Владислав Ломако
«NodeJS разработчик в EPAM Systems. 15+ лет во фронтенд разработке (когда еще верстать таблицами было норм). Примерно столько же занимаюсь различной преподавательской деятельностью, из них последние 3 года разрабатываю внутренние и внешние учебные программы по NodeJS. Ежедневная проектная моя работа связана с написанием и поддержкой десятков REST API на ExpressJS – этим опытом и буду с вами делиться.»
Курс «Node.js от ITEA»
Цена: 160 EUR
Ссылка на сайт: https://onlineitea.com/course/node-js/
Стать более универсальным и востребованным разработчиком, уметь работать во фронт- и и бэкенде и самостоятельно разворачивать крупные проекты — все это сделает реальным Node.js-обучение! Фреймворк JavaScript позволяет работать на серверной стороне программирования, а этот навык повысит твою профессиональную ценность.
- 6 занятий / 1 месяц.
Node.js-курсы не для начинающих. Они предназначены для тех, кто уже хорошо знаком с JavaScript и хочет перейти в бэкенд. Убедись, что обладаешь достаточным багажом знаний, прежде чем начать обучение Node.js.
Минимальные требования для поступления на курс:
- Навыки работы с IDE
- Владение HTML и Javascript
- Умение работать с системой контроля версий
После обучения ты сможешь претендовать на должность Junior Frontend Developer (Experience with Node.js Framework).
На курсе ты научишься:
- Создавать свои приложения на Node.js
- Создавать веб-сервисы с помощью популярного фреймворка Express.js
- Применять шаблонизаторы для разделения кода и оформления интерфейса в проекте
- Создавать и использовать различные REST API
- Использовать в программе веб-сокеты с помощью socket.io.
Из чего состоит онлайн-курс:
- Обзор популярных веб-технологий, место Node.js среди них
- Node.js core
- Event loop
- Глобальные объекты
- Процессы. Параллелизм в Node.js
- Буфер. Таймер
- События. EventEmitter
- Модули. NPМ
- Работа с файлами. Потоки и асинхронность
- TCP, HTTP и HTTPS серверы
- Web сокеты и модуль ws. Socket.io
- Асинхронный поток. Модуль async
- Node.js и Mongo.db
- Шаблонизатор. Mustache, Jade, EJS
- Веб-каркас для Node.js (Node.js web-frameworks)
- Express
- RESTFul app на основы Express
- MVC на Node.js
- Тестирование кода на Node.js
- Что такое unit-тестирование?
- TDD/BDD
- Итоги и установки на будущее.
После курса у тебя будет:
- Сертификат после окончания обучения в соответствии с успеваемостью
- Доступ к материалам и записям занятий в течение года в личном кабинете на удобной платформе
- Возможность присоединиться к ITEA community
- Портфолио с проектами и работами
- Поддержка в трудоустройстве
- Яркий опыт работы с профессиональными инструментами.
Преподаватель – Дмитрий Паржицкий
Senior JavaScript Software Engineer
Основные навыки: Node.js, Back-End Web Development, Front-End Development.
Сертификаты: Introduction to AWS for NonEngineers: 1 Cloud Concepts; Introduction to AWS for NonEngineers: 2 Security; AWS for Developers: Identity Access Management (IAM); Introduction to AWS for NonEngineers: 3 Core Services; Serverless Static Websites on AWS.
Опыт работы: EPAM Systems (Senior JavaScript Software Engineer, 2 года), Softheme (Frontend Engineer, 9 месяцев), GUP (Frontend Engineer, 1 год).
Отзывы студентов:
Ольга Клымась
«Могу сказать, что трудоустройство после курсов есть. Я прошла весь курс по Frontend, мне помогли составить портфолио и резюме, была встреча с рекрутером. Несколько раз мне звонили с ИТЕА, говорили, что у их партнеров есть подходящая вакансия, и предлагали передать мое резюме. Я соглашалась и получала от партнера тестовое задание. На третий раз меня пригласили на собеседование. Сейчас работаю на позиции фронта и очень довольна.
Встретила двоих парней, с которыми проходили JS, они тоже устроились на работу. Не знаю, правда, посредством ИТЕА или нет.»
Станислав Бабыч
«Привет всем, я проходил курсы по Frontend development во Львове. ITEA — это уникальная академия, комфортная атмосфера, милая администрация, быстрое и перспективное обучение и хороший старт вашей карьеры, это все вы найдете в ITEA. Каждую часть курса ведет другой учитель, у вас появляются свои друзья и наставники в сфере айти-технологий.
Спасибо Ирине Петраш (она ведет курс HTML/CSS), она продолжила давать мне советы и помогать после курсов, лучший ментор в сфере верстки сайтов. Администрация, учителя ITEA, вы лучшие из лучших, люблю вас)»
Курс «Node.js + Express + MongoDB от JSExpert»
Цена: 36$ – 200$ / месяц
Ссылка на сайт: https://www.jsexpert.net/nodejs-course/
- мало теории, много практической работы
- от разработчика с опытом 12+ лет
- выпускной, экзаменационный проект
- сертификат об окончании курса.
Пройдя курс, вы научитесь:
- Понимать архитектуру
Разбираться в особенностях архитектуры Node.js и использовании модулей - Создавать приложения
Создавать полноценные, профессиональные приложения на Node.js - MongoDB и Mongoose
Работать с не реляционной базой данных MongoDB и библиотекой Mongoose - Веб-сервисы и REST API
Создавать и использовать REST API и веб-сервисы с помощью Express.
Автор и преподаватель курса – Александр Кириченко
«Начинал свою карьеру разработчиком и администратором баз данных Informix, Oracle.
Постепенно переключился на бекенд разработку на Java. Как Java разработчик принимал участие в 7 enterprise проектах. В каждом из проектов приходилось заниматься разработкой на всех уровнях, начиная от базы данных и заканчивая уровнем представления (JavaScript, HTML, CSS).
В данное время работаю в E-commerce проекте. Занимаюсь проблемами микросервисной архитектуры и машинного обучения.
Учитывая специфику проекта, для реализации микросервисов мы используем Java, Python, Node.js и облачные технологии.
В качестве хранилища данных – MongoDB – документоориентированную систему управления базами данных.
На данный момент у меня более 4 лет опыта работы с MongoDB на нескольких проектах.
Активно интересуюсь Big data и NoSQL технологиями, вопросами разработки высоконагруженных приложений.»
Программа курса:
- Вступление в Node.js
- клиент серверная архитектура
- ограничения многопоточной модели
- асинхронное программирование
- технологии в MEAN стек и что их объединяет
- эволюция веб к одностраничным приложениям
- Архитектура и философия Node.js
- основные принципы
- особенности архитектуры
- событийно-ориентированная модель
- Модули в Node.js
- определение модуля
- загрузка модулей
- модуль как инструмент для определения API
- Введение и роутинг в Express
- что такое Express и его основные преимущества
- как запустить приложение с Express
- роутинг (основные подходы при определении маршрутов)
- Middleware в Express
- что такое Middleware
- примеры использования
- паттерн Middleware (обобщение)
- Типы Views в Express
- типы Middleware
- Views (представления)
- Express Rest API
- определение REST
- характеристики RESTful API
- ограничения RESTful API
- Схемы и модели Mongoose
- что такое Mongoose
- схемы и их использование
- модели и их использование
- Документы и валидация Mongoose
- документ и операции над документом
- валидация – способы и подходы
- Запросы в Mongoose
- использование QueryBuilder
- выполнение запросов одной командой
- Middleware и Population в Mongoose
- типы Middleware
- Population
- Введение и инсталляция MongoDB. Работа с Mlab и консолью
- что такое MongoDB
- Mlab – облачное решение для MongoDB
- выполнение команд и запросов в консоли
- Модели данных в Запросы и CRUD операции
- модель документа в MongoDB и дизайн базовой схемы
- язык запросов и его использование в MongoDB
- примеры CRUD операций
- Агрегация в MongoDB
- Aggregation framework
- Pipelines и основные операции
- Примеры.
Отзывы о курсе доступны на сайте.
Курс «NodeJS от ИП Минин В. И.»
Цена: 4 790 руб.
Ссылка на сайт: https://vladilen.ru/node
Овладейте на практике пошаговым алгоритмом серверной JavaScript-разработки на NodeJS.
В курсе предоставлена информация от самых основ, от установки самого NodeJS, до деплоя готового приложения и размещения его на сервере. Кульминацией практической части курса является создание большого статического интернет-магазина и сложного REST API приложения. Повторяя за уроками курса, вы сможете создать с нуля 2 приложения и поместить их в ваше портфолио. А при необходимости — дорабатывать под любые свои нужды, в т.ч. и в коммерческих целях.
В курсе рассматриваются наиболее современные и востребованные технологии: NodeJS, MongoDB, Express, GraphQL и БД MySQL. REST API — это тип сервера, который сейчас используется повсеместно, включая Google и Amazon.
Автор видеокурса – Владилен Минин
Профи FullStack-разработки, 25 лет
Построил успешную карьеру в международных IT-компаниях
Занимает должность Senior Frontend Developer крупной международной компании
Специализируется на разработке больших корпоративных порталов для международных рынков в формате SPA на современных фреймворках
Является Team Lead во многих внутренних проектах компании
Подготовил более 100 Frontend- и FullStack-разработчиков вживую
Имеет 3-летний опыт живого обучения
Профессионально программирует более 7 лет, 5 из которых были посвящены JavaScript-разработке (как Frontend, так и FullStack).
Для кого создавался курс:
- Единый язык JavaScript для Frontend и Backend
Вам не придется изучать множество языков программирования. NodeJS позволяет использовать единый язык JavaScript для написания кода как на стороне клиента (Frontend), так и на стороне сервера (Backend). Вы можете распределить код NodeJS между браузером (Frontend) и вашим сервером (Backend), используя соответствующие технологии - Более высокий заработок для FullStack-разработчиков
Специалистам со знанием NodeJS предлагают самую высокую оплату труда. NodeJS позволяет создавать действительно хорошие, быстрые, масштабируемые, надежные веб-приложения. А действительно классных FullStack-разработчиков на NodeJS не так много.
Содержание курса:
- Введение
- О данном видео курсе
- Что такое Nodejs
- Как установить Nodejs
- Первый скрипт
- Редактор кода.
- Основы NodeJS
- Что такое NPM
- Глобальные объекты и модули
- Модуль PATH
- Модуль FS
- Модуль OS
- Модуль EVENTS
- Модуль HTTP
- Nodemon
- Создание простого Web-сервера
- Web-сервер с HTML-страницами
- Создание простого REST-сервера
- Работа с консолью v.
- Практика: Express.js
- Настройка приложения
- Работа с HTML-файлами
- Подключение Handlebars
- Настройка Layout
- Добавление навигации
- Рендеринг данных
- Регистрация роутов
- Обработка формы
- Создание модели
- Вывод списка курсов
- Подключение клиентских скриптов
- Динамические параметры
- Редактирование курса
- Подготовка корзины
- Модель корзины
- Вывод данных в корзине
- Обработка асинхронных запросов
- Динамическое изменение корзины.
- Практика: База данных MongoDB
- Подключение MongoDB
- Установка Mongoose
- Создание модели
- Переписываем модель
- Удаление курса
- Модель пользователя
- Добавление пользователя
- Добавление товара в корзину
- Отображение корзины
- Удаление из корзины
- Трансформация данных на клиенте
- Подготовка страницы заказов
- Получение данных заказов
- Вывод заказов.
- Практика: сессии и авторизация
- Страница логина
- Добавление сессии
- Сохранение сессии
- Сессия в базе данных
- Защита роутов
- Исправление работы корзины
- Регистрация пользователя
- Логин пользователя
- Шифрование пароля
- Добавление CSRF-защиты
- Сообщения об ошибке
- Тестирование пользователей.
- Практика: работа с Email
- Объект конфигурации
- Настройка почтового сервиса
- Отправка письма
- Восстановление пароля
- Страница нового пароля
- Изменение пароля
- Рефакторинг по правам доступа
- Защита удаления.
- Практика: валидация и файлы
- Базовая валидация
- Валидация регистрации
- Асинхронные валидаторы
- Улучшение данных
- Валидация курсов
- Обработка 404 ошибки
- Создание страницы профиля
- Настройка загрузки файлов
- Загрузка файлов.
- Практика: деплой приложения
- Защита ключей
- Добавление хедеров
- Сжатие статических файлов
- Подготовка Heroku
- Настройка Mongo Atlas.
- БД MySQL – REST API приложение
- Обзор приложения
- Инициализация сервера
- Настройка роутера
- Установка MySQL
- Подключение к базе данных
- Создание модели
- Создание задачи
- Завершение POST-запроса
- Получение списка задач
- Завершение задачи
- Удаление задачи.
- GraphQL
- Что такое GraphQL
- Настройка GraphQL
- Как работает GraphQL
- Получение данных
- Создание задач
- Завершение задачи
- Удаление задачи.
Курс «Node.js от beONmax»
Цена: от $7.8
Ссылка на сайт: https://beonmax.com/courses/node-js/
Онлайн курс Node JS разработки для начинающих.
Курс посвящен изучению платформы Node.js для разработки приложений на языке JavaScript.
NodeJS стал популярным из-за возможности написания на одном языке локальных и серверных задач. Среда Node.js позволяет любому разработчику использовать JavaScript как серверный язык разработки и разрабатывать серверную часть для приложений любой сложности. С использованием Node.js написано много популярных сайтов.
В курсе мы изучим основы программирования на данной платформе — установку и основные принципы, синтаксис, работу с базовыми элементами, создание и использование модулей-библиотек (NPM), работу с базами данных и др. В практических уроках создадим простые приложения с применением NodeJS. Рассмотрим популярные фреймворки для разработки в среде Node.js.
Для прохождения данного курса требуются базовые знания HTML+CSS и JavaScript.
Курс «Node.js от ITVDN»
Цена: 9.99 USD
Ссылка на сайт: https://itvdn.com/ru/video/node_js
- Длительность:10 видео уроков, 8 ч 36 мин.
- Сертификат.
Курс Node.js предназначен для разработчиков, которые пишут свои приложения на языке JavaScript, но он также подойдет всем желающим освоить платформу Node.js.
От слушателей требуется уверенное владение языком JavaScript, поскольку он является основным языком рассматриваемой платформы.
Всю теоретическую информацию автор будет сопровождать легкими для восприятия практическими примерами, что принесет вам максимальное понимание учебного материала.
Вы научитесь:
- Понимать устройство платформы Node.js, владеть основными принципами работы с ней
- Понимать устройство HTTP-протокола
- Создавать и настраивать веб-сервер, работать с cookies
- Использовать различные инструменты для хранения данных на стороне клиента и сервера
- Создавать подключение к базам данных и работать с MongoDB и MS SQL Server
- Использовать фреймворк Express для создания приложений
- Реализовывать регистрацию и авторизацию пользователей на сайте, работать с REST API
- Писать собственные приложения, используя платформу Node.js.
Содержание:
- Введение в платформу Node.js.
- Обработка событий.
- Работа в консоли
- Работа с http запросами
- Фреймворк Express
- Работа с базами данных
- Работа с сессиями и cookies
- Аутентификация и авторизация
- REST API в Node.js
- Socket.IO
Отзывы о курсе доступны на сайте.
Курс «Основы Node.js от CodeDojo »
Цена: разная стоимость
Ссылка на сайт: https://codedojo.ru/courses/nodejs-basics
Для кого этот курс?
- Курс подойдет тем, кто уже изучил основы JavaScript и хочет получить практический опыт использования языка.
- Также курс подойдет front-end разработчикам, работающим с различными фреймворками типа Angular, React и т. д. Если вы хотите стать full-stack разработчиком, то Node.js — это отличный выбор.
- Ну и третья категория — это back-end разработчики, программирующие на PHP, Python, Ruby, C# и других языках. Для вас это отличная возможность попробовать что-то новое.
Автор – Олег Поляков
Full Stack веб-разработчик. Основатель проекта CodeDojo.
Содержание:
- Знакомство с Node.js
- Что такое Node.js
- Установка Node.js
- Привет Node.js
- JavaScript за пределами браузера
- REPL
- Асинхронность в Node.js
- Функции обратного вызова в Node.js
- Документация
- Ядро
- Глобальная область
- Процесс
- Стандартный IO
- Буфер
- Таймеры
- Встроенные модули
- Модули
- Модульная система
- Основы работы с модулями
- Экспортирование модуля
- Импортирование модуля
- Создание модуля-директории
- Кэширование модулей
- Конфигурируемый модуль
- Файловая система
- Чтение файлов
- Запись файлов
- Копирование файлов
- Удаление файлов
- Создание директорий
- Чтение директорий
- Удаление директорий
- Переименовывание файлов и директорий
- Программа для работы с заметками на Node.js
- Проект "Заметки"
- События
- Что такое событие?
- Использование EventEmitter
- Наследование EventEmitter
- Создание EventEmitter
- Потоки
- Что такое поток?
- Читаемый поток
- Записываемый поток
- Соединение потоков
- Проект "Список репозиториев"
- npm
- Что такое npm?
- Репозиторий npm
- Установка пакетов локально
- Установка пакетов глобально
- Файл package.json
- Обновление пакетов
- Удаление пакетов
- Заключение
- HTTP
- Создание сервера
- Отправка файлов
- Отправка JSON
- Обработка POST-запросов
- Шаблоны
- Проект "Веб-приложение"
Курс «Серверные веб-технологии и системы управления контентом от Открытое образование»
Цена: нет информации
Ссылка на сайт: https://openedu.ru/course/ITMOUniversity/NODEJS/
- Длительность курса – 10 недель
- Сертификат.
Курс посвящен разработке серверных веб-приложений в экосистемах языков программирования на примере JavaScript (Node.js) в сравнении с языком PHP. Освойте его, чтобы стать частью профессионального сообщества бэкэнд-разработчиков на набирающей популярность мощной JavaScript-платформе Node.js.
Цель курса – обеспечить освоение системы знаний и умений, необходимых для решения профессиональных задач в области разработки современных серверных веб-приложений.
В курсе используются инновационные технологии обучения: мультиязыковое обучение, скринкасты, вебинары, интерактивные задания, онлайн-редакторы и репозитории кода для коллаборативного обучения.
Программа:
- Введение.
Понятия бэкэнда и фронтэнда. Протокол HTTP(S) и другие протоколы веба. Методы (глаголы): GET, POST, DELETE, PUT. Коды ответов веб-сервера. Эмуляция работы браузера с помощью клиента telnet. Основные приёмы работы с curl и приложением Postman. - Языковые основы (современный JavaScript)
Стандарт ECMAScript и его развитие. Транспиляция. Использование статической типизации с помощью TypeSript и Flow. Менеджмент зависимостей. Сборка бандлов на клиентской и северной стороне. - Асинхронность.
Потоковый подход к обработке событий. Подписка слушателей и коммуникации между процессами и воркерами. Коллбэки, промисификация и синхронное ожидание промисов. Веб-сокеты. - Модель приложения на Node.js и библиотека Express
Объекты Request и Response. Создание простого веб-сервера. Отдача статического контента, MIME-типы. Выдача HTTP-заголовков. Кроссдоменные запросы и политика CORS. Объект app. Создание простого веб-приложения. Основы серверной маршрутизации. Создание контроллеров. Разработка микросервиса. - Введение в разработку серверных приложений в экосистеме PHP
Развёртывание стека LAMP. Программные сущности PHP и модель современного PHP-приложения. Использование микрофреймворка для создания REST-сервиса - Подключение к базам данных. Аутентификация и авторизация.
Сравнение реляционных и документоориентированных БД на примере MySQL и MongoDB. Понятия CRUD и ORM. Создание моделей в рамках архитектуры MVC. Механизмы сессий в Node.js и PHP. - Системы управления контентом и шаблонизация
Структура и функции CMS. Популярные CMS на PHP и Node.js. Развёртывание и эксплуатация WordPress и Ghost. Языки шаблонов на примере pug и Twig. Создание представлений в рамках архитектуры MVC. - Тестирование серверных веб-приложений.
Модульное тестирование. Использование фреймворков Mocha и should. Бенчмаркинг, асинхронное тестирование, интеграционное и e2e тестирование с помощью Puppeteer.
Каждая тема предполагает изучение в течение одной недели.
Результаты обучения:
- Возможность применения технологий разработки серверных веб-приложений
- Возможность применения баз данных для хранения элементов состояния веб-приложений
- Знание синтаксиса языка программирования JavaSript
- Умение анализировать и применять серверные веб-технологии и системы управления контентом для развёртывания серверных веб-приложений
- Умение реализовывать базовые алгоритмические конструкции на языке программирования JavaScript
- Умение развёртывать базы данных на основе решений контейнеризации
- Владение навыком выбора адекватных технологий разработки серверных веб-приложений
- Владение навыком подключением баз данных к веб-приложениям через ORM и другие интерфейсы.
Курс «Backend-разработка на Node.js от robot_dreams »
Цена: нет информации
Ссылка на сайт: https://robotdreams.cc/course/backend-razrabotka-na-node-js
- Длительность – 8 недель
- Онлайн-курс.
- работа с фреймворками Express.js, Jest, Net и библиотеками Socket.IO, Mongoose, Lodash
- наработка решений и фреймворков, которые можно использовать в текущих или будущих проектах
- написание собственного клиент-серверного приложения в рамках комплексного финального проекта.
Кому будет полезен курс:
– Junior/ Middle Frontend Developers
Вы разберете технологии для построения микросервисов исходя из рабочих задач, научитесь работать со стримами и настраивать коммуникацию между микросервисами и клиент-серверами. С помощью Node.js будете писать backend на JavaScript и создавать приложения, которые мгновенно обрабатывают информацию и позволяют обновлять данные в режиме реального времени.
– Other Developers
Если в работе вы используете другой язык программирования, но имеете базовое представление о том, как устроен JavaScript, и хотите разрабатывать микросервисы, вы тоже можете освоить платформу Node.js. На курсе вы ознакомитесь с основными модулями Node.js, научитесь взаимодействовать с базами данных и настраивать межсерверную коммуникацию.
После курса вы сможете:
- работать с основными модулями и фреймворками Node.js
- использовать асинхронную модель программирования
- создавать HTTP/HTTPS-серверы с обработкой запросов, маршрутизацией, отдачей статистических файлов и генерацией html-файлов
- взаимодействовать с базой данных MongoDB с помощью Node.js
- создавать REST-сервисы и CRUD-сервисы
- работать со стримами
- настраивать коммуникацию между микросервисами и клиент-серверами
- логировать и тестировать приложения
- развертывать проект и настраивать CI/CD.
Лектор – Ярослав Слипчук
Node.js Developer в Sterlix GmbH
имеет 12 лет опыта в backend-разработке
последние 3 года занимается разработкой продуктов для торговой отрасли в немецком стартапе Sterlix GmbH.
Программа курса:
- Знакомство с Node.js
Узнайте, какие задачи программирования решает Node.js. Разберитесь в работе модульной системы, менеджера пакетов в Node.js. Научитесь использовать линтеры [TSlint, JSLint] и отлаживать приложения. Установите и настройте проект. - Асинхронный код
Изучите процессы и потоки в Node.js. Узнайте о преимуществах асинхронного кода и концепции Callback. Научитесь использовать асинхронную модель программирования, функции Async и Await. Спланируйте выполнение кода с помощью таймеров, интервалов и промисов. Научитесь работать с EventLoop. - HTTP-сервер и Express.js
Научитесь создавать HTTP/HTTPS-сервер с обработкой запросов [put, get, post, patch, delete], маршрутизацией запросов, отдачей статистических файлов и генерацией html-файлов. Изучите REST [стиль архитектуры ПО]. Ознакомьтесь с популярным фреймворком Express.js. Научитесь использовать шаблонизаторы и рендерить графики из датасетов. - Взаимодействие с базами данных
Настройте СУБД. Разберите на примерах разницу между SQL и NoSQL базами данных. Узнайте, как взаимодействовать с базами данных в Node.js. Научитесь выполнять запросы и настраивать связи. - Взаимодействие с MongoDB
Настройте Node.js для работы с MongoDB. Создайте модель для документов базы данных. Напишите CRUD-сервис с MongoDB. - Валидация данных, аутентификация и авторизация
Изучите алгоритм действия XSS-атаки и CSRF-атаки. Узнайте, как снизить риски атак и зачем использовать JWT-токены. Научитесь настраивать CORS и использовать Cookies в backend-разработке. Разберитесь в нюансах работы валидации данных, аутентификации и авторизации. - Приложения реального времени
Научитесь использовать EventEmitter-экземпляр. Изучите библиотеку Socket.IO и создайте клиент-серверную коммуникацию с использованием Socket.IO. Поработайте со стрим-Socket и датаграмм-Socket. Разберите отличия Socket TCP и Socket UDP. Изучите механизм считывания и управления потоками бинарных данных [Buffer-класс] и научитесь пользоваться стримами. - Межсервисная коммуникация. Child-процессы
Ознакомьтесь с методами коммуникации между сервисами [Signals, Stdin, Stdout, Stderr]. Настройте Moleculer для коммуникации микросервисов и Rabbit.MQ для Node.js. Научитесь работать методами exec, fork, spawn и определите разницу между ними. - Логирование и тестирование
Разберите, что такое логирование и какие существуют уровни логирования. Освойте подходы к разработке TDD и BDD. Изучите виды тестирования. Научитесь пользоваться фреймворком Jest. Напишите Unit-тесты. - Размещение и развертывание приложения
Научитесь настраивать CI/CD. Изучите базовые возможности Docker и преимущества над виртуальной машиной. Научитесь пользоваться менеджером процессов PM2 и развертывать сервисы из GitHub в Heroku. - Презентация курсового проекта
Спроектируйте клиент-серверное приложение на одну из предложенных тем, используя микросервисную архитектуру, и разработайте протокол взаимодействия клиента с сервером. Реализуйте приложение, используя модули, фреймворки, middleware и пакеты Node.js. Презентуйте приложение лектору и коллегам-студентам.