Назад к статьям
Экскурсия в ад: Как я провёл отпуск, пиля интернет-магазин в одиночку, или «Мы только зашли и вышли, Морти» Дневник разработчика

Экскурсия в ад: Как я провёл отпуск, пиля интернет-магазин в одиночку, или «Мы только зашли и вышли, Морти»

Александр Бессонов
27 февраля 2026
23
7 мин

(Комната в измерении C-137. Дэйв сидит с банкой пива, уставившись в пустоту. Рядом стоит Рик, который только что вернулся из измерения, где продаются идеальные батарейки для гравито-скутеров)

Рик: Ну и? Чего такой кислый, Дэйви? Ты сейчас выглядишь как Морти после того, как он увидел свою копию, которая трахнула козу. Настолько же офигевший, но с меньшим количеством вопросов к реальности.

Дэйв: Рик, я только что вернулся из отпуска.

Рик: (Икает, поправляет колбу) О, круто. Полежал на пляже, посмотрел на фотоны, летящие от местной звезды, подрочил в океан... Зачем ты вообще пришёл? У меня тут межпространственный рефакторинг кода, между прочим. Я пытаюсь переписать функцию на С++, чтобы она работала на всех частотах реальности, а не только на тех, где гравитация — это просто предложение.

Дэйв: Нет. Я решил, что проведу отпуск с пользой. Решил написать интернет-магазин.

(Рик замирает. Его глаз дергается. Он медленно поворачивается на стуле, откладывая паяльник, которым только что пытался соединить провод с нейтронной звездой).

Рик: Погоди-погоди. Ты... ты взял законный отпуск. Время, данное тебе твоей хрупкой человеческой работой, чтобы не превратиться в овощ, который только и умеет, что коммитить в мастер в пятницу вечером... и потратил его на написание интернет-магазина?

Дэйв: Ну, я подумал, это же просто. CRUD. Товары, корзина, оплата. Пять минут, и готово.

Рик: (Смеётся, сначала тихо, потом переходя в истерический хохот) О, Морти, ты слышал? Зайди сюда! (Кричит в сторону коридора) Наш друг Дэйв решил, что интернет-магазин — это просто! Он сказал «пять минут»! Он назвал это приключением!

(Входит Морти, жуя что-то, отдаленно напоминающее бургер).

Морти: А? Что? Мы куда-то летим? Я не хочу снова в тот мир, ААА! Там были пауки, Рик! Пауки с... с... ну, ты знаешь!

Рик: Нет, Морти, мы не летим. Мы просто слушаем историю ужасов. Дэйв сейчас расскажет нам, как он решил зайти в ад за хлебом.

Дэйв: Сначала всё было хорошо. Я выбрал стек. React, Node, MongoDB. Развернул шаблон. Сделал компонент карточки товара. Красота. Прям как в том измерении, где мы искали газ для микрофона, помнишь? Зашли, вышли, газ в кармане.

Рик: Именно в этот момент, Морти, космос решает тебя наказать. Ты произносишь фразу «это же просто», и вселенная сворачивается в узел, чтобы доказать тебе, что ты кусок органического дерьма, который ничего не смыслит в энтропии и багах.

Дэйв: День второй. Я решил добавить фильтры по категориям.

Морти: О, фильтры — это круто! Как на том сайте, где я покупаю...

Рик: Заткнись, Морти. Ты не понимаешь. Фильтры — это первый круг ада. Дальше будет хуже. Он полез в стейт-менеджмент, я знаю.

Дэйв: Redux... Я подключил Redux.

Рик: (Достает из кармана бутылку чего-то светящегося, залпом выпивает) Бинго! Прощай, нервная система. Ты только хотел показать товары женской обуви, а по факту написал машину Тьюринга, которая работает только тогда, когда Юпитер выравнивается с Сатурном.

Дэйв: А потом я полез в документацию по оплате. Интерфейс платежной системы...

(Морти вздрагивает)

Морти: Рик, у него изменилось лицо. Оно стало серым. Как у тех существ из измерения пустоты!

Рик: Платежный шлюз, Морти. Это место, где здравый смысл умирает. Ты думаешь, что отправляешь объект с данными, а тебе приходит ответ: «Ошибка 1287b: Пожалуйста, отправьте запрос с телом, где ключ 'amount' передан в центах, но только если сегодня не вторник, а луна находится в фазе убывающей семёрки». Дэйв, скажи, что ты не полез в вебхуки. Скажи, что ты не настраивал уведомления о платежах.

Дэйв: (Закрывает лицо руками) Они приходят ночью, Рик. Они приходят в формате XML, хотя я просил JSON. Я написал триста строк кода, чтобы спарсить это старьё. Триста строк, Рик! Ради одной кнопки «Оплатить».

Рик: (Оборачивается к Морти) Видишь, Морти? Вот она, цена величия. Мы летаем по галактикам, трахаем инопланетных тварей и взрываем планеты за пять минут. А настоящий героизм выглядит так: чувак в тапках на балконе плачет над асинхронным запросом, потому что прокси сбрасывает CORS.

Морти: Вау. А я думал, хуже, чем на поле для мини-гольфа в том измерении, ничего нет. А тут просто сайт с носками...

Дэйв: Это не сайт с носками! Там были кроссовки! И админка! Боже, админка...

Рик: О, давай. Выкладывай. Что с админкой?

Дэйв: Я решил, что за день сделаю админку. CRUD для товаров, говорю же, просто. Я начал делать загрузку картинок. Одна картинка — ок. Десять картинок — ок. Но потом я вспомнил, что надо показывать превью, удалять старые версии, сжимать WebP... Я потратил два дня на дропзону, Рик! Два дня! Я хотел просто перетаскивать фото мышкой, а в итоге у меня на компе скомпилировался какой-то левый бинарник, который майнит биткоины в какой-то параллельной вселенной, где биткоин ещё не придумали и он там на хрен никому не нужен!

(Морти смотрит на Дэйва с ужасом и восхищением).

Морти: Так ты... ты не отдыхал? Совсем?

Дэйв: На пятый день я сидел и тупо смотрел на экран. Сайт работал. Я добавил товары. Я мог оформить заказ. Но корзина... корзина жила своей жизнью. Если добавить товар, потом удалить, потом снова добавить тот же, но другого цвета... количество в углу экрана показывало «-3». Минус три товара, Морти! Как можно иметь минус три носка в корзине? Где эти три носка? Они в параллельном измерении? Я создал портал в корзине, сам того не желая?!

Рик: (Довольно ухмыляется) Классика. Ты не написал интернет-магазин, Дэйв. Ты создал сингулярность, которая сворачивает пространство через неправильное использование хука useState. Поздравляю.

Дэйв: А вчера, в последний день отпуска, я решил задеплоить это всё на хостинг. Я залил файлы. Открываю сайт... а там пусто. Белый экран. Консоль красная от ошибок. Оказалось, я в прод залил версию, где переменные окружения называются по-другому, и весь сайт просто... умер. Я сидел и перебирал энвы до трёх ночи, Рик. А сегодня утром я вышел на работу.

(Пауза. Рик задумчиво ковыряет в носу).

Рик: Знаешь, Дэйв, я тут подумал. Мы с Морти только что вернулись с приключения. Мы зашли в одно измерение, украли батарейку, вышли. Нам казалось, что прошло пять минут. А там, пока мы ходили, из-за временной аномалии прошло два года. И все наши враги состарились и умерли от скуки.

Морти: Это было круто, Рик!

Рик: Заткнись. Я к чему это. Твоя история точно такая же, Дэйв. Ты зашел в свой отпуск, думая, что это на пять минут — «зайти и выйти, Морти». А по факту — ты провел там десять лет, сражаясь с демонами рефакторинга, драконами CORS-политик и тёмными повелителями из техподдержки платежных систем. И выбрался оттуда с седыми яйцами и работающим (ну, почти) интернет-магазином.

Морти: Так он теперь крутой? Он теперь богатый?

Рик: Нет, Морти. Теперь он просто уставший. Он понял главную истину мироздания: любой, даже самый простой проект, разрастается ровно настолько, чтобы занять всё отпущенное на него время, плюс три бессонные ночи и остатки твоей ментальной стабильности. Это как закон Мёрфи, только хуже. Это закон Петли Времени Разработчика.

Дэйв: (Смотрит на Рика) И что мне теперь делать с этим знанием?

Рик: (Пожимает плечами, открывает портал в гостиную) Ничего. Просто запомни это чувство на следующий отпуск. А пока, если хочешь по-настоящему отдохнуть, пошли с нами. Мы как раз собрались на планету, где время течет вспять. К утру ты снова станешь молодым и полным сил, чтобы накосячить заново.

Морти: Но Рик, он же только с войны!

Рик: Это не война, Морти. Это — понедельник. Пошли. Или оставайся здесь и дописывай документацию к своему говнокоду.

(Дэйв вздыхает, допивает пиво и встает).

Дэйв: Ладно. Но если там будут пауки...

Рик: Не будут. Там будут баги. Баги страшнее.

(Они прыгают в портал).

Отсылка на ситочник:

Перейти

Комментарии · 2

A
Administrator 27 февраля 2026, 09:30

ахахахахахх

АБ
Александр Бессонов Автор 27 февраля 2026, 00:05

Если что это сарказм