このエントリはコンピュータ書を読んでいる女子の Advent Calendar 2014に参加しています。
前日は @s_kic さんの「ゆとりの法則」でした。Slack読みたくなる。

2014年、一番深く読んだのは「Webを支える技術」この本との、ある意味縁みたいなものを(恐れおおくも)感じたので、僭越ながら紹介ブログを書かせてもらいます。

web

以前のブログにも書きましたが、私はこの本の読書会を開催しています。
読めば読むほど深く、とてもサラリとは読めません。

この業界ってIT辞書で調べても釈然としない、ふんわりとしか掴めない用語、沢山ありますよね?
結局は一言や数行では表せない用語が多いということなのでしょうが、その簡単には表せない内容がシンプル(シンプルに書けるってすごく知見がある証拠)に説明されています。
(上記が紹介、感想でもあり、総評でもあります)

本のテーマ
————————————

WebサービスをいかにWebらしく設計するかをテーマに、
①HTTPとURI、そして各種ハイパーメディアフォーマットの使用を解説
②Webサービスの具体的な設計方法を明示
2つを目的として書かれています。
勿論、全てのプログラミング言語の開発者の方が対象です。

第1部 Web概論
————————————

1部では基本的なURLとURLの違いや、アーキテクチャとは何か?など基本的な言葉の意味や、Webの歴史、そしてRESTの誕生までが書かれています。

第2部 URI
————————————
URIを設計するという考え、持たずに作っている方結構いるのではないでしょうか?
この部ではこのURIの設計に関して守るべきことが書かれています。
「クールなURIは変わらない」「URIはリソースを表現する名詞」など名言が出る部でもあります。

第3部 HTTPの基本
————————————
いつも当たり前のように使っているHTTPの仕組み、具体的にはTCP/IP、クライアントとサーバ、HTTPのステートレス性やCRUD、ステータスコード…などなどが詳しく書かれています。

第4部 ハイパーメディアフォーマット
————————————

この章はHTMLとJSONに重きを置いて読んだ方が良いです。
他のものは需要がなかったので使われないまま古くなってしまったからです。
「microformatsの後、改良したMicrodataが登場しましたが、まだあまり使われていません。
Atom、Atom Pubkishing Protocolはあまり使われないまま廃れました。なので読んで勉強しても、そのまま使うことが難しいのです。」by @tkawa さん
もちろん、そういうものがあったと一読しておくことは良いと思います。

第5部 Webサービスの設計
————————————
郵便番号検索サービス(読み取り専用、書き込み可能Ver)を例に、今までの章で書かれたことを活かして設計方法を具体的に説明しながら紹介していきます。
(しかし私が理解が追い付いていないためちゃんと読めていません。でも最初に読んだ頃よりは読めてきました)

合わせて読みたい
————————————

tokumaru

いわゆる徳丸本と言うようですが、本のレビュワーに山本陽平さんがいらっしゃるのもうなづけるように、安全なWebアプリケーションを作ることは、Webサービスの設計と通ずるものが確実にあると思って今読んでいます。
Webアプリケーションの脆弱性、そしてその解消法が書かれており、「Webを支える技術」でサラリと書かれていたこと(セッションID等)が丁寧に載っています。読んだ印象としては「Webを支える技術」より読みやすいです。
付属でついているVMwareでの仮想環境で実際に手を動かしながら進めるので、読むというより実習という感じの本です。

もっととっつきやすい本がいい!という方にはこちらを

http

HTTPに特化した(プロトコルなど)内容で、イラストが多く、わかりやすく書かれています(が、内容は結構容量いっぱいいっぱい。すごい具体的!)
最初の入門編にはこちらがお勧めです。可愛いページで、サラサラ読めますよ!

合わせて見たい
————————————

これからプログラミングをはじめる人のための「Webのしくみ」
WebやRESTをわかりやすく教えてくれることに定評がある、川村 徹(@tkawa)さんが講師を務めた授業動画です。生放送の授業は終わってしまいましたが、動画は閲覧可能です。本当にわかりやすいですよ!

最後に
————————————

私はRubyを勉強している早い段階でこの知識を得られたこと、大変ラッキーでした。
念願の電子版も発売されたということで、皆が手元に持っておくべき本なのではないかと思います。

この本に関して書くと決めた時からマニアックな領域まで調べてしまったのですが、やはり面白いのは本を出版するまでのTogetter「『Webを支える技術』の見所とか感想とか」、これを見ると出版する苦労が伝わり、愛着が湧いてしまいます。

そしてこの図。カッコいい!!

#webtechbook でTwitter検索すると楽しいですよ!

明日は @miccweb さんが今年買ったおすすめの本を書いてくれるようです。お楽しみに。

カテゴリー: