[bash.org.ru] [IT Happens] [zadolba.li]

IT Happens

Клиент и саппорт. Разработчик и заказчик. Программист и программа. Вести с фронтов.

#966: Брутфорс и здравый смысл

11 июня 2009, 16:45

рейтинг: 2286

Однажды на нашем ФГУПе слетела программа, обслуживающая электронный замок входной двери с электронными же пропусками.
Всё бы ничего, но за древностью лет инсталляха этой софтины была утеряна, и даже поиск в интернете ничего не дал. Дистрибьюторы оборудования предложили скачать новую версию, но сообщили, что поддержка нашего контроллера прекращена, так как он относится к раннему мезолиту.

Собственно, принципиальное отличие нового софта было лишь в формате БД. Контроллер в нём не определялся, но сигналы входа/выхода и ID карточки давал исправно. Я решил поправить таблицы вручную, благо, они были в формате Access, но столкнулся с проблемой — база была запаролена.

Тут же скачал несколько ломалок паролей «на попробовать». Как водится, утилиты заявляли: «Пароль я подобрала, купите меня, и я вам его скажу». Естественно, платить 20–30–80 единиц СКВ я никому не собирался, да и не пришлось — одна из программ добродушно выдала три первых знака пароля и 9 звездочек после, доказывая свою полезность и предлагая заплатить за остаток.

Выглядел пароль так: «1qa*********». Надеюсь, не надо объяснять, как я достроил его до полного?

 

#965: В Советской России Гугл ищет вас!

11 июня 2009, 12:45

рейтинг: 1602

Работаю веб-программером — делаем разнообразные сайтики и интернет-магазины. Очередной клиент попросил, чтобы к сайту была прикручена статистика от Google. Я прикрутил, а до кучи поставил сайт в очередь на индексирование.

Надо отметить, что для этого проекта мы не писали админку с нуля, а затачивали предоставленную заказчиком под проект, добавляя новые модули. Поиск по сайту был настолько «крут», что исправлять его доверяли только мне — долго я матерился, ковыряясь в индийском коде. На полную переделку поиска меня не хватило.

Прошло некоторое время. В аську стучится админ сервера компании-заказчика: «Твой проект грузит на 103% процессор MySQL-сервера!»

Где-то час выясняли, что не так, и только потом сообразили посмотреть в логи. Выяснилось, что умный Google-бот без проблем отыскал поисковую страницу сайта и стал рекурсивно насиловать проект, отыскивая ключевые слова в результатах поиска по результатам поиска...

Поиск после этого доработали, бота от страницы выдачи отвадили и даже морфологию прикрутили. Вспомнили и бессмертную фразу Стива Макконнелла: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете».

 

#963: Не смешите начальника СБ, он лопнет

10 июня 2009, 20:30

рейтинг: 1497

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

Как-то сидим, админим наши сервера. Работа достаточно скучная, так как настроены они по всем «фэн-шуям» и вероятность факапа минимальна. Внезапно сонное лицо руководителя группы администрирования Unix-систем, оживает, и он помпезно изрекает: «%Adminname%, я считаю, что употребление слов „жопа“ и „косяк“ неприемлемо при постановке служебного задания».

Через минуту хохота %Adminname%, Oracle-админ, начинает оправдываться, что он скопировал в задачу кусок из своих ночных записей — в них было отмечено, что старт инстанса Oracle с такими-то параметрами и с использованием такого-то массива приводит к жопе с производительностью, и это явно косяк в Solaris!

 

#945: Профессиональный синхронизатор БД

4 июня 2009, 09:00

рейтинг: 2181

В 2002 году я работал автоматизатором в городском отделении пенсионного фонда. Где-то в апреле пришла из Москвы БД с данными пенсионеров-участников войны с графической оболочкой на Visual FoxPro. Задача: открыть в одном окне эту оболочку, в другом — нашу пенсионную базу и сверить данные по всем имеющимся пенсионерам: ФИО, адрес и ещё около тридцати пунктов.

Трудность в том, что пенсионеров в базе несколько тысяч, а интерфейс оболочки был написан в каком-то особо извращённом стиле. За давностью лет подробностей не помню, но для просмотра параметров нужно было нажать правую кнопку на фамилии, потом клавиш 5 на клавиатуре, а для перехода к следующему полю ещё какой-то хитрый аккорд.

Посмотрев на этот кошмар, я понял, что задача проста: надо лишь вытащить из нашей основной БД (благо, тоже написанной на FoxPro) необходимые данные по этим пенсионерам и поместить их в столичную базу. За пару часов пишу программку, дампящую из одной базы нужные поля и заливающие их в другую. Через двадцать минут, когда винчестер перестаёт шуршать, открываю московскую оболочку — всё отлично!

Отдаю работу начальству со словами: «Давайте остальным отделениям мой скрипт отправим, чего они зря мучаться будут?» В ответ получаю гневную тираду о том, чтобы и мыслей таких не было — ни в коем случае нельзя никому рассказывать о том, как у нас всё быстро получилось.

Потом я расспросил коллег из соседних отделений, как они справились с этой задачей. Все, кроме меня, стали строго следовать инструкциям Москвы и, потратив количество времени, прямо пропорциональное объёму БД, всё сделали вручную. В отделении с примерно нашим количеством пенсионеров работала пара айтишников: один смотрел в одну базу и читал записи вслух, другой сравнивал со второй базой и впечатывал отличия. Ушло у ребят на это две недели.

 

#936: ИмяФамилия, на вашем счету Сумма руб.

1 июня 2009, 16:45

рейтинг: 1155

Дело было давно — я работал программистом в сфере разработки банковского софта под Oracle версии 7 или 8.

Звонят как-то из банка с проблемой. После разбирательств выяснилось, что надо кое-что подкрутить от «супер-юзеров» sys или internal, о чём я и сообщил. Трубку положили на стол, но связь была хорошая и диалог банковских айтишников был прекрасно слышен:

— Какой пароль у internal на боевой базе?
«change_on_install»!

 

#888: Сила привычки

18 мая 2009, 20:30

рейтинг: 1427

Работаю в небольшой конторке, занимаемся поставкой различной съедобной продукции.
Имеем две базы 1С: одна управленка, а другая чисто бухгалтерия. И так уж вышло, что директория с бухгалтерией находится в директории базы-управленки. Всё это бэкапится хорошей (на мой взгляд) программкой-бэкапером.

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

Сегодня утром, главный бухгалтер что-то не то выгрузил и загрузил в свою базу. И, конечно же, сразу обратился ко мне, чтобы я восстановил свеженький бэкапчик. Но как только я понял, что речь идёт о той самой базе, которую удалил из задач бэкапера ещё неделю назад, я упал в осадок. Перед тем как расстроить бухгалтера, решил глянуть, за какое число есть последний бэкап. Как же велико было моё удивление, когда я увидел, что последний бэкап той самой базы был сегодня! Все счастливы, все рады.

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

 

#870: Вдруг COUNT() ошибётся?

11 мая 2009, 16:45

рейтинг: 1141

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

Каждый месяц мы сдаём отчёт о проделанной работе, чтобы получить в итоге свои кровные. С появлением программы учёта мы решили, что со встроенной статистикой составлять отчёты будет проще — ан нет! То ли кодеры поленились, то ли программа подглючивала — у пользователей статистика не работает. Иду к ведущему программисту: «Женя, открой базу данных и дай мне количество файлов, проверенных за месяц». Он кивает и приступает.

Разговорился с админами. Краем уха слышу, как Жека что-то бубнит под нос. Наверное, думаю, мантры программерские читает. Поворачиваюсь и вижу, что это чудо, отсортировав строки по датам, с помощью стрелки «вниз» пересчитывает строки вручную. Долго смеялись, но он их всё-таки пересчитал — когда статистику в итоге починили, количество сошлось.

 

#775: 1 >> 0

13 апреля 2009, 20:30

рейтинг: 1770

Изучаю чужую БД и вижу поле (bool) IS_FEMALE. Зову товарища и восхищаюсь нетипичностью решения.

— Обычно это поле называется SEX и значение «true» закреплено за мальчиками.
— И действительно, почему это мужчины — «тру»? Хотя в некотором смысле логично обозначать мальчиков единичкой, а девочек — ноликом.

Сам же создатель же схемы так прокомментировал этот диалог: «Логическое поле должно быть названо так, чтобы значение трактовалось однозначно — например, HAS_PENIS. Так как базу будут читать приличные люди, назвали IS_FEMALE».

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

 

#759: Эх, тройка, птица-тройка!

9 апреля 2009, 16:45

рейтинг: 1552

Работаю программистом 1С — в основном занимаюсь чисткой, оптимизацией и восстановлением работоспособности баз данных.

Приходит очередной заказ. В течение уже нескольких месяцев происходит однообразное, но загадочное явление: во множестве разнообразных документов в таблицах всплывают тройки. Порой вместо цены, иногда вместо количества, но чаще всего вместо суммы — непорядок!

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

Вариант второй: существует обработка, по недосмотру или намеренно изменяющая случайную цифру в документе. Перерыл весь винт, запретил использование внешних обработок, поставил слежение за действиями пользователей — ничего. Ещё чуть ли не неделю в состоянии полуистерики ищу корень зла. Безрезультатно — тройки появляются с завидной периодичностью в самых пикантных местах.

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

Кто-нибудь видел, как работают операторы со стажем? Пальцы мелькают с фееричной скоростью, для ввода цифр используется, как правило, цифровая клавиатура. Клавишей Enter в 1С пропускают поля, не нуждающиеся в ручном заполнении. А что рядом с энтером? Правильно — тройка.

 
 
текст или номер истории
реклама
обратная связь
Хотите разместить рекламу?
Информация для рекламодателей.

Вопросы, предложения, что-то не так на сайте? Пишите в саппорт!
на сайте
Утверждено: 8397
Сегодня: 3
В рассмотрении: 2008
тэги
лучшие последних семи дней
статистика
Рейтинг@Mail.ru