Technicalの最近のブログ記事

あまり周りに話せる人がいないので一人、ブログに投稿してみます。

先日インテルのIvy Bridgeを搭載したMBPの新しいモデルが発表され
Retinaディスプレイモデルも追加されました。

2,880×1,800ピクセルというとんでもない解像度です。

こんな製品はどんなマーケティングを行っても作り出せないと思います。
「よりいいものを作る」というアップルの姿勢が生み出した製品だと感じました。

同時に、今後、モニタの解像度はこのレベルがスタンダードになって
いくのかなという気がしています。

カメラの市場を見てみると、フィルム式カメラがデジカメによって駆逐され、
そのデジカメもカメラ付ケータイの普及で価格破壊が起こり、1000万画素
を超える製品や一眼レフデジタルカメラのような高品位化で差別化を
図っているようです。

このレベルになってくると、現在のディスプレイでは縮小して表示するしかなく、
せっかくの高品位画像がもったいないのでは、という気がしています。

このRetinaディスプレイは、高品位画像をその画面に緻密な細部まで余すこと
なく表示できる画期的なベンチマークだと思います。

写真の次は、音楽と動画も新しい水準に向けて、レベルが引き上げられて
くるのではないかと思います。

音楽についてはディスプレイは関係しませんが、次の高水準という意味では、
iTunes Matchのサービスでアップルは256Kbpsという上位フォーマットでの
音楽ファイルの統一に乗り出しています。

今後動画も、1080p以上の規格が普及してくるということは想像に難くないと
思えます。

ただ、記録媒体に関して言えば、BD以上の容量が必要不可欠となり、技術
開発・規格統一に相当時間がかかりそうな予感がします。

そのような点も見越して、アップルの製品では無線環境を前提とした製品の
仕様が標準化されているのかもしれません(多くの指摘がすでにありますが)。

USB 3.0やThunderboltのような規格にもMacBook Proは対応していますが、
近年新しく市場に導入されたMacBook Air、iPadのような製品を見てみると、

ディスクドライブを搭載していないことはもちろんのこと、USBポートの数は
最低限あるか0かというような仕様になっています。

もちろんこれらの製品カテゴリーがノートPC未満、ケータイ端末以上、という
こともあるとは思います。

いずれにせよ、これからの2年で、写真・音楽・動画の高品位化はいっそう
進んでいくに違いありません。
アマゾンWebサービスの勉強を始めようと、早速本(※)も買ってきてコードを書いて
みるのだが、サーバーからエラーが返ってくる。

<?xml version="1.0"?>
<ItemSearchErrorResponse xmlns="http://ecs.amazonaws.com/doc/2010-09-01/">
<Error>
    <Code>MissingParameter</Code>
    <Message>The request must contain the parameter Signature.</Message>
</Error>
<RequestID>a71f4723-94fc-4979-a84d-77f9594f6e6a</RequestID>
</ItemSearchErrorResponse>
署名パラメーターが必要とか書いてあるけど、何の事だか分からんー。

とりあえず、ググってみたら、2009年8月15日までに署名認証が必要となったそうだ。
そんな仕様変更、知らん。。

   Announcement: Product Advertising API Planned Outage
   https://forums.aws.amazon.com/ann.jspa?annID=476

じゃぁ、どうやって署名を埋め込みゃいいのかって調べてみると、日本語の情報ソースが
あったもののはっきり言って何を言ってるか分からない。

   RESTリクエストにおけるHMAC-SHA署名
   https://affiliate.amazon.co.jp/gp/associates/help/t126/a6?ie=UTF8&pf_rd_t=501&ref_=amb_link_84046296_1&pf_rd_m=AN1VRQENFRJN5&pf_rd_p=&pf_rd_s=center-1&pf_rd_r=&pf_rd_i=assoc_help_t126_a7

このSinged Request Helperに、エラーが出たURLを書き込んでみると何となく、どの部分を
使って署名を作ればいいか分かってきた。

   Singed Request Helper
   http://associates-amazon.s3.amazonaws.com/signed-requests/helper/index.html

もちろんモジュールがあるんだよね、、と期待しつつ公式サイトには載っていないPerlのサンプル
ソースを探してみるとやっと見つかりました!!
(ちなみに、公式サイトにはJavaのサンプルソースのみ)

ただ、それもエンドポイントが古いせいなのか、自分流に改造してみてやっと妥当なレスポンスが
返ってくるようになりました。

以下、ご参考にしてみてください。

 【前提】:hmac_sha256_base64 用のソースコードをダウンロードして、
Digestディレクトリを実行プログラムと同じディレクトリに保存しておくこと。

use LWP::UserAgent;
use XML::Simple;
use POSIX qw(strftime);
use lib qw(.); 
use Digest::SHA::PurePerl qw(hmac_sha256_base64);
use URI::Escape;
use strict;
use warnings;

# アカウント固有の値
my $access_key_id        = "********************";
my $secret_access_key    = "********************";
my $associate_tag        = "ss-22";

# パラメータを作成
my %pkv;
$pkv{'Service'}         = 'AWSECommerceService';
$pkv{'AWSAccessKeyId'}  = $access_key_id;
$pkv{'AssociateTag'}    = $associate_tag;
$pkv{'Operation'}       = 'ItemSearch';
$pkv{'Keywords'}        = 'Shirt';
$pkv{'SearchIndex'}     = 'Apparel';
$pkv{'Version'}         = '2010-09-01';
$pkv{"Timestamp"}       = strftime("%Y-%m-%dT%H:%M:%SZ", gmtime);

############
# 署名生成 #
############
# 呼び出し文字列を結合
my $pstr = join('&', map {"$_=".uri_escape($pkv{$_})} (sort keys %pkv));
# 署名作成のための文字列を生成
my $data = "GET\necs.amazonaws.jp\n/onca/xml\n$pstr";
# base64エンコードのHMAC-SHA256署名を生成
my $signature = hmac_sha256_base64($data, $secret_access_key);
# RFC2104準拠のHMAC-SHA256ハッシュアルゴリズムの計算を行う
$signature .= '=' while length($signature) % 4;
# 署名をURIエンコードする
$signature = URI::Escape::uri_escape($signature);

my $url = qq(http://ecs.amazonaws.jp/onca/xml?)
.qq($pstr&Signature=$signature);

print "【引渡URL】:\n", $url, "\n";

# 既存の呼び出しコードに渡す
my $request = HTTP::Request->new("GET", $url );
my $ua = LWP::UserAgent->new;
my $response = $ua->request($request);

print "【結果XML】:\n", $response->content;

さて、これで基本的なところはできたので、あとはXMLの再勉強かな。

(※)以下の本を購入しました。
かなり丁寧に書いてくれてますが、出版年が古いのが玉にきず。
それでも、アマゾンWebサービスに関して、アフィリエイト系のサービスの説明を
してくれているのはこの本くらいしかないんじゃないかな。



<<<追記>>>:
小飼弾さんがモジュールを作ってくれていましたね。。
なんで見つけられなかったんだろう。

   perl - URI::Amazon::APA released!
   http://blog.livedoor.jp/dankogai/archives/51211577.html

まぁ、勉強です。
iPhone4のホワイトが発売されれば、即購入したい。

これまで、iPhone 3G、iPhone 3GS、iPhone 4と発売されてきて、
ぐっと我慢して購入を耐えてきた。

iPhone 4でかなりの進化があって本当に購入したいと思いつつも、
仕事漬けの日々で活用法が分からず迷走。

それでもiPadは購入し、エンターテイメント的な部分では随分と
楽しませてもらっている。

さて、そのiPadやらウェブ上のサービスを改めて精査し直してみると、
iPhone 4のその中にもかなりな便利さが凝縮されていることに驚かされる。

ジョブスさん、年内にはホワイトが出るはずですよね。

まぁ、iPhone 4はガラス製なので、白のガラスというのはカーボン(?)みたいな
素材を入れられないから耐久性の面でかなりハードルが高いそうだ。

黒でも別にいいんだけど、人が持っていないものが欲しい。。

あと、iPhone 4のアンテナ問題で、iPhone 5が年明けに前倒しで発売
されるんじゃないかという噂にも振り回されてしまった。

全然そんな気配がないじゃん。
期待してただけに、信じてしまった。

もし、iPhone 5でおサイフケータイまで出てくれるなら待つかもしれないが。。

そう、おサイフケータイを手放すというのがネックなので、今持っているケータイの
セカンドとして購入する予定。

今持っているケータイもそろそろ2年経つから買い換えたい時期だけど、
Felicaチップのためだけに無駄な新機能が多いケータイを買うのも馬鹿らしい。

頑張ってもう1年くらい動いてもらおうか。

いざとなれば、iPhone 4のケースにView カードSuica入れて電子マネー活用すればいいし。
クレジットチャージがちゃんとできるかどうか不安だけど。
表題の件、しばらく放置していたのですが、本腰を入れて調べてみたら、
案外簡単に解決できました。

まずはGoogleで公式HPの記事を発見。

   Favicon が表示されない
   http://support.mozilla.com/ja/kb/Favicon%20%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84

なるほどと全てを確認して、Firefox再起動したり、お気に入りに再登録し直したりを
何度も繰り返すが、お気に入りのFaviconは変化せず。

(なぜがGoogleのFaviconを取りこんだまま、キャッシュが更新されず。。。。)

次に、その他のサイトで、キャッシュをいったん削除した方がいいだの、
色々と解決策が出ているが、どれを適用しても解決しなかったのです。

苦肉の策で、

  1. お気に入りに登録したサイト名で右クリック
  2. 「プロパティ」をクリック
  3. 「Reset」ボタンを押下
で、Faviconが更新されました。

こんな単純な作業でいいの?
1つ1つやる面倒くささはあるけれど、同じ問題で困っている人はぜひ試してみてください。

他には、以下のサイトに掲載されているような解決策もあるようです。

   Firefox 3のブックマークFaviconがキャッシュクリアでリセットされない?
   http://kfall.blog17.fc2.com/blog-entry-34.html

私は試してはいませんが、ご参考まで。

ご案内

月別 アーカイブ

ブログパーツ