4.55 из 5
4.55
1613 отзывов на Udemy

Node JS. Практический курс. (Mongo, GraphQL, MySQL, Express)

Полный гайд по созданию сайтов и приложений на серверном JavaScript, включая базы данных и создание API
Инструктор:
Владилен Минин
5 418 студентов зачислены
Писать серверный JavaScript
Всю инфраструктуру NodeJS
Создавать REST API
Создавать приложения на Express
Хранить данные в MySQL и MongoDB
Основы GraphQL
Создавать статические сайты на NodeJS

По-настоящему полное руководство по NodeJS

Серверная разработка на JavaScript и очень основательный разбор взаимосвязи пользовательской части с сервером на двух реальных примерах. В курсе предоставлена информация от самых основ, от установки самого NodeJS, до деплоя готового приложения и размещения его на сервере

Очень много практики и готовые работы в портфолио

Кульминацией практической части курса является создание большого статического интернет-магазина и сложного REST API приложения. Повторяя за уроками курса, вы сможете создать с нуля 2 приложения и поместить их в ваше портфолио. А при необходимости – дорабатывать под любые свои нужды, в т.ч. и в коммерческих целях

Вы избавите себя от многих месяцев чтения документации по более чем 10 различным технологиям. Помимо работы самих технологий в курсе рассказывается про то, как они работают вместе. А на эту тему вы вряд ли найдете в едином месте структурированную документацию на русском языке

Средние высокие заработки даже для новичков

Средний уровень зарплат для новичков уровня Junior JavaScript Developer составляет 50-80 тыс. руб. в месяц. NodeJS – это прямой путь в FullStack-разработку. А Full-Stack JavaScript-разработчикам предлагают самый высокий уровень оплаты труда на рынке веб-разработки – 100-120 тыс. руб. и выше

Единый язык JavaScript для Frontend и Backend

Вам не придется изучать множество языков программирования. NodeJS позволяет использовать единый язык JavaScript для написания кода как на стороне клиента (Frontend), так и на стороне сервера (Backend). Вы можете распределить код NodeJS между браузером (Frontend) и вашим сервером (Backend), используя соответствующие технологии

Удобен для построения быстрых приложений

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

Для кого создавался курс

Действующие Backend- и Fullstack-разработчики

Поскольку для изучения NodeJS и применения требуются достаточные знания по JavaScript, то основной аудиторией для данного курса будут действующие разработчики среднего уровня. Это программисты, использующие JavaScript в разработке сайтов и приложений, которые уже имеют некоторый опыт и хотят улучшить свое видение области

Фрилансеры-практики

Вы очень ограничены во времени и остро нуждаетесь в быстром овладении новой перспективной технологией для того, чтобы брать более дорогие заказы. Вы хотите понять инфраструктуру полного цикла разработки. Нуждаетесь в быстром, но глубоком освоении среды NodeJS на практике: от установки самого NodeJS, до деплоя готового приложения на сервере

Введение

1
О данном видео курсе

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

2
Что такое Nodejs

В видео рассказано про то, что такое Nodejs, почему следует изучать данную платформу и какие преимущества Вы получаете, разрабатывая приложения на Nodejs.

3
Как установить Nodejs

В видео показано как установить Nodejs на компьютер и как убедиться, что программа успешно установлена.

4
Первый скрипт

В ролике Вы увидите написание скрипта на платформе Nodejs.

5
Редактор кода

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

Основы NodeJS

1
Что такое NPM

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

2
Глобальные объекты и модули

В ролике Вы увидите, какие глобальные объекты есть на платформе в отличии от клиентского JavaScript и как работает система модулей.

3
Модуль PATH

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

4
Модуль FS

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

5
Модуль OS

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

6
Модуль EVENTS

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

7
Модуль HTTP

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

8
Nodemon

В ролике Вы увидите пример создание простого HTTP Web-сервера. В ролике также показано, как работать с параметрами и обрабатывать POST-запросы, конвертируя данные через Buffer.

9
Создание простого Web-сервера

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

10
Web-сервер с HTML-страницами

В видео показан пример того, как на основе модуля HTTP можно создать простой Web-сервер, работающий с множеством HTML-страниц.

11
Создание простого REST-сервера

В ролике Вы увидите пример того, как в Nodejs создать простой REST API сервер, работающий с данными в формате JSON.

12
Работа с консолью

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

Практика: Express.js

1
Настройка приложения

С этого ролика начнется создание большого приложения – интернет-магазина. В видео Вы узнаете, как подключить Express и настроить его для запуска приложения.

2
Работа с HTML-файлами

В видео показано, как Express.js работает с файлами, в отличии от обычного модуля HTTP.

3
Подключение Handlebars

Для того, чтобы более эффективно и динамически показывать страницы в приложении необходимо подключить движок, в данном случае будет использован Handlebars. В ролике Вы увидите, как его установить и настроить.

4
Настройка Layout

В ролике Вы увидите, как осуществить разбивку на разные элементы Handlebars страниц, чтобы автоматизировать процесс создания новых страниц и уменьшить количество кода.

5
Добавление навигации

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

6
Рендеринг данных

В видео Вы увидите, как в Express передавать различные данные внутрь шаблона и рендерить их в формат HTML.

7
Регистрация роутов

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

8
Обработка формы

В видео Вы увидите, как обрабатывать форму, с помощью которой можно создавать новые объекты методом POST.

9
Создание модели

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

10
Вывод списка курсов

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

11
Подключение клиентских скриптов

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

12
Динамические параметры

В уроке Вы увидите, как с помощью Express обрабатывать роуты с динамическими параметрами на примере страницы, где будет выводиться детальное отображение отдельного курса.

13
Редактирование курса

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

14
Подготовка корзины

В ролике будет написан функционал, который подготовит шаблон страницы, где будет реализована корзина товаров для каждого пользователя.

15
Модель корзины

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

16
Вывод данных в корзине

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

17
Обработка асинхронных запросов

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

18
Динамическое изменение корзины

В видео Вы увидите, как на основе ответа сервера реализовать динамическое изменение контента страницы корзины: пересчет цены, количества элементов и отрисовка таблицы целиком.

Практика: База данных MongoDB

1
Подключение MongoDB

В ролике Вы увидите, как настроить и подготовить базу данных MongoDB через сервис Mongo DB Atlas.

2
Установка Mongoose

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

3
Создание модели

В видео показано, как, используя Mongoose, создавать модели, которые впоследствии будут являться абстрактным слоем при взаимодействии Nodejs и MongoDB.

4
Перед просмотром следующего ролика
5
Переписываем модель

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

6
Удаление курса

В видео показано, как используя Mongoose-модель реализовать функционал, позволяющий удалить курс из базы данных.

7
Модель пользователя

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

8
Добавление пользователя

В ролике показано, как временно программно создавать одного пользователя для тестирования работы приложения.

9
Добавление товара в корзину

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

10
Отображение корзины

В ролике показано, как снова оживить страницу корзины, так как модель данных немного изменилась из-за переноса данных в MongoDB.

11
Удаление из корзины

В ролике показано, как вернуть функционал по динамическому асинхронному удалению данных из корзины используя базу данных.

12
Трансформация данных на клиенте

В уроке Вы увидите, как с помощью Mongoose написать трансформер, меняющий формат данных поля _id на id для того, чтобы клиентская часть снова работала.

13
Подготовка страницы заказов

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

14
Получение данных заказов

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

15
Вывод заказов

В уроке показано, как на основе полученных данных вывести список заказов в приложении.

Практика: сессии и авторизация

1
Страница логина

Начиная с данного видео будет показана разработка части авторизации в системе и в этом ролике будет создана страница, отвечающая за вход в систему и создание нового аккаунта.

2
Добавление сессии

В ролике Вы познакомитесь с новым концептом в Nodejs – сессиями, которые будут содержать в себе всю необходимую информацию о текущем пользователе.

3
Сохранение сессии

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

4
Сессия в базе данных

Для оптимизации и защиты каждую сессию необходимо хранить в базе данных, поэтому в этом видео Вы увидите, как это сделать в автоматическом режиме.

5
Защита роутов

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

6
Исправление работы корзины

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

7
Регистрация пользователя

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

8
Логин пользователя

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

9
Шифрование пароля

Так как абсолютно не безопасно хранить не зашифрованный пароль в базе данных, то в этом уроке Вы узнаете, как зашифровать пароль при регистрации в одном направлении.

10
Добавление CSRF-защиты

Для большей защиты приложения Вы увидите, как добавить CSRF-защиту.

11
Сообщения об ошибке

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

12
Тестирование пользователей

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

Практика: работа с Email

1
Объект конфигурации

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

2
Настройка почтового сервиса

В ролике Вы узнаете, как Nodejs работает с отправкой email писем.

3
Отправка письма

В уроке Вы увидите, как отправлять письма в приложении на примере регистрации в системе.

4
Восстановление пароля

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

5
Страница нового пароля

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

6
Изменение пароля

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

7
Рефакторинг по правам доступа

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

8
Защита удаления

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

Практика: валидация и файлы

1
Базовая валидация

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

2
Валидация регистрации

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

3
Асинхронные валидаторы

В видео Вы увидите, как создавать асинхронные валидаторы, которые позволят декомпозировать логику контроллеров и вынести валидацию в отдельный файл.

4
Улучшение данных

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

5
Валидация курсов

В ролике Вы увидите валидацию другой формы в приложении – создании курсов, где будет показана best practice по валидации форм с сохранением данных даже после перезагрузки страницы.

6
Обработка 404 ошибки

В видео Вы увидите, как реализовать функционал по обработке 404 ошибки в приложении.

7
Создание страницы профиля

В уроке показано, как создать новую страницу в приложении для последующей демонстрации загрузки и сохранения файлов.

8
Настройка загрузки файлов

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

9
Загрузка файлов

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

Практика: деплой приложения

1
Защита ключей

В ролике показано, как защитить объект конфигурации, разделив их на две части: конфиг для разработки и продакшн сборки.

2
Добавление хедеров

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

3
Сжатие статических файлов

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

4
Подготовка Heroku

В ролике Вы увидите какие шаги необходимо выполнить для настройки системы Heroku для бесплатного деплоя приложения на Nodejs.

5
Настройка Mongo Atlas

В ролике Вы увидите, как настроить систему MongoDB Atlas для того, чтобы она корректно работала с Heroku и приложение было запущено на удаленном сервере.

БД MySQL – REST API приложение

1
Перед просмотром

С момента записи курса обновилась версия Vuetify и проект может не запускаться

Замените ссылки на следующие:

CSS: <link href="https://cdn.jsdelivr.net/npm/vuetify@1.x/dist/vuetify.min.css" rel="stylesheet">

JS: <script src="https://cdn.jsdelivr.net/npm/vuetify@1.x/dist/vuetify.js"></script>

2
Обзор приложения

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

3
Инициализация сервера

В ролике будет создан и проинициализирован сервер и будет настроен таким образом, чтобы он всегда отдавал одну и ту же страницу.

4
Настройка роутера

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

5
Установка MySQL

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

6
Подключение к базе данных

В ролике показано как с помощью Sequelize настроить соединение с базой данных MySQL в Nodejs.

7
Создание модели

В уроке Вы увидите, как создать модель данных для синхронизации данных Nodejs и базы данных MySQL.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
986d8e0854cfd2f51a583ba5f39970cf
3-дневная гарантия возврата денег

Включает

13 часов видео по запросу
2 статьи
Полный пожизненный доступ
Доступ с мобильного и ТВ
Сертификат об окончании
Node JS. Практический курс. (Mongo, GraphQL, MySQL, Express)
Цена:
0,31 ₽ 7,990 ₽