evolution
community
КартаПродолжить учитьсяПроекты
Продвинутая типизация

Продвинутая типизация

После этого курса вы перестанете бороться с typescript и научитесь писать типы любой сложности

🤔 О чём курс?

❔ Хочешь сделать переиспользуемый компонент, но кроме any нет идей, как это типизировать?
❔ Опять ошибка в typescript и непонятно, как исправить?
❔ Боишься заходить в типы библиотек, так как там какая-то чёрная магия?


На самом деле, ты не один такой! В современном typescript есть 2 совершенно разных языка:

1. Первый знают все. Он нужен для статической типизации твоих компонентов.
2. А второй нужен для type level программирования. И это целый отдельный мир, о котором знают немногие.

Этот курс - твой проводник в мир дженериков, typelevel программирования и сложной типизации.

🎓 После курса ты сможешь:

✔️ Написать калькулятор и todolist на typescript типах
✔️ Писать типы для кода уровня zod / redux toolkit / react-hook-form
✔️ Понять, как работают типы любой библиотеки
✔️ Понять любую typescript ошибку и легко решить
✔️ Решать задачи уровня hard из
typescript challenge

👇 Что будет в курсе


1️⃣ Погружение в систему типов

Сначала мы изучим основные инструменты type level программирования.

Темы:
— Типы, как множества: union, intersection, never и unknown
— Методы для манипуляции типами. Mapped types, рекурсия, condition types и infer
— Научимся манипулировать типами чисел и строк
— Изучим utility types с примерами их использования
— Напишем свои utility types, которые часто нужны
— Решим множество задач для закрепления знаний
— Напишем калькулятор на typescript типах

2️⃣ Паттерны type level программирования

Здесь мы научимся практическим приёмам, как использовать знания из прошлого раздела для типизации функций.

Темы:
— Вывод типов
— Сужение типов
— Перегрузки
— Builder паттерн
— Virtual field паттерн
— overloads hell паттерн
— any implementation паттерн

3️⃣ Практика

Здесь мы используем знания type level программирования и паттернов для повторения типизации таких библиотек:
— zod
— react-hook-form
— @reduxjs/toolkit
— trpc

📀 Формат курса

1. Весь курс состоит из небольших уроков, которые раскрывают одну тему
✔️К каждому уроку будет небольшое домашнее задание

2. Раз в неделю проходят QA сессии, где я проверяю домашки тех, кто успел их сделать до дедлайна и отвечаю на вопросы
✔️Записи QA сессий будут доступны.

3. Также в начале курса можно выбрать себе один из проектов и делать его в процессе прохождения курса одному или в команде


Начать

Уроки (10)

1. Дженерики и type level программирование
2. Что кому Assignable
3. Операции над типами
4. Кастомные утилити типы
5. Погружение в парсинг строк
6. Математика на typescript типах
7. Zod types
8. Вывод типов | Паттерны вывода типов
9. Типизируем react-hook-form