lemon1964

с 18.03.2026

В 57 начал программировать с нуля. В 61 ищу свой спокойный рабочий формат в IT. https://lemon1964.github.io/portfolio/

0 подписчиков
0 подписок
Next.js, possibly undefined и guard-логика

Одна из самых практичных ошибок TypeScript в Next.js это possibly undefined. На неё легко смотреть как на помеху, но в рабочем проекте она обычно указывает на более полезную вещь. Где-то в коде есть значение, которое ещё не прошло нормальную границу проверки, а логика уже пытается обращаться с ним как с надёжным.

Next.js, общий тип Id и union-состояния

Одна из типовых проблем в Next.js с TypeScript - данные вроде типизированы, но архитектура от этого надёжнее не становится. Причина в том, что типы ставятся локально, а не на границах системы.

Когда в Next.js нужен Link, а когда router.push

Когда в Next.js нужен Link, а когда router.push. В App Router это не спор двух инструментов, а обычная архитектурная развилка.

searchParams в App Router

searchParams в Next.js App Router удобны не сами по себе. Их сила в другом, они позволяют сделать URL источником правды для страницы. Это особенно хорошо видно на поиске и фильтрах. В React SPA здесь часто появляются useState, useEffect, ручная синхронизация с URL и странное поведение Back/Forward. В App Router можно идти проще: читать searchParams…

Неделю назад писал здесь, что для MVP часто достаточно одной сильной метрики вместо тяжёлой аналитики. Вынес этот подход в отдельную статью на Хабре: https://habr.com/ru/articles/1013258/

Простая метрика без Яндекс и Google - техническая реализация.

Когда делаешь небольшие MVP, очень легко переусложнить проект раньше времени. Особенно в аналитике.

Можно сразу подключить Яндекс.Метрику, Google Analytics, навесить события, построить воронки, завести отдельную БД под метрики, и в какой-то момент обнаружить, что на инфраструктуру проверки идеи уходит больше сил, чем на саму идею.

В 57 лет я начал изучать программирование с нуля. Просто выбрал то, чем действительно хотел заниматься, когда бесчисленные «надо» отошли на задний план.

Сейчас мне 61. За эти 4 года появились линейка собственных MVP-продуктов на Next.js и Django и 5 авторских курсов на Stepik. Собрал всё здесь:
https://lemon1964.github.io/portfolio/