div.main {margin-left: 20pt; margin-right: 20pt}
О магии имен Автор: Сергей Голубицкий, sergei@internettrading.net Опубликовано:
28.01.2002 Оригинал: http://www.softerra.ru/review/util/golub/15537/
Сегодня в Голубятне речь пойдет не просто о
замечательной программе, но и о магии имен. Поначалу — традиционный
follow-up.
То ли народ подобрел душой, то ли мне
посчастливилось наступить на коллективную подагрическую мозоль (все сами
настрадались!), но эссе про интернет-магазин Wstore.ru со товарищи вызвал ласковую бурю. В
том смысле, что меня не стращали привлечь за базар, как это было в незапамятные
времена по поводу статей о Фидо, а напротив, ринулись писать письма о
собственном пережитом опыте, который как две капли воды похож на мой
собственный. Даже еще макабричней. Чего стоит попытка одного читателя приобрести
в Wstore.ru фотоаппарат Nikon CoolPix 885! Товарищ сделал заказ 7 декабря (так
что списать на новогоднюю суету ну никак не получается!) и ждет до сих пор
(письмо от этого читателя я получил 17 января). Самое замечательное в этой
истории, что последний раз «вэсторовцы» выходили на связь 12 декабря, чтобы
сообщить о невозможности доставки в срок из-за «отсутствия свободных курьерских
машин» и попросили подождать до завтра (13 декабря). А потом уж — с
концами! Вот уж точно: «Обещанного три года ждут!».
В том же контексте сайт Price.ru торжественно поблагодарил
меня за проявленную бдительность, вручил орден имени Павлика Морозова и сообщил
в письме, что все цены Wstore.ru на их сайте приведены в строгое соответствие с
реальностью (чтоя не преминул проверить: таки да! — с неизбежной
потерей верхнего места в списке лучших цен — по цифровым камерам Casio
3500 по крайней мере).
Однако «Новогодняя
опупея имени Абдурахмана Котлера» отозвалась и самым невероятным образом.
Во-первых, так: «Хочу попросить вас об одном одолжении: дело в том, что мой друг
считает что Абдурахман Котлер — реально существующая личность, типа
Остапа Бендера, я попытался ему доказать что это, IMHO, намек на незабвенного
классика маркетинговой писанины Филиппа Котлера. Если я прав, я был бы вам очень
обязан, если вы ему напишете об этом (ну, и мне тоже, чтобы я знал). Тут не дело
принципа: он мне обещал пиво или помощь в подготовке курсача по Деталям Машин по
моему выбору, если я прав». Курсач и пиво — дело святое, поэтому
подтверждаю, что речь шла о тошнотворных и столь же бесполезных творениях
«доки-продавальщика».
Во-вторых, совсем уж удивительное: «А что зайка
ответил волку?» Даже и не знаю, как это транскрибировать в журнале, который
читают дети: когда волк поведал зайке об отсутствии гирьки и предложил ему
насыпать соль на глаз, обиженный косой ответил: «Насыпь себе на …, собака
страшная!»
Ну а теперь поговорим о магии имен. Первое
волшебное слово — «колгосп», что на литературном
украинском языке означает «колхоз». Когда в очередной раз у меня зачесался
Гондурас глобальной автоматизации, я так и подумал: «Хорошо бы найти программу,
которая умела проделывать все возможные операции над HTML-файлами, но не над
каждым в отдельности, как обычные редакторы, а колгоспом, то есть
скопом!». Поясню, о чем речь. У меня скопились огромные массивы данных, которые
хоть и хранятся в формате HTML, однако а) содержат чудовищный объем избыточной
информации, б) напрочь лишены стилистического единства.
Дело в том, что документы в формате HTML в массе
своей попадают на наш компьютер — вы угадали! — из
интернет-сайтов. А, как известно, сколько сайтов, столько и да Винч. Поэтому
странички перегружены баннерами, cgi-скриптами, линками, логотипами, джавой и
прочей гадостью, которая иногда достигает 50% от объема полезной информации.
Вполне естественно желание всю эту творческую накипь взять и срыть. При этом
желательно, чтобы документы в нашей домашней (или рабочей!) базе выглядели
одинаково как солдатские затылки.
Надо сказать, что программы батч-обработки
данных мне периодически встречались, однако их «батчевые» достоинства сводились
на нет жалким набором доступных функций: ну там таги удалить, изменить заливку
фона со шрифтами, еще парочка телодвижений. Но вот настоящего
колгоспа-миллионера, способного задушить по осени могучим урожаем всю
запорожскую область, как-то не попадалось.
И вот недавно, ковыряясь глухой ночью в
безбрежных списках Депо Давида, меня сразила наповал одна никому неведомая
программка. Сразила своим именем. Вот оно — второе волшебное
слово — Hutmil! Мистическое сочетание полного благозвучия и полной
бессмысленности: помесь барака с мельницей, зачатая орфографическими хулиганами
из компании Triplehash (третье волшебное слово!). Этот «Тройной хаш» заставил
меня — вегетарианца с 15-летним стажем — содрогнутья!
Представьте себе: высоко в кавказских горах аксакал в бурке всю ночь напролет
варит жемчужину русской похмельной кулинарии — студенистый хаш из
парнокопытных ног, рубца и почечного сала. А тут в далеком Порту Елизаветы
(Южная Африка) объявились буры-умельцы, замахнувшиеся на «ТРОЙНОЙ ХАШ»! Что же
это, как не старший брат средневекового афродизиака из корня мандрагоры и спермы
висельника?!
Короче, мое филологическое чутье не могло
подвести: программа с таким названием, слепленная
такими парнями, не может быть отстоем. Как же я был прав!
Hutmil оказался настоящим батчевым колгоспом! Сначала мы подготавливаем массив
для обработки (queue) из файлов HTML, XML, XHTML и простого текста. Потом
начинаем варить «тройной хаш». Ингридиенты:
Перегонка ASCII в HTML и обратно;
Изменение расширений;
Изменение строчных букв в названиях файлов на заглавные и обратно;
Снижение и повышение уровня референций линков (в результате изменения
структуры сайта часто приходится менять что-нибудь типа "style/style.css" на
"..style/style.css");
Удаление единичных тегов (разумеется батчевое по всему подготовленному
массиву!);
Детальная модификация тега BODY;
Детальная модификация мета-тегов;
Добавление стилевых линков (Stylesheet Links);
Настройка строки DOCTYPE;
Удаление комментариев;
Многострочный поиск и замена текста;
Кондициональная замена атрибутов и значений тегов;
Замена атрибутов WIDTH и HIGHT тега IMG;
Оригинальная технология IntelliReference для динамического поддержания
референций линков в теге BODY и при добавлении стилей (Stylesheet Links);
Оригиальная технология директив (directives), создающая специальные
комментарии для динамического удаления любого кода, расположенного в границах
заданного региона (<!-- JS-HUTMIL-REGION-START:RegionName -->… <!--
JS-HUTMIL-REGION-END:RegionName -->).
|