Block Rockin’ Codes

back with another one of those block rockin' codes

「Web を支える技術」記念トークセッション行ってきました

(編集:ご本人のブコメによりサインの写真を自重)

RESTを知ったきっかけが、http://yohei-y.blogspot.com/:yoheiさんだった人は少なくないと思います。
その山本陽平さんによる、WEB関連の技術の本が出版されまして、そのトークイベントに参加させて頂きました。


本はこれ
amazon:Web を支える技術 -HTTP、URI、HTML、そしてREST


場所は池袋のジュンク堂です。
yoheiさんとid:t_wadaさんによるトークショーであった訳ですが、和田さんのトークの運びがとてもうまく、陽平さんの興味深い話が色々聞けました。
ustもやっていたので、今見られるか分かりませんが、あったら是非見てみると、その場限り(ustしてたらそうはならんが)の裏話やt_wadaの名言(迷言)も聞くことが出来ます。


自分は、あらかじめ一読してから行くということが出来なかったので、ぱらぱらと捲った程度の予備知識での参加だったため、とりあえずメモりながら聞いていました。


トークセッションでは、本全体のコンセプトを和田さんの作成したマインドマップで俯瞰し、そのあと各章について和田さんが要約し、それについて陽平さんに問いかけながら進められました。


自分はまだ読みたかった2,3,4,6,15章の途中、までしか読んでいませんが、トークで出た話も会わせて少し紹介します。

レビュアとして胸を張って言えることは、この本はこれからの時代の教科書になるだろうということです。

引用ですが、そのまま見出しにしました。山本陽平著『Webを支える技術 ── HTTP、URI、HTML、そしてREST』刊行記念トークセッションのおしらせ - t-wadaの日記の中で、和田さんが書いている言葉です。


上記の言葉の通り、この本は色んな意味で「技術者のためのWebについての教科書」だなぁと思います。


"Web"という言葉がつく本ですが、後ろに"2.0"とか"デザイン"とか"アプリケーション"ではなく、"支える技術"とついているところからも分かるように、Webの上での話じゃなくてその"Web"という土台についての技術や概念等がまとめられた本です。


その代表として「HTTP,URI,HTML, そしてREST」が選ばれ、5部17章にまとめられたという感じでしょうか。
もちろん陽平さんの本なのでRESTの話は随所に出てきます。ただトークショーでも言ってましたが「全体に一貫してRESTがあるので、特に部立てはしていない。」ということで、RESTという部はなく、1部3章にアーキテクチャスタイルとして紹介されている形になっています。


ただし5部の「Webサービスの設計」はリソース指向のアプローチが中心になっているので、その部の内容は陽平さんをご存知なら想像には難くないかと思います。


この章はそこまでの知識をまとめて応用する上での実践的な内容なので、その意味でもただのリファレンスで終わらない「教科書」って感じがします。

キーワード

twitterにつぶやいたりメモを取ったなかから、いくつかキーワードから抜き出してみます。

ハイパーメディア

和田「ハイパーメディアって何ときかれたら?」
陽平「リンクが重要なんだ!」

Webは分散システム

「恐らく世界一巨大で、もっとも成功した分散システムなのに、案外その点が意識されていない。」

URI

URIがすばらしかったのは、アドレス可能性」

Cool URI

「シンプルな名詞にする。メソッド名を入れない。拡張子は使っちゃいけ無い訳じゃ無い。そして変わらないこと。」

HTTP

バッドノウハウの固まり、特に文字コード


T氏 「常識的なFire WallはPOST,GET以外のメソッドを弾くだろ?」
陽平「それが出来るのもHTTPの良いところ。」

WebサービスとWeb APIは分けて考えない

この話は、正直なんとなく理解していたつもりでしたが、今回直接和田さんが陽平さんに問いかけたことで、やっとちゃんと分かった気がしました。
大事なことなので3回書かれていて、索引もされています。

JSON

JSONをデータコンテナとして使って満足していてはいけない。ハイパーメディアとしての側面を考えるなら"リンク"を現すメンバを入れるべき。」
和田「その場合、キーの名前は何がいい?」
陽平「hrefやsrc、あと書き忘れたけどrelも」

ブログ

陽平「帰ってブログに書くまでがイベントです。」
 

まとめ

例えば以前聞いた話にあった

Strutsで開発いっぱいしてきたし、設計もできる、趣味でwicketも触ってる。」
という人が面接に来た時、
「GETとPOSTの違い分かりますか?」
ときいたら黙り込んでしまった。

こういう人にも是非読んでもらえれば、この人が不幸にも「それは別に気にしなくても動くよ」と教えられてしまってきたソース上の呪文たちがどういう意味を持っていたのか分かるのかな、なんて思ったりもしました。

本当はWebやる上で常識であるべきはずなのに、ちゃんと教えてくれる(教えられる)人が中々いなくて、しかも後回しにされがちな分野を、陽平さんが分かりやすくまとめて教えてくれた本という感じですかね。

リファレンスの面としては、付録として「ステータスコード一覧」と「HTTPヘッダ一覧」が載っていて、これも重宝しそうです。

懇親会

多方面の人たちが集まって色々お話しさせていただきました。


id:ryushiさんが持ってた医学書、あの話は面白かった。
患者の状態をもとに、次にどの診断をしていくかを特殊な図で書いた本。この方法で障害対策マニュアル書いたらいいねって話でしたが、本の名前もあの表の書き方もわからないんでここでは全く上手く説明できない。


あと、和田さんにTDDについて思ってることを色々聞いてもらった。やるやる詐欺にならないようにしたい。しかしどうするか。


名刺入れを大きくしてもっと持ってないと、大事なときに無くなる。

サイン

懇親会では陽平さんと和田さんのサインを頂きました。


(陽平さんがブコメでNGをだされていたので、写真は自重しました。)


ということで本当に楽しかったです。
陽平さん、和田さん、編集者のみなさん。本当にお疲れさまでした。