2008-03-31

STUDIO 8 から CS3 WEB STANDARD にアップグレードしました

Macromedia STUDIO 8 から Adobe Creative Suite 3 Web Standard にアップグレードしました。ネットで調べてみたところ、このアップグレードパスを話題にしているブログやページが少なかったので、気がついたことを紹介します。

アップグレードに使ったパッケージは Windows 版です。また、アップグレードした環境は、STUDIO 8 がインストール済みの Let's note lite R4 (512MB) です。

Creative Suite 3 Web Standard アップグレード版 Windows版

DVD メディアを使ってのインストールになりますが、既定の構成オプションで、インストールを開始してから終了するまで 45分ほどかかりました。

インストールを開始するとき、1GB 以上のメモリが必要ですよ!というニュアンスの確認が表示されます。無視してインストールしましたが、インストールに不都合はありませんでした。

インストールしてからはじめて何かを起動すると、アクティベーションを要求してきます。このとき入力したのは、DVD メディアに貼られたライセンスキーのみでした。インストール済みだからでしょうか。STUDIO 8 のライセンスキーは求めてきませんでした。

ネットで話題になっていますが、インストールすると、Firefox のフォント設定が変更されます。強制的に変更するのは、何かわけがあってのことかもしれませんが、実用上の問題があるため、インストールまでの設定に戻しました。Firefox のフォント設定を変更していなければ、次のように設定すれば元に戻ります。



インストールしても STUDIO 8 は削除されず残っています(いるようです)。その STUDIO 8 を起動するとどうなるかは、少し不安なので試していません。そうそう。Flash Paper を使って、Microsoft オフィスのドキュメントから PDF は生成できました。

主に Dreamweaver CS3 を中心に使いはじめましたが、STUDIO 8 の設定やコンテンツは引き継がれていますし、今までと同じように使えています。ただ、メモリやビデオ性能が理由でしょうか、STUDIO 8 よりも動作が重くなったように感じます。

インストールでは大きなトラブルはありませんでした。いい感じです。

追記です。Bonjour がインストールされます。-- 2008-03-31

2008-03-30

サインアップなしで API と API 構築キットを利用できるようにしました

Postal Search APIs & Solutions は、郵便番号と住所を軸に様々なデータを検索できる API の提供と、その API を活用したアプリケーションの提案や事例 を紹介するサービスです。

おかげさまで本サービスは、2008年3月31日をもって1周年を迎えることができました。応援してくださったみなさん。ありがとうございました。

そこで、より多くのみなさんに使って貰いたいという想いから、サインアップして API Key を取得するという従来の手続きを廃止し、どなたでもすぐに利用できるようにしました。詳しくは、改訂となった利用規約をご覧ください。

本サービスを使ってみようと検討していた(いる)みなさん。この機会にぜひご利用になってみてください。

なお、現在の API Key は、今までどおり利用できますので、みなさんの JavaScript や HTML を修正する必要はありません。また、現在の API Key の利用を希望しない方は、その API Key の記載を削除してもかまいません。

疑問や質問、希望などありましたら、このブログにコメントするか、Postal Search APIs & Solutions フォーラム に投稿をお願いします。

2008-03-29

キャップでイライラしないノック式のホワイトボードマーカー

ホワイトボードマーカーって、キャップの開け閉めが面倒ですよね。また、そのキャップのおき場所を忘れてしまったり、さらについてないときは、キャップを落としてしまって、どこかに転がったりして、イライラするものです。

先日、ぺんてる Handy ホワイトボードマーカー というノック式のボードマーカーを発見したので、さっそく入手してみました。↓こんなものです。



ボールペンのようなノック式にして、キャップを不要としているのがポイントです。また、どこかにクリップでとめると、ペン先が自動的に閉じるという仕掛けもあります。実際に使い始めましたが、もう手放せない優れものです。

ひとつ希望があります。ぜひ、ホワイトボードにマグネットで張り付くものを販売してください。そうしたら、いうことはありません。ぺんてるさんお願いしますよ。

2008-03-20

microformats 関連のFirefox Addon と対応するデータ形式のまとめ

Firefox Addon Operator のユーザスクリプトを作ってみました
Operator 0.8 は、(X)HTML コンテンツ中の Microformats というメタデータ記述を検出し、そのメタデータを使って、利用者にアクションを導くための Firefox Addon です。なお、Operator は、次期バージョンである Firefox 3 の標準機能になるといわれています。
次のとおり、Operator 以外にも Microformats を検出して表示してくれる Firefox Addon があります。

Operator 0.9.1

ここ数日の間に 0.8 から 0.91 にバージョンアップしました。

Tails Firefox Extension 0.3

Tails Export 0.3.2

Firefox Addon によって、インストール時点で、対応する Microformats のデータ形式に違いがあります。前述のリンク先から読み取れる範囲で、各 Addon が対応するデータ形式を、次のとおり、表にしてみました。

Operator 0.9.1Tails 0.3Tails Export 0.3.2
adr
hCard
hCalendar
geo
tag
xFolk
RDF
hReview
hAtom
hResume
Rel-license


Microformats: Empowering Your Markup for Web 2.0Microformats: Empowering Your Markup for Web 2.0
John Allsop

Prototype and Scriptaculous in Action Programming Collective Intelligence: Building Smart Web 2.0 Applications Bulletproof Ajax (Voices That Matter) Restful Web Services Visualizing Data

by G-Tools

2008-03-17

Fude を使って Service Document の仕様を確認してみる

Fude を使って AtomPub の接続性をテストする
まだ Fude を使いはじめたばかりなのと、他のテストツールを使ったことがないので、Fude どのように優れていて、どのような場面に有効なのかは、まだ評価できる段階にはありません。今後、Fude やその他のテストツールを使う中で、何か発見がありましたら随時お伝えしていきます。
引き続き、Fude を使って Service Document の振る舞いを掘り下げてみます。

題材として、次のような Service Document を用意しました。なお、Service Document の Content-Type は application/atomsvc+xml と定められています。
<?xml version="1.0" encoding="utf-8"?>

<!--Postal Search APIs & Solutions-->
<service
xmlns="http://www.w3.org/2007/app"
xmlns:atom="http://www.w3.org/2005/Atom"
>
<workspace>
<atom:title>住所録</atom:title>

<collection href="http://candy/postal/api/places">
<atom:title>みんなの住所録</atom:title>
<accept>image/gif</accept>
<categories href="http://candy/postal/api/categories/index.atomcat" />
</collection>

<collection href="http://candy/postal/api/users/nakajiman/places">
<atom:title>nakajiman の住所録</atom:title>
<accept>application/atom+xml;type=entry</accept>
<categories href="http://candy/postal/api/categories/index.atomcat" />
</collection>

<collection href="http://candy/postal/api/users/aquilegia/places">
<atom:title>aquilegia の住所録</atom:title>
<accept>application/atom+xml;type=entry</accept>
<categories href="http://candy/postal/api/categories/index.atomcat" />
</collection>

</workspace>
</service>
この Service Document を Fude で読み込むと、次のようなツリー構造になります。

Collection の accept が application/atom+xml;type=entry のときは New Entry ボタンが有効になります。また、image/gif などそれ以外を指定すると、New File ボタンが有効になります。accept の値によって、アイコンが変化します。



New File ボタンをクリックすると、次のようなダイアログが開きます。ローカル PC のファイルを選択し、そのファイルを Media Resources として Collection にアップロードして追加できます。



Service Document の Collection の accept を空にすると、何も追加しない Collection を意味することになり、
<collection href="http://candy/postal/api/places">
<atom:title>みんなの住所録</atom:title>
<accept />
<categories href="http://candy/postal/api/categories/index.atomcat" />
</collection>
次のように、Collection のアイコンが消え、New Entry ボタンも New File ボタンも無効になります。



題材として、次のような Category Document を用意しました。なお、Category Document の Content-Type は application/atomcat+xml と定められています。
<?xml version="1.0" encoding="utf-8"?>
<app:categories
xmlns:app="http://www.w3.org/2007/app"
xmlns:atom="http://www.w3.org/2005/Atom"
fixed="yes"
>
<atom:category term="animal" scheme="http://candy/postal/api" />
<atom:category term="vegetable" scheme="http://candy/postal/api" />
</app:categories>
この Category Document を Collection に定義すると、Collection の子が Category となるツリー構造になります。

Entry Resouce の Category を Category Document と同じにして、ツリーから Category を選択したみたのですが、Entry Resouce のリストが空となってしまいます。

選択した Category を持つ Entry Resouce に絞り込まれる振る舞いを期待していたのですが。私の理解不足からくるのか、Fude 自体の振る舞いなのか区別ができていません。



Entry Resouce のエディタで Category Document 中の Category がリストアップされ、チェックすることで、Category を選択できます。

ただし、Category Document の fixed 属性を yes にしても no しても、その差が現れないようでした。fixed 属性が no のときは、任意の(新しい) Category を指定できるはずなのですが、私の理解不足からくるのか、Fude 自体の振る舞いなのか区別ができていません。



AtomPub の仕様上、Category の名前空間は、次のように app:categories 要素で指定できるハズなのですが、期待どおり認識してくれませんでした。どうやら Fude では category ごとに指定した名前空間を使っているようです。
<?xml version="1.0" encoding="utf-8"?>
<app:categories
xmlns:app="http://www.w3.org/2007/app"
xmlns:atom="http://www.w3.org/2005/Atom"
fixed="yes"
scheme="http://candy/postal/api"
>
<atom:category term="animal" />
<atom:category term="vegetable" />
</app:categories>
この Category Document を Fude で読み込むと、Category の名前空間は、Service Document の categories の href の値になりました。

いくつか疑問点が残りましたが、もう少し理解を深めつつ、試しつつ、それでも解決できないときは、Fude の作者に質問してみようと思います。もしご存知でしたら、ぜひ!教えてください。

RESTful WebサービスRESTful Webサービス
Leonard Richardson Sam Ruby 山本 陽平

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣 WEB+DB PRESS Vol.42 WEB+DB PRESS Vol.43 JBoss徹底活用ガイド ーJava・オープンソース・JBoss Seam・JBoss AS 初めてのFlash Video

by G-Tools

2008-03-16

Firefox Addon Operator のユーザスクリプトを作ってみました

Operator 0.8 は、(X)HTML コンテンツ中の Microformats というメタデータ記述を検出し、そのメタデータを使って、利用者にアクションを導くための Firefox Addon です。なお、Operator は、次期バージョンである Firefox 3 の標準機能になるといわれています。

例えば、このブログを Operator を組み込んだ Firefox 2 で表示すると、次のように、エントリの投稿者(連絡先)を検出し、その投稿者の情報を使って、様々なアクションを実行できます。



さらに、次のように、エントリのタグ(タグ空間)を検出し、そのタグを使って、様々なアクションを実行できます。



このブログ(Blogger)のコンテンツは、連絡先とタグ空間のメタデータ記述を含みますが、Operator はもっと多くの Microformats のメタデータ形式をサポートしていますので、Microformats 対応のサイトやサービスを試してみるとよいでしょう。

Operator のアクションは、あらかじめ用意されたものを使うほかにも、自らアクションを開発たり、第三者が開発したアクションを登録できます。そのアクションは、ユーザスクリプトと呼ばれ、JavaScript を使って記述します。

そこで、そのユーザスクリプトとやらを、さっそく開発してみました。

ここでは、タグ空間を題材としました。(X)HTML コンテンツから検出したタグから BLOGRANGER TG を開いて、そのタグに関連するタグとブログを探すというアクションを開発しました。

ユーザスクリプトは、次のとおりです。次のリンクからユーザスクリプトをダウンロードして、Operator のオプションダイアログから登録してください。Firefox を再起動してから使えるようになります。

operator.ranger.labs.goo.ne.jp.js

次のように、タグ空間から "BLOGRANGER TG でブログを探す" というアクションが実行できるようになります。



また、Operator のオプションを変更して、"BLOGRANGER TG でブログを探す" というアクションからタグ空間を選択する使い方もできます。



"BLOGRANGER TG でブログを探す" というアクションをクリックすると、次のように BLOGRANGER TG を表示します。このとき、仮想地図の中心が、タグ空間で選択したタグになります。



ユーザスクリプトのソースコードを簡単に説明しておきます。
SemanticActions.add('operator.ranger.labs.goo.ne.jp', {
description: 'BLOGRANGER TG \u3067\u30D6\u30ED\u30B0\u3092\u63A2\u3059',
shortDescription: 'BLOGRANGER TG',
icon: 'http://ranger.labs.goo.ne.jp/favicon.ico',
scope: {
semantic: {
tag : 'tag'
}
},
doAction: function(semanticObject) {
return 'http://ranger.labs.goo.ne.jp/TG/?MT=&tag='
+ encodeURIComponent(semanticObject.tag);
}
});
まずはじめに、ユーザスクリプトは JavaScript ファイルとして提供するのですが、そのファイル名は、他のユーザスクリプトと重ならない名前にしておくのが無難です。

というのは、ユーザスクリプトのファイルは、Operator のオプションダイアログから登録するのですが、そのとき、同じファイル名を登録しようとすると、上書きしてもよいですか?というメッセージが表示されるためです。ユーザスクリプトを上書きする(されない)ようにという心配りです。

登録したユーザスクリプトのファイルは、C:\Documents and Settings\nakajiman\Application Data\Mozilla\Firefox\Profiles (環境によって違います) といったように、Firefox が管理するディレクトリにコピーして保存されるので、ダウンロードしたオリジナルのファイルは削除しても大丈夫です。

JavaScript 自体はとってもシンプルです。前述のスクリーンキャプチャと比較するだけで、大部分の意味がわかると思いますので、いくつかポイントだけ説明しておきます。

SemanticActions.add メソッドの第1引数は、ユーザスクリプトの識別子を表すものです。ですので、この識別子は、他のユーザスクリプトと必ず異なるものを指定しなければなりません。

どのメタデータ形式を扱うのか、そのメタデータをどのようにアクションにマッピングするのかは、scope プロパティで決まります。

詳しくは Mike’s Musings » Operator User Scripts を見てください。Operator のユーザスクリプトの開発方法や実例がたくさん掲載されています。

Microformats: Empowering Your Markup for Web 2.0Microformats: Empowering Your Markup for Web 2.0
John Allsop

Prototype and Scriptaculous in Action Programming Collective Intelligence: Building Smart Web 2.0 Applications Bulletproof Ajax (Voices That Matter) Restful Web Services Visualizing Data

by G-Tools

2008-03-15

Fude を使って AtomPub の接続性をテストする

Atom Publishing Protocol (AtomPub) やその派生モノを扱うサーバやクライアント、アグリゲータなどを開発したい!もしくは使いたい!という潜在的な需要はあると思うのです。

が、AtomPub の仕様の解釈に隔たりがあったり、セマンティックウェブの分野の中でも、目に見えにくいプロトコルであることもあり、何かを開発するところまで手が出にくいという印象があります。

実際に AtomPub サーバを自力で実装しようと試みているのですが、いろいろと苦慮しています。既存のフレームワークを活用したら?という声が聞こえてきそうですが、AtomPub を深く理解したいため、あえて自力にこだわっているわけです。(余談)

AtomPub Test Client - code name "Fude"
Fude (コードネーム) は The Atom Publishing Protocol の開発支援及び相互運用性テスト用のツールです。
その AtomPub サーバのテストのために Fude というツールを使いはじめました。そこで、Fude を使って何のテストができるのか(できそうなのか)を紹介します。

ただし、AtomPub の仕様をすべてカバーしながら紹介すると、ツールの紹介という焦点がぼやけてしまいそうなので、まずここでは AtomPub の手続きと Fude の関係を大きな流れのなかでお伝えすることにします。

Fude は Service Document を指定するところからはじまります。

Account Name は Fude 上の Service Document の表示名で AtomPub とは関係がありません。Service Document の URL を指定します。また、必要に応じて WSSE か BASIC 認証のユーザ認証を指定します。



そうすると、Workspace とその Collection といったように、Service Document の内容を左ペインのツリーに表示します。



そのツリーから Collection を選択して New Entry をクリックすると、Entry Resource のエディタが開きます。title と content を編集できます。content は text、html、xhtml の形式を選択できます。



さらに、summary と published、updated、edited が指定できます。PubControl の Draft も選択できます。

Category は、いつどのように表示され、どう選択するのか、まだ把握できていません。おそらく Category Document を用意して Collection と関連付けて定義するのだと思います。後日にでも試して、分かった段階でまたお伝えします。



Post をクリックすると、Collection に Entry Resource が登録されます。その Entry Resource の内容は、右上ペインのリストに属性を、右下ペインにその content を表示します。

HTTP プロトコルのログを観察すると、まず Collection の Feed を取得し、さらにその Feed 中の Entry の edit リンクから Entry Resource を取得して、その内容を表示することがわかります。



content は preview と source を選択できます。preview は content の形式にしたがってレンダリングした内容を表示します。source は Entry Resource の XML をそのまま表示します。



Entry Resource を選択して Edit Entry をクリックすると、Entry Resource のエディタが開きます。

Entry Resource を編集して Update ボタンをクリックすると、Entry Resource を更新できます。また、Delete ボタンをクリックすると、Entry Resource を削除できます。



HTTP プロトコルのログビューアを持つため、見えないところで何が起きているのか把握できます。さらに、AtomPub の仕様に準じていないとき、その内容をエラーとして通知してくれます。



まだ Fude を使いはじめたばかりなのと、他のテストツールを使ったことがないので、Fude どのように優れていて、どのような場面に有効なのかは、まだ評価できる段階にはありません。

今後、Fude やその他のテストツールを使う中で、何か発見がありましたら随時お伝えしていきます。

RSS And Atom: Understanding And Implementing Content Feeds And SyndicationRSS And Atom: Understanding And Implementing Content Feeds And Syndication
Heinz Wittenbrink


by G-Tools

再び BLOGRANGER TG tube サムネイルがぐるぐる回転します

マッシュアップレシピ BLOGRANGER TG tube 地図とタグと動画のビミョーな関係
以前の BLOGRANGER TG touch では、タグマップ API を使い、そのタグをキーワードに Google ニュースを検索することで、タグに関連するニュースを探すというマッシュアップを手軽に実現できました。今回も、同じパターンを使って、タグに関連する動画を YouTube を使って探すというマッシュアップを実現してみました。
以前に作った BLOGRANGER TG tube を少し改造してみました。

BLOGRANGER TG tube とは、今現在のブログ界の様子を表す仮想地図をスクロールしながら、ブログ界の話題と繋がりのある動画をビジュアルに探すことを目的とした HTML/Ajax ベースのマッシュアップアプリケーションです。



BLOGRANGER TG API を使って仮想地図を表示します。そして、その仮想地図の中央付近の話題と繋がりのある動画を YouTube Data API を使って検索し、その動画のサムネイルをグルっと一周する円として表示します。さらに、その動画のサムネイルをクリックすると、その動画を Flash Player を使って再生します。

BLOGRANGER TG tube は jQuery を使って API を繋ぎ合わせ、jQuery プラグインを使ってビジュアルな表現を実現しています。そのソースコードや実装の説明は、次のとおりまとめてありますので、参考になればと思います。
Jquery in ActionJquery in Action
Bear Bibeault Yehuda Katz

Learning  jQuery: Better Interaction Design and Web Development With Simple Javascript Techniques Ajax: The Definitive Guide (Definitive Guide) Restful Web Services

by G-Tools

2008-03-10

xml:base 属性に対応する(しない) Atom クライアントはどのくらいあるのだろうか

Atom Feed の中で xml:base 属性を使うと、その子要素でパスを xml:base 属性からのからの相対パスで指定できます。Atom 1.0 Syndication Format の概要 に多くの実例がありますので、覗いてみてください。

開発環境と運用環境(公開環境)の URL の違いを xml:base 属性で吸収しようと試みています。Atom Feed の可読性も高まりますし、ソースコード上もよりシンプルになりそうです。

ただ、xml:base 属性を意識する(もしくはしない) Atom クライアントはどのくらいあるのだろうかという点がとても気になります。ブログサイトの Atom Feed は絶対パスになってますよねぇ。どうやって調べればよいだろうか。へるぷみー。

少し話題がそれます。最近教わったのですが、HTML 4.01 にも同じような base 要素 があります。この base 要素も、開発環境と運用環境(公開環境)の URL の違いを吸収するのに役立ちそうです。

RSS And Atom: Understanding And Implementing Content Feeds And SyndicationRSS And Atom: Understanding And Implementing Content Feeds And Syndication
Heinz Wittenbrink


by G-Tools

2008-03-08

Multi-Safari で Safari3 と Safari2 が共存できました

開発した WEB サイトや WEB アプリの動作確認のために Mac mini を所有してますが、MacOS X Tiger を最新にアップデートすると Safari3 に入れ替えバージョンアップとなって Safari2 が使えなくなる。その逆で、アップデートしないと Safari2 のままで Safari3 が使えないというジレンマがありました。

旧バージョンの Safari をスタンドアロンのパッケージとして配布するサイトがあると聞いたので、さっそく試してみました。

Multi-Safari
These special versions of Safari use the original Web Kit framework that came with them, bundled inside the application. They will mimic original Safari rendering and javascript behaviours. HTTP requests and cookies however are still handled by the system and may not work exactly the same.
使うのは簡単でした。Multi-Safari から希望するバージョンのパッケージをダウンロードして実行するだけです。試しに Safari 2.0.4 を使ってみましたが、確かに Safari 2.0.4 の振る舞いをしています。

旧バージョンの各 Safari に対応した WebKit を組み込んでいるようなので、HTML/CSS のレンダリングと JavaScript の動きは、旧バージョンそのものになるようです。ですので、WEB サイトや WEB アプリの動作確認にはもってこいです。

ただ、MacOS X のシステムとして扱っている部分は、旧バージョンそのものの動きとはならないかも?という制限があるようです。

あと、MacOS X のバージョンにも依存するようです。例えば、MacOS X Tiger で Panther 時代の Safari は不都合(動作しない?)があるなど、すべての旧バージョンが試せるというわけではありません。

動作条件や制限は Multi-Safari に記載がありますので、ダウンロードする前に確認してみてください。

MacOS X Tiger で Safari1.3 が動かせないのが残念ですが、Safari3 と Safari2 が共存できるだけでも、とても助かりますね。

JavaScript「クロスブラウザ」テクニック―どのブラウザでも、どのOSでも同じに動くスクリプトの“技” (Programmer’s lounge)JavaScript「クロスブラウザ」テクニック―どのブラウザでも、どのOSでも同じに動くスクリプトの“技” (Programmer’s lounge)
半場 方人


by G-Tools

BLOGRANGER TG のミニ地図を貼り付けられるブログパーツ

あなたのブログがブログ世界のどこに位置するのか、地図で教えてくれる『BLOGRANGER TG』
脳内会議でもお世話になったgooさんが展開しているgooラボから新サービスが登場した模様です。RLをいれると直近1ヶ月の記事を解析、ブログ世界上のどこに位置するのかを表示してる、というサービスです。
百式さんのブログで紹介しているのを見て、さっそく試してみました。が、残念です。このブログは収集してもらえてないようです。



BLOGRANGER TG スタッフブログによると、↓とのことです。blogspot.com も対象になっていますが、なんらかのアクションが必要なのかもしれません。

BLOGRANGER TGパーツ対応 ブログプロバイダー一覧
また、収集対象に含めてほしいといったご要望は、本エントリのコメントとして投稿していただければ幸いです。
百式さんのブログの中で↓とありますが、BLOGRANGER TG API というのが提供されているので、このブログパーツと同じようなことはできるかもしれません。
記事を解析して自動的にタグを付与してくれるそうですね。地図上で表現する、というのもいいですが、このパーツだけAPIにしてもらいたい・・・と思わないでもないですね。でもタグ別にRSSも吐いているようなのでそれはなんか使えそうだと思ったり。
BLOGRANGER TG API は、以前にこのブログで紹介したことがありますので、あらためてリンクしておきます。

マッシュアップレシピ BLOGRANGER TG touch の Google ニュース和え
そのエントリの中で Google Maps API を使って iPod touch のタップ操作で Google Maps を使えるようにした Google maps touch を紹介しました。そこで BLOGRANGER TG も API を公開しているので、BLOGRANGER TG も同じように iPod touch のタップ操作で使えるようにしてみました。
マッシュアップレシピ BLOGRANGER TG tube 地図とタグと動画のビミョーな関係
以前の BLOGRANGER TG touch では、タグマップ API を使い、そのタグをキーワードに Google ニュースを検索することで、タグに関連するニュースを探すというマッシュアップを手軽に実現できました。今回も、同じパターンを使って、タグに関連する動画を YouTube を使って探すというマッシュアップを実現してみました。

ようやく jQuery in Action が届きました。jQuery の解説書に仕上がってます。

jQuery in Action はいつ届くのかな
Amazon で予約した jQuery in Action は 2008年1月に発送予定でしたが、どうやら遅れてしまうようです。
Jquery in Action

年始からずっと遅れていた jQuery in Action ですが、3月の上旬になってようやく手元に届きました。3月8日時点で Amazon に在庫がありますので、ずっと待ってたよ!という方は、この機会に GET しちゃいましょう。

じっくりと読む時間がとれないので、ざっと流して眺めてみましたが、これは jQuery の解説書というのにふさわしい仕上がりになっているという印象です。

jQuery を使おうとするとき、○○はどう振る舞うのだろうと詳しく知ろうとして、jQuery Documentation を参照するのですが、その情報だけでは役不足のときが多々あります。そういうときは、ソースコードの中身を見て確認していたのですが、

jQuery in Action はリファレンスに加えて、その仕組みや解説に踏み込んでいるので、ソースコードを見なくても、それで何が起こるのか、どう振る舞うのかが把握でますし、さらに、そういう仕掛けだったのかという理解や発見にもつながります。

jQuery in Action は、解説のための実例も豊富です。ソースコードとスクリーンショットの対応があるので、ブラウザを使って試してみないとわからない、というストレスはありません。

Learning  jQuery: Better Interaction Design and Web Development With Simple Javascript Techniques

ただ、jQuery in Action は、既刊の Learning jQuery ほどストーリー性はないので、ステップバイステップの用途には適さないでしょうか。

Jquery Reference Guide

また、jQuery in Action は、既刊の jQuery Reference Guide と同じくらい網羅しているように見え、さらにバージョン 1.2 を基本としているので、リファレンスの用途にも使えるといえそうです。

かなり漠然として感想的な内容になってしまいましたが、もっと jQuery が普及して欲しいの願いを込めて、jQuery in Action を紹介しました。翻訳版を期待したいところですが、まだそこまで需要がありませんかね。