#9085: Я кулхацкер или где?
13:00 29.04.2012, IT happens
Пришло описание проблемы от заказчика: «При регистрации заявления о возврате бланков, у которых длина серии 3 знака, появляется ошибка, приведенная в приложении 1». Чтобы исправить проблему в коде, решил повторить ситуацию и проверить, откуда растут ноги у этой ошибки.
Попытался в программе оприходовать бланки с серией в три символа — нельзя, поле ввода серии рассчитано на два. Я кулхацкер или где? Оприходовал бланк с серией «ЫЫ», после чего руками в базе данных поменял значение на «ЫЫЫ».
Попытался в программе реализовать данный бланк — нельзя, бланки с ошибочной серией даже не отображаются в списках выбора. Я кулхацкер или где? Поменял серию бланка назад на «ЫЫ», реализовал, после чего снова руками в базе данных поменял серию на «ЫЫЫ».
Попытался в программе зарегистрировать заявление о возврате — нельзя, бланк опять не отображается из-за неверной серии.
В программе такой косяк сделать нельзя — там более девяти контролей стоит, которые отсекают все попытки накосячить; даже если поломать базу руками, всё равно ничего не получится. Подумал было, что заказчик так хитро издевается, но передо мной лежат два скриншота, где у них выбран кривой бланк и на экране ошибка. Как, как они это сделали?
Криволапый пользователь с лёгкостью порвёт систему, которую не смог поиметь матёрый хакер, и даже не поймёт при этом, что он натворил и как его угораздило.
#9086: Прости нас, Юра!
13:00 29.04.2012, IT happens
Несколько комментариев из кода:
{ оставим это до лучших времен… }
// Юра, извини
// … вот это нигде не используется, но на всякий случай… ^_^
#region ХХХ — пока неясно, где это юзается — уже ясно
// ХХХ: изменения в данном запросе, помеченные как -=#death#=-, исправляют ошибку, которая не совсем есть, работают неизвестно как и приводят неизвестно к чему. Теоретически всё абсолютно корректно, но на практике это нашими учёными богословами ещё не доказано.
// ну и изврат…
// предотвращая возможные вопросы: делаю поддержку XXX на уровне YYY, а не на уровне ZZZ из-за лени
#9087: Полярные проблемы
13:00 29.04.2012, IT happens
Работаю в большой организации в IT-отделе. Время от времени настраиваю домашние машины сотрудников на работе — и время терять не надо с выходом на дом, и все необходимое (софт и запчасти) под рукой.
Приходит очередная машинка со сгоревшим БП. Договорились, что новый блок я покупаю сам — бюджет достаточный. Сказано — сделано. Беру хороший БП на 400 Вт, подключаю только проводами, не прикручивая, проверяю — все отлично, только вылетает сообщение о нераспознанном процессоре. Материнка MSI. Вспоминаю, что у самого когда-то на такой же почти матери были те же проблемы, решаемые путем обновления прошивки BIOS. Скачиваю прошивку, заливаю на загрузочную дискету — загрузки нету, полудохлый флоповод. Подкидываю наш, сбрасываю настройки BIOS путем извлечения батарейки, которая вставляется в вертикальный отсек, а не плашмя, как обычно на материнках. С одной стороны, меньше площади на матери занимает, с другой - не очень удобно извлекать батарейку из держателя.
По ходу дела снимаю мертвый БП, прикручиваю новый, ставлю батарейку, загружаюсь, перешиваю BIOS, выставляю настройки, загружаю Винду, проверяю на вирусы. Выключаю машину, собираю корпус, загружаюсь — опа, настройки BIOS не сохранились! Грешу на дохлую батарейку, проверяю тестером — вполне годная, но на всякий случай достаю новую из шкафа. Результат тот же: настройки BIOS не сохраняются. Вынимаю, проверяю на другой машине — все отлично, даже старая батарейка хорошая. Вставляю в MSI - не пашет. Начинаю тихо злиться. После получасовых плясок вокруг системника и детального осмотра матери натыкаюсь на мелкую маркировку полюсов этого самого вертикального держателя батарейки. Оказалось, что батарейку я вставлял противоположными полюсами, в результате чего при отключении питания все настройки CMOS-чипа обнулялись, не поддержанные автономным питанием.