Читаем Bash.org.ru IT Happens Истории ## 8701 – 8800 полностью

<p>#8779: Буря в песочнице</p>

20:45 19.03.2012, IT happens

Я просто обалдеваю с некоторых программных решений.

Задача: обеспечить параллельную разработку новых возможностей у одного и того же программного продукта.

Решение: «песочницы». Одну папку исходного кода дублируют множество раз, по числу групп разработчиков, создавая так называемые версии. Каждая группа разработчиков мучает свою версию, ковыряясь в ней, как детишки в песочнице, и не пачкает чужие версии, то есть не мешает остальным группам. Перед релизом все версии, которые успели достичь половой зрелости и продемонстрировали хотя бы 15 минут стабильной работы, сливают в одну, её называют основной, выжигают на компакт-дисках и продают клиентам. После чего отдел тестирования начинает бегать кругами и орать, потому что две разные группы ковырялись в одних и тех же файлах, а слияние выполнялось левой ногой через правое ухо, и теперь не работают ни код первой группы, ни код второй, а грузовики с дисками уже выехали в магазины.

Итак, одновременно существуют несколько десятков версий. Разработчики занимаются своими малопонятными делами и время от времени вносят забагованный исправленный код в одну из «песочниц». Еженощно на всех «песочницах» бежит регрессия, а следующим утром ещё не проснувшиеся разработчики получают сто пятьдесят шаблонных сообщений электронной почты уровня «особой важности» с результатами тестирования для каждой версии и со стандартным заголовком: «А-а-а-а, мы все умрём, регрессия упала по ТВОЕЙ вине, а ну быстро исправляй свои баги». До сих пор всё хорошо.

Раз в какое-то время эти «песочницы» нужно изменять. Добавить, убрать, переименовать. Для этого используется доморощенная программа, написанная для своего удобства студентом-первокурсником в свободное от занятий фигнёй время и доведённая до ума тремя поколениями мудрых специалистов. Опций там на самом деле всего две («добавить „песочницу”» и «удалить „песочницу”»), поэтому переименование реализовано просто и красиво: старая «песочница» удаляется, создаётся новая, и разработчикам рассылается сообщение: «Из-за технических проблем мы потеряли весь код в такой-то версии; если вы вносили туда изменения, внесите их вот в такую-то версию, пожалуйста».

Пока всё ещё неплохо, да? Подождите, сейчас начнётся самое весёлое.

Рассылать сообщения вообще всем работникам — идея, конечно, благая, но будет проще и правильнее рассылать сообщения только тем, кто уже вносил код в эту конкретную «песочницу». Сделать это просто и легко: все внесения кода в «песочницу» есть, они выстроены в красивую таблицу, авторы изменений указаны отдельной колонкой, и есть специальная галочка «сообщить авторам изменений об удалении». Если отметить галочку, скрипт вытащит имена из таблицы и отправит каждому автору персональное извещение.

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

Так вот, вы в жизни не догадаетесь, в каком порядке выполняются эти два шага.

<p>#8780: Как ни крути, от цвета не уйти</p>

23:59 19.03.2012, IT happens

Говорю по телефону с сисадмином, длинноногой блондинкой, петербурженкой Леной:

— Можете подключиться к моему компьютеру? Там autofs что-то глючит, не могу уже, запутался я в конфигах.

— Конечно могу, сейчас поправим вам конфиги. По какому протоколу подключаться и какой хостнейм?

— Ви-эн-си, машина такая-то, сейчас посмотрю адрес… Ага, 192.168.стопицот.

— Ага, вижу. Юзер — маяк?

— Ага, маяком.

— Да, подключаюсь. Ой, что это за фигня вводится? Это вы что-то на клавиатуре нажимаете?

— Нет.

— Ой, да это же у меня капслок зажат!

<p>#8781: Новорождённый эзернетик</p>

13:00 20.03.2012, IT happens

Не так давно я женился, и по этому поводу пришлось мне весь свой хабар перевозить на новую съёмную квартиру. Среди хозяйства оказалось два компа и ноут. На всех компах стоял линукс и достаточно хорошо чувствовал себя долгое время. Несмотря на то, что работать предполагалось сразу после переезда и сроки горели, я, не ожидая подвоха, смело отключил всё оборудование и перевёз его в новое логово.

На прежнем месте у меня стоял вайфай-роутер, раздававший интернет на всё хозяйство. Перевезя всё на место, я подключил все кабели в прежние разъёмы. Ожидая вселенского счастья в виде доступа в мировую паутину, открыв браузер, я обнаружил большой облом. Ничего не пинговалось, странички не открывались.

Конечно, интернет я настроил. Всех приходивших друзей-программеров я просил повторить настройку — на спор, на ящик пива, после изрядного количества оного. Естественно, они соглашались, а я всё возвращал в первоначальное состояние. Ну откуда им было знать, что при наличии двух сетевых карт после переезда у меня появилось три сетевых интерфейса? Причём активный сместился на eth2 при физическом наличии только eth0 и eth1. Почему — непонятно, до этого всё было в пределах разумного.

Перейти на страницу:

Все книги серии Bash.org.ru IT Happens

Похожие книги