[Stepik] TypeScript для современной разработки (Михаил Непомнящий)
Добро пожаловать на курс по одной из самых востребованных компетенций современной разработки - язык TypeScript.
Узнайте что такое TypeScript, как он дополняет возможности языка JavaSctipt и как его использовать. Узнайте как TypeScript помогает современным разработчикам делать кодовую базу более надежной и понятной и избежать большого количества багов и ошибок.
Данный курс познакомит Вас с азами строгой типизации, разовьет базовые концепции до более сложных и продвинутых. Наконец, мы сделаем 3 проекта, чтобы закрепить пройденный материал и сделать акцент на том, что действительно важно.
Всего за несколько лет TypeScript прошел путь от новичка на рынке языков программирования до любимца многих разработчиков. Во многих рейтингах язык занимает ведущие позиции, стабильно входя в Топ-5 популярных языков.
Курс покрывает все необходимые навыки по синтаксису языка, его фичам и концепциям, которые необходимы для повседневной разработки. Разберитесь с миром строгой типизации и начните использовать его в свих проектах!
Чему вы научитесь
- Основы TypeScript
- Современные практики TypeScript
- TypeScript для React приложений
- TypeScript для React-Redux приложений
Что включено в курс
- Понятие типа и как им пользоваться
- Интерфейсы и алиасы типов
- Массивы и кортежи (tuple)
- Union и enum
- Дженерики (универсальные типы)
- Уточнение типов и защитники типов
- Встроенные утилиты TypeScript
- Маппинг типов и шаблонные литералы
- Типизация React и Redux приложений
- 3 проекта на TypeScript
Почему это именно тот курс, который даст результат?
Меня зовут Михаил Непомнящий и я профессиональный веб-разработчик. Я работаю с TypeScript каждый день и решаю с его помощью задачи самого разного уровня сложности.
При этом я также профессиональный преподаватель и обучаю людей веб-разработке с 2016 года. В своих курсах я стараюсь подавать материал максимально доступно - от простого к сложному и без воды.
Помню как самому трудно было поначалу пробираться через дебри TypeScript, когда только начинал изучать его. Я его буквально ненавидел первые месяцы, равно как и мои коллеги. Главным чувством при работе с ним была боль. В этом же курсе я постарался сделать подачу максимально понятной, чтобы ваше знакомство с миром строгой типизации было более приятным.
В рамках курса мы сделаем 3 проекта, сосредоточившись именно на написании TypeScript типов (базовая логика приложений и стили уже подготовлены). Таким образом, на практике мы будем последовательно закреплять те навыки и умения, которые были изучены.
Для кого этот курс
- Начинающие и junior разработчики
- Middle-разработчики, ранее не работавшие с TypeScript
Начальные требования
- HTML, CSS
- Фундаментальное владение jаvascript
- Базовое знание React (желательно, но необязательно)
Наши преподаватели
Михаил Непомнящий
Software Engineer и преподаватель IT-дисциплин.
Всем привет! Я - веб-разработчик и с удовольствием делюсь знаниями с другими. Через YouTube и через видео курсы. По образованию - прикладной информатик. По роду деятельности - 10 лет в журналистике, в самых разных ролях, в том числе теле-корреспондента, редактора…
Как проходит обучение
Курс проходит в формате записанных небольших видео уроков (в среднем 7-10 минут).
- Упражнения по написанию кода - практикуйте самостоятельно, чтобы закреплять навыки. Всегда есть возможность посмотреть готовый ответ, плюс отдельное видео с его разбором.
- Материалы для скачивания к самым сложным блокам курса. Скачивайте код и используйте для самопроверки!
- Ответы на вопросы - спрашивайте сами и читайте ответы на вопросы других пользователей к урокам. Прокачивайте свои навыки!
Программа курса
Введение
01 Приветствие
02 Что такое TypeScript и зачем нужен
03 Альтернативы TypeScript
04 Пререквизит к курсу
05 Настройка окружения
06 Как построен курс
Базовая типизация
01 О модуле
02 Примитивные типы
03 Базовая типизация функций
04 Базовая типизация объектов
05 Объекты как параметры функции
06 Типизация массивов
07 Кортежи
08 Алиасы
09 Union типы
10 Enum
11 Итоги модуля
Продвинутая типизация
01 О модуле
02 Подробнее об интерфейсах
03 Подробнее об алиасах
04 Type vs Interface
05 Сужение типов
06 Type Guards
07 Asserts
08 Типизация this
09 Перегрузка функций
10 Рекурсивные типы
11 Оператор !
12 Итоги модуля
Дженерики
01 О модуле
02 Актуальность дженериков
03 Базовые примеры
04 Добавление требований
05 Оператор keyof
06 Сужение допустимых значений типа
07 Значения по умолчанию
08 Области видимости типов дженерика
09 Итоги модуля
Комбирирование типов
01 О модуле
02 Оператор typeof
03 Conditional type
04 Еще раз про extends
05 Оператор infer
06 Маппинг типов
07 Утилиты Extract, Exclude, NonNullable
08 Утилиты Record, Pick, Omit
09 Утилиты ReadOnly, Required, Partial
10 Утилиты Parameters, CounstructorParameters
11 Доступ по индексу
12 Шаблонные литералы
13 Итоги модуля
Проект 1. Vanilla JS -> TypeScript
01 Обзор проекта
02 Постановка задачи
03 Создание ts-проекта
04 Создание интерфейсов
05 Добавление type guards
06 Типы асинхронных функций
07 Итоги модуля
Классы
01 О модуле
02 Интерфейс для класса
03 Модификаторы доступа
04 Нюансы конструктора
05 Абстрактные классы
06 Геттеры и сеттеры
07 Статические свойства и методы
08 Итоги модуля
Настройки компилятора
01 О модуле
02 Составные части конфига
03 Базовые настройки
04 Опции компилятора
05 Дополнительные опции
06 Тюнинг строгости
07 Дополнительный линтинг
08 Рекомендованные конфиги
09 Итоги модуля
Проект на React+TS
01 Обзор проекта
02 Окружение для проекта
03 Создание типов сущностей
04 Шапка приложения
05 Компонент поиска
06 Альтернативный вариант формы
07 Компонент статистики
08 Шапка карточки
09 Инфо компонент
10 Получение данных
11 Итоги модуля
Проект React+Redux+TS
01 Обзор проекта
02 Окружение для проекта
03 Базовые типы приложения
04 UI компоненты
05 Типизация переключателя темы
06 Типизация списка стран
07 Типизация детальной страницы
08 Типизация контролей
09 Итоги проекта
Итоги курса
01 Что дальше
Содержание складчины
01 Введение
1.1 Приветствие.mp4 [7m 127k 8]
1.2 Что такое TypeScript и зачем нужен.mp4 [23m 826k 635]
1.3 Альтернативы TypeScript.mp4 [11m 810k 784]
1.4 Пререквизит к курсу.mp4 [20m 676k 65]
1.5 Настройка окружениЯ.mp4 [11m 396k 474]
1.6 Как построен курс.mp4 [15m 300k 426]
02 Базовая типизация
2.01 О модуле.mp4 [9m 901k 149]
2.02 Примитивные типы.mp4 [27m 914k 828]
2.03.1 Базовая типизация функций.mp4 [36m 48k 166]
2.03.2 Базовая типизация функций.mp4 [2m 281k 235]
2.03.3 Базовая типизация функций.txt [349]
2.03.4 Базовая типизация функций.mp4 [4m 716k 206]
2.04 Базовая типизация объектов.mp4 [20m 737k 554]
2.05.1 Объекты как параметры функции.mp4 [20m 363k 344]
2.05.2 Объекты как параметры функции.mp4 [3m 262k 105]
2.05.3 Объекты как параметры функции.txt [564]
2.05.4 Объекты как параметры функции.mp4 [24m 480k 781]
2.06 Типизация массивов.mp4 [23m 265k 770]
2.07 Кортежи.mp4 [16m 686k 455]
2.08 Алиасы.mp4 [9m 720k 742]
2.09.1 Union типы.mp4 [24m 985k 734]
2.09.2 Union типы.mp4 [1m 978k 61]
2.09.3 Union типы.txt [740]
2.09.4 Union типы.mp4 [9m 328k 943]
2.10 Enum.mp4 [41m 258k 514]
2.11 Итоги модуля.mp4 [10m 920k 502]
ts-basics.zip [9k 175]
Отзывы
(Читать все отзывы ->)