Рано или поздно любой модульный проект на PHP обрастает десятками настроек и превращается в минное поле из «магических строк» или гигантских классов-помоек с сотнями констант. В эт…
Cursor под капотом: куда пропал Reindex, как устроен Instant Grep и работа с AI-скиллами
Разработчики, открывающие настройки свежих версий Cursor в поисках кнопки «Resync» или статуса переиндексации проекта, обнаруживают, что привычных тумблеров больше нет ни в меню ID…
Cursor под капотом: изоляция чатов, ловушки кастомных моделей и удаление соавтора из Git
При ежедневной разработке в Cursor с использованием чатов и фоновых агентов разработчик неизбежно упирается в неочевидную механику самого редактора: контекст переполняется старыми…
Pest 5: разбираем breaking changes, параллельные кэши и почему старые костыли отправляются в архив
При запуске параллельных тестов и проверки покрытия типов в крупных PHP-проектах на связке Pest + PHPStan разработчики часто сталкиваются со странными падениями. Самый яркий пример…
Подписка Google One AI: экосистема Gemini, квоты Antigravity, бенчмарки и региональная доступность
Технический разбор подписки Google AI Pro ($19.99): разница с Google AI Studio, модели Gemini, поведение лимитов, расход квот в Antigravity и сравнение с Claude Pro и ChatGPT Plus.
Баг в пайплайне: почему постоянный PR dev → main удваивает запуски GitHub Actions и как это исправить
Разбираем частый баг GitHub Actions: почему постоянный PR dev → main при каждом пуше запускает два одинаковых воркфлоу параллельно, почему не спасает стандартный concurrency и как…
Gitea как замена GitHub: почему для пет-проектов и коммерческой разработки я выбрал свой Git-сервер
Честный опыт переезда на Gitea с раннером act_runner: почему бесплатные минуты GitHub Actions мгновенно сгорают в эпоху AI-агентов, чем не подошел монструозный GitLab и как разверн…
Мемоизированный тегированный кэш в Laravel: разбираем Cache::memo()->tags()
Разбираем поддержку Cache::memo()->tags(), добавленную в Laravel 13.33: как работает мемоизация тегированного кэша в памяти запроса, почему раньше приходилось городить array-хранил…