Jun 20, 2005
Amazon最速検索を作ってみた
デモここから。http://la.ma.la/misc/aws/demo.html
説明書はこれ。
http://la.ma.la/misc/aws/
-IE6、Firefox、Opera8で動作確認しています
-Safariではスクリプトの動的ロードが出来ない関係で、動きません。
-IFRAME内にパラメタ渡したCGIでscriptタグ生成とかやれば出来ないことも無さそうだが面倒なのでパス。
このエントリで書いた
http://la.ma.la/blog/diary_200504140039.htm
>検索エンジンがJavaScriptで検索結果を出力するインターフェースを備えていれば、CGIが使えないサーバーでも、クライアント側の制御だけで動的に検索結果を読み込むことができるようになります。
この理論を実際に実践してみた、といったところです。
Ajaxというよりむしろ、ブラウザベースのJSON-RPC的な何かという感じで、俺がAdaptive Pathなら新しい名前をつけてやる所なのですが、とりあえずAjaxで。Ajaxでいいと思います。
開発期間は最初のバージョンに7時間、後は微調整に1日ぐらいです。
注目すべき点はこれがCGIを全く使わずに動いているという点で、総ファイル数は2つ。htmlファイル(8KB)とxslファイル(6KB)、合わせて15KB以内です。後は全部Amazon任せで、他のライブラリも一切使っていません。
問題としてはブラウザからAmazonに直接クエリを投げるやり方だと、不特定多数のユーザーから使われた場合に検索回数の制限をオーバーする可能性があるので、実際はサーバーサイドでのキャッシュをつけるのが望ましいだろうとは思うのだけれど、とりあえず、現時点でのバージョンをデモンストレーションとして公開することにします。
もしAmazonのサーバーリソースが無限であるならば、こういうやり方もアリ、だと思います。
現在のバージョンはあくまでデモンストレーションです。実際は、JavaScriptだけで動いてるなどと言っても、一般大多数にとってはどうでもいいことなので、アフィリエイト作成支援や、素早くクリッピングして本棚作成とか、そういうサーバーサイドの処理と組み合わせて完成形、ということになると思います。
まあ技術的に面白いとか仕組みが面白いとかそういうことを書くのは技術者の悪い癖で、一般ユーザーにとっては、結局何ができるのかにしか興味がないわけで、けれども、あえてそういうことを書いていきたい。
この不完全で中途半端な段階で公開するのは、たかだか15KBでも、高価なサーバーが無くても、少ない労力でも、それなりのものを作ることが出来るということを広く知って欲しいと思うからです。
----
ついでに、ライセンスのこと
ライセンスはArtistic Licenseにします。訳文参照。
http://www.opensource.jp/artistic/ja/Artistic-ja.html
自分専用に改造したり、改造したものを名前を変えて公開したり、
あるいは参考にして全く別のものを作るのは完全に自由です。
変更点がどうとかはソース見ればわかるので、あんまり気にしなくて良いと思う。
よくmisc以下に置いてある、単発のJavaScriptで作った簡単なアプリとかは
基本的に著作権とか主張する以前の、単なるサンプルのようなものなので
好き勝手改造して公開したり、なんかに組み込んだり、
必要だと思うならオリジナルにリンク張るなりしてくれればいいです。
あなたの作ったものはあなたのものです。好きにしてください。
今回のはアソシエイトIDやらデベロッパートークンやらをソースに含んでいる関係で、コピーしたものをそのまま公開されると困るな、と思ったのでライセンスを明記することにしました。そんな感じです。
Edit this entry...
wikieditish message: Ready to edit this entry.
A quick preview will be rendered here when you click "Preview" button.