JTBD Notes
JTBD Notes
@JTBDNotesPro

🏁 КАК ДВЕ ДЕЙСТВИЯ ЛОМАЮТ ОДНУ ЛОГИКУ

🏁 КАК ДВЕ ДЕЙСТВИЯ ЛОМАЮТ ОДНУ ЛОГИКУ

Race condition — это не «редкий баг», а сбой в очередности. Два запроса приходят почти одновременно, оба видят одно и то же состояние, оба считают его доступным — и сервер выполняет их так, будто конфликтов нет.

Для продукта это особенно опасно там, где есть лимиты, деньги, доступы и статусы:
— списание средств;
— активация подписки;
— использование промокода;
— изменение email/пароля;
— бронирование слота.

Уязвимость обычно проявляется в трёх формах:
1) **check-then-act** — сначала проверили, потом сделали; между этими шагами состояние уже изменилось.
2) **double spend / double use** — один ресурс используют дважды: купон, баланс, место.
3) **state desync** — интерфейс показывает одно, сервер считает другое.

Как искать:
— повторяющиеся быстрые действия;
— параллельные запросы;
— разные результаты при одинаковом сценарии;
— места, где бизнес-правило держится на «успели/не успели».

Хороший вопрос для ревью: **что случится, если два пользователя или два клика придут сюда одновременно?**
Если ответ «ничего» — это надо доказать, а не предполагать.
Этот пост опубликован в Telegram-канале JTBD Notes. Подписаться можно по ссылке: @JTBDNotesPro.
growth

Свежие посты в категории «Growth & Funnel»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.