「ハイパフォーマンスブラウザネットワーキング」を読みました
久しぶりにさらっと読めそうな技術本を読んでみました。
ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化
- 作者: Ilya Grigorik,和田祐一郎,株式会社プログラミングシステム社
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/05/16
- メディア: 大型本
- この商品を含むブログ (2件) を見る
第一部 ネットワークの基礎
ネットワークやレイテンシ・帯域幅というのがどういう物なのかといった事から、 TCPやUDP、TLSのざっくりした説明と、ネットワーク周りからみて、パフォーマンスを 改善し、維持するために考えるべきことが解説されています。
エンジニアの嗜みとしてさらっとは知っていることではありましたが、 私のような、ネットワークが本業ではない人間でも、もう一歩踏み込める内容でとても勉強になりました。
第二部 ワイヤレスネットワークのパフォーマンス
無線によるネットワークの基礎、WiFiの規格や、1G,2G,3G,4Gといったモバイルネットワークの世代、 GSMからはじまり、UMTS,CDMA2000,HSPA+,LTE,LTE-Advancedといった規格の説明と大まかな 制御方法等が解説されています。
モバイルデバイスにとって、プレゼンテーション層、ネットワーキング、バッテリ持続時間は重要であり、それぞれにベストプラクティスがあるが、全てを調和させるのは難しくバランスをとることが大切とか、どう最適化をしていくか等の方向が書いてあります。
第三部 HTTP
HTTP 0.9に始まり、1.0/1.1/2.0へとどのように発展したか、プロトコルの内容も交えながら解説。 この2年、新しい分野の勉強がほとんどできていなかったため、ざっくりレベルではありますがSPDYやHTTP 2.0の構造が示されていて非常に助かりました。
シンプルなだけにHTTPのベストプラクティスって大変ですよね。
第四部 ブラウザAPIとプロトコル
XHR(XMLHttpRequest), SSE(Server-Sent Events), WebSocket, WebRTCといった、昨今のwebアプリを担う技術を駆け足でざっと紹介。 webアプリ方面はほぼノータッチだったせいかほんと疎くて、ajaxが登場したころからJavaScriptで簡単に いろいろな事を実装できるのかが謎だったのですが、やっとどういうものかをぼんやり理解できた感じです。
WebRTCのところは実コードと略語が多くて少し眠くなって来るのが…
執筆が2014年の頭ということで、HTTP/2やWebRTCが最新の情報ではなく幾分古いですが、 今まで薄ぼんやりとしたままにしていたことが、おぼろげながら輪郭が浮かび上がってきたような気がします。
難解な数式も小難しい理論もでてきませんし、割と平易な文章でかかれていますので、 Internetを利用するアプリを作るプログラマだけでなく、webコンテンツ制作者等 ネットワークに少しでも絡む立場の人はmustに近いshoudで読んでおいて損はない内容だと思います。