18+
реклама
18+
Бургер менюБургер меню

Вадим Кирпиков – Сбой в жизни (страница 11)

18

Я остановился. Я не мог больше сделать ни шагу. Я согнулся пополам, упершись руками в колени, и меня вырвало. Желчью и водой. Я стоял под дождем, в темноте, и выплевывал из себя всю грязь этого дня. Когда спазмы прекратились, я выпрямился. Я был полностью, абсолютно пуст. Не было ни злости, ни обиды, ни жалости к себе. Ничего. Только гудящее от перенапряжения тело и звенящая тишина в голове.

Домой я шел, шатаясь. Дорога заняла вечность. Я принял душ, стоя под струями горячей воды и чувствуя, как она оживляет застывшие мышцы. Я не чувствовал себя победителем. Я чувствовал себя выжившим после авиакатастрофы. Контуженным, изломанным, но живым.

Я вышел из душа, вытерся. И сел за компьютер.

Было почти одиннадцать вечера. Руки слегка дрожали от усталости. Но голова была ясной. Кристально ясной. Той пустоты, которую я выстрадал на пробежке, хватило, чтобы смыть весь ментальный мусор.

Я открыл план проекта в своем таск-менеджере. Нашел самую сложную, самую ответственную задачу, которую я откладывал уже несколько дней. «Реализация модуля „Ядро транзакций“». Сердце «Аксиомы». Алгоритм, который должен был обрабатывать финансовые операции, обеспечивая их атомарность, согласованность, изоляцию и долговечность. ACID. Четыре буквы, за которыми скрывался ад из блокировок, параллельных запросов и обработки пограничных случаев. Ошибка в этом модуле означала бы потерю денег. Полный провал.

Идеальная задача для этой ночи.

Я налил себе самую большую кружку кофе, какую только смог найти. И начал работать.

Мир за пределами моих мониторов перестал существовать. Не было ни дождя за окном, ни тиканья часов, ни моего гудящего тела. Была только задача. Чистая, холодная, беспощадная логика.

Я начал с тестов. Я писал код, который описывал, как система должна упасть. Что будет, если придет два параллельных запроса на списание с одного счета? Что будет, если база данных откажет в середине транзакции? Что будет, если внешний API вернет ошибку? Я создавал цифровые модели катастроф. Я думал как Сирена, пытаясь найти все возможные уязвимости, все способы сломать мою собственную систему. Красные буквы FAILED множились в консоли.

А потом я начал писать код, который превращал эти красные буквы в зеленые.

Я погрузился в состояние, которое никогда раньше не испытывал. Это был не просто «поток». Это была ярость, переплавленная в концентрацию. Энергия унижения, страха и боли, которая весь день разрушала меня изнутри, теперь была направлена в одну точку. Она стала топливом для моего мозга. Я писал код не пальцами. Я писал его нервами.

Я строил архитектуру из транзакционных блоков, менеджеров контекста и очередей с повторными попытками. Я использовал блокировки на уровне базы данных, чтобы предотвратить состояние гонки. Я писал сложнейшие SQL-запросы, которые казались мне элегантными, как математические формулы.

Прошел час. Два. Пять. Я не замечал времени. Кофе в кружке давно остыл, я пил его, не чувствуя вкуса. Мои пальцы летали над клавиатурой. Щелк-щелк-щелк. Монотонный звук создания нового мира. Упорядоченного. Справедливого. Мира, где каждое действие имело предсказуемое последствие. Мира, где не было места для безразличных взглядов и несправедливой боли.

Когда за окном начало светать, окрашивая серый утренний туман в бледные, акварельные тона, я закончил.

Последний тест. Самый сложный. Симуляция высокой нагрузки с одновременным падением нескольких внешних сервисов. Я запустил его. И замер, глядя на бегущие по экрану строчки логов. Секунды тянулись, как часы.

А потом в консоли появилась финальная строка. Зеленая.

OK. Tests passed: 128. Failed: 0.

Я откинулся на спинку кресла. Тело было свинцовым. В глазах плясали цветные пятна от бессонной ночи и непрерывного взгляда в монитор. Я был выжат до последней капли.

Но модуль был готов. Самый сложный, самый важный модуль «Аксиомы». Он был написан. Он работал. Он был доказательством.

Я посмотрел на себя в темном экране монитора. На осунувшееся, измученное лицо с красными глазами.

Сирена молчала. Она проиграла. Я взял ее самую мощную атаку, принял весь урон на себя, переработал эту разрушительную энергию и превратил ее в самый прочный кирпич в основании моего нового мира.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.