2008.02.29

気が付けば

もう2月も終わりじゃないかぁ(笑)。

いや~、すっかり放置しちまったなぁ。
なかなか時間が無いうえに、今年の年度末はなかなか忙しくって、ね。

さて、アフィリエイターな人は御存知と思いますが、AmazonのECS3.0が3月でクローズされるとの事。
私のところにも早くECS4.0にバージョンアップしなさいとのお達しが来ていますが、どれだったかさっぱり覚えてないよ(笑)。
ECS4.0を使ってたつもりだったんだけどねぇ。

| | コメント (0) | トラックバック (0)

2006.04.03

パフォーマンスプラン

何気にAmazonのアフィリエイトのサイトを見ていたら、この4月からのパフォーマンスプランの基本紹介料が1.00%からに下げられていました。orz
見ず知らずの方に、11個以上もAmazonから買ってもらうことはまずないので、それならスタンダードプラン(どんなに売っても3.0%の紹介料)の方が現実的かなぁ。
楽天に次ぐECサイトに成長したので、売り上げに貢献しないアフィリエイターは切り捨てですかね。
確かに、すずめの涙ほどの貢献しかしてないけどね。

| | コメント (0) | トラックバック (0)

2005.06.01

新たなる挑戦(3)

PHPはあくまでサーバーサイドスクリプトなので、開発を行うにはwebサーバーが必要。
EclipseにtruStudioの環境なら、コンソールベースの開発は可能ですが、それだとHTML表示の結果のチェックが難しい。
Apache2を入れれば良いのでしょうが、メインのマシンにあまり余計なものを入れたくない主義なので思案中。

開発用に安いPCを物色してみたんですが、OS無しで3~4万円とちょっとビミョーな値段。おもちゃにしてはちょっと高いかな。
中古もちょっと見てみましたが、ショップブランドの一番安いマシンのほうがよっぽど良いですね。
あとOSはXP Homeで+1~1.3万円ぐらい。Linuxにするか?+1~1.3万ならメモリを増設するのが良いかな。でもLinuxを使えなきゅ一緒だけどね。

あと最大の問題は、PHPが使えるwebサイトを持っていないこと!
一応「さくらのレンタルサーバー」を考えてはいますが・・・。
どこか良いところありますか?

| | コメント (0) | トラックバック (0)

2005.05.31

新たなる挑戦(2)

Webアプリの開発言語は何が良いか?
本当ならDelphi2005で.netが一番なんでしょう(それが一番覚えることが少ない?かな)が、やはりインターネットはオープンな物で行きたいので却下。
バージョンアップもしていないしね。
次の候補はJavaかJavascriptかPerlかPHP。Pythonとrubyはよくわかんないので除外。大体Pythonをパイソンと読むのも、モンティー・パイソンからきているのも最近知りました。
で、普通ならJavascriptかPerlが一番手っ取り早いと思うのですが、ここはなんとなくPHPで行ってみよー。

と言うことで、インターネットやら


まるごとPHP!〈Vol.1〉を購入してちょっと触ってみることに。
ちなみにEclipseにtruStudioでやってみます。まぁこれがあったのでやってみる気になったんですが。

流石に初心者がこの本だけで一からプログラムを作るのは難しいですね。
プログラムは作れるけどPHPは初めて、と言う人には良いかも。
で、何かオススメの本はありますか?

| | コメント (0) | トラックバック (0)

2005.05.30

AWS・ECS4.0に挑戦してみて-新たなる挑戦(1)

AWS・ECS4.0でXSLを使えば、簡単にカスタマイズした検索ページが作れるのですが、はっきり言ってXSLを書くのは邪魔くさい
と言うか、初めにちゃんと考えて書かないと(まぁそうするのがあたりまえかも知れませんが)ゴチャゴチャになって、どこに何が書いてあるのか訳わかんなくなります。
特にECS4.0になってプレフィックスを付けて、aws:ItemAttributes/aws:Title 見たいなのがいっぱい並び、非常にソースの見通しが悪い。
趣味で(簡単な)プログラムを作ったりしているので、XSLTでif文やらfor-each文やらが使えますが、どうもまどろっこしく感じちゃいます。
う~んと考えた挙句、それならちょっとwebプログラミングに挑戦してみるか!っと一念発起。Delphiから約10年ぶりに新しいプログラム言語に挑戦してみようと思います。

| | コメント (0) | トラックバック (0)

2005.05.25

AWS ECS4.0に挑戦してみる(7)

最後にECS4.0用のXSLです。
ここここのエントリーを踏まえて
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:aws="http://webservices.amazon.com/AWSECommerceService/2005-03-23">←追加。バージョンの日付は適宜。
あとはノードの前に上で指定しているプレフィックス(っていうのかな?)のaws:をつける。
aws:ItemAttributes/aws:Title見たいな感じ。

リクエストにはちゃんとContentType=text/htmlを追加する。

以上で基本はOKかと。結果はこんな感じ
あっ、もちろんノード(と言うのかタグ)はECS4.0用に変えてくださいね。当然ですが。

参考のXSLはこちら

実際には次のページにアクセスするようにしたり、もうちょっとレイアウトできるようにdivタグでクラスを設定したりが必要ですが、そりはまたの機会があれば。

一応、サイドバーにCDの検索をXSLで作っていますのでぜひ。
またはこちら

| | コメント (0) | トラックバック (1)

2005.05.14

AWS ECS4.0に挑戦してみる(6)

ECS3.0に続きECS4.0のXSLについて。
前回のエントリーのECS3.0のタグをECS4.0のタグに変えるだけで、簡単簡単・・・。
と、思ったら大間違い。

先に私の失敗談から。

まず、タグの名前を変えただけでは永遠に表示されません。
ECS4.0で返ってくるXMLのルートは
<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2005-03-23">
と、名前空間(ネームスペース)が設定(と言う表現がよいのか宣言と言うのが良いのか)されています。
よってXSLでも名前空間を設定する必要があります。
私はこれで半日悩みました。
ま、ちゃんとAmazonのドキュメントを読めば(英語ですが)書いてあります。
初めはドキュメントの例題をそのままコピーしたんですが・・・。
これも嵌ります。
ドキュメントでは

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:aws="http://webservices.amazon.com/AWSECommerceService/2004-03-19">

となってました。
Version 2005-03-23 のドキュメントでです。
XML/XSLTの常識から言えば当然なんでしょうが、(実はドキュメントにもそれらしいことは書いてありますが、なんせ英語なもんでナナメ読みって訳には・・・)リクエストのVersionは2005-03-23なので上の例だと名前空間がhttp://webservices.amazon.com/AWSECommerceService/2004-03-19なので結局違うのでちゃんと表示されません。
当たり前と言えば当たり前なんですが、シロウトにしてみればドキュメントをコピー&ペーストしたくなりますし、XSL用の名前空間か?と思ってしまいました。
皆さん気をつけましょう。って私だけでしょうか・・・。

後もう一つは、これもちゃんとドキュメントや他のサイトの記事をちゃんと読んでいればよかったんですが、RESTのリクエスト文のイメージがあったのと、XSLの開発は先ずXMLをローカルドライブに保存して、試行錯誤して開発していたので、ローカルのXSLTエンジンを使う分には何の影響も無かったんですが、以前のエントリーで紹介したパラメーターだと、AmazonのXSLTエンジンがエラーを返してきます。
これもまた半日ぐらい悩みました。

結論を言いますと、パラメータが足らないんです。
ContentType=text/html
ってのが無かったため永遠にXSL変換できないところでした。
だってECS3.0の時はXSLファイルのURLを指定すればそれはXMLじゃ無くてXSL変換されたHTMLが帰ってくるようになっていたんですから!
単純に省略されたときのデフォルトがXMLになってただけだなんて・・・。
勘弁してくださいよ!

| | コメント (0) | トラックバック (0)

2005.05.08

AWS ECS4.0に挑戦してみる(5)

いよいよXSLの作成に取り掛かります。
まずECS3.0。
必要なデータはAWS ECS4.0に挑戦してみる(3)より、

  • ASIN:ProductInfo/Details/Asin
  • CDタイトル:ProductInfo/Details/ProductName
  • アーチスト:ProductInfo/Details/Artists/Artist
  • イメージ(Medium):ProductInfo/Details/ImageUrlMedium



<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html"/>
<!-- ここまでは何も考えず -->
<!-- ルートノードに対するテンプレート -->
<xsl:template match="/">
<html xml:lang="ja" lang="ja">
<!-- 変換後のHTMLを書いていく -->
<head> <title>ECS3.0 Sample XSL </title> </head>
<body>
<!-- ProductInfo/Detailsに対するテンプレートを呼び出す -->
<xsl:apply-templates select="ProductInfo/Details">
</xsl:apply-templates>
</body>
</html>
</xsl:template>
<!-- ProductInfo/Detailsにテンプレート -->
<xsl:template match="ProductInfo/Details">
<!-- タイトルとアーチスト名 -->
<xsl:value-of select="ProductName" /> /
<xsl:value-of select="Artists/Artist" /><br />
<!-- 確認用にAmazonにリンク -->
<a>
<xsl:attribute name="href">
<xsl:value-of select="@url" />
</xsl:attribute>
<!-- 確認用にイメージをリンク -->
<img>
<xsl:attribute name="src">
<xsl:value-of select="ImageUrlMedium" />
</xsl:attribute>
</img>
</a><br />
<!-- blog用にリンクのコードを作る -->
ここからコピーして張り付ける <br />
&lt;img src="

alt="<xsl:value-of select="ProductName" />"
style="border: none;" /&gt;
<br />
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/
<xsl:value-of select="Asin" />
/fly2themoon-22" &gt;
<xsl:value-of select="ProductName" />
&lt;/a&gt;
<hr />
</xsl:template>
</xsl:stylesheet>


と、最低限はこんな感じ。

変換後の結果はこんな感じ
サンプルのXSLファイルは→ecs3-sample.xsl

| | コメント (0) | トラックバック (0)

2005.05.01

CDの検索を追加!

AWSを使ったCDの検索をサイドバーに追加しました。
おすすめWEBのところにありますので試してみてください。

既知の不具合としては、Amazonにイメージが無い場合の処理を特にしていません。
それと、AWSで取得できる関連商品を表示するようにしていますが、同じ商品が何度も表示されるので、ちょっと鬱陶しいです(^^;)
あと、Amazonのエディターズレヴューを表示させていますが、HTMLのタグが反映できていませんのでだいぶ見難いです。
そのうち解決策が分かればバージョンアップしていきます。
解決しました!
ヨロシク!

-追記-
その後ちょっと変更してイメージが無い場合の処理を追加。
一度検索してみてください↓

| | コメント (0) | トラックバック (0)

2005.04.28

AWS ECS4.0に挑戦してみる(4)

AWS ECS4.0の場合、リクエストに対して受け取るレスポンスを、ECS3.0よりも細かく制御できるようになったのですが、ResponseGroup=Largeとした場合の受け取るXMLの構成は

<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2005-03-23">
├<OperationRequest>
│├<HTTPHeaders>
││└<Header>
│├<RequestId>
│├<Arguments>
││├<Argument>
││├・・・・
││└<Argument>
│├<RequestProcessingTime>
└<Items>
 ├<Request>
 │├<IsValid>
 │└<ItemSearchRequest>
 │ ├<Keywords>
 │ ├<ResponseGroup>
 │ └<SearchIndex>
 ├<TotalResults>
 ├<TotalPages>
 └<Item>
  ├<ASIN>
  ├<DetailPageURL>
  ├<SalesRank>
  ├<SmallImage>
  │├<URL>
  │├<Height>
  │└<Width>
  ├<MediumImage>
  │├<URL>
  │├<Height>
  │└<Width>
  ├<LargeImage>
  │├<URL>
  │├<Height>
  │└<Width>
  ├<ItemAttributes>
  │├<Artist>
  │├・・・・
  │├<Artist>
  │├<Binding>
  │├<Creator>
  │├・・・・
  │├<Creator>
  │├<EAN>
  │├<Label>
  │├<ListPrice>
  ││├<Amount>
  ││├<CurrencyCode>
  ││└<FormattedPrice>
  │├<NumberOfDiscs>
  │├<ProductGroup>
  │├<ReleaseDate>
  │├<Title>
  ├<OfferSummary>
  │├<LowestNewPrice>
  ││├<Amount>
  ││├<CurrencyCode>
  ││└<FormattedPrice>
  │├<TotalNew>
  │├<TotalUsed>
  │├<TotalCollectible>
  │├<TotalRefurbished>
  ├<Offers>
  │├<TotalOffers>
  │├<TotalOfferPages>
  │├<Offer>
  ││├<Merchant>
  │││└<MerchantId>
  ││├<OfferAttributes>
  │││└<Condition>
  ││├<OfferListing>
  │││├<OfferListingId>
  │││├<Price>
  ││││├<Amount>
  ││││├<CurrencyCode>
  ││││└<FormattedPrice>
  │││├<Availability>
  ├<CustomerReviews>
  │├<AverageRating>
  │├<TotalReviews>
  │├<TotalReviewPages>
  │├<Review>
  ││├<ASIN>
  ││├<Rating>
  ││├<HelpfulVotes>
  ││├<CustomerId>
  ││├<TotalVotes>
  ││├<Date>
  ││├<Summary>
  ││└<Content>
  │├<Review>
  │├・・・・
  │└<Review>
  ├<SimilarProducts>
  │├<SimilarProduct>
  ││├<ASIN>
  ││└<Title>
  │├<SimilarProduct>
  │├・・・・
  │└<SimilarProduct>
  ├<Tracks>
  │├<Disc>
  ││├<Track>
  ││├・・・・
  ││└<Track>
  │├<Disc>
  │├・・・・
  │└<Disc>
  ├<BrowseNodes>
  │ ・・・・
  │  省略
  │ ・・・・
  └<ListmaniaLists>
   ├<ListmaniaList>
   │├<ListId>
   │└<ListName>
   ├<ListmaniaList>
   ├・・・・
   └<ListmaniaList>
と大体こんな感じ。
ブログなどで使うリンクに必要なのは

  • ASIN:ItemSearchResponse/Items/Item/ASIN
  • CDタイトル:ItemSearchResponse/Items/Item/ItemAttributes/Title
  • アーチスト:ItemSearchResponse/Items/Item/ItemAttributes/Artist
  • イメージ(Medium):ItemSearchResponse/Items/Item/MediumImage/URL

となり、これをAWS ECS4.0に挑戦してみる(3)で紹介した、
  • ASIN:ProductInfo/Details/Asin
  • CDタイトル:ProductInfo/Details/ProductName
  • アーチスト:ProductInfo/Details/Artists/Artist
  • イメージ(Medium):ProductInfo/Details/ImageUrlMedium
と置き換えていけば、ECS3.0の時のXSLを流用できるはずでしたが・・・。

そんなに甘くはなかったです・・・。簡単に考えていたので落とし穴にはまりまくりました。
ただ、ちゃんとAmazonで提供されているドキュメント等を読んでいれば回避できることばかりなんですけどね。

| | コメント (0) | トラックバック (1)