<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss1full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xml:lang="ja">
  <channel rdf:about="http://www.ellinikonblue.net/devlosxom/index.rss">
    <title>Ellinikonblue.net Devlosxom</title>
    <link>http://www.ellinikonblue.net/devlosxom/</link>
    <description>ここはまだ壮大な夢の途中…</description>
    <dc:creator>Ellinikonblue.com</dc:creator>
    <admin:generatorAgent rdf:resource="http://www.raelity.org/apps/blosxom/?v=2.1.2" />
    <admin:errorReportsTo rdf:resource="mailto:info@ellinikonblue.com" />
        <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://www.ellinikonblue.net/devlosxom/Plugin/20090702bsnap_asinPAAPI.html" />
        <rdf:li rdf:resource="http://www.ellinikonblue.net/devlosxom/Plugin/20090622bsnap_asinPAAPI.html" />
        <rdf:li rdf:resource="http://www.ellinikonblue.net/devlosxom/Plugin/20090526bsnap_asinPAAPI.html" />
        <rdf:li rdf:resource="http://www.ellinikonblue.net/devlosxom/Doc/Resources/20090514bsnap_asin4PAAPI.html" />
        <rdf:li rdf:resource="http://www.ellinikonblue.net/devlosxom/Plugin/Spec/20090508Review_gin_plugin.html" />
        <rdf:li rdf:resource="http://www.ellinikonblue.net/devlosxom/About/20090418blosxomUpgraded.html" />
        <rdf:li rdf:resource="http://www.ellinikonblue.net/devlosxom/Doc/Resources/20090409blosxom2_1_2.html" />
        <rdf:li rdf:resource="http://www.ellinikonblue.net/devlosxom/Firefox/20090323Brunch011.html" />
        <rdf:li rdf:resource="http://www.ellinikonblue.net/devlosxom/Plugin/Spec/20090227about_bsnap_asin.html" />
        <rdf:li rdf:resource="http://www.ellinikonblue.net/devlosxom/Plugin/Test/20090131bsnap_asinTEST.html" />

      </rdf:Seq>
    </items>

  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ellinikonblue/Devlosxom" type="application/rss+xml" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fellinikonblue%2FDevlosxom" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fellinikonblue%2FDevlosxom" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fellinikonblue%2FDevlosxom" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/ellinikonblue/Devlosxom" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fellinikonblue%2FDevlosxom" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fellinikonblue%2FDevlosxom" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fellinikonblue%2FDevlosxom" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /></channel>
  <item rdf:about="http://www.ellinikonblue.net/devlosxom/Plugin/20090702bsnap_asinPAAPI.html">
    <title>bsnap_asin: Product Advertising API 対応…勝った</title>
    <link>http://www.ellinikonblue.net/devlosxom/Plugin/20090702bsnap_asinPAAPI.html</link>
    <description>　bsnap_asin プラグイン のProduct Advertising API 対応、何とかできたみたいです。...</description>
    <dc:subject>プラグイン</dc:subject>
    <dc:creator>Ellinikonblue.com</dc:creator>
    <dc:date>2009-07-04T15:25:00+09:00</dc:date>
    <content:encoded>
　&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fbsnap_asin%20plug-in"&gt;bsnap_asin プラグイン&lt;/a&gt; の
&lt;a href="https://affiliate.amazon.co.jp/gp/advertising/api/detail/main.html"&gt;Product Advertising API&lt;/a&gt; 対応、
何とかできたみたいです。&lt;br /&gt;
　ここ一週間ぐらい、
&lt;a href="http://www.ellinikonblue.net/devlosxom/"&gt;ここ&lt;/a&gt; と
&lt;a href="http://www.ellinikonblue.com/blosxom/"&gt;Ellinikonblue.com Weblog&lt;/a&gt; で
試験を続けましたが、特に問題なく動いているようです。&lt;br /&gt;
　やっと「勝った」って気分です (^^)b&lt;br /&gt;
&lt;br /&gt;

　うまくいかなかった大きな原因は、XML の名前空間の問題。&lt;br /&gt;
　XSL スタイルシート中に記載していた以下の部分

&lt;pre&gt;
&amp;lt;xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:aws="http://webservices.amazon.com/AWSECommerceService/2005-07-26"&amp;gt;
&lt;/pre&gt;

とリクエスト時に渡す Version 引数で同じ日付を指定しなければならず、
これを新しい日付にしていたら、そもそもその日付に名前空間が Amazon 側にないという、
ならどの日付の名前空間ならあるんだとちょっと調べてみましたがこちらで見あたらず、
結果、以前使っていた日付の名前空間を利用してみたところやっとうまくいきました。&lt;br /&gt;
　この Version の指定で帰ってくる XML の内容も違うので、
ちょっと時間をおいてじっくり見直して新しい XSL スタイルシートも考え直したいと思います。&lt;br /&gt;
# ひとまず今回はこれまでと同じ「 2005-07-26 」の名前空間を使っています。&lt;br /&gt;
&lt;br /&gt;

　ひとまずどうにかこうにか 8 月以降も
&lt;a href="http://affiliate.amazon.co.jp/"&gt;Amazon アソシエイト Web サービス&lt;/a&gt; 続行可ということで。
ほっ f^O^;&lt;br /&gt;
# ここまでの成果は近々、
&lt;a href="http://www.ellinikonblue.com/PukiWiki/"&gt;Ellinikonblue.com PukiWiki&lt;/a&gt; の方で
公開いたします。</content:encoded>
  </item>
  <item rdf:about="http://www.ellinikonblue.net/devlosxom/Plugin/20090622bsnap_asinPAAPI.html">
    <title>bsnap_asin: Product Advertising API 対応…光は見えた</title>
    <link>http://www.ellinikonblue.net/devlosxom/Plugin/20090622bsnap_asinPAAPI.html</link>
    <description>　bsnap_asin プラグイン のProduct Advertising API 対応ですが、やっと光が見えてきました。...</description>
    <dc:subject>プラグイン</dc:subject>
    <dc:creator>Ellinikonblue.com</dc:creator>
    <dc:date>2009-06-22T00:43:00+09:00</dc:date>
    <content:encoded>
　&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fbsnap_asin%20plug-in"&gt;bsnap_asin プラグイン&lt;/a&gt; の
&lt;a href="https://affiliate.amazon.co.jp/gp/advertising/api/detail/main.html"&gt;Product Advertising API&lt;/a&gt; 対応ですが、
やっと光が見えてきました。&lt;br /&gt;
　とは言っても、リクエストを出して、応答が帰ってきたところまでなんですが…&lt;br /&gt;
&lt;br /&gt;

　&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fbsnap_asin%20plug-in"&gt;bsnap_asin プラグイン&lt;/a&gt; は
XSL スタイルシートを指定して、その応答をキャッシュして出力しているのですが、
これまで使用していた XSL スタイルシートを指定しても、
XML の生の応答が帰ってくるだけで、スタイルシートを適用してくれません。&lt;br /&gt;
&lt;br /&gt;

　そもそもにして、webservices.amazon.co.jp や ecs.amazonaws.jp に
リクエストを送っても 403 Forbidden が帰ってきますが、
同じリクエストを xml-jp.amznxslt.com に送れば応答は帰ってきます。
しかし、 XSL スタイルシートは適用されて戻ってきません。&lt;br /&gt;
&lt;br /&gt;

　Signature を生成してつけるだけでこれまで通りなどとは思わぬ方がよいようです。
ぐったりです。&lt;br /&gt;
&lt;br /&gt;

　とりあえず、&lt;a href="http://www.ellinikonblue.net/devlosxom/Doc/Resources/20090514bsnap_asin4PAAPI.html"&gt;以前&lt;/a&gt;
疑問に思っていたことがだいたい解決したのでその回答をメモ。

&lt;ol&gt;
  &lt;li&gt; Secret Access Key ってなに？&lt;br /&gt;
    Subscription ID (AWSAccessKeyId) をしたときと
    同じで &lt;a href="http://aws.amazon.com/"&gt;Amazon Web Services
    のホームページ&lt;/a&gt; にログインすれば表示されます。
  &lt;/li&gt;
  &lt;li&gt; タイムスタンプは GMT or 日本時間？&lt;br /&gt;
    たとえ日本のサイトにリクエストするときでも GMT です。
  &lt;/li&gt;
  &lt;li&gt; Signiture を作る際のテキストの改行コードは CR or LF or CR+LF ？&lt;br /&gt;
    LF 。
  &lt;/li&gt;
&lt;/ol&gt;

　その他。これまでの参考記事。&lt;br /&gt;
&lt;br /&gt;

&lt;a href="http://www.web2-labo.com/"&gt;web2.0 的ラボ&lt;/a&gt;
&lt;a href="http://www.web2-labo.com/amazon_product_advertising_api.html"&gt;「
Amazon Product Advertising API 電子署名と XSLT のまとめ」&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://ringoon.jp/"&gt;RinGoon POP!!&lt;/a&gt;
&lt;a href="http://ringoon.jp/2009/05/09/memo-amazon-product-advertisin.html"&gt;「
[PHP] Amazon Product Advertising API で認証付きリクエストを送る方法まとめ」&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;

　もう一息！？…そうなのか？くじけそう orz</content:encoded>
  </item>
  <item rdf:about="http://www.ellinikonblue.net/devlosxom/Plugin/20090526bsnap_asinPAAPI.html">
    <title>bsnap_asin: Product Advertising API 対応…悪戦苦闘中</title>
    <link>http://www.ellinikonblue.net/devlosxom/Plugin/20090526bsnap_asinPAAPI.html</link>
    <description>　先週末にbsnap_asinプラグイン のProduct Advertising API 対応に向けて1st Try してみた訳なんですが、一筋縄でいくはずないんですよね…これが orz...</description>
    <dc:subject>プラグイン</dc:subject>
    <dc:creator>Ellinikonblue.com</dc:creator>
    <dc:date>2009-05-29T00:22:00+09:00</dc:date>
    <content:encoded>
　先週末に
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fbsnap_asin%20plug-in"&gt;bsnap_asin
プラグイン&lt;/a&gt; の
&lt;a href="https://affiliate.amazon.co.jp/gp/advertising/api/detail/main.html"&gt;Product Advertising API&lt;/a&gt; 対応に向けて
1st Try してみた訳なんですが、一筋縄でいくはずないんですよね…これが orz&lt;br /&gt;
&lt;br /&gt;

　まずは RFC 2104-compliant HMAC with the SHA256 hash algorithm で
Signature を生成しないといけないのですが、このために
&lt;a href="http://search.cpan.org/~mshelor/Digest-SHA-5.47/lib/Digest/SHA.pm"&gt;Digest::SHA&lt;/a&gt; を
use してみるとエラー。&lt;br /&gt;
　&lt;a href="http://www.xrea.com/"&gt;XREA&lt;/a&gt; のサーバにはインストールされてないみたいなので、
ソースを引っ張ってきて、サーバにアップロード。そしてソースコード中に以下のコードを追加。

&lt;pre&gt;use lib '/Common/perl/lib/';&lt;/pre&gt;

　Perl のライブラリパスを追加してみてもエラー。&lt;br /&gt;
　どうも
&lt;a href="http://search.cpan.org/~mshelor/Digest-SHA-5.47/lib/Digest/SHA.pm"&gt;SHA.pm&lt;/a&gt; は
ソースだけでは動かないらしい。&lt;br /&gt;
&lt;br /&gt;

　そこで今度は
&lt;a href="http://search.cpan.org/~mshelor/Digest-SHA-PurePerl-5.47/lib/Digest/SHA/PurePerl.pm"&gt;Digest::SHA::PurePerl&lt;/a&gt; を
アップロード。&lt;br /&gt;
　これを use してもエラーは出なくなりました。
これでおそらくハッシュエンコードは大丈夫？&lt;br /&gt;
&lt;br /&gt;

　ところがプラグインはうまく動作しない。というか、そもそもプラグインが有効になっていないよう。&lt;br /&gt;
　ここで時間切れで 1st Try は終了しましたが、
あとでよくよく考えてみると、
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom"&gt;blosxom&lt;/a&gt; は
プラグインのファイルの名前の最後に _ （アンダーバー）をつけると、
一時的にそのプラグインを無効にできますが、
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fbracket_fep%20plug-in"&gt;bracket_fep プラグイン&lt;/a&gt; も
専用プラグインを読み込むときはアルゴリズムが同じで、
このため古い方をアンダーバー付き、新しい方をなしで、同じファイル名でアップロードしてしまうと、
両方ともプラグインが無効になることがソースを読んでみてわかりました。&lt;br /&gt;
&lt;br /&gt;

　以上、作業日報かねて経過報告。&lt;br /&gt;
　余裕がないときに焦ってやると何でもうまくいかないものです。。。
時間に余裕があるときに再チャレンジすることにします。 (_ _;&amp;gt;

&lt;ul&gt;
  &lt;li&gt; &lt;a href="http://search.cpan.org/~mshelor/Digest-SHA-5.47/lib/Digest/SHA.pm"&gt;Digest::SHA&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt; &lt;a href="http://search.cpan.org/~mshelor/Digest-SHA-PurePerl-5.47/lib/Digest/SHA/PurePerl.pm"&gt;Digest::SHA::PurePerl&lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt;</content:encoded>
  </item>
  <item rdf:about="http://www.ellinikonblue.net/devlosxom/Doc/Resources/20090514bsnap_asin4PAAPI.html">
    <title>bsnap_asin: Product Advertising API 対応</title>
    <link>http://www.ellinikonblue.net/devlosxom/Doc/Resources/20090514bsnap_asin4PAAPI.html</link>
    <description>「アマゾン API を使うのに 2009 年 8 月 15 日から認証が必要になるらしい」（ たつをの ChangeLog より）...</description>
    <dc:subject>ドキュメント » 参考資料・メモ</dc:subject>
    <dc:creator>Ellinikonblue.com</dc:creator>
    <dc:date>2009-05-14T21:53:00+09:00</dc:date>
    <content:encoded>
&lt;a href="http://chalow.net/2009-05-09-1.html"&gt;「
アマゾン API を使うのに 2009 年 8 月 15 日から認証が必要になるらしい」&lt;/a&gt;
（ &lt;a href="http://chalow.net/"&gt;たつをの ChangeLog&lt;/a&gt; より）&lt;br /&gt;
&lt;br /&gt;

　うちの貴重な収入源である
&lt;a href="http://affiliate.amazon.co.jp/"&gt;Amazon アソシエイト Web サービス&lt;/a&gt; の
&lt;a href="http://www.ellinikonblue.com/blosxom/affiliate/20090509ProductAdvertisingAPI.html"&gt;Product Advertising API&lt;/a&gt;
移行に伴い、
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fbsnap_asin%20plug-in"&gt;bsnap_asin
プラグイン&lt;/a&gt; の対応をしなければなりません。&lt;br /&gt;
　タイムリミットは 8/15 。&lt;br /&gt;
&lt;br /&gt;

　PHP や Ruby の実装はすぐに見つかりましたが、
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom"&gt;blosxom&lt;/a&gt; は Perl 。&lt;br /&gt;
　Perl の実装はないか？と探してみたらありました。これを参考に（ぱくっ (^^;&amp;gt; ）すれば
何とか対応はできそう。&lt;br /&gt;
# 感謝＞ &lt;a href="http://chalow.net/"&gt;たつをの ChangeLog&lt;/a&gt; の中の人&lt;br /&gt;
&lt;br /&gt;

　あと以下の問題点の解決、および捜し物が必要（と考えています）。

&lt;ol&gt;
  &lt;li&gt; Secret Access Key ってなに？（秘密鍵ってわかりますが、入手方法とか）
  &lt;/li&gt;
  &lt;li&gt; タイムスタンプは GMT or 日本時間？
    &lt;a href="http://hail2u.net/"&gt;hail2u.net&lt;/a&gt; さんちの Kyo さんによると
    &lt;a href="http://hail2u.net/blog/coding/amazon-product-advertising-api-authentication-in-javascript.html"&gt;Expired があるらしい&lt;/a&gt;&lt;br /&gt;
    （ GMT っぽい）
  &lt;/li&gt;
  &lt;li&gt; Signiture を作る際のテキストの改行コードは CR or CR+LF ？&lt;br /&gt;
    （ CR っぽい）
  &lt;/li&gt;
  &lt;li&gt; RFC 2104-compliant HMAC with the SHA256 hash algorithm を利用必須のため、
    Digest::SHA のお勉強（のためのドキュメント）
  &lt;/li&gt;
  &lt;li&gt; URL Encode のため、URI::Escape のお勉強（のためのドキュメント）
  &lt;/li&gt;
&lt;/ol&gt;

　やっぱスクラッチビルドで当たり散らしてみるしかないか…時間との戦いかな orz&lt;br /&gt;
&lt;br /&gt;

&lt;a href="http://hail2u.net/"&gt;hail2u.net&lt;/a&gt;
&lt;a href="http://hail2u.net/blog/coding/amazon-product-advertising-api-authentication-in-javascript.html"&gt;「
Amazon Product Advertising API の認証を JavaScript で」&lt;/a&gt;</content:encoded>
  </item>
  <item rdf:about="http://www.ellinikonblue.net/devlosxom/Plugin/Spec/20090508Review_gin_plugin.html">
    <title>gin プラグイン再考</title>
    <link>http://www.ellinikonblue.net/devlosxom/Plugin/Spec/20090508Review_gin_plugin.html</link>
    <description>　そもそもにして、このサイトを立ち上げた理由の一つは、この ginプラグイン を開発するためだったのですが、...</description>
    <dc:subject>プラグイン » 仕様</dc:subject>
    <dc:creator>Ellinikonblue.com</dc:creator>
    <dc:date>2009-05-09T22:09:00+09:00</dc:date>
    <content:encoded>
　そもそもにして、このサイトを立ち上げた理由の一つは、
この &lt;a href="http://www.ellinikonblue.net/devlosxom/Plugin/Spec/20070801ginPlugin.html"&gt;gin
プラグイン&lt;/a&gt; を開発するためだったのですが、
すでに丸二年経過… orz&lt;br /&gt;
&lt;br /&gt;

　なんでこんなに放置プレーになっているかというと、
途中で JSON の仕様を勘違いしていることに気づいたから。&lt;br /&gt;
&lt;br /&gt;

　しかし、そろそろ初心に戻ろうと、今年は少し進展させたい。&lt;br /&gt;
　と言うことで、しっかり JSON の仕様を理解して（ると思う）、
このプラグインの入出力の鍵となる各ファイルの形式をもう一度見直した結果。&lt;br /&gt;
&lt;br /&gt;

まず categories_index.json 。

&lt;pre&gt;
[
	{ "directory": "/home/public_html/devlosxom/data", "count": 7 },
	{ "directory": "/home/public_html/devlosxom/data/About", "count": 2 },
	{ "directory": "/home/public_html/devlosxom/data/Doc", "count": 4 },
	{ "directory": "/home/public_html/devlosxom/data/Doc/Idea", "count": 1 },
	{ "directory": "/home/public_html/devlosxom/data/Plugin", "count": 1 },
	{ "directory": "/home/public_html/devlosxom/data/Plugin/Spec", "count": 1 }
]

&lt;/pre&gt;

次 categories_alias.json(categories.alias) 。

&lt;pre&gt;
[
  { "directory": "/home/public_html/devlosxom/data/About", "alias": "このブログについて" },
  { "directory": "/home/public_html/devlosxom/data/Doc", "alias": "ドキュメント" },
  { "directory": "/home/public_html/devlosxom/data/Doc/Idea", "alias": "アイデア" },
  { "directory": "/home/public_html/devlosxom/data/Doc/Resources", "alias": "参考資料・メモ" },
  { "directory": "/home/public_html/devlosxom/data/Plugin", "alias": "プラグイン" },
  { "directory": "/home/public_html/devlosxom/data/Plugin/Spec", "alias": "仕様" }
]
&lt;/pre&gt;

最後に archives_index.json 。

&lt;pre&gt;
[
	{ "year": 2007, "count": 7 },
		{ "year": 2007, "month": 5, "count": 1 },
			{ "year": 2007, "month": 5, "day": 4, "count": 1 },
		{ "year": 2007, "month": 4, "count": 2 },
			{ "year": 2007, "month": 4, "day": 18, "count": 1 },
			{ "year": 2007, "month": 4, "day": 7, "count": 1 },
		{ "year": 2007, "month": 3, "count": 3 },
			{ "year": 2007, "month": 3, "day": 24, "count": 1 },
			{ "year": 2007, "month": 3, "day": 3, "count": 1 },
			{ "year": 2007, "month": 3, "day": 2, "count": 1 },
		{ "year": 2007, "month": 2, "count": 1 },
			{ "year": 2007, "month": 2, "day": 26, "count": 1 },
	{ "count" : 7 }
]
&lt;/pre&gt;

　このデータ形式を元にコード書き直し。&lt;br /&gt;
　どこまでコードを使い回さなければならないかもだいたい見えたので、
ちょっとまじめにプログラム構造を考え直そうかと思っています。&lt;br /&gt;
&lt;br /&gt;

　ただすぐにコーディングに入らない理由が一つ。
　archives_index.json のデータを内部的にどういう構造で扱うかというところで、
ひらめきがない。。。これがひらめいたら。。。今年はちょっと進むと思うな
＞ &lt;a href="http://www.ellinikonblue.net/devlosxom/Plugin/Spec/20070801ginPlugin.html"&gt;gin
プラグイン&lt;/a&gt;</content:encoded>
  </item>
  <item rdf:about="http://www.ellinikonblue.net/devlosxom/About/20090418blosxomUpgraded.html">
    <title>blosxom v2.1.2 upgraded</title>
    <link>http://www.ellinikonblue.net/devlosxom/About/20090418blosxomUpgraded.html</link>
    <description>　とりあえず、ここ だけblosxom をv2.1.2 にアップグレードしてみました。　ひとまず blosxom.cgi のコンフィグレーションだけこれまで通りに書き換えて、...</description>
    <dc:subject>このブログについて</dc:subject>
    <dc:creator>Ellinikonblue.com</dc:creator>
    <dc:date>2009-04-18T15:14:00+09:00</dc:date>
    <content:encoded>
　とりあえず、&lt;a href="http://www.ellinikonblue.net/devlosxom/"&gt;ここ&lt;/a&gt; だけ
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom"&gt;blosxom&lt;/a&gt; を
v2.1.2 にアップグレードしてみました。&lt;br /&gt;
&lt;br /&gt;

　ひとまず blosxom.cgi のコンフィグレーションだけこれまで通りに書き換えて、
置き換えただけですが、
プラグインなども含めて、問題なく動作しているようです。&lt;br /&gt;
　二、三日、様子を見て問題なさそうだったら、
&lt;a href="http://www.ellinikonblue.net/photolog/"&gt;Photolog&lt;/a&gt; 、
&lt;a href="http://www.ellinikonblue.com/blosxom/"&gt;Weblog&lt;/a&gt; へ順次展開しようと思います。</content:encoded>
  </item>
  <item rdf:about="http://www.ellinikonblue.net/devlosxom/Doc/Resources/20090409blosxom2_1_2.html">
    <title>blosxom v2.1.2 研究開始</title>
    <link>http://www.ellinikonblue.net/devlosxom/Doc/Resources/20090409blosxom2_1_2.html</link>
    <description>KANGAROO-OASIS「blosxom version up 」にーやんのブログ「Blosxom 2.1.1 以前にクロスサイトスクリプティングの脆弱性」...</description>
    <dc:subject>ドキュメント » 参考資料・メモ</dc:subject>
    <dc:creator>Ellinikonblue.com</dc:creator>
    <dc:date>2009-04-09T23:54:00+09:00</dc:date>
    <content:encoded>
&lt;a href="http://kangaroo.oh.land.to/kangaroo-oasis/"&gt;KANGAROO-OASIS&lt;/a&gt;
&lt;a href="http://kangaroo.oh.land.to/kangaroo-oasis/my_hp/c_2009_04_08_22_51_47.htm"&gt;「
blosxom version up 」&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://niiyan.s8.xrea.com/blosxom"&gt;にーやんのブログ&lt;/a&gt;
&lt;a href="http://niiyan.s8.xrea.com/blosxom/blosxom/20081020-blosxom-xss-flaw.htm"&gt;「
Blosxom 2.1.1 以前にクロスサイトスクリプティングの脆弱性」&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;

　SE と言う肩書きで本業にしていて、こういう話題には敏感にしているつもりなんですが、
自分が使っている
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom"&gt;blosxom&lt;/a&gt; にも XSS の脆弱性が
あるとは…しかも、バージョンが 2.1.2 とかになってるし。。。いつの間にか。&lt;br /&gt;
　医者の不養生。いかんいかん。&lt;br /&gt;
&lt;br /&gt;

しかも、さっとドキュメントを読んだ限り、

&lt;ul&gt;
  &lt;li&gt; コンフィグレーションを外部ファイルから読み込める
  &lt;/li&gt;
  &lt;li&gt; プラグインディレクトリを複数指定できる
  &lt;/li&gt;
  &lt;li&gt; something.txt.200904060000 などというファイル名でエントリを登録すると、
    エントリ日時を固定できる
  &lt;/li&gt;
&lt;/ul&gt;

などいろいろ機能アップもしているみたい。&lt;br /&gt;
&lt;br /&gt;

　今年は &lt;a href="http://www.ellinikonblue.net/devlosxom/Plugin/Spec/20070801ginPlugin.html"&gt;gin
プラグイン&lt;/a&gt; をそろそろ形にしたいと思っているので、それも含めて、
新しい &lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom"&gt;blosxom&lt;/a&gt; の
研究開始！。。ひとまずここでアップグレードの実験から始めることにします。&lt;br /&gt;
&lt;br /&gt;

　以上、実験メンテナンス期間突入宣言と言うことで。&lt;br /&gt;
# 閲覧が安定しないときは奮闘中だと思って、時間を変えてまたおこしください m(_ _)m

&lt;ul&gt;
  &lt;li&gt; &lt;a href="http://sourceforge.net/projects/blosxom/"&gt;SourceForge.net: Blosxom&lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt;</content:encoded>
  </item>
  <item rdf:about="http://www.ellinikonblue.net/devlosxom/Firefox/20090323Brunch011.html">
    <title>Brunch v0.11: Firefox v3.5 対応テスト版</title>
    <link>http://www.ellinikonblue.net/devlosxom/Firefox/20090323Brunch011.html</link>
    <description>　ここんところ、ほんと久々に家でゆっくりできる時間があったので、先般、...</description>
    <dc:subject>Firefox</dc:subject>
    <dc:creator>Ellinikonblue.com</dc:creator>
    <dc:date>2009-03-23T19:39:00+09:00</dc:date>
    <content:encoded>
　ここんところ、ほんと久々に家でゆっくりできる時間があったので、
&lt;a href="http://www.ellinikonblue.com/blosxom/Mozilla/20090312Firefox3_1b3.html"&gt;先般、
公開された&lt;/a&gt; 
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?Mozilla%20Firefox"&gt;Firefox&lt;/a&gt;
v3.1 beta3 で、
&lt;a href="http://www.ellinikonblue.net/devlosxom/Firefox/20080818Brunch01.html"&gt;Brunch&lt;/a&gt; を
動かすテストしてみました。&lt;br /&gt;
&lt;br /&gt;

　chrome.manifest を書き換えるだけで問題なく動作しました（ように見えました）ので、
とりあえず v0.11 としてさらしてみます。&lt;br /&gt;
　プログラム的にはまったく手を入れてませんので、ひとまずテスト版と言うことにしておきます。
これから個人的に使っている環境でも試しますが、
万が一、不具合等お気づきになり、お知らせいただければ、
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?Mozilla%20Firefox"&gt;Firefox&lt;/a&gt;
v3.5 リリースまでには善処したいと思います。&lt;br /&gt;
# 特に問題なければ、このまま v3.5 対応版とすることになるでしょう。。。

&lt;ul&gt;
  &lt;li&gt; &lt;a href="http://www.ellinikonblue.net/devlosxom/lib/xpi/brunch_v011.xpi"&gt;Brunch v0.11&lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt;

## プログラム的に変更がないので、プログラムの変更履歴は
&lt;a href="http://www.ellinikonblue.net/devlosxom/Firefox/20080818Brunch01.html"&gt;こちら&lt;/a&gt; 参照。</content:encoded>
  </item>
  <item rdf:about="http://www.ellinikonblue.net/devlosxom/Plugin/Spec/20090227about_bsnap_asin.html">
    <title>bsnap_asin プラグインの仕様と今後</title>
    <link>http://www.ellinikonblue.net/devlosxom/Plugin/Spec/20090227about_bsnap_asin.html</link>
    <description>　ここ でテストを始めたbsnap_asinプラグイン ですが、今回は非常に調子よく動作したので、...</description>
    <dc:subject>プラグイン » 仕様</dc:subject>
    <dc:creator>Ellinikonblue.com</dc:creator>
    <dc:date>2009-02-28T15:46:00+09:00</dc:date>
    <content:encoded>
　&lt;a href="http://www.ellinikonblue.net/devlosxom/"&gt;ここ&lt;/a&gt; でテストを始めた
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fbsnap_asin%20plug-in"&gt;bsnap_asin
プラグイン&lt;/a&gt; ですが、
今回は非常に調子よく動作したので、
&lt;a href="http://www.ellinikonblue.com/blosxom/"&gt;Weblog&lt;/a&gt; への導入と
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?Top%20Page"&gt;うちの PukiWiki&lt;/a&gt; でも
ページを作ってひとまず公開しました。&lt;br /&gt;
　アルゴリズムはほぼ元の
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fasin_complex%20plug-in"&gt;asin_complex
プラグイン&lt;/a&gt; のままですが、
ロック処理を見直し、ロック時間を極小化したおかげでこれまでよりもうまく動作しているようです。&lt;br /&gt;
&lt;br /&gt;

　&lt;a href="http://www.ellinikonblue.com/blosxom/"&gt;Weblog&lt;/a&gt; 側に導入したバージョンには、
以下の新しい例外処理を組み込んでいます。

&lt;ul&gt;
  &lt;li&gt; &lt;a href="http://amazon.co.jp/"&gt;Amazon.co.jp&lt;/a&gt; 側がうまく XML スタイルシートを取得できなかったとき、
    リクエストした商品の XML ファイルをまるのまま返すので、
    一定量以上のデータが帰ってきたときはその応答を無視する
  &lt;/li&gt;
&lt;/ul&gt;

　その他に &lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fbracket_fep%20plug-in"&gt;bfep&lt;/a&gt; 化したために、
&lt;a href="http://www.blosxom.com/plugins/link/amazon/asin.htm"&gt;asin プラグイン&lt;/a&gt; 相当の機能は外しました。&lt;br /&gt;
# 別途、&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fjasin%20plug-in"&gt;jasin
プラグイン&lt;/a&gt; として実装済み。&lt;br /&gt;
&lt;br /&gt;

　ひとまず、おざなりになっている
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?Top%20Page"&gt;PukiWiki&lt;/a&gt; の
ページを整理することが優先ですが、今後、
&lt;a href="http://www.ellinikonblue.net/devlosxom/Plugin/20080105forbsnap_asin.html"&gt;以前に
まとめたアイデア&lt;/a&gt; や
その他の例外処理を順次実装していければなぁ…と考えています。&lt;br /&gt;
　とりあえず、今回をもって、単機能版の
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fasin_complex%20plug-in"&gt;asin_complex
プラグイン&lt;/a&gt; 開発はおしまいと言うことで。</content:encoded>
  </item>
  <item rdf:about="http://www.ellinikonblue.net/devlosxom/Plugin/Test/20090131bsnap_asinTEST.html">
    <title>bsnap_asin のテスト</title>
    <link>http://www.ellinikonblue.net/devlosxom/Plugin/Test/20090131bsnap_asinTEST.html</link>
    <description>　問題が起こるたびに突貫で何とかしていたasin_complexプラグイン のコードを見直ました。...</description>
    <dc:subject>プラグイン » テスト</dc:subject>
    <dc:creator>Ellinikonblue.com</dc:creator>
    <dc:date>2009-01-31T15:41:00+09:00</dc:date>
    <content:encoded>
　問題が起こるたびに突貫で何とかしていた
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fasin_complex%20plug-in"&gt;asin_complex
プラグイン&lt;/a&gt; のコードを見直ました。
また今回は
&lt;a href="http://www.ellinikonblue.com/PukiWiki/index.php?blosxom%2Fbracket_fep%20plug-in"&gt;bracket_fep&lt;/a&gt;
対応を優先させました。
そろそろ &lt;a href="http://www.ellinikonblue.com/blosxom/"&gt;Weblog&lt;/a&gt; の方もこちらで置き換えようと
言うこともあります。&lt;br /&gt;
&lt;br /&gt;

　何よりコードがひどい。&lt;br /&gt;
　思いつきでコードを付け加えてきたボロ雑巾のようなコードで、
この上、&lt;a href="http://www.ellinikonblue.net/devlosxom/Plugin/20080302jasin.html"&gt;ECS4.0 対応を
行ったとき&lt;/a&gt; にほとんどエラー処理を考慮しなかったもので、
いざエラー処理を加えようとしてももう無理。。。何せコードを読み返していると
自分が何がしたかったのかが読めないコードに。。。 orz&lt;br /&gt;
&lt;br /&gt;

　で、一気に見直し、比較的すっきりしましたし、
デバッグにも手こずらず、一応動いているように見えます。&lt;br /&gt;
　と言うことで当面 &lt;a href="http://www.ellinikonblue.net/devlosxom/"&gt;このサイト&lt;/a&gt;でテスト。&lt;br /&gt;
　問題がなければこのまま公開して、
&lt;a href="http://www.ellinikonblue.com/blosxom/"&gt;Weblog&lt;/a&gt; の方も置き換え、
エラー処理の実装に入りたいと思います。&lt;br /&gt;
&lt;br /&gt;

　と言うことで、今ほしいものリストなどを並べてみる… (^^;&amp;gt;

&lt;div class="asinSimple"&gt;&lt;table xmlns:aws="http://webservices.amazon.com/AWSECommerceService/2005-07-26"&gt;
   &lt;tr&gt;
      &lt;th&gt;&lt;a href="http://www.amazon.co.jp/%E3%82%BD%E3%83%8B%E3%83%BC-typeP-VistaHomeBasic-%E3%82%AC%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%83%AC%E3%83%83%E3%83%89-VGN-P70H/dp/B001P9MBIO%3FSubscriptionId%3D156BP8RR8MBPSJZ46D82%26tag%3Dellinikonbcom-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB001P9MBIO"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/41hEmPYTSTL._SL160_.jpg" /&gt;&lt;/a&gt;&lt;/th&gt;
      &lt;td&gt;&lt;a href="http://www.amazon.co.jp/%E3%82%BD%E3%83%8B%E3%83%BC-typeP-VistaHomeBasic-%E3%82%AC%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%83%AC%E3%83%83%E3%83%89-VGN-P70H/dp/B001P9MBIO%3FSubscriptionId%3D156BP8RR8MBPSJZ46D82%26tag%3Dellinikonbcom-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB001P9MBIO"&gt;ソニー(VAIO) VAIO typeP P70H VistaHomeBasic ワンセグ ガーネットレッド VGN-P70H/R&lt;/a&gt;&lt;br /&gt;
         （ ソニー ）
         &lt;br /&gt;￥ 75,800
      &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;div class="asinSimple"&gt;&lt;table xmlns:aws="http://webservices.amazon.com/AWSECommerceService/2005-07-26"&gt;
   &lt;tr&gt;
      &lt;th&gt;&lt;a href="http://www.amazon.co.jp/Tokina-AF12-24mmF4-ASPHERICAL-%E3%83%8B%E3%82%B3%E3%83%B3%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E7%94%A8-AT-X124PRODX/dp/B00099C2M6%3FSubscriptionId%3D156BP8RR8MBPSJZ46D82%26tag%3Dellinikonbcom-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB00099C2M6"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/410ES3WQ8PL._SL160_.jpg" /&gt;&lt;/a&gt;&lt;/th&gt;
      &lt;td&gt;&lt;a href="http://www.amazon.co.jp/Tokina-AF12-24mmF4-ASPHERICAL-%E3%83%8B%E3%82%B3%E3%83%B3%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E7%94%A8-AT-X124PRODX/dp/B00099C2M6%3FSubscriptionId%3D156BP8RR8MBPSJZ46D82%26tag%3Dellinikonbcom-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB00099C2M6"&gt;Tokina AF12-24mmF4 (IF) ASPHERICAL ニコンデジタル用 AT-X124PRODX&lt;/a&gt;&lt;br /&gt;
         （ Tokina ）
         &lt;br /&gt;￥ 45,050
      &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;div class="asinSimple"&gt;&lt;table xmlns:aws="http://webservices.amazon.com/AWSECommerceService/2005-07-26"&gt;
   &lt;tr&gt;
      &lt;th&gt;&lt;a href="http://www.amazon.co.jp/%E3%82%B5%E3%83%B3%E3%83%AF%E3%82%B5%E3%83%97%E3%83%A9%E3%82%A4-microSD%E3%82%AB%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%80%E3%83%A9%E3%82%A4%E3%82%BF-ADR-MCU2BK/dp/B0013Z58R6%3FSubscriptionId%3D156BP8RR8MBPSJZ46D82%26tag%3Dellinikonbcom-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB0013Z58R6"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/417ccOuhTIL._SL160_.jpg" /&gt;&lt;/a&gt;&lt;/th&gt;
      &lt;td&gt;&lt;a href="http://www.amazon.co.jp/%E3%82%B5%E3%83%B3%E3%83%AF%E3%82%B5%E3%83%97%E3%83%A9%E3%82%A4-microSD%E3%82%AB%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%80%E3%83%A9%E3%82%A4%E3%82%BF-ADR-MCU2BK/dp/B0013Z58R6%3FSubscriptionId%3D156BP8RR8MBPSJZ46D82%26tag%3Dellinikonbcom-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB0013Z58R6"&gt;サンワサプライ microSDカードリーダライタ ADR-MCU2BK&lt;/a&gt;&lt;br /&gt;
         （ サンワサプライ ）
         &lt;br /&gt;￥ 778
      &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</content:encoded>
  </item>
</rdf:RDF>
