coolwolf0 - Северный наблюдатель (coolwolf0) wrote,
coolwolf0 - Северный наблюдатель
coolwolf0

Categories:

Teaching an old dog new tricks

Как оказалось, замести мусор под ковер - не достаточно хорошая идея для решения архитектурных проблем в аппликации. Мои попытки вдохнуть новую жизнь в парсер RSS, написанный черт-те-когда на Перле, натолкнулись на старые-престарые проблемы. Дело в том, что библиотечный SAX парсер где-то глючит и "чикает" буфер приводя к ужасным перекосам в тексте. Так что я рано радовался - после перекомпиляции читать новости стало еще проблематичнее: они хоть и загружаются без падения сервиса, но текст вылезает наполовину "закрякозябренный".

В связи с вышеизложенным было принято паллиативное решение: перестать лохматить бабушку и отдать парсинг RSS в руки более продвинутым инструментам. В качестве самого подходящего исполнителя был выбран, конечно же, Пайтон. И действительно, его парсер сработал буквально с пол-пинка. В качестве языка сериализации данных было решено использовать столь популярный ныне JSON. Как оказалось, соответствующего модуля в моем списке Перл-библиотек не оказалось, так что пришлось позаимствовать у Strawberry. А вот задача написать встречную часть на Перле превратилась в целую проблему: за 4 года отлучения от языка у меня остались весьма туманные представления о его синтаксисе.

И вот тут я начну ругаться, поэтому уберите от экранов женщин, детей и беременных программистов. Как я мог так долго программировать на языке, в котором НЕЛЬЗЯ описать параметры подпрограммы, где тихо возвращается "пустота" при доступе к несуществующему полю, где один и тот же идентификатор может использоваться для обращения к РАЗНЫМ объектам (скаляр, массив, хаш, функция), где перехват exception организован как целая войсковая операция, а оператор печати НЕ ПЕРЕХОДИТ на следующую строку, где отовсюду торчат рога и копыта шелла, включая крякозябрские имена служебных переменных!!? Как можно гордиться умением писать программы на языке, который полу-официально называется "write-only" за ужасную нечитаемость синтаксических конструкций? А эта странная фраза "собака - друг человека" манера городить аргументы без скобок - куда это годится?!! Не удивлюсь, если окажется, что он тайно посещает любовницу на Перле можно в гольф играть (шутка с долей правды). Вот ведь молодость, какой только фигнёй мы не страдали...

UPD: готово! В одну телегу впрячь смогли мы коня и трепетную лань. Старый конь перловый код вызывает вместо своего покореженного модуля внешний экзешник (написанный на изячном Пайтоне). Экзешник скачивает с указанного адреса RSS и парсит его XML. После этого дампит полученную структуру на stdout в JSON-формате. От Перла теперь только требуется "подставить ладошки" и принять готовые структуры. В принципе такая архитектура - первый шаг к созданию эдакого RSS-прокси, который будет удаленно аггрегировать информацию для локального приложения.
Tags: дыбр, компьютеры
Subscribe

  • Как я уделал винду

    Да, это заняло почти весь выходной день, и ситуацию инициировал я сам, но никаких умышленных диверсий не проводилось. Итак, начнём по порядку. Утро…

  • Дыбрики 2021

    Получили с женой вторую дозу вакцины - она на следующий день чувствовала себя не очень (пришлось отменить прогулку в окрестностях стольного града…

  • Тряхнул стариной (и немного новизной)

    Для нового проекта в области DevOps учу кучу незнакомых вещей: все эти IPMI, DCMI, SNMP и прочая, и прочая. В одной из под-задачек понадобилось…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments