phone_picture

Цель курса

Разобраться с основами Node, научиться строить backend системы с простой и адекватной архитектурой, а также познакомиться с realtime-взаимодействием на основе socket.io

Для продуктивного участия в курсе необходимы знания javascript.

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

12 июля, 20:00 — урок 1

  • Основы и понимание node.js
  • Знакомство с важными модулями
  • Блокирующий и неблокирующий код
  • Сравнение node и конкурентов ( php и т.д. )
  • Создание простого сервера
  • Работа с запросом и ответом

16 июля, 20:00 — урок 2

  • Обзор популярных фреймворков
  • Сервер на основе Express
  • Настройка роутинга
  • Концепция middleware
  • Дополнительные модули Express
  • Генерация HTML vs создание API

19 июля, 20:00 — урок 3

  • Работа с mysql
  • Реляционные базы и ORM
  • Знакомство с Sequilize
  • Создание моделей
  • Принципы создания запросов

23 июля, 20:00 — урок 4

  • Построение простой архитектуры
  • Контроллеры и шаблоны
  • Файлы конфигурации
  • Переменные окружения и dotenv
  • Мысли о внедрении зависимостей

26 июля, 20:00 — урок 5

  • Углубление в ORM
  • Валидация данных
  • Типы связей между сущностями
  • Связи и получение данных
  • Жадная загрузка

30 июля, 20:00 — урок 6

  • Авторизация пользователей
  • Доработка БД
  • Страницы входа и выхода
  • Middleware закрытых страниц
  • Cookies vs JWT tokens

2 августа, 20:00 — урок 7

  • Основы Web Sockets
  • Чистые сокеты vs socket.io
  • Подключение socket.io к нашей системе
  • Принципы обмена сообщениями
  • Реализация RealTime уведомлений

6 августа, 20:00 — урок 8

  • Доработка проекта
  • Простое развёртывание на сервере
  • Основы применения пакета PM2
  • Подведение итогов
  • Направления дальнейшего развития

Преподаватель курса

Дмитрий Лаврик

Профессиональный веб-разработчик

Опыт работы в сфере разработки сайтов более 10 лет. Ориентируется во всех вопросах создания сайтов, от вёрстки до backend-а.

Опытный преподаватель

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

Дмитрий Лаврик

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

8 онлайн уроков

По вторникам и пятницам с 20:00 МСК. Продолжительность каждого занятия около двух часов. На уроках разбираются домашние работы учеников и новый материал.

Видеозаписи всех уроков

Если вы по какой-то причине не смогли посетить урок, не переживайте, спустя пару часов после окончания занятия он доступен в записи в хорошем качестве :)

Материалы и исходники

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

Домашние задания

После каждого урока выдаётся домашнее задание, которое нужно сделать для закрепления пройденного материала. Плохие оценки не ставим – только конструктивные комментарии :)

Обратную связь от преподавателя

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

Доступ в закрытую группу

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

Обзор курса

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

Если вы хотите подробнее ознакомиться с идеями курса и необходимыми начальными знаниями,

посмотрите видео, расположенное рядом

Запись временно закрыта, по техническим причинам.

Часто задаваемые вопросы

Подходит ли курс для новичков

Для новичков в backend - вполне, для новичков в javascript - нет, потому что мы будет изучать Node, ориентируясь на то, что ученики уже вполне адекватно понимают js.

Какие должны быть начальные знания в JS

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

Почему mysql, а не mongo

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

Почему express, а не koa, nest и т.д.

Нет разницы express или koa - для нас это просто слой роутинга и работы с запросом и ответом. А nest и похожие на него вещи - это фреймворки со своей архитектурой, которые нужно изучать не на базовом курсе.

Будут ли записи уроков

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

Будут ли ещё потоки этого курса

Будут, но, точно, не скоро. Обычно сложные курсы стартуют два-три раза в год.