bash.im ithappens.me zadolba.li

12030

По кубику в минуту

Работаю в крупной компании. Вот обычные сообщения наших айтишников относительно базы 1С.

* * *

Добрый день, коллеги!

С прискорбием сообщаем: база «Филиалы» укурилась транзакцией до беспамятного состояния. Во избежание потери незафиксированных в памяти базы транзакций убедительно просим вас самостоятельно закрыть программу в 10:40 (Мск). Приведение базы в чувства путём инъекции 30 кубиков адреналина в сердце займёт около 30 минут — по кубику в минуту.

С уважением,
служба ИТ и КС

* * *

Сегодня при проведении инъекции адреналина в базу УПП «Филиалы» выяснилось, что забыли вынуть иглу из сердца оной, в связи с чем просим вас освободить базу для очередного вмешательства в течение следующих 15 минут. Вмешательство будет произведено в 13:10 (Мск).

* * *

Иглу вынули, базу «Филиалы» из состояния искусственной комы вывели. Удачных транзакций!

* * *

Добрый день, дорогие коллеги!

В честь присоединения Крыма к России и создания новых субъектов федерации мы решили устроить праздничную перезагрузку сервера баз данных и всех серверов «1С: Предприятия». Для чего просим вас в течение следующих 15 минут просим приколоть ленточку с цветами российского флага к левой стороне груди (ближе к сердцу) и выйти из всех баз всеми пользователями. В 10:15 свершится перезагрузка серверов.

С праздником, дорогие товарищи!

* * *

И работать веселее. Люблю их!

12029

Жёлтые преграды на пути к светлому будущему

Производственное предприятие. Одно из немногих в России делает микроэлектронику. Сращиваю «жёлтую программу» с конструкторской, в которой спецификации изделий ведутся. Пользователь жалуется: не обновляет спецификацию при переливе из одной программы в другую. Ищу, разбираюсь — а там в одном месте изделие называется «Блок питания БП07», в другом — «Блок БП07», а в третьем вообще « БП07» (с пробелом).

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

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

11797

Мой жёлтый увалень

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

Увиденное повергло меня в шок. Транзакции, триггеры, процедуры, составные индексы, встроенный язык программирования — вот чего там нет. Мощнейшая БД используется как простое хранилище. Эту бы программу да на MongoDB, ибо большего не надо, хотя даже Mongo будет многовато при таком обращении с данными.

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

11794

Ни байта врагу

Открытие/закрытие «сетевого окружения», «моего компьютера» или вообще любого просмотрщика файлов при установке «семёрки» под «семеркой» — довольно известный глюк. Расскажу о ещё более изощрённом.

Работаю мальчиком по вызову. Вызывает клиент: не запускается жёлтая программа. Несколько минут думает, затем выдаёт сообщение: «Недостаточно памяти».

Железо хорошее, процессов лишних не наблюдается. В общем, с памятью проблем нет.

Размер базы? Да нет, очень даже маленькая. Для проверки создаю чистую конфигурацию — результат тот же.

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

В конечном счёте путём использования очень сильного колдунства выяснилось, что этот самый файлик с паролем конфликтует с… драйверами для модема. Сносим модем — программа запускается. Прелесть!

После этого случая я понял, что теперь видел всё.

11783

Попытка деления на букву О

Много байтов здесь пролито об известной жёлтой программе. Сейчас я поведаю прохладную историю про их сервер под линукс.

Под линём шайтан-программа работает под PostgreSQL, любезно пропатченной самой конторой. Волшебно! Есть RPM, DEB, SRC. Хорошо, думаю, мужики поработали. Поставил, быстренько настроил — полетело! Наивный маленький админёнок. Postgre при установке DEB x64 стал ругаться на то, что он скомпилён без использования формата дат в 64-разрядном виде, а у меня (внезапно, откуда бы им взяться в Debian 7 x64) они есть. Вздохнул, скачал исходники официальной Postgre с патчами, сконфигурил с поддержкой этого самого формата, накатил патчи, компилю. А дальше всё как из широко известного в узких кругах произведения:

— Ошибка! Попытка деления на букву О!

Доморощенные программеры забыли объявить класс. Я далёк от программерства и ничего сложнее bash-скрипта написать не могу, посему пошёл курить форумы. Оказалось, что этой проблеме уже n + 1 лет, и до сих пор никто даже не почесался её исправить. Хорошо, правлю указанные файлы, компилю, ставлю.

/etc/init.d/postgresql start. «No such a file or directory», — молвит мне Дебиан. Эм, простите, что? Лезу в каталог и не нахожу абсолютно ничего похожего на скрипт запуска. Прифигеваю, пишу этот самый скрипт и прописываю его в автозагрузку. Причём я точно знаю, что постгрешка из репозитория имеет этот самый скрипт. Запуск показал, что дефолтных конфигов тоже не завезли. Нахожу дефолтные конфиги, правлю их — вроде взлетает. Ставлю сам сервак. Он даже поставился из бинарников! Вот это прогресс, вот это инновации! Запускаю скрипт настройки сервера — и снова:

— Ошибка! Попытка деления на букву О!

Угу, в скрипте пропущены кавычки. Ради смеха иду читать древность сей ошибки — и что бы вы думали? Да, ей ровно столько же лет, n + 1. Запускаю скрипт снова. Он говорит, что я не поставил такие-то зависимости. Эм, да? Вроде ставил, склероз замучил? Нет, Aptitude уверяет меня, что с головой у меня всё в порядке. Ага, шайтан-программа под линукс не понимает линуксового разделителя в виде двоеточия в пути к библиотекам! Делаем сотни симлинков, указываем ему одну директорию. Ох, неужели, он взлетел! Дальнейшие пытки расписывать не буду — это уже чисто мои косяки.

Так что вы там писали про крупные компании с оборотом, сопоставимым с ВВП небольшой страны? Даже не надо пересекать границу для нахождения оных.

11731

Установка с толкача

Вам не приходилось ставить обновление на 1С 7.7 на Windows 7? Эта скотина зависает посередине установки наглухо. Что я только не делал — и перезапускал установку, и менял пути от системных до временных, и выставлял режимы совместимости от ХР до 98-й… Итог неутешительный: виснет посередине установки.

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

11356

Проги нет, отмазок хватит

Отправка писем в головной офис жёлтой программы по разрешению поставок — это нечто. Всегда новая, занимательная история.

Итак, четверг. Клиенту кровь из носу нужна программа. Причём такая, которую мы (в силу не всех полученных сертификатов) должны заказывать по разрешению из столицы. Структура проста, да не совсем, как показывает практика:

1. Заполняем форму на сайте техподдержки.
2. Москва высылает разрешение.
3. Отправляем это разрешение (ну, или звоним) региональному франчайзи.
4. Если всё ОК — заказываем отгрузку.

Заполняю форму и курю бамбук. Приходит письмо: дескать, всё, разрешаем вам приобретать товар, обращайтесь к региональному франчайзи. Ну, само собой, активизирую свою деятельность, дабы успеть заказать отгрузку до конца их рабочего дня. Милые девы кивают головами (так мне представилось), что всё нормуль, завтра отгрузку ждите. Глубоко вдохнув, беру вещи, иду домой.

Обычно про отгрузку нам звонят ближе к обеду. Так что утро ничего не предвещало. Ближе к обеду мозгом начала понимать, что отгружать ничего не будут. Звоню. Барышни говорят, что корень вам многолетнего растения по всей морде. Делаю круглые глаза: почему же? А потому, оказывается, что такого разрешения нет, а, следовательно, никакой отгрузки. Фигвам — индейская национальная народная изба. Пишите в Москву.

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

Пятница с разборками и доказательством того, что ты не верблюд, прошла. Доказать, к слову, так ничего и не удалось. Затем прошли выходные. А в понедельник пришло письмо: новое разрешение с новым номером. Что было до этого — понятия не имею.

11269

Расбухгалтерило в клочья

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

— Смотри, как Иванов разбился! — указывает расчётчик на экран с жёлтой программой.

— Бедный Иванов! Когда он успел?

— Не паясничай! Смотри, как его раскидало.

— Это ж надо было так разбиться, чтоб ещё и раскидало…

Работа бухгалтерии встала на полчаса.

10953

Скриптовый бух лучше старых двух

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

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

В пресловутой жёлтой программе есть таблица с наименованиями некоего имущества. При миграции на новую версию там слетели какие-то связи. Мне сказали, что программист сделал всё, что мог, но вот один тип связей нужно прописать вручную. Что от меня требовалось: для каждого наименования двойным щелчком или Энтером вызвать окошко со свойствами, там выбрать определённую вкладочку, там нажать на кнопочку, вылезет другая табличка, и там уже просто нажать Энтер. Табличка закроется, и в окошке свойств нужно будет нажать ОК.

И всё бы ничего, но в таблице той было 20 тысяч наименований. Самое удивительное, что тётенька уже два дня занималась этой ерундой. За два дня она «обработала» 190 наименований.

Разумеется, я такими глупостями заниматься не собирался. Прикинул, что даже если на каждое наименование у меня будет уходить секунда (что недостижимо с той паралитичной мышкой, что была подключена к компу), то на 20 тысяч уйдёт около 6 часов. После такого марафона я не ручался бы за своё психическое здоровье. Поэтому я решил автоматизировать этот процесс. Я потратил пару часов на поиски программки-кликера и нашёл идеально подходящую для этой цели софтинку. Есть запись действий, есть редактор скрипта, даже установки не требует. Записал действия, отредактировал скрипт, протестировал на десяти повторениях, перепроверил ручками — всё работает правильно. Протестировал на 200 повторениях, поставил на 2000, пошёл курить. На 2000 ушло около десяти минут. Посчитал, сколько осталось наименований, поставил в счётчике цикла это число и пошёл заниматься в спортзал. Убился вусмерть, заскочил в кабинет — там ещё 3000 осталось. Помылся, побрился, привёл себя в порядок, зашёл ещё раз, забрал флешку с волшебной программкой и пошёл спать. Нужно было видеть глаза этой тётеньки, когда я, возвращая наутро ключ, сказал, что всё сделано.

Меня пугает в этой истории один факт: эти люди получают очень неплохие деньги за то, что занимаются вот такой тупостью регулярно. Но стоит показать им силу макросов и скриптов — они не станут учиться ими пользоваться, а задолбают тебя и вообще сами работать перестанут. И это прискорбно.