Ktouth Brand. on Web

け〜くんこと K.Ktouth のだらだらした日常と突発的に作るプログラムや読み物とかの雑多サイト



[2010年11月26日]

Hpricot ではなく Nokogiri で

2010年11月27日 02:00更新 筆者:K.Ktouth

冬眠間近だっただろうカエルw

溜まったネタ写真を消費しないと……(ぉ
いかにも季節外れになって泣く泣くお蔵入りした写真が結構あったりする(笑)


昨日悩んだ Hpricot の segmentation fault バグですが、結局 Hpricot、ひいては amazon-ecs を使用しないことで対応しました(ぉぃ

いや、もともと使用する候補となっていたECS4.0に対応し、現在もメンテナンスされているAmazonアクセス用のライブラリは……

  • amazon-ecs

    • CGI、Hpricotを使用
    • gem内にドキュメントがない
    • 比較的シンプル
  • ruby-aws

    • CGI、REXMLを使用
    • ショッピングカート機能があるらしい
    • gem形式だがRAAにアップされていてrubygem.orgには同名別プロジェクト(しかもメンテが止まっているもの)があってインストール時に勘違いしやすい

があるみたいで、ざっとググってみると前者を使う人が多い模様。まぁ今時gem install xxxx でささっと入れることが出来ないものはそうそう流行らないよねって事ですな(ぉぃ 後者の方もサイトからアドレスをチェックして wget → ローカルから gem install すりゃいいんですが。

で、手間を考えればXMLパーサにHpricotを使う前者の方が高速だし、いいよねって思って使ったのに……昨日のバグですよ。
ググってみるといくつか似たような事例があるようで、「nokogiriを使え」みたいな回答が見つかりました。

そう。CGIライブラリを使っているのもあまり気に入らなかったし(ぉぃ、人のライブラリを大きく改造して使うくらいなら現行の日記で使っていた自前のライブラリを改修して使うかーって事に(笑)
自前のも CGI/REXML で処理してたんですが、これを独自コード/nokogiriで解析する形に。
で、キャッシング機構はYAMLではなく Sequel::Model をつかって単純化。

……丸一日かかったよー

本日のリンク元
その他のリンク元
検索