phone_picture

Цель курса

Освоить удобный и современный подход к разработке на Node и TypeScript, создать учебный проект с простой и грамотной архитектурой на основе экосистемы Fastify.

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

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

10 марта, 20:00 — урок 1

  • NodeJS и TypeScript
  • Ограничения native TypeScript в Node
  • Настройка рабочего окружения
  • Начало работы с Fastify
  • Базовые настройки и простой роутинг
  • Обзор популярных плагинов

13 марта, 20:00 — урок 2

  • Знакомство с Ajv-валидатором
  • Настройка Ajv под новшества OpenApi
  • Различия OpenApi и JsonSchema
  • Версии JsonSchema и совместимость с OpenApi
  • Вывод typescript типов из JsonSchema
  • Fastify и TypeProvider

17 марта, 20:00 — урок 3

  • Погружение в Fastify
  • Middleware, hooks и обработка ошибок
  • Основы валидации и сериализации
  • Подключение Swagger и Swagger UI
  • Примеры создания своих плагинов
  • Практика в рамках простой архитектуры

20 марта, 20:00 — урок 4

  • Начало работа с БД
  • Mysql vs Sqlite
  • Выбор ORM в зависимости от проекта
  • Начало работы Drizzle ORM
  • ORM как Query Builder
  • Стопроцентная типизация запросов

24 марта, 20:00 — урок 5

  • Углубление в Drizzle ORM
  • Работы с Drizzle Kit
  • Схемы и миграции
  • Изучение типичных запросов
  • Связи между сущностями
  • Работа с транзакциями

27 марта, 20:00 — урок 6

  • Создание архитектурной обёртки
  • Идеи и реализация сервисного слоя
  • Fastify и dependency injection
  • Простой DI глобальных сервисов
  • Идеи DI в request scope
  • AsyncLocalStorage и fastify-request-context

31 марта, 20:00 — урок 7

  • Тренировка в рамках получившегося стека
  • Кастомизация ошибок валидации
  • Асинхронная валидация: unique, exists и т.п.
  • Пользователи и авторизация
  • Access и Refresh токены

3 апреля, 20:00 — урок 8

  • Философия подхода documentation first
  • Знакомство с TypeSpec
  • Генерация и переиспользование JSON-схем
  • Простое развёртывание на сервера
  • Подведение итогов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обзор курса

Внимание! Для прохождения данного курса пригодятся базовые знания в node и typescript.

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

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

Помимо идей и программы курса в нём подробно рассматриваются преимущества выбранного стека технологий.

Запись на курс

Скидка на раннюю запись!

21 000 руб. 14 700 руб.

 
Способы оплаты

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

Какие начальные знания необходимы

Понимание основ Node и TypeScript, при этом сложный TS необязателен – жуткие типы изобретать не придётся. Будут полезными и знания основ SQL.

Нужно ли сначала проходить Node Level 1

Желательно. Но если вы ориентируетесь в тех темах, которые прописаны в программе первого уровня, то не обязательно.

Почему выбираем Fastify + Ajv

Это объективно лучший выбор. Для обучения уж точно. Docs first, валидация и сериализация на основе единого источника истины – это очень концептуально и удобно. Если не верите, посмотрите дополнительный ролик.

Почему выбираем Drizzle ORM

Она настолько же крутая в плане TypeScript, как и Prisma, порой даёт выигрыш в производительности, а главное, не генерирует файл с типами на тысячи строк, которые могут подвесить IDE.

В каком направлении развиваться дальше

Данный курс учит основным темам концептуально правильного создания backend на node. Дальше есть масса путей развития: микросервисы на fastify, монолиты на Nest, либо вообще fullstack на Next.

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

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