Этот курс создан для разработчиков, которые хотят вывести качество своего TypeScript-кода на новый уровень — от простого использования типизации ради автодополнения до построения надежных архитектур, устойчивых к ошибкам коллег, ИИ-инструментов и собственных рефакторингов.
Автор курса много лет критиковал TypeScript, однако эволюция языка, появление целостной экосистемы вокруг него и стремительный рост роли искусственного интеллекта в разработке изменили ситуацию. Сегодня TypeScript — обязательный инструмент для проектов, ориентированных на надежность, масштабируемость и предсказуемый код.
Вы узнаете, почему современный TypeScript стал значительно лучше: как новые возможности вроде satisfies, улучшенный вывод типов и инструменты экосистемы позволяют писать код, который сложно сломать и легко поддерживать.
Результаты обучения
После завершения курса вы сможете:
Писать код, который не требует постоянного ручного запуска для проверки корректности.
Создавать системы, устойчивые к ошибкам команды, инструментов и ИИ, и в которые вы сами сможете безопасно возвращаться через полгода.
Рефакторить без страха. Всегда.
Использовать систему типов как инструмент проектирования и контроля надежности, а не просто как декларацию данных.
Блок 1. Теория без занудства
Зачем современному разработчику TypeScript.
Понятие типа: иерархии, широкие и узкие типы, роль any.
Ко- и контрвариантность, связь с принципами SOLID.
Особенности системы типов TypeScript.
Основы вывода типов и механизмы type refinement.
Блок 2. Слабости TypeScript
Источники типовых “дыр”.
Проблемные зоны вывода типов.
Невыразимые типы: как распознать и что с ними делать.
Болезни “перетипизации” и почему “потом стипизирую” — путь к дефектам.
Блок 3. Архитектура и типы
Типы как документация и контракты.
Сколько типов нужно в проекте.
Границы доверия и моделирование рисков через типизацию.
Типизация ошибок как обязательный элемент архитектуры.
Основы алгебры типов.
Типобезопасность как архитектурный принцип.
Блок 4. Инструменты обеспечения надежности
Приемы type-level programming.
Result / Either / Option / Maybe и другие конструкты.
Branded types и их роль в предотвращении классов ошибок.
Runtime-типы как единственный источник истины: ArkType и альтернативы.
Генерация типов из внешних источников и спецификаций.
Блок 5. Типобезопасный код
Проблематика Promise<T> и типизация асинхронности.
Страдания без checked exceptions: как компенсировать.
Идея эффектов и опыт Scala.
Функциональный подход для практикующих разработчиков.
Компромиссы, доверие в команде и отражение этих принципов в системе типов.
Посмотреть больше
Урок 1.04:19:54
2.1 Практика 1
Урок 2.03:38:43
2.2 Практика 2
Урок 3.04:06:31
2.3 Практика 3
Урок 4.02:48:52
2.4 Практика 4
Урок 5.00:15:54
3.1 Зачем мы вообще берём TypeScript
Урок 6.00:30:11
3.2 Что такое тип Иерархия типов
Урок 7.00:24:00
3.3 Основы вывода типов в TypeScript. Как работает type refinement
Урок 8.00:44:02
3.5 Generics и Overloads
Урок 9.00:26:02
3.6 Совместимость
Урок 10.00:17:54
4.1 Структурная типизация
Урок 11.00:15:43
4.2 Опять про вариантности
Урок 12.00:12:57
4.3 Вариантности раунд 2
Урок 13.00:15:17
4.4 Только для чтения
Урок 14.00:19:11
4.5 Стреляем в ногу правильно
Урок 15.00:16:18
5.1 Какую надёжность мы хотим обеспечить
Урок 16.00:18:16
5.2 Границы доверия
Урок 17.00:19:58
5.3 Сколько нужно типов
Урок 18.00:15:48
5.4 Типы как документация и контракты
Урок 19.00:15:16
5.5 Откуда брать типы
Урок 20.00:15:31
7.1 Почему функциональное программирование
Урок 21.00:15:48
7.2 Railway-oriented programming
Урок 22.00:12:10
7.3 Effect как тип - зачем
Урок 23.00:22:14
7.4 Effect.ts - стандартная библиотека TS
Урок 24.00:12:26
7.5 Как всё это внедрять
Курс в процессе. Новые уроки появляются по мере их выхода на оригинальной площадке.
Illya Klymov — инженер-программист и эксперт в области JavaScript с более чем 15-летним опытом. Ph.D. в области компьютерных наук, Senior Frontend Engineer в GitLab и основатель образовательного проекта JavaScript.Ninja. Специализируется на архитектуре фронтенда, качестве кода и инженерных практиках. Автор обучающих программ и спикер профессиональных конференций.
Проект Ильи Климова - годный ресурс для изучения javascript и js фреймворков. Шаг за шагом мы пройдем все этапы разработки реального проекта, воссозданные детально благодаря записанным видео.
Курс в бесплатном доступе, помним слова автора 👌