#1636: Обезьянья CMS
12:00 10.12.2009, IT happens
Говорят, что если усадить миллион обезьян за печатные машинки, то с ненулевой вероятностью одна из них наберет «Войну и мир». У одной обезьяны, похоже, получился CMS.
Отдел поддержки клиентских серверов датацентра. Приходит клиентское письмо с жалобой: «После обновлений базы товаров нашего интернет-магазина сайт перестаёт работать и вообще». Сайт вольготно размещён в одиночку на сервере с двухъядерным процессором и 2 ГБ памяти — проблем с производительностью быть не должно. Прошу пнуть нас именно в момент обновлений.
Дожидаюсь ответа «вот сейчас не работает!» Смотрю — на машине оба ядра под завязку нагрузил MySQL. Логинюсь в «мускуль», даю запрос show full processlist. Изумляюсь — терминал виснет наглухо. Передёрнув терминал и залогинившись обратно на машину, запускаю тот же запрос с выводом в файл. Смотрю в результаты: сервер отрабатывает два запроса общей длиной в 1,2 с копейками мегабайта.
Как выяснилось, чудо-фронтэнд магазина выгребал какие-то данные запросом вида «Select * from Таблица where productID='такой-то' and enabled=1 or productID='еще_какойто' and enabled=1 or...», и так до упора. Несчастный MySQL вдумчиво проверял каждую строку немаленькой таблицы на соответствие десяткам тысяч логических условий.
Клиенту отписал, приложив результаты show full processlist. Молчит уже сутки. Видимо, проникается идеей...
#1637: Краткость — тёща бизнеса
12:00 10.12.2009, IT happens
Работаю уже некоторое время в одной из самых раскрученных в нашем небольшом городе дизайн-студии. В основном мы делаем сайты для крупных предприятий — ценник, соответственно, рассчитан на обширный корпоративный бюджет.
Не так давно находит нас один клиент — хочет срочно себе сайт. Какие проблемы? На встречу устремляемся сокращённым составом «ударной команды»: рекламщик и техдиректор.
Приезжаем на какую-то торговую базу. Стоит небольшое гаражеподобное строение, над входом безвкусная жёлто-синяя надпись «Ковролин». Заходим и видим этакого качка в спортивной одежде, читающего газету. Представляемся, начинаем по стандарной схеме:
— Как ваша фирма называется?
— «Ковролин».
— А официальное название?
— ИП %name%.
— А как на сайте нам писать-то?
— «Ковролин».
— Логотип у вас есть?
— А это чё?
— Фирменные цвета?
— А это чё?
— Ну вот вывеска у вас почему жёлто-синяя?
— Ну нам такую сделали.
Молчание. Тупим, думаем, как быть.
— На сайте что писать будем-то?
— Вы специалисты, вы и думайте.
— Давайте хоть с чем-то определимся. О компании писать будем?
— Не, не надо.
— Товары будем описывать?
— Не, не надо.
— Прайс-лист будем выкладывать?
— Не, не надо.
— (хором) А что надо?!
Клиент долго, напряжённо думает.
— Ну-у-у... Посередине надпись «Ковролин» и два сотовых телефона.
#1638: Идиоты высшего звена
14:00 10.12.2009, IT happens
Был у нас тут семинар по безопасности; мужик рассказывал про DeviceLock. Эта программа отслеживает, куда и как пользователь сливает информацию — в общем, защита от инсайдеров. Местный умник-айтишник донимает докладчика:
— А у вас есть возможность отслеживать записанное по имени файла?
— Это не нужно! Мы отслеживаем файлы по сигнатурам. Даже если пользователь изменит расширение, DeviceLock сможет отследить этот файл.
— Нет, ну можно же заменить и сигнатуры! Добавляем в начало одного файла 1024 байта с сигнатурой от другого.
— Да, это возможно, для этого мы внедряем сейчас анализатор контента. И вообще, если файл будет зашифрован, вы тоже ничего не сможете увидеть, кроме факта того, что файл был передан.
— Нет, вы мне скажите, может ли ваш DeviceLock отслеживать по именам файлов?! Можно же по структуре слитых файлов и папок определить, что было слито.
— В этом нет необходимости. Мы проверяем сигнатуры типов файлов.
— Но анализатор контента — это куча информации, вы мне скажите, есть ли у вас отслеживание по имени файла?!
В общем, препирались они долго. В итоге докладчик сдался:
— Окей, у нас этого нет, но мы можем реализовать слежение за именами файлов, если вам это настолько нужно. Вы мне только ответьте на один вопрос: вы согласны, что это защита от полного идиота?
— Не от идиота, а от топ-менеджеров. Они не будут заморачиваться такой ерундой, как переименование файлов!