Автор статей

SLA, SLO и SLI для цифрового сервиса: как связать обещания клиенту с метриками
Илья Новиков
Метрики команды разработки: как использовать DORA и время цикла для улучшения процессов
Илья Новиков
Заказная разработка или готовое ПО: как рассчитать совокупную стоимость владения (TCO) на три года
Илья Новиков
Технический долг: как оценить последствия, перевести риски на язык бизнеса и согласовать бюджет на погашение
Илья Новиков
Монолит, модульный монолит или микросервисы: руководство по выбору архитектуры без хайпа
Илья Новиков
Code review в команде разработки: роли, размер PR и метрики скорости без токсичности
Илья НовиковРезенцент статей

Типизация динамических роутов в Next.js: как правильно работать с асинхронными params в TypeScript

Типизация React Context без undefined: пошаговая реализация паттерна createSafeContext на TypeScript

Типизация Server Actions в Next.js с валидацией через Zod: от схемы до продакшена

Безопасная работа с Children в React и TypeScript: типизация слотов и компиляционная валидация

Conditional Props в TypeScript: как запретить взаимоисключающие пропсы в React-компонентах

ComponentPropsWithoutRef vs ComponentPropsWithRef в React 19: как правильно типизировать пропсы и ref

Строгая типизация Compound Components в React и TypeScript: избавляемся от `as Type`

Типобезопасные обработчики DOM-событий в React: практическое руководство по TypeScript

Type Narrowing и Type Guards в React: руководство по безопасному рендерингу с is, in и asserts

Type-Safe Custom Hooks: как правильно использовать as const и сигнатуры перегрузок в React и TypeScript

Discriminated Unions в React State: устранение невалидных состояний
