❌

Normal view

Ваш recover() эту ошибку не поймает

В Go‑сервисе recover() может выглядеть надёжной страховкой, пока конкурентная запись в map не завершает процесс через fatal error: concurrent map writes. При этом часть гонок проходит незаметно и приводит к потере данных без единой ошибки в логах. В статье разбираемся, почему recover() не спасает в таких ситуациях, как обнаружить проблему с помощью -race и какой способ синхронизации выбрать для общей map.

Разобрать проблему

Зоопарк версий под контролем: как я создал enodia — инвентаризацию сервисов с EOL и CVE

Сколько у вас в инфраструктуре версий PostgreSQL? А какие из них уже не поддерживаются? А сколько CVE висит на том nginx, который «работает — не трогай»?

Если вы ответили на все три вопроса без поиска по чатам и вики, дальше можно не читать. А я в какой‑то момент понял, что не могу, и написал для этого инструмент. Под катом история о том, как он появился, на какие грабли я наступил по дороге и почему MySQL однажды заблокировал собственный хост из‑за моего мониторинга.

Читать далее

Перенос сессий между консольными ИИ-агентами без потери контекста

Когда в разгар отладки у консольного ИИ-агента кончается пятичасовой лимит, хочется пересесть на другого агента, у которого ещё есть лимиты. Популярный приём с выгрузкой сводки в файл HANDOFF.md часто подводит: качество пересказа силами самой модели оказывается не очень, теряются детали контекста, и задачу приходится объяснять заново следующему агенту (при этом ещё и тратятся лишние токены). В статье разберём, как забрать живую сессию из локальных логов без потери смысла и одной командой передать эстафету другому агенту или перенести работу вместе с несохранёнными файлами на другой ПК.

Читать далее
❌