TGViewer
Руслан Куянец | Reactify Руслан Куянец | Reactify @reactify_it · 6.44K subscribers
Post #1573 4.08K
🐞 Вайбкодинг атакует или как мы потеряли 50к рублей в YeaHub

Вполне себе реальная история нашей ошибки в YeaHub.

Есть у нас senior Java developer, спец своего дела, опыт 8 лет, работает в Биг Тех. У нас он как один из руководителей по бекенду и занимается в основном инфраструктурой. Но есть одно «но» — проект у нас на Node.js. Учить Node, конечно, зачем? Если умеешь писать код, можно чисто вайбкодить. Но Java и JavaScript, кроме первых четырёх букв, сильно отличаются: асинхронность, подходы, методы, обработка ошибок.

И вот что произошло.

Мы улучшали систему оплаты и подписок, всё проверили вроде бы гуд. Но потом начали замечать, что люди не продлевают подписку. Сначала это было странно, но терпимо. Через месяц стало очень подозрительно, и мы начали разбираться.

Оказалось, что мы формировали заказ, но не тригерили списания денег у пользователя. Визуально выглядело так: «Заказ сформирован, но не оплачен».

В чём проблема? Мы каждый день кроном проходились по всем, у кого подписка кончилась, и формировали заказ. Вторым циклом должны были пройтись по каждому заказу и инициировать списание. И тут случилась ошибка.

Наш джавист не учёл особенности асинхронности и обработки ошибок в JavaScript: один заказ мог быть «битым», и тогда весь цикл списания останавливался. Использовался forEach с async/await и обработкой ошибок, но в Node.js такой подход не ждёт асинхронные операции корректно. В итоге каждый день мы формировали заказы, пытались списать деньги, но застревали на одном висяке, и остальные оплаты просто игнорировались. В Java такие сценарии работают иначе, и привычные подходы к потокам не переносились напрямую.

Этот код полностью писала нейронка, потому что бэкендер не знал нюансов Node.js и не привык к его асинхронности.

В итоге больше 100 пользователей пользовались сервисом месяц бесплатно, а мы потеряли 50к рублей.

Вывод: даже опытный Java-разработчик может наткнуться на особенности другого языка, особенно в асинхронных сценариях, а нейронка может генерировать код, который кажется рабочим, но ведёт себя иначе на практике.

А у вас были интересные кейсы? 🔍
  • 😁 29
  • 👍 9
  • 🔥 7
  • ❤ 3
  • 🤔 2
  • 😢 1
More from @reactify_it
  1. Oct 2, 2026Что вообще для меня значит ИТ-АДАПТАЦИЯ? Это — РАБОТА ЛЮБОЙ ЦЕНОЙ. Сейчас такое время, ког…
  2. Oct 1, 2026А тем временем цены растут. Бесплатный ChatGPT, во-первых, как будто отупел, во-вторых, ли…
  3. Sep 30, 2026Ребята, если у вас уже есть опыт, но вы чувствуете, что он выглядит «непродающим» в резюме…
  4. Sep 29, 2026👩‍💻 ВСЯ инфраструктура за 30 минут: Kubernetes, ArgoCD, Grafana, CI/CD https://www.youtu…
  5. Sep 28, 2026В общем, что-то такое получилось 😁 Превью сделано нейронкой, но буду переделывать с помощ…
  6. Sep 25, 2026Делал видео-схему по инфраструктуре, а в итоге получилось по кубернетису 😁 До чего же я д…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →