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

  • Музыка и кино

    Музыка Jеаn-Мiсhеl Jаrrе - Wеlсоmе То Тhе Оthеr Sidе (Соnсеrt Frоm Virtuаl Nоtrе-Dаmе) (2021) Коротко: ерунда. Где хиты, где завораживающие…

  • Дыбрики 2021

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

  • Такого выпуска рецензий давно не было

    Хотя бы потому, что этот сборник рецензий - супер-юбилейный (сотый, если считать по моим исходникам на компе). Начнём с музыки Темповой рок -…

  • 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