phone_picture

Цель курса

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

Нас НЕ интересует генерация html на сервере, работа с файлами и т.п.

Наша цель - создание серверной части для real-time коммуникаций ( long polling, server sent events, web sockets ), ведь, например, на чистом PHP это нормально не реализовать.

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

8 декабря, 20:00 — урок 1

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

12 декабря, 20:00 — урок 2

  • Сервер на основе Express
  • CORS и прочие мелочи
  • Периодическое обновление данных
  • Ужасный Short Polling
  • Понимание Long Polling
  • Реализация чата на Long Polling

15 декабря, 20:00 — урок 3

  • Server Sent Events (SSE)
  • Подключение, события, данные
  • SSE vs Long Polling
  • Реализация чата на SSE
  • Архитектура серверной части
  • Работа с БД, mysql

19 декабря, 20:00 — урок 4

  • Реализация аукциона
  • Готовый базовый backend (не node)
  • Задача: real-time ставки
  • Ставка = Request
  • Взаимодействие частей на backend
  • Обновление данных через SSE

22 декабря, 20:00 — урок 5

  • Доработка примера аукциона
  • Разные модели работы backend
  • Простое развёртывание на сервере
  • Основы применения пакета PM2
  • Оценка лагов при Request + SSE
  • Web Sockets ( WS ) vs SSE

26 декабря, 20:00 — урок 6

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

9 января, 20:00 — урок 7

  • Практика WS - онлайн шахматы
  • Использование chessops
  • Готовый модуль доски и правил
  • Реализация UI для доски
  • Реализация процесса игры

12 января, 20:00 — урок 8

  • Доработка проекта
  • Реализация серверной стороны
  • Создание и присоединение к игре
  • Оценка лагов Web Sockets vs SSE
  • Обобщение материалов курса

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обзор курса

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

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

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

Также в нём вы найдёте примеры того, что мы сделаем на курсе.

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

Если Node.js нужен сейчас, напишите на info@dmitrylavrik.ru, возможно приобретение записей курса.

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

Почему не делаем простые сайты на Node

Потому что это курс про real-time коммуникации. Конечно, Node может быть заменой PHP во всём, включая сайты-визитки :) , но наибольшее преимущество у него именно в тех темах, которые мы проходим.

Почему сокеты только 6-8 уроках курса

Несмотря на то, что сокеты кажутся вершиной эволюции, они реально нужны только для ряда задач вроде игр и аудио / видео потоков. 95% остальных примеров проще сделать на основе Server Sent Events.

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

Работа с БД вообще не является целью курса, всё внимание на real-time коммуникациии. А mysql в любом случае встретится в примере, где будем прикручивать ставки к не-node backend

Зачем новогодний перерыв

Темы объёмные, отдых не помешает. А ещё для примера шахмат на сокетах нужно будет подравнять начальные знания группы - изучить ряд материалов по работе с chessops и т.п.

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

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

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

Будут, но точно не скоро. Обычно сложные курсы стартуют два-три раза в год. Следующий поток не ранее мая 2023.