Как я доставал больничные из PostgreSQL, не имея PostgreSQL
История одного воскресенья: три дампа, три кластера, разбор бинарных страниц PostgreSQL без единого работающего сервера - и 729 электронных больничных, вернувшихся на место.
История одного воскресенья: три дампа, три кластера, разбор бинарных страниц PostgreSQL без единого работающего сервера - и 729 электронных больничных, вернувшихся на место.
Онлайн-касса РИТЕЙЛ-01ФМ подключена к Raspberry Pi по USB. Задача звучала как пятиминутная: печатать на ней что угодно. На деле пришлось разобрать протокол ШТРИХ-М и вылечить аппаратную ошибку.
Что ломается при переходе на NetBox 4.5, почему тип кастомного поля нельзя сменить ни через интерфейс, ни через API, и как аккуратно мигрировать значения в jsonb.
Разбор двух поломок iRedAPD 4.3 на Debian 12 — отсутствующий web.py и удалённый диалект SQLAlchemy — и рассуждение о том, почему тихие отказы опаснее громких.
Задача: перенести десятки корпоративных ящиков с VK WorkSpace на собственный почтовик, не потеряв ни письма. Готовые решения не подошли — написал свой скрипт на Python.