Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webアプリケーションの開発に携わっている人間として、ずーっと気になっていた本をやっと読むことができた。
特にRESTという言葉は気になっていて、何かしらまとまったものを読んでおきたかったので。

気になったところ

アーキテクチャスタイルの重要性

アーキテクチャっていまいち良くわかってなかったんだけど、デザインパターンよりも粒度が大きいものという説明にはしっくりきた。

REST = ULCODC$SS

RESTっていわゆる下記のアーキテクチャの複合体らしい。

  • クライアント/サーバ
  • ステートレスサーバ
  • キャッシュ
  • 統一インターフェース
  • 階層化システム
  • コードオンデマンド

相変わらずぼやけたままではあるんだけど、こうやって並べてみると今となっては結構当たり前の技術をまとめたものなんだなあと感じる。

クールなURIは変わらない

これなんだか当たり前な気がした。
すでに十分洗練されているものは、変える必要がないんだから。

URIはリソースを表現する名詞にする

この概念は自分には抜け落ちていたので、とても勉強になった。

URIの不透明性

シンプルなURIは推測しやすく、透明性があるという話。
これは色んな所でも使える、結構普遍的な概念な気がする。
設計も推測しやすいものは、良い設計だと思うしね。

べき等性と安全性

べき等性とかって、プロビジョニングツールでしか聞いたことなかったんだけど、こんなところでも使われるんだなと。
ちょっとニュアンスは違うかもだけど、参照透過性とか副作用がない実装とか、みんな同じようなことをいいたいだけな気がするな。
確かにこういう概念大事にしていきたいところ。

microformats

これは全く知らなかった。
セマンティックWEBとかすでに懐かしい!
けど、あんまり惹かれなかったもの事実。
クローラーとか作る際には、気にするんだろうけど、現存のウェブサイトではどれぐらい実装されているんだろうか・・・。

Atom

RSSとATOMは同等のものかと思っていたけども、ATOMの方が標準化されたものとは知らなかった。
これからはRSSより積極的に使っていこうと思った。

JSONPによるクロスドメイン通信

JSONPってちょいちょいみかけてはいたんだけど、こういうことだったのかー。
今だとCORSとかで対応するほうが一般的なんかね。
最近あまり見ない気がするけど、どうなんだろ。

トランザクションリソース

トランザクションリソースという概念は新鮮だった。
困ったときは、リソースにして解決出来ないか検討するという視点は、今まで自分の中にはなかったので参考にしてみたい。

排他制御

ロックをAPIで実装するのはやりたくないなあ。
データベースとかに任せたい領域だわ。

まとめ

全体的にとても学びがあったかというと、そういう感じでもなく、むしろ良い復習になったかなといった印象。
数日程度で読めたしとても読みやすかったのは、各章のボリュームにばらつきがなく、読むリズムが作りやすかったのが良かった気がする。
期待していたRESTに対する理解は、それほどでもなかったのは少し残念かな。。。
個人的にはもっと前に読んでおいた方が良かった気がした。
これからWEBアプリケーションの開発を行うような人には、良くまとまっていておすすめかも。