1. Урок 1.04:19:54
    2.1 Практика 1
  2. Урок 2.03:38:43
    2.2 Практика 2
  3. Урок 3.04:06:31
    2.3 Практика 3
  4. Урок 4.02:48:52
    2.4 Практика 4
  5. Урок 5.00:15:54
    3.1 Зачем мы вообще берём TypeScript
  6. Урок 6.00:30:11
    3.2 Что такое тип Иерархия типов
  7. Урок 7.00:24:00
    3.3 Основы вывода типов в TypeScript. Как работает type refinement
  8. Урок 8.00:44:02
    3.5 Generics и Overloads
  9. Урок 9.00:26:02
    3.6 Совместимость
  10. Урок 10.00:17:54
    4.1 Структурная типизация
  11. Урок 11.00:15:43
    4.2 Опять про вариантности
  12. Урок 12.00:12:57
    4.3 Вариантности раунд 2
  13. Урок 13.00:15:17
    4.4 Только для чтения
  14. Урок 14.00:19:11
    4.5 Стреляем в ногу правильно
  15. Урок 15.00:16:18
    5.1 Какую надёжность мы хотим обеспечить
  16. Урок 16.00:18:16
    5.2 Границы доверия
  17. Урок 17.00:19:58
    5.3 Сколько нужно типов
  18. Урок 18.00:15:48
    5.4 Типы как документация и контракты
  19. Урок 19.00:15:16
    5.5 Откуда брать типы
  20. Урок 20.00:15:31
    7.1 Почему функциональное программирование
  21. Урок 21.00:15:48
    7.2 Railway-oriented programming
  22. Урок 22.00:12:10
    7.3 Effect как тип - зачем
  23. Урок 23.00:22:14
    7.4 Effect.ts - стандартная библиотека TS
  24. Урок 24.00:12:26
    7.5 Как всё это внедрять