3 Кормилец доками 4 Направляющий 5 Почти архитектор ~10 мин

Production-аудит: готов ли проект к реальным пользователям

На твоём компе работает. А чужие придут - выживет?

Production-аудит для вайбкодера: чем «работает у меня» отличается от «работает у всех», какие зоны бьют первыми и как заставить ИИ дать вердикт можно/нельзя.

Скиллы ECC в этом уроке: production-audit

Что такое production-аудит простыми словами

Испёк дома один торт. Для себя. Вкусно - ты доволен. А теперь представь: завтра к тебе ввалятся 300 гостей. Каждому подавай кусок, у пятерых аллергия на орехи, трое норовят утащить торт целиком, а один невозмутимо просит чек.

Чувствуешь разницу? «Испёк торт дома» и «накормил 300 человек» - это две разные профессии. Первое - твой проект на ноутбуке. Второе - прод (production): момент, когда им начинают пользоваться чужие, незнакомые и совершенно непредсказуемые люди.

Слева уютная кухня с одним тортиком, справа толпа гостей штурмует стол с тем же тортом
Слева - твой проект на ноутбуке. Справа - прод. Торт, кстати, тот же самый.

Почему «работает у меня» не равно «готово к запуску»

Ты вайбкодер. Собрал штуку, она работает, и руки чешутся показать её миру - выложить, кинуть ссылку друзьям, врубить рекламу. Самый сладкий момент. И самый опасный. Потому что именно тут чаще всего и прилетает:

  • кто-то залогинился под чужим аккаунтом и спокойно листает чужие данные;
  • человек заплатил, а товар не пришёл - или пришёл дважды, и деньги списались дважды;
  • ты выкатил обновление, всё легло, а откатить нечем;
  • форма идеально работает у тебя, а на телефоне до кнопки просто не дотянуться.

Аудит готовности - это не паранойя. Это как осмотреть машину перед дальней дорогой: спущенное колесо приятнее находить на парковке, чем на трассе под ливнем.

Прод прощает куда меньше твоего ноутбука. Хорошая новость: ИИ умеет прогнать проект по чек-листу готовности. Надо только знать, что просить.

Как ИИ проводит аудит готовности к запуску

Грамотный аудит - это не «глянь, всё ли ок». Это строгий порядок проверок, от дешёвых к дорогим. Скилл production-audit идёт ровно так.

Шаг 1. Что вообще выкатываем в прод

Сначала ИИ смотрит, что изменилось и что поедет на боевой сервер: последние правки, текущая ветка, чем эта версия отличается от прошлой. Логика простая - нельзя проверять то, чего не понимаешь.

Шаг 2. Опасные зоны, где всё ломается чаще всего

Дальше агент идёт по «горячим точкам»: вход и доступы, работа с данными, оплата, фоновые задачи, деплой. Это не случайные места. Это те самые стыки, где проекты складываются как карточный домик.

Шаг 3. Короткий вердикт можно или нельзя

Никакого «ну вроде норм». По делу: можно запускать или нет. А если нельзя - что чинить в первую очередь.

Четыре зоны, где чаще всего падает прод

Скилл production-audit смотрит на проект через несколько «линз». Вот четыре главные. Выучи их - это твой личный чек-лист готовности.

Вход и доступ: безопасность пользователей

Самый страшный сон - чужой видит то, что не должен. ИИ проверяет: разделены ли публичные страницы и админка; проверяется ли доступ на сервере, а не по принципу «спрятали кнопку, и сойдёт»; не утекли ли секреты в код, который браузер раздаёт каждому встречному.

Деньги и оплата без двойных списаний

Есть платежи - есть зона повышенного риска. Ключевое слово тут - идемпотентность . Платёжные системы обожают слать одно уведомление по нескольку раз. Не готов к этому - человек заплатит один раз, а получит (или потеряет) дважды.

Данные и путь назад

Главный вопрос: есть ли путь назад? Обновление испортило базу - можно вернуть как было? ИИ проверяет, что изменения базы накатываются чисто и что план отката не на словах, а наготове.

Запуск с нуля на чистом сервере

Звучит банально, а валит проекты с завидной регулярностью. Поднимется ли проект на чистом компьютере строго по инструкции? У тебя-то всё настроено годами и держится на памяти. А новый сервер пустой. И памяти у него нет.

Четыре двери с табличками: вход, деньги, данные, запуск - за одной притаился злоумышленник
Аудит стучится в каждую дверь, через которую может прилететь беда.

Путь отката: главное правило безопасного запуска

Если из всего урока ты унесёшь одну-единственную вещь - пусть будет эта. Никогда не запускай то, что нельзя откатить.

Путь отката - твоя страховка. Любой, кто запускался не раз, твёрдо знает: рано или поздно ты выкатишь обновление, и оно что-нибудь сломает. Вопрос не «если», а «когда». И в этот момент всё решает ровно одно - можешь ли ты быстро вернуть как было.

Готов к людям или ещё нет: чек-лист готовности

Проект готов к людям
  • Доступ проверяется на сервере: чужой не зайдёт под чужим аккаунтом.
  • Секреты спрятаны - их нет ни в коде страницы, ни в логах.
  • Есть путь отката, и он реально проверен, а не «ну должен сработать».
  • Проект стартует с нуля по записанной инструкции, без магии в голове автора.
  • Главные сценарии проверены и на телефоне, а не только на большом экране.
Проект ещё не готов
  • Доступ держится на спрятанной кнопке - её обходят за минуту.
  • Ключи и пароли зашиты прямо в код, видимый любому желающему.
  • Отката нет: сломал - живи с этим.
  • Запуск стоит на честном «ну у меня же работает» - на чистом сервере не стартует.
  • Что-то падает - пользователь видит пустой белый экран без единой подсказки.

Пример из жизни: три пожара за один вечер

Ты сделал сайт по продаже стикерпаков. Всё крутится: товар добавляется, оплата проходит, друзья потестили - красота. Врубаешь рекламу, за вечер приходит 200 человек. И понеслось:

  1. Платёжная система прислала уведомление об оплате дважды (так бывает чаще, чем кажется) - и один покупатель получил два списания. Идемпотентности не было.
  2. Кто-то поменял в адресной строке номер заказа на чужой - и увидел чужой адрес доставки. Доступ проверялся только на странице, а не на сервере.
  3. Ты в панике выкатил «фикс», он доломал остальное, а рабочей версии у тебя уже нет. Отката не было.

Один вечер - три пожара. И все три ИИ нашёл бы заранее, попроси ты его до запуска. Вот как просить.

Промпт - скопируй и попробуй

Проведи аудит готовности моего проекта к запуску для реальных пользователей. Не верь тому, что тесты зелёные - это не значит, что прод не сломается.

Проверь по порядку и для каждого пункта прямо скажи: в порядке оно или нет.

  1. Безопасность. Проверяется ли доступ на стороне сервера, а не только спрятанной кнопкой. Не утекли ли пароли и ключи в код, который видит браузер.
  2. Деньги. Если есть оплата - что будет, если уведомление о платеже придёт дважды. Не спишется ли и не выдастся ли товар повторно.
  3. Данные. Можно ли откатить изменения базы, если новая версия их испортит.
  4. Запуск. Поднимется ли проект на чистом сервере по инструкции, без знаний, которые есть только в моей голове.
  5. Телефон. Работают ли главные сценарии и формы на мобильном экране.

В конце дай короткий вердикт: можно запускать или нет. Если нет - список того, что чинить в первую очередь, по важности. И перечисли, что именно ты проверил: какие файлы и места.

Вердикт аудита: можно, нельзя или с оговорками

Хороший аудит заканчивается решением, а не задумчивым вздохом. Скилл production-audit пользуется для этого простой шкалой - переведём её на человеческий:

  • Заблокировано - не запускай, пока не починишь главное (нет проверки доступа к чужим данным, оплата может списать дважды, нет отката).
  • Рискованно - запускай осторожно, на маленькой группе, а не на всю аудиторию разом.
  • Можно с оговорками - запускай, если осознанно принимаешь оставшиеся мелкие риски.
  • Уверенно - явных блокеров не видно.
Мем: разработчик уверенно жмёт Deploy, на фоне горит сервер, подпись «но у меня же работало»
Знакомо каждому, кто хоть раз запускался без аудита.

Частые ошибки при запуске в прод

  • Считать зелёные тесты готовностью. Тесты - про «код делает задуманное». Аудит - про «прод не упадёт под людьми». Разные вопросы.
  • Запускать без отката. Рано или поздно что-то сломается. Без кнопки «вернуть как было» это уже катастрофа, а не просто неприятность.
  • Проверять доступ только на странице. Спрятать кнопку - не защита, а фиговый листок. Доступ обязан проверяться на сервере.
  • Зашивать секреты в код. Пароли и ключи в коде страницы видны любому. Им место в защищённом хранилище, а не на витрине.
  • Забывать про идемпотентность в оплате. Двойное уведомление о платеже равно двойному списанию, если проект к этому не готов.
  • Тестировать только на своём большом экране. Половина людей придёт с телефона. Форму, которую там не нажать, никто не заполнит.
  • Принимать вердикт без списка проверенного. Не сказал ИИ, что именно смотрел, - значит, это не аудит, а догадка с уверенным лицом.

TL;DR - если коротко

  • «Работает у меня» и «выдержит толпу» - две разные планеты. Аудит про вторую.
  • Зелёные тесты - не готовность. Они про «код делает задуманное», а не «прод не ляжет».
  • Ломается почти всегда в одних и тех же местах: вход и доступ, деньги, данные, запуск с нуля.
  • Без пути отката не запускайся. Кнопка «вернуть как было» - не роскошь, а парашют.
  • Половина придёт с телефона. Кнопку, до которой там не дотянуться, никто не нажмёт.
  • Требуй у ИИ вердикт можно/нельзя и список блокеров - а не уютное «вроде норм».

Поиск по вики

Нажмите Esc для закрытия

Введите запрос для мгновенного поиска по всем страницам курсов и уроков.