Никогда не правьте код прямо на боевом сервере. Я это правило нарушил: решил по-быстрому изменить пару строк по VS Code и расширением SSH FS. Итог — обрыв связи, редактор сохраняет пустоту, и мой файл на 4400 строк сложнейшей логики весить 0 байт. Бэкапа нет. Месяц работы просто испарился. Чего только не передумал, как восстановить: были наброски, куски в чатах ИИ, но всё равно это не вариант, и пришлось бы выполнять большую часть заново. Что спасло ситуацию? Я не успел рестартануть сервис! Демон Uvicorn всё ещё крутился в памяти сервера. А значит, Python где-то держал этот код. Я полез в скрытую папку pycache и нашел там скомпилированный байт-код: main_pars_url.cpython-310.pyc. Скрипт был жив! Далее дела техники. Начиная с Python 3.10 старые декомпиляторы не работают. Пришлось скормить файл онлайн-декомпилятору, который выплюнул жуткого «Франкенштейна»: поехавшие отступы, сломанные elif и убитый синтаксис. Запустить это было нереально. Ну тут два варианта: или править самому, или с
История о том, почему золотые правила безопасности пишутся кровью и седыми волосами
7 апреля7 апр
1 мин