Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай TypeScript с нуля - от основ до advanced уровня, а также все другие курсы, прямо сейчас!
Премиум
  1. Урок 1. 00:07:02
    Краткий обзор TypeScript
  2. Урок 2. 00:08:34
    Установка среды разработки
  3. Урок 3. 00:05:30
    Первое приложение
  4. Урок 4. 00:06:39
    Запуск TypeScript кода
  5. Урок 5. 00:03:24
    Небольшое изменение кода
  6. Урок 6. 00:08:26
    Выявление ошибок при помощи TypeScript
  7. Урок 7. 00:05:06
    Выявляем ещё больше ошибок!
  8. Урок 8. 00:04:07
    Краткий обзор курса
  9. Урок 9. 00:06:59
    Типы
  10. Урок 10. 00:07:42
    Больше о типах
  11. Урок 11. 00:05:26
    Примеры типов
  12. Урок 12. 00:01:14
    Где используются типы
  13. Урок 13. 00:02:43
    Аннотации Типов и Вывод Типов
  14. Урок 14. 00:06:41
    Аннотации для переменных
  15. Урок 15. 00:09:35
    Аннотации для объектных литералов
  16. Урок 16. 00:07:40
    Аннотации для функций
  17. Урок 17. 00:05:08
    Что такое вывод типов?
  18. Урок 18. 00:09:43
    Тип 'any'
  19. Урок 19. 00:03:00
    Исправление типа 'any'
  20. Урок 20. 00:04:12
    Отложенная инициализация
  21. Урок 21. 00:06:42
    Когда вывод типов не работает
  22. Урок 22. 00:06:24
    Больше об аннотациях для функций
  23. Урок 23. 00:08:42
    Вывод типов для функций
  24. Урок 24. 00:02:14
    Аннотации для разных видов функций
  25. Урок 25. 00:04:13
    Void & Never
  26. Урок 26. 00:04:57
    Деструктуризация
  27. Урок 27. 00:06:57
    Аннотации для объектов
  28. Урок 28. 00:06:42
    Массивы в TypeScript
  29. Урок 29. 00:05:38
    Для чего нужны массивы в TypeScript?
  30. Урок 30. 00:03:55
    Массивы со значениями разных типов
  31. Урок 31. 00:01:23
    Когда использовать типизированные массивы?
  32. Урок 32. 00:05:13
    Tuples в TypeScript
  33. Урок 33. 00:07:07
    Tuples в действии
  34. Урок 34. 00:04:34
    Для чего нужны?
  35. Урок 35. 00:02:06
    Интерфейсы
  36. Урок 36. 00:05:23
    Длинные аннотации типов
  37. Урок 37. 00:06:41
    Исправление длинных аннотаций при помощи интерфейсов
  38. Урок 38. 00:04:21
    Синтаксис интерфейсов
  39. Урок 39. 00:05:46
    Функции в интерфейсах
  40. Урок 40. 00:05:19
    Повторное использование кода при помощи интерфейсов
  41. Урок 41. 00:05:18
    План по интерфейсам
  42. Урок 42. 00:04:51
    Классы
  43. Урок 43. 00:04:46
    Основы наследования
  44. Урок 44. 00:10:16
    Модификаторы методов объекта
  45. Урок 45. 00:08:43
    Поля в классах
  46. Урок 46. 00:05:44
    Поля и наследование
  47. Урок 47. 00:01:49
    Где используются классы
  48. Урок 48. 00:04:09
    Краткий обзор приложения
  49. Урок 49. 00:05:49
    Запуск приложения с помощью Parcel
  50. Урок 50. 00:04:38
    Структура проекта
  51. Урок 51. 00:07:33
    Генерация случайных данных
  52. Урок 52. 00:07:09
    Файлы определения типов
  53. Урок 53. 00:07:29
    Использование файлов определения типов
  54. Урок 54. 00:08:05
    Экспорт в TypeScript
  55. Урок 55. 00:06:01
    Создание класса Company
  56. Урок 56. 00:07:58
    Добавление поддержки Google Maps
  57. Урок 57. 00:04:59
    Интеграция Google Maps
  58. Урок 58. 00:12:45
    Исследование файлов определения типов
  59. Урок 59. 00:06:25
    Скрытая функциональность
  60. Урок 60. 00:10:37
    Зачем использовать модификаторы private?
  61. Урок 61. 00:12:00
    Добавление маркеров
  62. Урок 62. 00:03:17
    Дублирование кода
  63. Урок 63. 00:09:43
    Одно из возможных решений
  64. Урок 64. 00:09:15
    Ограничение доступа при помощи интерфейсов
  65. Урок 65. 00:05:19
    Неявная проверка типов
  66. Урок 66. 00:08:34
    Показ всплывающих окон
  67. Урок 67. 00:09:55
    Обновление определения интерфейса
  68. Урок 68. 00:08:45
    Добавляем ключевое слово implements
  69. Урок 69. 00:12:35
    Подводим итоги
  70. Урок 70. 00:02:34
    Краткий обзор приложения
  71. Урок 71. 00:10:38
    Конфигурация TypeScript компилятора
  72. Урок 72. 00:07:12
    Одновременные компиляция и запуск кода
  73. Урок 73. 00:07:16
    Простой сортирующий алгоритм
  74. Урок 74. 00:05:18
    Класс Sorter()
  75. Урок 75. 00:07:19
    Имплементация сортировки
  76. Урок 76. 00:08:43
    Две проблемы
  77. Урок 77. 00:14:19
    TypeScript действительно умён
  78. Урок 78. 00:10:56
    Охрана типов
  79. Урок 79. 00:03:15
    Почему это плохо?
  80. Урок 80. 00:07:14
    Извлечение ключевой логики
  81. Урок 81. 00:17:24
    Разделение сравнения и обмена
  82. Урок 82. 00:06:04
    Формулировка интерфейса
  83. Урок 83. 00:06:25
    Определение интерфейса
  84. Урок 84. 00:11:57
    Сортировка строк
  85. Урок 85. 00:24:29
    Имплементация LinkedList
  86. Урок 86. 00:05:23
    Интеграция метода sort()
  87. Урок 87. 00:07:59
    Проблемы с наследованием
  88. Урок 88. 00:07:57
    Абстрактные классы
  89. Урок 89. 00:06:02
    Зачем использовать абстрактные классы?
  90. Урок 90. 00:04:03
    Решение всех проблем при помощи абстрактных классов
  91. Урок 91. 00:03:59
    Интерфейсы vs Абстрактные Классы
  92. Урок 92. 00:02:50
    Краткий обзор проекта
  93. Урок 93. 00:07:37
    Настройка структуры проекта
  94. Урок 94. 00:08:19
    Снова о файлах определения типов
  95. Урок 95. 00:07:10
    Чтение CSV файлов
  96. Урок 96. 00:06:54
    Анализ данных
  97. Урок 97. 00:06:33
    Потеря контекста множества данных
  98. Урок 98. 00:09:10
    Использование Enums
  99. Урок 99. 00:08:58
    Когда использовать Enums
  100. Урок 100. 00:11:49
    Извлечение логики чтения CSV данных
  101. Урок 101. 00:03:59
    Типы данных
  102. Урок 102. 00:07:42
    Преобразование строковых дат в объекты класса Date
  103. Урок 103. 00:05:12
    Преобразование значений в строке данных
  104. Урок 104. 00:05:14
    Type Assertions
  105. Урок 105. 00:08:21
    Описание строки с помощью Tuple
  106. Урок 106. 00:04:59
    FileReader ещё не закончен!
  107. Урок 107. 00:06:15
    Понимание Рефакторинга №1
  108. Урок 108. 00:04:34
    Создание абстрактного класса
  109. Урок 109. 00:11:30
    Типы переменных и Generics
  110. Урок 110. 00:04:07
    Применение типа к Generic классу
  111. Урок 111. 00:06:13
    Альтернативный рефакторинг
  112. Урок 112. 00:02:28
    Подход на основе интерфейсов
  113. Урок 113. 00:03:42
    Снова извлекаем ссылки на Match
  114. Урок 114. 00:03:57
    Трансформация данных
  115. Урок 115. 00:05:40
    Обновление ссылок Reader
  116. Урок 116. 00:05:43
    Наследование vs Композиция
  117. Урок 117. 00:09:09
    Больше о Inheritance vs Composition
  118. Урок 118. 00:15:49
    Очень частое недопонимание концепции композиции
  119. Урок 119. 00:07:21
    Двигаемся дальше
  120. Урок 120. 00:06:24
    Подход на основе композиции
  121. Урок 121. 00:08:37
    Имплементация класса Analyzer
  122. Урок 122. 00:06:35
    Создание Reporter
  123. Урок 123. 00:03:22
    Связываем всё вместе
  124. Урок 124. 00:04:50
    Генерация HTML отчёта
  125. Урок 125. 00:09:38
    Статические методы
  126. Урок 126. 00:04:52
    Подводим итоги
  127. Урок 127. 00:06:54
    Больше о Generics
  128. Урок 128. 00:03:59
    Type Inference и Generics
  129. Урок 129. 00:08:31
    Функции и Generics
  130. Урок 130. 00:09:16
    Generic Constraints
  131. Урок 131. 00:08:35
    TypeScript & JS библиотеки
  132. Урок 132. 00:05:13
    Обзор приложения
  133. Урок 133. 00:05:54
    Настройка структуры проекта
  134. Урок 134. 00:09:38
    Создаём в Express Root Route
  135. Урок 135. 00:06:09
    Использование Express Router
  136. Урок 136. 00:09:23
    Парсинг тела формы
  137. Урок 137. 00:20:32
    Почему Express работает не так просто с TS?
  138. Урок 138. 00:15:48
    Проблемы с файлами определения типов
  139. Урок 139. 00:09:11
    Решение проблемы с файлами определения типов
  140. Урок 140. 00:13:13
    Создание session
  141. Урок 141. 00:07:52
    login & logout
  142. Урок 142. 00:06:47
    Route Protected
  143. Урок 143. 00:08:27
    Более тесная интеграция TS & Express
  144. Урок 144. 00:04:17
    Рефакторинг
  145. Урок 145. 00:14:31
    Classes & Prototypes
  146. Урок 146. 00:09:36
    Декораторы в TypeScript
  147. Урок 147. 00:12:00
    Подробнее о декораторах
  148. Урок 148. 00:08:28
    Property Descriptor
  149. Урок 149. 00:03:42
    Обертывание методов
  150. Урок 150. 00:05:16
    Decorator Factory (Фабрика декораторов)
  151. Урок 151. 00:03:34
    Декораторы и свойства
  152. Урок 152. 00:08:03
    Больше о декораторах
  153. Урок 153. 00:02:06
    Важная заметка
  154. Урок 154. 00:10:26
    Обзор проекта
  155. Урок 155. 00:09:59
    Почему это трудно?
  156. Урок 156. 00:07:32
    Обзор решения
  157. Урок 157. 00:13:03
    Основы metadata
  158. Урок 158. 00:18:03
    Практический пример с metadata
  159. Урок 159. 00:06:40
    Начинаем рефакторинг
  160. Урок 160. 00:05:35
    Декоратор Get
  161. Урок 161. 00:05:56
    Декоратор Controller
  162. Урок 162. 00:07:10
    Доказательство концепции
  163. Урок 163. 00:11:47
    Несколько исправлений
  164. Урок 164. 00:07:42
    Определение routeBinder()
  165. Урок 165. 00:10:10
    Enum Methods
  166. Урок 166. 00:06:17
    Enum MetadataKeys
  167. Урок 167. 00:11:02
    Декоратор Use
  168. Урок 168. 00:04:20
    Тестирование Use
  169. Урок 169. 00:11:08
    bodyValidators()
  170. Урок 170. 00:07:42
    Тестирование автоматизированной валидации
  171. Урок 171. 00:08:21
    RootController
  172. Урок 172. 00:07:50
    Использование PropertyDescriptor
  173. Урок 173. 00:03:01
    Итоги проекта
  174. Урок 174. 00:09:06
    Обзор React и Redux
  175. Урок 175. 00:02:56
    Обзор приложения
  176. Урок 176. 00:02:53
    Создаём приложение
  177. Урок 177. 00:06:00
    Простой компонент
  178. Урок 178. 00:05:20
    Interfaces & Props
  179. Урок 179. 00:03:40
    Обработка Component State
  180. Урок 180. 00:16:46
    Непонятное состояние компонента
  181. Урок 181. 00:04:03
    Функциональные компоненты
  182. Урок 182. 00:10:00
    Установка Redux
  183. Урок 183. 00:09:13
    Action Creators & TypeScript
  184. Урок 184. 00:06:35
    ActionTypes Enum
  185. Урок 185. 00:07:07
    Generic функция dispatch()
  186. Урок 186. 00:08:35
    Reducer & Enums
  187. Урок 187. 00:07:11
    Валидация структуры Redux Store
  188. Урок 188. 00:08:04
    Подсоединение компонента к Redux
  189. Урок 189. 00:06:58
    Отображение списка
  190. Урок 190. 00:08:25
    Добавление функциональности удаления
  191. Урок 191. 00:05:43
    Выражение Actions при помощи Type Union
  192. Урок 192. 00:04:03
    Type Guard в Reducers
  193. Урок 193. 00:03:44
    Связывание deleteTodo Action
  194. Урок 194. 00:05:12
    Снова о файлах определения типов
  195. Урок 195. 00:06:21
    Отслеживание загрузки при помощи Component State
  196. Урок 196. 00:06:16
    Итоги проекта