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