Литмир - Электронная Библиотека
Содержание  
A
A

И отправлено по диалапу обратно...

#500: Глобально, на века!

17 января 2009, 09:00. рейтинг: 1936

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

Есть на одной из форм поле "Дата рождения". Во время тестирования было выяс нено, что значения туда могут быть введены уж очень фантастические (люди столько не живут), крайней датой, которую можно сохранить, было 1 января 1573 года, после крайней даты система вываливала страшный ексепшен.

Иду в багтрек и пишу предложение китайским друзьям – ребята, есть смысл во- первых, определить приемлемый диапазон дат (это ж не просто дата, а дата рож дения), во-вторых сделать юзер-френдли сообщение, на случай если пользователь опечатается в этом поле, дабы не пугать его.

В следующей версии приходит фикс. Иду проверять, ввожу какую-то, совсем уж мохнатую дату, на что получаю "user friendly" сообщение:

"The date should be between January 1, 1753 and December 31, 9999"

Это ж как масштабно мыслят эти парни – система, видимо должна работать не только с супер-долгожителями, но и с людьми, которые родятся только через нес колько тысячелетий...

#501: Подземные лучи

17 января 2009, 09:00. рейтинг: 3913

Подрабатывали как-то с другом ремонтом ноутбуков.

Стандартная поломка – замена разбитой матрицы. Матрица куплена, поставлена и проверена, все работает. Приходит клиент за своим ноутом, мы с напарником выносим пациента на демонстрацию, ставим на тумбочку в коридоре, включаем его в розетку, все пускается, матрица не работает.

Опаньки.

Рассказываем про непредвиденные обстоятельства, скрытые дефекты, а в голове перспектива разбора, да еще не дай бог матрицу тащить назад сдавать. Просим пять минут – разобраться, что могло случиться.

Уходим назад в комнату, подключаемся к розетке, включаем – чудо! Матрица завелась. Ну и слава богу, мало ли что это могло быть. Работает вроде бы ста бильно. Выключаем, тащим обратно клиенту показать победу. Ставим в коридоре, включаем и... правильно, не работает! Ну, думаем, приплыли – догорело что-то, уносим в комнату. Работает. Одновременно приходит мысль, что все дело в розетке. Воображение рисует разные картины – вплоть до перевернутой кверх ногами синусо иды. И тут на третьем подходе меня осенило.

С веселым, но несколько нервным гоготом я выволок с полочки той самой тум бочки, куда мы ставили ноут на демонстрацию, спрятанный до лучших времен динамик 35-ГДН, лежавший там вверх магнитом диаметром около 12 сантиметров. Своим маг нитным полем агрегат пробивал слой ДСП, корпус ноута с материнкой и заставлял срабатывать магнитный флип на матрице ноутбука. А тот считал, что крышка всегда закрыта...

#502: Точный математический прибор

18 января 2009, 09:00. рейтинг: 2645

Небольшая IT-компания, занимаемся в основном внедрениями 1С.

Выезд в деревню, бугалтерия, выделили компы, нужно сделать им 1С-Бухгалтерию.

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

Спрашиваю, зачем счеты.

– А вдруг калькулятор неправильно посчитает? Мы проверяем.

Боюсь рассказывать им, для чего нужна 1С-Бухгалтерия....

#503: А тем, кто не поймет, он откусит ногу

18 января 2009, 09:00. рейтинг: 1273

Разрабатываем одну большую корпоративную систему – огромная база данных, большие нагрузки на сервера ну и веб-интерфейс, куда ж без него. Интерфейс этот пишется с использованием одной библиотечки, которая в свою очередь вовсю исполь зует AJAX. Библиотека open-source, но как-то раз преподнесла совершенно неожи данный сюрприз.

Решил я ее обновить, скачал новую версию, пересобрал, залил – все вроде в порядке. Но при заходе на одну из страничек сервер стал тут же падать! Не поняв с первого раза, как стабильно работающее приложение может вдруг выкинуть такой фокус, стал внимательно изучать логи. И обнаружил там, о ужас, StackOverflowEx ception! При этом, точно зная что рекурсию нигде не использую, порылся в своем коде пару минут, да и решил заглянуть в код библиотеки. А там увидел вот такую прелесть на месте того метода, который вызывал ошибку:

/**

* @return

* @see #getPage()

* @deprecated

*/

public int getPageIndex() {

return getPageIndex();

}

Вот оказывается как надо объявлять метод устаревшим, чтобы его впредь больше никогда не использовали!

#504: Деревянные игрушки, коляски без тормозов...

19 января 2009, 09:00. рейтинг: 2119

Мама на днях решила "почистить компьютер" от всего ненужного. Не нужным, естественно, оказался мой многострадальный курсак по с++.

В универе рассказываю одногруппнице. Она смеётся надо мной.

Я:А ты типа никогда ничего не теряла?

Она: Я в детстве рисовала в paint и не знала о существовании команды "Отменить". Я всегда делаю бэкапы."

Представляю себе это тяжелое детство...

#505: Команды дышать не было!

19 января 2009, 09:00. рейтинг: 2281

Как-то, работала, во времена бурной студентской молодости, дизайнером. Пос тупил стандартный заказ на оформление сайта, к срокам все готово. Внезапно звонит заказчик:

– Слушайте! Мы вам деньги заплатили, почему ничего не изменилось, это что за..

Я скромно прошу обновить страницу:

– Нажмите Сtrl+F5

– Это где... Как это? – удивляется заказчик.

– Клавиша Сtrl крайнем левом углу. А вверху видите ряд клавиш с цифрами? Вот там F5...

– Я нажимаю! Ничего не происходит...

– Не может быть, страница должна обновится!!!

Я в панике перебираю возможные варианты сбоя, тут голос из трубки мирно воп рошает:

– А когда можно будет отпускать?..

#506: Один сломал, другой потерял

20 января 2009, 09:00. рейтинг: 1709

Лет 10 назад работал на фирме, продающей различную оргтехнику. Продали мы как-то парочку винчестеров в одну госконтору. Через неделю заявляется оттуда дядечка с проблемой – винчестеры дохлые (механика полетела – заводской брак, мы тогда половину партии, помнится, поменяли по гарантии). Дело ясное. "Приноси, – говорю, – свои винты, поменяем".

А вот тут-то обнаружилась проблема. Согласно их внутренним правилам, выно сить информационные носители за пределы конторы нельзя. И винт, если куда-то отдавать, то только предварительно его уничтожив: кислоты внутрь налить или просверлить дырок в куче мест навылет – по вкусу. То, что такой винт не подлежит гарантийной замене, и ежу понятно. Бюджет же не позволяет конторе разориться на новые винты.

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

76
{"b":"122012","o":1}