« 画像データが取得できない現象 | メイン | amazie 商品表示トラブル »
2005年5月25日
amazie 開発謝辞&参考資料2
前回に引き続き、参考にしたサイトの紹介と、開発の流れを振り返っていきます。
解説はないですが、当時のファイルを漁ったらいろいろ出てきたので、いくつか載せてます。
参考にしていただければ。
Flashにデータを渡す
最初は、こんな感じで、XSLを使ってRSSを生成し、Flashで解析させて表示させてたのですが、表示が遅い。
どうしようかと悩んでいてしばらくして、ふと、パラメーターで渡すといいのでは?と思いつき実行。
こんな感じで渡してやると変数としてAWSからのデータを扱えるようになりました。
当時は(っても1年前ぐらいですが)、AWSのバージョンがまだ3で、画像のない商品、海外の商品のイメージを正確に返してくれないという問題があったり、パラメーターで渡すため、区切り文字の&(アンパサンド)が含まれる商品名・作者名の回避方法について悩まされたり、いろいろ苦労したのですが、この辺だいぶ前で、しかも後には悩む必要がなくなったので、すっかり忘れてしまいましたm(__)m
Flash関連では、他でも紹介されてますが、↓の本が最も参考になりました。
やりたいことを、Flash の Action Script でどう書くのか、さっと調べられてとても役立ちます。
| FLASH ActionScript辞典 | |
![]() | 伊藤 のりゆき 古籏 一浩 翔泳社 2002-08 売り上げランキング : 9,386 おすすめ平均 ![]() マニュアル代わりに手元に置きたい1册 辞典という名にふさわしい良書だねAmazonで詳しく見る by G-Tools |
今は、売り切れていますね。改訂版も出ているようです。
Bookmarklet
Bookmarkletだけは、それまでに、G-tools用のものも作っていて、少しは経験があったので、今までにやってないことに挑戦しました。
自分のツール用のBookmarkletなので、単純にASINを取得して送るだけでなくそれ以外の情報を送って、ツール側で処理することも可能です。
で、以下の機能を盛り込みました。
・Amazonのページで実行した場合、各ページに合わせた処理を行なう
・通常のページで文字列を選択していれば、それをキーワードにして検索する
1つ目の処理ですが、なぜこんな機能をつけたかというと、個別の商品を表示するだけでなく、リストマニアやウィッシュリストを表示できるようにしたかったからです。
これができれば、自分のサーバーに一切なにも置かなくても、好きな商品を登録して表示できてとても便利だと思ったためです。(残念ながらリストマニアのコメントはAWSで提供されてないので無理なんですけど。)
泥縄式プログラミング
個別商品のページなら、ASINを抽出して、それをキーに検索するだけですが、解決したかったのは特にブラウズノードの検索の際に、インデックス(ストア名)を指定する必要があることでした。
これがワンタッチでできないのは煩わしいし、わざわざ作るんだったらこれぐらいできるようにしときたい。
これをなんとか自動化できないかと考えて七転八倒。
よく見たら、必要なデータは表示されていたのでした。
ブラウズの表示ページには検索窓がついていて、そこには必ず、ストアの表示が。これを取得するようにしました。
処理がややこしくなったので、Bookmarkletからは、ページのURLのみ送るようにして、ツール側で、処理を書いて、できあがり。
って、なんだか文章で書くと、さっぱり目ですが、途中で何度もスクラップ&ビルドを繰り返してます。
こんな感じで。
作ってるうちに、問題や壁にぶつかって、それを解決する方法を探し回って、またテストを繰り返し、ようやくできたと思ったら、また新たな問題やアイデアが。こういう繰り返しですね。泥縄式プログラミングと呼んでますけど(^^;
このサイクルを、波はありながらも、1年ぐらい繰り返したら amazie ができました。って感じです。
その他、文字や枠の色の指定ができるように、カラーパレットを表示させたり。
ちょうどタグを使ったソーシャルブックマークが流行の兆しを見せていて、他人のブックマークをシェアできるのはおもしろいなと。
検索画面で、その商品を含むリストマニアを見れるようにすると、かなり思いがけない商品が見つかって、これはわりとおもしろいかもと。
次々見ていける連鎖的要素を入れてみたり。
まぁ、そんなこんなで最初の試作品ができたのが10月頃でした。
投稿者 AUSGANG SOFT : 2005年5月25日 15:47
トラックバック
このエントリーのトラックバックURL:
http://blog.amazie.jp/mt/mt-tb.cgi/12

