bash.im ithappens.me zadolba.li
3601

Бассейн и две трубы

11 июля 2010, 10:00

Есть у меня несколько серверов, в задачу которых входит сбор и обработка статистики от нескольких сервисов. Вся статистика хранится в базах MySQL. И вот однажды сервер, на котором крутилась база, начал тормозить. Это было вполне предсказуемо: объём поступающих данных постоянно рос, и требовалось всё большее время на его обработку. Так как оптимизация работы базы уже не помогала, а оптимизация скриптов уже была проведена до этого, было принято решение о переносе базы на более мощный сервер. Сказано — сделано. Железо настроено, установлена CentOS 5, MySQL, подобраны оптимальные настройки базы и написан скрипт для автоматического переноса данных.

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

Только через несколько минут до меня дошло, что умный скрипт не просто дампил базу, а выполнял полноценную одностороннюю синхронизацию данных. А в это время демоны, которых я забыл отключить, успешно стягивали и обрабатывали данные с сервисов и сливали их в старую базу со скоростью около 70 записей в секунду...

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

3600

Запомнить такие пароли легко ли?

Несколько лет назад, по молодости и глупости возомнив себя крутым хакером, решил я получить доступ к админской панели сайта одного товарища. Способ добраться до своей цели нашёлся очень быстро — «угон» дампа базы данных.
Не буду рассказывать о том, какими ухищрениями мне удалось этого добиться, но в скором времени заветный файлик был у меня. Ага! Вот она, таблица users. Находим нужные поля, копируем их значения. Имя пользователя: «admin», пароль... Ах ты засранец! Ну и пароль у тебя!

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

Лишь через некоторое время, всерьёз взявшись за изучение веб-технологий, я узнал волшебные слова «хеш» и «MD5».

3599

На посошок в последний путь

11 июля 2010, 08:00

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

На чердаке появляется абориген.

— Спирт?
— Спирт.

Абориген гулко сглатывает слюну.

— Изопропиловый.
— То есть пить нельзя?
— Можно. Но только один раз.

Постоял мужик ещё минут десять, помаялся, помялся и ушёл. Вот ведь обоняние у человека!

3598

Кот без усов

11 июля 2010, 08:00

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

Ларчик открылся, когда пришлось вскрыть ноут для чистки кулера от пыли. Доблестные сборщики забыли подключить к вайфай-адаптеру антенну.

3597

По всей стране большой подъём

Звонок от провайдера из отдела по работе с организациями по поводу поломок. Приятный женский голос:

— День добрый, ваша любимая компания, Лена. Скажите, пожалуйста, у вас все сервисы поднялись?
— От вашего звонка и голоса поднялось всё, что могло это сделать! — радуется небритый админ.

3596

Вебдванольненько

10 июля 2010, 10:00

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

Ни за что и никогда не оставляйте в макетах острых углов. Только закруглённые, особенно в полях для ввода текста. Это красиво и очень функционально.

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

Обязательно используйте полупрозрачность, особенно в меню. Особенно если стоит требование совместимости макета с Internet Explorer 6. И вообще, полупрозрачности как можно больше: это впечатляет пользователей.

Ах да, без этого никак. Используйте самые красивые шрифты в макете — штук пять-шесть. Все оценят глубину вашего типографического вкуса.

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

Обязательно сделайте так, чтобы у выделенных полужирным слов была цветная подложка... с закруглёнными углами.

А после того, как вы нарисовали подобный макет, когда верстальщик, плюясь, рассказал вам обо всех ошибках, скрепя сердце поправьте их и обязательно повторите в следующем макете. Это же так приятно — каждый раз объяснять вам одно и то же.

3595

Сдаюсь: отмазки кончились

10 июля 2010, 08:00

Воюю с техподдержкой мобильного провайдера по поводу 3G-модема.

— Что за дела?
— Это у вас местность с плотной застройкой — сигнал не проходит.
— А почему раньше проходил? Перестроили весь микрорайон за две недели? У меня из окна вышку видно. Сигнал — максимальный.
— У нас сеть перегружена.
— С мобильника выхожу — не перегружена, а с модема — перегружена?
— У нас технические работы.
— Круглосуточно? В течение двух недель?
— Это у вас вирусы на компьютере!
— Девочка, если ты мне в линуксе найдёшь хоть один вирус, я тебе Бентли в горошек подарю!
— Сейчас посмотрим... У вас ограничение стоит из-за превышения лимита трафика.
— Превышение лимита на безлимитном тарифе?
— Ну... Э-э-э... У вас недостаточно средств на счету!
— Я только что положил 500 рублей, на счету было не менее 250. Сколько тысяч мне ещё положить для достаточного баланса?
— Я не знаю. Чем вам ещё помочь?!
— Интернет мне сделай!
— Ну... Я постараюсь.

— Девушка! Да, это снова я. Снова по поводу интернета.
— Проверьте модем на вирусы.
— Можно мне другого, более грамотного специалиста?!
— Нет!
— Почему?
— Я самый грамотный специалист!
— Окей. Тогда расскажите мне, как проверить модем на вирусы.
— Вы что, не знаете? Берёте антивирус, загружаете его в модем и проверяете. Если вирусы есть, вам нужно выбросить этот модем и купить новый. Самое главное — не класть старый модем и новый близко, иначе вы заразите новый.
— Девушка, я понимаю, что вам, возможно, понравился мой голос, но я бы хотел, чтобы вы позвали другого, более грамотного специалиста.
— А как ты... вы догадались? Нет! Не позову! Все заняты! И вообще, ты ничего не понимаешь в компьютерах!

3594

Через тернии к const'ам

10 июля 2010, 08:00

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

На следующий день открываю код и вижу это. Восемь строк кода, не считая самого запроса, заменяются банальным «НужныйЭлемент = ЭлементИзКонстанты». Нефиг забивать гвозди микроскопом!

3593

Не экономьте на Вакомах

10 июля 2010, 08:00

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

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

Документ уходит адресату, подпись остаётся на месте, я лишаюсь месячной премии.