著者の @redhots2308 さんに本を頂いたので、今更ながら書評&個人的なメモを書いていきます。
- 作者: 小林恭平,坂本陽,佐々木拓郎
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2017/03/16
- メディア: 単行本
- この商品を含むブログを見る
こんな人にオススメ
- 文系出身の方やコンピュータサイエンス以外の専攻で、IT業界を志している方 or 働くことが決まっている方 or 新人・若手の方
- アプリは書けるけどインフラはわかりません(またはその逆)、でも最低限の知識は付けておきたいんだけど何から始めればいいの?な方
- 新規ビジネスを考える方で、自身ではエンジニアリングせず、他のエンジニアに自身のアイデアを実装してもらう方
感想
WebアプリやWebサービスを開発する上で必要な基本的な技術要素を広く浅く学ぶことができる本です。見開きの右側のページが全て「イメージでつかもう!」という絵や図で技術を説明するコーナーになっており、初めてWeb関連の技術を学ぶ方でも楽しく読み進めることができると思います。
また、既にIT業界で働いている人でも、アプリのコーディングはできるがサーバについてはインフラチームに任せっきり、という方がいらっしゃると思います。特に若手の方だと「まずはこの領域で戦力になって」と狭く深く教育されるケースが多いと思います。そのような方が、Webアプリケーションがなぜ動作しているのか1から100まで理解する上で役に立つ本だと思います。
読み進め方として、まずは全体をざっと読み全体感を抑える、そして深く学びたいと思うところが見つかれば、その専門の本を探して読む、という流れがよいと思います。例えば、2章のDNSを深く学びたければ「3分間DNS基礎講座」、3章のHTTPプロトコルやURIの話を深く学びたければ「Web API: The Good Parts」といった形です。これらの本はその分野で個人的にオススメな本なのですが、私はこの本から入ってしまったので、どうしても全体感を掴むのに時間がかかってしまいました。そのときに「この一冊で全部わかるWeb技術の基本」があれば、もっとスムーズに知識を付けられたと思います。
また、非エンジニアの方でWebアプリケーションによる新規事業を考えている人には、7章の「Webシステムの構築と運用」を読むことを強くおすすめします。この章には、アイデアをWebアプリケーションに落とし込む上で必要になるタスク一覧が時系列で書かれています。エンジニアではない方には、目に見える機能以外(非機能要件)の作業やタスクがなぜ必要なのかがどうしても分かりにくいと思います。この章を読むことで、ビジネスを安定的に成長する上で最低限必要なタスクについて理解を深めることができると感じました。
メモ
HTTP/1.1 以降に導入された方式
- HTTPキープアライブ:リクエストごとにコネクションを確立するのではなく、継続して使いまわす方式
- HTTPパイプライン:リクエストを送ったあと、レスポンスを待たずに次のリクエストを送信する方式(ただし、順番どおりにレスポンスを返す必要がある)
HTTP/2の改良点
- ストリーム:仮想的なHTTP通信経路をリクエスト/レスポンスごとに生成。HTTPパイプラインで問題となっていたレスポンス待ちを回避
- バイナリ形式
- ヘッダー圧縮
- サーバプッシュ:HTMLファイルをリクエストしたときに、imageタグが埋め込まれていたら事前に画像を返す
データベースの冗長化
- ミラーリング:正系に更新があったときに、同時に副系も更新する
- レプリケーション:正系に更新があったときに副系に更新情報を連携する。副系は任意のタイミングで更新をおこなうので、すぐに更新されるとは限らない。
まとめ
Web技術を点ではなく線で学ぶのを助けてくれる本です。ぜひ読んでみてください。
- 作者: 小林恭平,坂本陽,佐々木拓郎
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2017/03/16
- メディア: 単行本
- この商品を含むブログを見る