2008-04-30

WEB+DB PRESS Vol. 44

はてなブックマーク   livedoor clip

こんにちは。山本です。

先週発売になった WEB+DB PRESS Vol.44 で、先日公開した郵便番号検索サービスの設計の解説を書きました。

郵便番号の検索はかなりシンプルな機能ですが、仕様書として書き下すとそれなりの分量になります。この仕様書は私がスクラッチから作成したのですが、今回の記事ではこの仕様書を書くにあたって行った設計作業をそのまま文章として書き出してみました。

リソース設計の基本は RESTful Web サービスで紹介されているリソース指向アーキテクチャ(ROA)の設計手順に従っています。この手法の良いところは、フレームワークに依存せずにリソースを考えられるところです。

最初にリソースとその URI を設計し、URI Templates を使って機械的に各リソースとそれに対する操作をコントローラやモデルに振り分けていくという流れがRESTful な Web システムの設計の王道になっていくのではないかと思っています。

その点で、規約によって URI が固定されてしまう Rails 2.0 は不利なんじゃないかと考えています。ROA を主眼に置いた Web システムの設計はまだまだやることがありそうですね。

2008-04-15

私のお気に入り(キーボード:日野原編)

はてなブックマーク   livedoor clip

箸休め担当になってしまっている日野原です。今日も今日とて箸休め的にこだわりのキーボードについて話します。

まずは Happy Hacking Keybord の開発にも携わった和田先生の言葉を引用します。

アメリカ西部のカウボーイたちは、馬が死ぬと馬はそこに残していくが、どんなに砂漠を歩こうとも、鞍は自分で担いで往く。馬は消耗品であり、鞍は自分の体に馴染んだインタフェースだからだ。
いまやパソコンは消耗品であり、キーボードは大切な、生涯使えるインタフェースであることを忘れてはいけない。

http://www.pfu.fujitsu.com/hhkeyboard/dr_wada.html

心に響きますね。私がこれを知ったのは先週山本が他部署のメンバーに送ったメールに私がCCで入っていたからで、つい最近なんですけど。

いい言葉で心が洗われたところで本題に入りましょう。

私が現在メインで使っているキーボードは ThinkPad X40 (JIS配列)です。一番のこだわりポイントはトラックポイントですね。キータッチはそれほどこだわっているつもりはないですが、ずっとこれでやってきた のでデスクトップ PC 用の普通のキーボードを叩くとストロークの深さがちょっと気になるようになってしまいました。

以前は Happy Hacking Keybord Lite2 の JIS 配列版を 使っていたのですが、デスクトップ PC のレンタル期間が切れたタイミングで、ちょうど開発の業務がすべてサーバ上で済んでいて、 CPU パワーが要らなかったのでノート PC と外付けディスプレイ1台に借り換えてしまいました。それ以来 ThinkPad を愛用しています。今はメインの開発マシンはデスクトップ PC になっていますが、それも ThinkPad で操作しています。

デスクトップ用には以前 IBM の USBスペースセーバーキーボード(黒)も 買ったのですが(私物です)、トラックポイントの背が高すぎてちょっと使いにくく、メインにはなれませんでした。これは今もデスクトップ PC につながっていてログインパスワードの入力用に使われています。ついでに言うとデスクトップ PC には Logicool の TrackMan Wheel も接続されています。これは会社ではあまり活躍の場がありませんが、自宅ではキーボードにトラックポイントがついていないため、メインのポインティングデ バイスです。(自宅では会社にいるときほどキーを叩かないので、キーボードは PC を買ったときについてきた NEC の何かです。)

ところでデスクトップ PC をどうやって ThinkPad から操作しているかというと、Synergy というソフトでネットワーク越しに共有しています。
Synergyについて詳しくはググってもらえばいいとして、このソフトはもう手放せなくなってしまいました。ThinkPadの真ん中クリックがデスクトップ PC に伝わらないなどの問題もあるのですが、それを補って余りある快適さを手に入れています。

あと、私の席に来た人がデュアルディスプレイのデスクトップ PC を ThinkPad で操作しているのを見て、「ノート PC にディスプレイ二つもつなげられるの?」とか「これどうなってんの?」とか聞いてくるのも割と愉快です。

さて、これまでさんざん ThinkPad のキーボードを持ち上げてきましたが、問題がないわけではありません。私はテキストエディタは vim(Windows では gVim)を使用しているので(この記事も下書きはgvimです)、ESC キーが遠いとやっていられません(Ctrl+[ はまだ慣れません)。また、IME の on/off は大学時代に使っていた canna の設定のせいで Ctrl+O に慣れてしまっているため、Ctrl キーも A の隣にないと小指がつりそうになります(vim でも Ctrl キー多用しますしね)。ThinkPad では小指の付け根で押すって言う芸当は難しいです。
というわけで、AltIME を使って Ctrl と Caps Lock を、Esc と 半角/全角 を入れ替えています。AltIMEには特に強いこだわりがあるわけではないのですが、以下のような点が気に入っています。

  • Vista でも問題なく動作している
  • Synergy と変にかち合わない
  • ペアプログラミングで他の人にPCをさわらせる場合には簡単に設定を戻せる

まとめると、私の快適キーボード環境は以下の3つで成り立っています。

最初は周りの人の話も書こうと思っていたけど、十分に長くなってしまったので自重しておくことにします。ちょっとだけ触れておくと、HHK と東プレの Realforce は人気です。あと Kinesis 使ってる人もいます。

次回は箸休めじゃない記事を書きます(とここで宣言することで自分を追い詰めてみるテスト)。

2008-04-04

RESTアーキテクチャスタイル入門の記事をすべて公開しました

はてなブックマーク   livedoor clip

1月に三分の一を公開して以来、ずるずると遅れていた残りの記事の公開をやっと行いました。

出版は2006年なので2年前の記事です。内容が一部古くなっている部分もあったため、現時点での最新情報に少しだけアップデートしました。

2008-04-01

ricollab実験サービス第一弾を開始します!

はてなブックマーク   livedoor clip

本日より、ricollabの語源の一つである「リコーラボ」としての活動の第一弾、郵便番号検索サービスを開始します。

同時に、このブログのサーバも社内のマシンルームから外部のデータセンターに移動して、心機一転です。読者の皆さんにはサーバの場所が変わってもあまり関係ないかもしれませんが、法定点検による停電の心配などが無くなりました。

「何でリコーが郵便番号なの?」という疑問も大いにあるかとは思いますが、いろいろなサービスで使われる情報なので応用が利くというのと、Webサービスとしてまずは小規模なところからスタートし、サーバの運営やWebサービスの提供までの設計・開発ノウハウを蓄積していこうという狙いがあります。

ただし、小規模なアプリとは言ってもただ単に日本郵便のゆうびんホームページで公開されている郵便番号データを検索できるようにするだけではつまらないので、山本がガチで設計したRESTfulなAPI仕様になっています。
検索結果はJSONPで取得することもできるので、よろしかったらWebアプリからご利用ください。

RESTfulにするためにどうやって設計していったかなんて話も今後公開していこうと考えておりますので、ご期待ください。

ご意見やご質問がある場合はこの記事にコメントしていただければ対応しますが、内容が公開されては困る場合は問い合わせ受付フォームもご利用ください。