Skip to Content

Третья производная

«О, сколь тяжко мне, сколь горько!» (с)
Мой начальник Шимон вчера прискакал с утра сияющий. Долго жал руку и говорил о моей великолепной работе. Я долго не могла понять, что его сподвигло. Коллега подсказала.

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

 

«И заведем себе сынишку, чтобы читал нам вслух сберкнижку.» (с)

И еще мне вспомнилось, как моя трехлетняя дочь тыкала пальчиком в список улиц города Ашдода и восклицала: "Мори, как квасиво!!!"

Красота лог-файла, как и красота списка улиц – вещь, видимо, доступная только избранным… 

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

Нет, Шимон не худший у нас, что вы! У нас - это в проекте, где "никто ничего не знает" существует в третьей производной: тут

  • никто ничего не знает,
  • никто не знает, кто же знает,
  • и никто не знает никого, кто знает, кто же все-таки может знать.

А Шимон добросердечен, старателен, чрезвычайно педантичен, и даже в состоянии прислушаться к экспрессивно излагаемым аргументам, тренированно пропуская вкрапления непереводимых русских выражений. Он догадывается, что у программирования есть правила, что любая программа нуждается в контрольных механизмах, и так далее. В нашем большом проекте, где DBA Oracle никогда не видел Oracle, его помощник не знает, что такое триггер, а их общий начальник – глава системной группы – не знает разницы между базой данных и таблицей, он смотрится неплохо….


Ой, упомянув главного системщика, я просто не могу ничего о нем не сказать, хотя приличными словами о нем разговаривать трудно. Это милейший мальчик лет тридцати, нежный, милый, простодушный, с огромными карими глазами в пушистых ресницах. Зовут его Нир. 

Чудеса, творимые Ниром, плохо поддаются осмыслению. В документе на апгрэйд, например, написано: сделай такой-то update таким-то полям в таблице параметров.

Нир похлопал мохнатыми ресницами, и подумал (позднее он это озвучил) так: «ну они ж параметры. Статические, значит. Хрена ли возиться?»

Взял, стер таблицу в production, и перенес ВСЮ таблицу из тестов как есть. Затер все предыдущие settings of production. 

Или, налаживаем мы связь с SQL-базой из DataStage.
«Этот юзер, - говорю, - смотрит на тот же сервер, но не годится, потому что тут другая база, и permissions тоже на нее.» - «Так мы сейчас изменим!» – радостно кричит Нир, хорошо, я за руку схватила.
Человек что, НЕ ПОНИМАЕТ, что если он изменит initial каталог, то упадет все, что другие разработчики сделали с предыдущими сеттингами?
«А Вы сами, вообще-то, верите в Б-га? А если не верите, то почему Вы фельдкурат?»(с)
Или там, делаю я изменение в базе, затрагивающее функцию, таблицу с триггером, и четыре разных views. Работаю с аналитиком, тоже та еще дурочка. Заканчиваю и передаю ей материал с просьбой проверить, и, если все в порядке, уведомить МЕНЯ (подразумеваю, что тогда я напишу документ на upgrade).
А она сообщает прямо Ниру.
Причем список прилагает из измененных – по ее разумению - объектов, в котором вместо семи наименований – три, те, что непосредственно касаются ее темы, об остальных она просто не знает.
И через два часа я получаю радостное письмо от Нира, что он перенес изменения во все среды девелопмента и тестов.
То есть, убил одним ударом 16 сред. ВСЕ ВООБЩЕ убил. Идея спросить разработчика, можно ли переносить объекты и какие, ему даже в голову не пришла. Ну ладно, аналитичка дура. Но DBA!!!! С моей точки зрения, это профнепригодность. 
Хороший человек не профессия, что ни говори…

Шимон тоже хороший человек. Он всегда рад тебя поддержать и ободрить. 

- Шимон, смежный проект принимает из REUTERS по доллару, а нам надо по шекелю, то есть, прямо читать из базы мало, надо сразу пересчитывать. Такая обработка в бесконечном цикле примерно в двадцать раз увеличивает время и загрузку ресурсов для каждого типа данных…
- Лара, я тебя успокою! – восклицает счастливый Шимон, - Есть решение, что смежники будут передавать нам данные уже обработанными!!
И вот сижу я и думаю, как растолковать ему, что неважно, КТО будет обрабатывать данные НА ТОМ ЖЕ САМОМ СЕРВЕРЕ…
- Дорогой Шимон, у нас куча проблем, я не знаю, как продвигаться. У смежников и у нас разные forward периоды. У нас в таблице кроссов всего процентов 15 от нужных пар валют. Кто кому передаст периоды и дату спота? Какая частота устроит пользователя, наконец??!!! Все это вещи, которые мне надо знать, чтобы стратегически думать, как построить проект…
- Дорогая Лара, это все потом, потоооом…. Я не могу понять ГЛАВНОГО!!! Я не могу понять, КАКОЙ ФОРМАТ ДАННЫХ сейчас принимает система?! Есть два варианта, в одном 16 полей, в другом 18!!!!
И снова думаю, как бы объяснить товарищу аналитику и начальнику, что изменить формат данных возьмет полчаса с проверкой, и можно проверить сразу два, в конце-то концов…

Раньше я думала, что он зато в банковском деле что-то понимает. Но в последнее время люди, которые как раз-таки да понимают в нем, меня переубедили. Это печально, ибо тут я ему не страховка…

Шимон любит говорить, что когда-то работал программистом. Тридцать лет назад на mainframe в Аргентине. Мой муж говорит, что тридцать лет назад в Аргентине не было mainframe. Ну, я не знаю.

Коллега, которая работала с Шимоном в другом банке раньше, говорит, что он просто никогда не вел проектов такого масштаба. Я не знаю, где они там нашли масштаб, очень так себе проектик. 
Срочная переделка, из-за которой я света белого не вижу уже месяц, понадобилась именно потому, что вышеописанные двое, Нир и Шимон, пытались заняться архитектурой системы. Что из этого вышло, лучше не вспоминать…

И вот теперь проект крутится в тестах, и Шимон нашел лог-файл. Не от хорошей жизни, а потому что проект весь на sleeps, и все время чего-то ждет, лог-файл там очень подробный и внятный. И Шимон, конечно, решил, что теперь-то он, наконец, понял, чем мы там занимаемся, и пора это дело возглавить. Увидал во вчерашнем логе сообщение об ошибке «file not found» при попытке архивирования, и позвонил коллеге:

- Сейчас приду, и вы мне расскажете, что это за ошибка и как вы думаете ее чинить.
- Чего это, Шимон, с тобой случилось?! – не выдержала коллега, - Ты уже столько месяцев не вникал, что, как, да почему мы чиним. Зачем тебе вдруг это знать??!!

А пока Шимон спускался, я перезапустила программу с измененными параметрами, и увидала сообщение о нулевом индексе в коллекции, то есть, о том, что она пустая. Так Шимон застал нас с отвисшими челюстями, в попытке сообразить, что это я там такое нафигачила в параметрах. 

- Аааа, - говорит нащ крутой хозяин жизни, - еще баг??? Ну прекрасненько, давайте по порядочку, разъясните мне, я хочу понять. Вот сейчас разберемся с первым, и тогда примемся за второй. 

Когда у меня проблемы, я теряю остатки политкорректности. 

- Дорогой Шимон, - говорю вкрадчиво, - боюсь, ты не понимаешь кое-чего поважнее, чем какой файл и почему нот фаунд. Первый баг – это просто мусор в системе. Программа сообщила, что ей нечего архивировать, и пошла дальше, и ни жарко ей от этого, ни холодно. А вот второй баг, дорогой Шимон, означает, что один из шести процессов не нашел своих параметров вообще. То есть, он не функционирует в принципе. А теперь внимание, вопрос. Какой из этих двух багов мы будем чинить первым, как ты считаешь?...


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

- Про коллекцию-то он не хочет, чтобы ты ему объяснила? – удивилась я.
- Сама будешь объяснять! Я уже свою норму выполнила.
- Нет уж! Ни за что! Я, конечно, заканчивала дефектологический факультет, но очень давно. Я тебе покажу, где я забыла, а ты объяснишь!
- Не буду я!
- Ладно. Я ему напишу письмо. 
- О. Это правильно. Ты хорошо пишешь.
«Гы,» - подумала я и написала:
«Дорогой Шимон, баг коллекции фиксирован.» 
И подписалась.

Почему-то он не пришел за разъяснениями. Наверное, опять читает лог-файл и ловит свой кайф.