Этот курс создан для разработчиков, которые хотят вывести качество своего 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:37:31
6.1 Порождение типов из типов
Урок 21.00:15:27
6.2 Runtime-типы
Урок 22.00:14:28
6.3 Брендирование
Урок 23.00:12:00
6.4 Трагедия Promise
Урок 24.00:17:23
6.5 Either Result и прочие звери
Урок 25.00:15:31
7.1 Почему функциональное программирование
Урок 26.00:15:48
7.2 Railway-oriented programming
Урок 27.00:12:10
7.3 Effect как тип - зачем
Урок 28.00:22:14
7.4 Effect.ts - стандартная библиотека TS
Урок 29.00:12:26
7.5 Как всё это внедрять
Курс в процессе. Новые уроки появляются по мере их выхода на оригинальной площадке.
Illya Klymov — инженер-программист и эксперт в области JavaScript с более чем 15-летним опытом. Ph.D. в области компьютерных наук, Senior Frontend Engineer в GitLab и основатель образовательного проекта JavaScript.Ninja. Специализируется на архитектуре фронтенда, качестве кода и инженерных практиках. Автор обучающих программ и спикер профессиональных конференций.
Проект Ильи Климова - годный ресурс для изучения javascript и js фреймворков. Шаг за шагом мы пройдем все этапы разработки реального проекта, воссозданные детально благодаря записанным видео.
Как же автор плохо подает информацию. То что хорошо для ютуб роликов, для курсов никуда не годится. Ну и офк, автор донатит на зсу, так что спонсировать его чревато проблемами с ук рф. Хорошо, что есть этот сайт)
mill9r
Смотрю 9 лекцию про ковариантность и контрвариантность.
Автор перепутал понятия ковариантность и контрвариантность, там все наоборот. по сути это LSP из SOLID Если LSP кажется сложным, то есть Postel’s law (суть примерно такая же)
mill9r
Какая-то путаница. Мне кажется, что курс должны начинаться с секции 3, а сейчас все начинается с секции 2 (практика)
CourseHunter Team mill9r
Добавлено от автора.
Рекомендованный порядок просмотра:
3. Теория без занудства 4. Странности TypeScript Практика 1 5.Надёжность TypeScript 6.Инструменты надёжности Практика 2 Практика 3 7.Функциональный TypeScript Практика 4
Evgenii190
После 5 блока сразу идет 7, так и задумано? И практики помести под соответственные блоки, спасибо!
CourseHunter Team Evgenii190
Во‑первых, не «помести», а «поместите». Во‑вторых, да, так и задумано — 6-го раздела пока нет. В‑третьих, практика идет в первом блоке, как на сайте автора.
Проявляйте уважение — на пиратском ресурсе приходится вас учить. Спасибо за понимание.
Shichi Fujukin
ой блять :D
haosmos
Здравствуйте!
Пропала первая часть курса - её нет в плеере и в скачанном архиве курса. И там и там курс начинается со второй части.
CourseHunter Team haosmos
Здравствуйте. "первая часть" это организационный модуль, там ничего нет (канал курса, и т.д.).
CourseHunter Team
Update: Модуль 5, Модуль 7, Практика 4
Курс в бесплатном доступе, помним слова автора 👌
CourseHunter Team
Update: 013 Практика 3
Evgenii190
update?
CourseHunter Team Evgenii190
Нет ничего нового еще
CourseHunter Team
Update: Урок 8 - 12 ✔
CourseHunter Team
Update: Практика 1&2. + Материалы
Frontman
Годнота или тоже что и везде, но только с пафосом?
aliaksandr.fed Frontman
ИМХО, годнота. Начал только смотреть с иерархии типов (как минимум, обратил внимание на пару моментов, про которые не задумывался). И да, на собесе на тему тайпскрипта можно явно что-то добавить кроме банальных ответов на тему зачем Тайпскрипт, что дает и т.д.
ПС. курс не для новичков
S1S1 Frontman
Да, пафоса у Ильи с избытком (тут только принять и простить), но работу типов в TS объясняет хорошо
CourseHunter Team Frontman
У автора есть репутация хорошего преподователя. Думаю ОК
Автор перепутал понятия ковариантность и контрвариантность, там все наоборот. по сути это LSP из SOLID
Если LSP кажется сложным, то есть Postel’s law (суть примерно такая же)
Рекомендованный порядок просмотра:
3. Теория без занудства
4. Странности TypeScript
Практика 1
5.Надёжность TypeScript
6.Инструменты надёжности
Практика 2
Практика 3
7.Функциональный TypeScript
Практика 4
Во‑вторых, да, так и задумано — 6-го раздела пока нет.
В‑третьих, практика идет в первом блоке, как на сайте автора.
Проявляйте уважение — на пиратском ресурсе приходится вас учить. Спасибо за понимание.
Пропала первая часть курса - её нет в плеере и в скачанном архиве курса. И там и там курс начинается со второй части.
Курс в бесплатном доступе, помним слова автора 👌
ПС. курс не для новичков