О курсе

Курс состоит из пяти блоков видео, четырёх блоков домашних заданий и четырёх практических занятий. Видеоблоки открываются 8, 15 и 22 декабря, затем после новогодних каникул — 5 и 12 января. Созвоны запланированы на 11:00 по Украине 13, 20, 27 декабря, а также 10 и 17 января. В тарифе «Продвинутый» заявлен доступ ко всем теоретическим материалам и записям звонков, а также четыре звонка длительностью более двух часов с разбором практических нюансов и возможностью задать вопросы.

Первый теоретический блок посвящён основам: зачем нужен TypeScript, что такое тип, иерархия типов, понятия «широкий/узкий», тип any, ко- и контр-вариантность и её связь с SOLID, особенности типов в TypeScript, основы вывода типов и type refinement.

Второй блок рассматривает слабости TypeScript: источники пробелов в типизации, «тёмные углы» вывода типов, невыразимые типы, проблемы перетипизации и откладывание типизации.

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

Четвёртый блок охватывает инструменты обеспечения надёжности: приёмы type-level programming, типы Result, Either, Option, Maybe, branded types, runtime-типы как источник истины на примере ArkType и генерацию типов.

Пятый блок посвящён типобезопасному коду: проблема Promise<T>, отсутствие checked exceptions, идея «эффектов» по аналогии со Scala, основы функционального программирования, а также компромиссы и доверие в командах, отражённые в системе типов.

Что рассматривается в программе

  • Рассматриваются основы системы типов TypeScript: иерархия, широкие и узкие типы, any
  • Разбираются ко- и контр-вариантность и их связь с SOLID
  • Изучается вывод типов и type refinement
  • Анализируются слабости типизации, невыразимые типы и перетипизация
  • Рассматриваются типы как документация и контракты, границы доверия и типизация ошибок
  • Разбираются приёмы type-level programming и типы Result, Either, Option, Maybe
  • Обсуждаются branded types, runtime-типы (ArkType) и генерация типов
  • Затрагиваются Promise<T>, checked exceptions, идея эффектов и основы функционального программирования

Кому может быть полезен курс

  • Разработчикам, которые интересуются углублённым изучением TypeScript и его системы типов
  • Специалистам, которым нужно ознакомиться с архитектурными подходами к типизации
  • Тем, кто хочет разобраться в инструментах повышения надёжности кода на TypeScript
  • Разработчикам, работающим с рефакторингом и поддержкой типизированных проектов

Вопросы о программе

Из каких элементов состоит курс?

Курс включает пять блоков видео, четыре блока домашних заданий и четыре практических занятия. Видеоблоки открываются 8, 15 и 22 декабря, затем 5 и 12 января. Созвоны запланированы на 13, 20, 27 декабря и 10, 17 января в 11:00 по Украине.

Какие темы рассматриваются в теоретических блоках?

В программе рассматриваются основы системы типов TypeScript, слабости типизации, архитектура и типы, инструменты обеспечения надёжности, а также типобезопасный код, включая Promise<T>, checked exceptions, идею эффектов и основы функционального программирования.

Что входит в тариф «Продвинутый»?

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