« May 2003 | メイン | July 2003 »

June 28, 2003

XML-RPC on perl

perl で XML-RPC するためのモジュールとしては,

 ・XMLRPC::Lite
 ・Frontier-RPC

がある.
前者は,SOAP-Lite の一部なので,SOAP-Lite ごと入れる必要がある.
後者は,あの expat に依存している.避けてはとおれないのか.

投稿者 msano : 04:05 PM | コメント (5) | トラックバック

June 26, 2003

perl のライセンスについてのメモ

RNA(アンテナ)では,perl のCPANモジュールや,CPANモジュールを改変したものを使用している.なので,ライセンスの件が心配だったが,どうやら問題なさそう.
しかし,改変点などは明記しておかないといけないらしい.

CPAN モジュールのライセンス
より,
「Most, though not all, modules on CPAN are licensed under the GNU Public License (GPL) or the Artistic license and should be stated in the documentation that accompanies the module itself. If the license is not specifically stated in the module, you can always write the author to clarify the issue for you.」
とある.モジュールによって違うらしい.
GPL って,改変して再配布するときも GPL じゃないといけないんだっけか?こういう話って苦手だ.
Artistic license は perl に採用されているライセンスなんだそうな.GPLよりもっとゆるいのかな.
ある Webサイトにある Artistic Licenseの和訳 によると,
「あなたが改変したファイルのそれぞれにいつどのようにそのファイルを改変したかを述べる記述を明りょうに書き加え、かつあなたが次のうちすくなくともひとつを行う」
ことが必要,とある.ひょっとして,めんどくさいのか.
XML::RSS 自体の README には,
「This package is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.」
とある.perl と同じ条件で,ということは,Artistic License にしたがって,ということか.

再配布は可能だけどめんどくさい,ってことかな.

投稿者 msano : 10:28 PM | コメント (7) | トラックバック

June 15, 2003

外部プログラムの廃止 のつづき

廃止した.
正確には,XSLT のサーバサイドでの処理をやめた.
これで,perl 100%(自分で書いたプログラムについては)になった.

しかし,perl って,外部プログラム使ってるんだな.
ぜひ使いたかった XML::RSSXML::Parser に依存していて,XML::Parser は内部でexpat というネイティブプログラムをロードしている.
ファイルをコピーしたらすぐに使える,というのを目指すため,XML::RSS の使用はあきらめた.

ちなみに,XML::Parser とあるていど互換性のある XML::Parser::Lite というものもあって,これは 100% pure perl.XML::RSS の内部でかわりにこれを使えないかとおもって試してみた(これができたら,XML::XSLT も使えることになるのだ.).でも,だめだった.XML::RSS では,XML::Parser::Lite にはない XML::Parser の機能をがんがんつかってるから.残念.

さらに,おせわになっている LWP::UserAgent も,じつは外部プログラムを使用している.正確には,LWP::UserAgent から use している LWP::Protocol から require している HTML::HeadParser で外部プログラムを使用している.
ちょっと前までこのことに気づかなかった.なぜかというと,HTML::HeadParser を必要とするのは text/html のページのときだけだから(ソースを見ると条件分岐されている).今までは,rdf ばかりGET していたから気づかなかったのだ.text/html のときには,なにかしらparse しているらしい.そんないらんことせんでいいから普通に文字列をくれといいたいが,たぶんそう考える私が間違っているのだろう.
よって,現在 semblog_antenna/ で整備されているモジュールでは,text/html のものは LWP::UserAgent から GET できない.プログラム自体は停止しないけど.

投稿者 msano : 09:59 PM | コメント (6) | トラックバック

June 13, 2003

外部プログラムの廃止

semblog_antenna/ において,外部のネイティブプログラムの使用を廃止する予定.perl オンリーのピュアなソフトにする.

投稿者 msano : 11:41 PM | コメント (7) | トラックバック

MT プラグイン

プラグインの書き方を勉強中.
参考資料
MTのドキュメント
Plugin Author Tips
MTのAPIのドキュメント

もっと,チュートリアルっぽくて充実したやつは無いのか.

投稿者 msano : 11:38 PM | コメント (16) | トラックバック

June 07, 2003

アンテナを移植

某研究室で動かしていたアンテナを,こっちに引っ越す.
もともとの環境とはOSなどが異なり,すんなりとはいかなかった.


インストールには,2つの課題がある.
 (1) そのサーバーで,何が許されているか,禁止されているか
 (2) OSの種類,perlなどのライブラリや,各種ユーティリティ(make とか)の整備状況

以下は,semblog.org へのインストール時のメモ.
すべて,上記 (2) に分類される.

 a. xslパーサ (sablotron, expat)のバイナリをそのままもってきてもうごかない.
  → OS がちがう(Linux と FreeBSD)ので,仕方ない.
 b. おなじく,build しようとしたら,Makefile の文法エラー.
  → 「dnl」という autoconf/make の特定のバージョンで使われるコメント用文字が Makefile 内に存在.「#」に変えた.
 c. おなじく,apidoc の作成でも,Makefile にエラー
  → ドキュメントっぽいので,スキップすることにした.
 d. perl のモジュールがたりない.
  → 「LWP.pm」 と, 「URI.pm」をいれた.

投稿者 msano : 08:00 PM | コメント (44) | トラックバック

June 03, 2003

out of memory!

perl で,sort しようとしたら,いわれた.
うーむ.

投稿者 msano : 10:26 PM | コメント (43) | トラックバック

June 02, 2003

Sablotron

semblog_antenna/ に,HTML へのリンクをつけてみる.
ソースから入れた Sablotron をSystem 関数で強引に呼び出すちからわざ.
perl インタフェースをきちんと整備したいところ.

i2k氏には,話が違うとか怒られそうだが,
そもそもHTML生成ルーチンがなかったのだから,ないよりましでしょう.

それにしても,少ない時間ではなかなかパフォーマンスが出ない人間だな.私は.

投稿者 msano : 11:51 PM | コメント (41) | トラックバック

June 01, 2003

RSS 表示と XML+XSLT 表示

semblog_antenna/ にちょっと手をくわえた.
RSS と XML+XSLT の両方で閲覧できるようにした.
後者は,IE じゃないとレンダリングできないらしい.

投稿者 msano : 11:20 PM | コメント (42) | トラックバック