typescript
Система типов TypeScript вглубь
От структурной типизации до программирования на типах — дженерики, условные и отображённые типы, типизация реальных систем.
Начать трек →С нуля
Что дают типы и два мира: значения и типы.Основы
Типы TypeScript структурны и в основном выводятся.Повседневные типы
Объединения плюс сужение моделируют «одно из, выясни какое».Дженерики
Дженерики — функции над типами с ограничениями и выводом.Система типов вглубь
Условные, отображённые и template-literal типы делают типы программируемыми.Программирование на типах
Рекурсия и дистрибутивность позволяют вычислять на уровне типов — в пределах лимитов.Функции и this
Перегрузки, типизация this, assertion-функции и satisfies.Конфиг, модули и сборка
Строгость tsconfig и разрешение модулей решают, что компилируется.Типы на практике
Типизируй границы: API, валидация, end-to-end с tRPC.Собираем вместе
Собери полностью типизированную фичу от начала до конца.Проекты по этому треку
Guided-проекты, которые закрепляют изученное здесь.
Лаборатория профилирования горячего пути
Возьми заведомо медленный кусок JavaScript и преврати его в управляемый эксперимент. Ты соберёшь микробенчмарк, которому действительно можно верить, отпрофилируешь горячий путь так, чтобы суметь назвать, что именно делает движок, и применишь оптимизации с учётом устройства движка — мономорфизм, устранение мегаморфных точек вызова, сокращение аллокаций — доказывая каждый выигрыш цифрами, а не ощущениями. Это вся дисциплина работы над производительностью в миниатюре: измерь, выдвини гипотезу о движке, измени одну вещь, измерь снова.
JSON-парсер с нуля
Напиши рекурсивно-нисходящий парсер JSON по спецификации — токенизатор, диспетчер значений, обработчик escape-последовательностей, декодер чисел — и наблюдай, как каждый крайний случай RFC 8259 превращается в конкретный путь в коде.
Типобезопасный SDK для API
Собери клиент, которому другие инженеры действительно будут доверять: типизированный SDK поверх настоящего HTTP API, где неправильное поле, пропущенный вариант и ответ, соврамший о своей форме, ловит компилятор — а не падение в проде. Ты смоделируешь домен через размеченные объединения и дженерики, проверишь каждый ответ на границе и дашь выводу типов донести точные типы до места вызова, не оставив ни одного `any`, которым прикрывают дыры.
Основы System Design
Кирпичи больших систем и фреймворк интервью — масштабирование, доступность, распределение данных, кэширование, асинхронность и трейдоффы под нагрузкой.