読んだ本
Webを支える技術
結論
- 読んで良かった
- Web開発に携わる上でほぼ必ず必要となる要素について知れる
- Web開発における基本的な設計を学べる
- Webの歴史を知れる
- microformats、Atomは知らなくても困らないと思う
読もうと思った経緯
「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版」の感想にも記載した通り、現職の必読本に指定されているためです。単純にWeb技術をおさらいするという意味でも読もうと思いました。
読んだ感想
ざっくりとは最初の結論の通りですが、もう少し詳細に書いてみます。
Webを構成する基本的な技術を把握できる
多くの人はWeb開発始めたばかりの段階で、Webというものを体系的に学んでいることは少ないはずです。漠然とHTML・CSS・JavaScriptといったマークアップ技術やサーバー、データベースぐらいの構成を認識できているぐらいの方もいると思います。しかし、Web開発を行うにはもう少し詳細な理解が必要です。
- Webの用途と形態
- プロトコルや言語仕様、ソフトウェア
- HTTP、REST、URI、HTML、Webブラウザ、...
- Webサービス、リソース、URIの設計
- CURD、トランザクション、排他制御、バッチ、バルク、…
- HTTPの仕様
大雑把に出してもこういった要素を知る必要があります。これらは特定の場合だけ使うという限定されたものではなく、 Webアプリケーションを作る際にほぼ必ず考慮することになる技術です。そのため、本格的な開発を行う前にこれらの要素の存在を把握しておくことはとても重要なことです。これらの知識がない状態で開発に携わってきた方は、きっとどこかでつまづきポイントがあったと思うので、ぜひ今足りていないものを埋める感覚で読むと良いと思います。
Webの歴史を知ることで、現在の技術の背景を理解できる
多くの技術は誕生や仕様の決定に歴史的背景があります。Webの歴史に触れる中で現在のWebの形になった理由、技術やソフトウェアの栄枯盛衰、アーキテクチャの意義といったものを知ることが出来ます。
基本的な設計を学べる
Webアプリケーションとして必要となる基本的な設計について知ることができます。利用者として見えている部分からは想像できない多くのことを考慮して実装する必要があります。
- RESTというアーキテクチャスタイルと関連するHTTPメソッド
- URIの構造
- レスポンスのステータスコード
- XML、JSONの構造
- HTTPヘッダ
- 認証
- キャッシュ
- HTMLの構造
- リソースの分割と関連付け
- トランザクションや排他制御といったデータ整合性の考慮
- ユーザーインターフェース
これら各技術の詳細を最初から全て理解しておく必要はありません。こういった要素があるということをまず知り、そこで必要な観点を学ぶことで、開発の効率と品質を大きく向上させることができます。ここでは基本的と言っていますが、正直ちゃんとこれらが考慮されずに作られているアプリケーションは少なくありません。そんな悲劇を広げないようにぜひ学んでいきたいものです。
microformats、Atomは知らなくてもいいのでは…
microformatsはHTMLへのデータ表現技術の一つです。が、一般的なWebサービス、Webアプリケーションでは扱わないものだと思います。特に話題にもならないので、必要になったときに学べば十分かと思います。そういうものがあるという認識ぐらいだけ持てれば十分かと思ってます。
また、AtomはRSSの代替としてコンテンツ配信に用いることが多いXMLフォーマットです。これ自体は現在多く用いられていると思いますが、ほとんどRSSとして読み替えて捉えられがちだと思います。また、ブログやニュースサイトなどのコンテンツ配信で用いられているとはいえ、多くの場合はライブラリなどで自動生成されることが多く、細かく仕様を把握し ている重要性は低く感じます。さらに、一般的なWebアプリケーションにおける通信ではXMLよりJSONが主流になっています。こちらも存在や概要だけ押さえておいて、必要になった際に掘り下げれば十分かと思います。
大体は知っている内容だったが、より理解を深められた
基本的な部分は知っている内容がほとんどでしたが、細かい仕様や歴史的背景は知らないことも多く勉強になりました。また、これまでふんわりと理解していた内容を学びなおせたので、知識の土台作りとして良い体験だったと感じます。
ちょっと内容が古くなっているかも
初版が出版されたのが2010年ということもあり、取り上げている技術や観点が現在とマッチしていない部分もあるように感じます。とはいえ、大部分は現在でも問題なく適用できる部分だと思います。また、この本で必要なのは最新の詳細な仕様ではなく、Webにおける基本理解だと思うので、そういった意味で十分な内容なのではないでしょうか。
おわり
繰り返し読もうとは思いませんが、一回は読んでおく価値があると思いました。特にふんわりした理解でWeb開発を行っている人は、手を動かすのと並行して読むと開発のレベルが底上げされるかと思います。
本を読んだ感想シリーズ第3弾でした。過去の感想記事も良ければ読んでみてください。「本を読んだ感想」タグから参照できるようになってます。