Posts Tagged Programming

今更ながら技術評論社のサイトに感動する。

すっごい今更間がありますが、技術評論社の最後はWeb関連の開発に携わっている身としては、RSSでチェックして、読み物をしっかり読むってことができるなかなか最適なサイトじゃないですか。

技術評論社 gihyo.jp

お昼休みに読むようにしようっと。

Tags: ,

swftoolsをセットアップ

Linux上でswf生成が必要で、いろいろ調べたんだけど、mingは開発が止まってしまっているようなので、それよりは進捗しているであろう、swftoolsを使うことに。

SWFTOOLS
http://www.swftools.org/

この辺とかも参考にしました。mingを流用というか、参考にしているみたいですね。
http://auicon.freeownhost.com/blog/blosxom.cgi/2005/10/07#swfdef
http://akihiro.jugem.jp/?eid=175

OSは、CentOS 4.6。CentOS 5系にしなかったのは、本番運用を想定しているのが、4系なので。ま、今回はswftoolsが使えるかどうかのテストみたいなもんだからね。

で、freetype, jpeglibが必要みたい。jpeglibは、libjpegで良いのかな。これは、すでにインストール済みだった。ただ、develパッケージはそれぞれ入っていなかったようなので、入れる。

yum install libjpeg-devel
yum install freetype-devel

で、swftoolsのソースをダウンロードしてコンパイルする。今回は、バージョン0.8.1を入れました。

[root@labs src]# pwd
/usr/local/src
[root@labs src]# cp ~double_k/swftools/swftools-0.8.1.tar.gz .
[root@labs src]# tar zxvf swftools-0.8.1.tar.gz
[root@labs src]# cd swftools-0.8.1
[root@labs swftools-0.8.1]# ./configure
[root@labs swftools-0.8.1]# make
[root@labs swftools-0.8.1]# make install

とりあえず、コンパイルできたみたいなので、サンプルを作ってみる。ドキュメントの一番シンプルなやつで。
http://www.swftools.org/swfc/swfc.html

[double_k@labs sample]$ which swfc
/usr/local/bin/swfc
[double_k@labs sample]$ swfc sample1.sc
[double_k@labs sample]$ ls
box.swf sample1.sc
[double_k@labs sample]$ ls -l
合計 8
-rw-r–r– 1 double_k double_k 1841 1月 26 19:05 box.swf
-rw-r–r– 1 double_k double_k 206 1月 26 19:04 sample1.sc

無事、生成できました。PCのブラウザでも再生できました。で、とりあえずこれが携帯で再生できるかを確認。ここからが本題だからね。

検証機種は、DoCoMo P905i, SoftBank 705NK, SoftBank 904SHの3つ。で、P905iはさすがにFlash Lite 3なのでそのまま再生しました。後の二つはダメだった。まぁもっとも705NKは特殊だから、良くわからん。(705NKはFlash Lite 2だと思っていたんだけどね。)

でもまぁ、コンパイルできたし、これで調整する気力がわいてきました。

Tags: , ,

SOAP::Liteを使ったAmazonとの通信について

ここ数日、これがうまくできなくて非常に悩んでいました。で、現時点での結論はSOAP::Liteを使ったクライアントは動作しないのではないかと思う。現状、SOAP::Liteのバージョンは、0.71を使っています。

ここまでたどり着いた理由はいくつかあって、まずAmazon Webサービスの利用をRESTではなくSOAPを使おうとすると、検索して出てくる情報が結構古いのです。古いPerlのスクリプトをできる限り調整しても、下記のようなエラーメッセージが出ます。

String value expected instead of SOAP::Data reference

これは、String型で受けなければならないところが、SOAP::Data型できているから、エラーだよ。っていうメッセージなんです。もっとも、この英語は理解したというより友人に教えてもらったのですが。

とりあえず、PHPでSOAPを使ってみようとやってみました。そしたら、それはあっさりと動く。ということで、それをベースにperlで書き直してみると、今までSOAP::Data型で渡していたところが、どうやら軒並みStringで渡すようになっている。となると、perlの連想配列で情報をやり取りすれば良いってことになる。それで書き直してみると、また新しいエラーメッセージが出るようになりました。

Element ‘XMLEscaping’ can’t be allowed in valid XML message. Died. at /usr/lib/perl5/site_perl/5.8.8/SOAP/Lite.pm line 1378, line 855.

このエラーメッセージをたよりに、検索してみると、このURLが見つかったのですが、どうもこの人も同じようになぜ、正しくやっているのにダメなんだ?と嘆いています。たぶんこの人と思われる人が、英語版のamazonディスカッションボードに投稿しているのですが、2007/12/2から回答が何も付かない状態です。

解決していないところをみると、現状ではSOAP::Liteを使ってのクライアントはできないのだと思います。PHPではSOAPクライアントが動いていますから、Amazonの問題ではなく、SOAP::Liteの問題だと思います。

ちなみに、perl -MCPAN -e shellを使ってCPANインストールをしたのですが、この環境では以下のワーニングも出ていて、問題がありそうです。

Subroutine LWP::UserAgent::redirect_ok redefined at /usr/lib/perl5/site_perl/5.8.8/SOAP/Transport/HTTP.pm line 41.
Subroutine LWP::Protocol::collect redefined at /usr/lib/perl5/site_perl/5.8.8/SOAP/Transport/HTTP.pm line 59.
String value expected instead of SOAP::Data reference

Tags: , , ,

Movable Type 4漬け

仕事で、すっかりMT4漬けになっています。ま、先週、今週ぐらいですが。主に何をやっているかって言うと、テンプレートタグを駆使してあがってきたデザインにあうようにすること。もう一つは、MTしかないのに、ちょっとしたベーターベースの処理をすること。

前者は、少しずついろんなことができるようになりました。MTSetValとMTIfの組み合わせが結構面白いです。これとTagを使って、カテゴリ間の相互リンクみたいのを実装してみたりしました。苦労したけど、どうなんだろ、普通のことかな。
後者ですが、ぎりぎりまでは、XML-RPCを使って、直接MTのデータベースをSELECTしたりするのはしたくなかったのですが、最終的にはすることになってしまいました。まぁ、XML-RPCだけだとどうしても処理が重たいから、いずれは回収しないとダメかもしれない。
ま、何をやったかはいずれまとめようかな。とはいえ、世のブログにはもっと詳しい情報は出ているわけですけどね。あ、あとXML-RPCで本当はXML Parserを使いたかったけど、結局今回もきちんと使いきることはできませんでした。

Tags: ,