ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化

Book description

現代のアプリケーションエンジニアは、UIやデータ処理、開発言語、プラットフォームの仕様や癖だけでなく、サーバやネットワークについても、上から下まで、表から裏まで広く知ることを求められます。本書は「ブラウザ」に関連し、インターネットで使用されるさまざまなネットワーク技術をまとめたものです。HTTP/2.0やWebRTCなどの最新技術、WebSocketやXMLHttpRequestなどのブラウザAPI、そしてそれらの土台となるTCPやUDPやトランスポート層についてまでを幅広くカバーします。また改善前後の性能・速さを可能な限り具体化し、それぞれの場面においてのパフォーマンス改善幅を示します。

Table of contents

  1. ハイパフォーマンス ブラウザネットワーキング
  2. 大扉
  3. 原書大扉
  4. クレジット
  5. まえがき
  6. 訳者まえがき
  7. はじめに
  8. 本書について
  9. 本書の表記法
  10. サンプルコードの使用
  11. 意見と質問
  12. 1章 レイテンシ・帯域幅入門
  13. 1.1 スピードは機能
  14. 1.2 レイテンシを構成する多数の構成要素
  15. 1.3 光の速さと伝播遅延
  16. 1.4 ラストマイルのレイテンシ
  17. 1.5 基幹ネットワークの帯域幅
  18. 1.6 ネットワークエッジの帯域幅
  19. 1.7 より大きな帯域幅とより低いレイテンシを提供
  20. 2章 TCPの構成要素
  21. 2.1 3ウェイハンドシェイク
  22. 2.2 輻輳回避と輻輳制御
  23. 2.3 帯域幅遅延積
  24. 2.4 HoLブロッキング
  25. 2.5 TCPの最適化
  26. 3章 UDPの構成要素
  27. 3.1 ヌルプロトコルサービス
  28. 3.2 UDPとネットワークアドレス変換(NAT)
  29. 3.3 UDPの最適化
  30. 4章 TLS
  31. 4.1 暗号化、認証、データ整合性
  32. 4.2 TLSハンドシェイク
  33. 4.3 TLSセッション再開(TLS Session Resumption)
  34. 4.4 信頼チェーンと認証局
  35. 4.5 証明書の失効
  36. 4.6 TLSレコードプロトコル
  37. 4.7 TLSの最適化
  38. 4.8 パフォーマンスチェックリスト
  39. 4.9 テストと検証
  40. 5章 ワイヤレスネットワーク入門
  41. 5.1 ユビキタスコネクティビティ
  42. 5.2 ワイヤレスネットワークの種類
  43. 5.3 ワイヤレスネットワークにおけるパフォーマンスの基礎
  44. 5.4 実世界のワイヤレスパフォーマンスを測定
  45. 6章 WiFi
  46. 6.1 Ethernetから無線LANへ
  47. 6.2 WiFi標準とその機能
  48. 6.3 WiFiパフォーマンスの計測と最適化
  49. 6.4 WiFiネットワークの最適化
  50. 7章 モバイルネットワーク
  51. 7.1 モバイルネットワーク世代の歴史の概要
  52. 7.2 デバイスの機能と性能
  53. 7.3 RRC(Radio Resource Controller)
  54. 7.4 エンドツーエンドの移動体通信事業者ネットワークアーキテクチャ
  55. 7.5 モバイルネットワーク内のパケットフロー
  56. 7.6 ヘテロジニアスネットワーク(HetNet)
  57. 7.7 実世界の3G、4G、そしてWiFiパフォーマンス
  58. 8章 モバイルネットワークの最適化
  59. 8.1 バッテリー消費量を抑える
  60. 8.2 非効率な定期的データ送受信を排除
  61. 8.3 ネットワークレイテンシのオーバーヘッドを予想
  62. 8.4 変化するネットワークインターフェイス状態に対応するデザイン
  63. 8.5 バースト的に送受信し、アイドル状態に戻る
  64. 8.6 WiFiネットワークへオフロード
  65. 8.7 プロトコルとアプリケーションのベストプラクティスを適用
  66. 9章 HTTPの歴史
  67. 9.1 HTTP 0.9:ワンラインプロトコル
  68. 9.2 HTTP 1.0:急速な成長とInformational RFC
  69. 9.3 HTTP 1.1:インターネット標準
  70. 9.4 HTTP 2.0:トランスポートのパフォーマンス向上
  71. 10章 Webパフォーマンス入門
  72. 10.1 ハイパーテキスト、Webページ、Webアプリケーション
  73. 10.2 モダンWebアプリケーションの解剖学
  74. 10.3 パフォーマンスの柱:演算、レンダリング、ネットワーク
  75. 10.4 人工的テストとリアルユーザでのパフォーマンス計測
  76. 10.5 ブラウザ最適化
  77. 11章 HTTP 1.x
  78. 11.1 キープアライブ接続の利点
  79. 11.2 HTTPパイプライン
  80. 11.3 複数のTCP接続を使用する
  81. 11.4 ドメインシャーディング
  82. 11.5 プロトコルオーバーヘッドの計測と制御
  83. 11.6 ファイル結合とスプライト
  84. 11.7 リソースインライン化
  85. 12章 HTTP 2.0
  86. 12.1 HTTP 2.0の歴史、そしてSPDYとの関係
  87. 12.2 HTTP 2.0への道
  88. 12.3 設計と技術的目標
  89. 12.4 バイナリフレーム入門
  90. 13章 アプリケーション配信最適化
  91. 13.1 定番のパフォーマンスベストプラクティス
  92. 13.2 HTTP 1.xの最適化
  93. 13.3 HTTP 2.0の最適化
  94. 14章 ブラウザネットワーク入門
  95. 14.1 接続管理と最適化
  96. 14.2 ネットワークセキュリティとサンドボックス化
  97. 14.3 リソースとクライアント状態キャッシュ
  98. 14.4 アプリケーションAPIとプロトコル
  99. 15章 XMLHttpRequest
  100. 15.1 XHRの歴史
  101. 15.2 Cross-Origin Resource Sharing(CORS)
  102. 15.3 XHRでデータをダウンロード
  103. 15.4 XHRでデータをアップロード
  104. 15.5 ダウンロードとアップロードの進行状況を監視
  105. 15.6 XHRでデータストリーミング
  106. 15.7 リアルタイム通知と配信
  107. 15.8 XHRのユースケースとパフォーマンス
  108. 16章 Server-Sent Events
  109. 16.1 EventSource API
  110. 16.2 イベントストリームフォーマット
  111. 16.3 SSEのユースケースとパフォーマンス
  112. 17章 WebSocket
  113. 17.1 WebSocket API
  114. 17.2 WebSocketプロトコル
  115. 17.3 WebSocketのユースケースとパフォーマンス
  116. 17.4 パフォーマンスチェックリスト
  117. 18章 WebRTC
  118. 18.1 WebRTCの標準と開発
  119. 18.2 音声・動画処理エンジン
  120. 18.3 リアルタイムネットワークトランスポート
  121. 18.4 P2P接続を確立
  122. 18.5 メディアとアプリケーションデータを配信
  123. 18.6 DataChannel
  124. 18.7 WebRTCのユースケースとパフォーマンス
  125. 18.8 パフォーマンスチェックリスト
  126. 著者・訳者紹介
  127. 奥付

Product information

  • Title: ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化
  • Author(s): Ilya Grigorik, 和田 祐一郎/株式会社プログラミングシステム社
  • Release date: May 2014
  • Publisher(s): O'Reilly Japan, Inc.
  • ISBN: 9784873116761

You might also like

book

マスタリングLinuxシェルスクリプト 第2版 ―Linuxコマンド、bashスクリプト、シェルプログラミング実践入門

by Mokhtar Ebrahim, Andrew Mallett, 萬谷 暢崇, 原 隆文

Linuxシェルスクリプトの解説書。その中でも特にbashのシェルスクリプティングに焦点を当てています。シェルスクリプトの書き方、デバッグ方法、bashプログラミングの基本といったシェルスクリプティングの基礎から、sedやAWKなど各種ツールとの連携といった実践的な応用までを体系的に解説します。WebサーバーなどのLinuxシステムの管理を任されるようになった初級の管理者にも、もっと高度で実践的なテクニックを必要としている中級の管理者や開発者にも広く役に立つ内容です。

book

行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

by Stephen Wendel, 武山 政直, 相島 雅樹, 反中 望, 松村 草也

深津貴之氏推薦!「行動経済学、データ分析、サービス設計のエッセンスが高度に統合された行動変容デザインの良書です」 本書は、行動経済学と心理学をもとに、人々の行動、日常習慣を変える“行動変容”を促すプロダクトをデザインするための書籍です。主にヘルスケア(健康管理)、金融(資産管理)など、これまでITプロダクト(サービス、アプリなど)がなかなか使われてこなかった分野を対象に、ユーザーがやりたいと思っていたものの実行できなかった行動の実現を助けるプロダクトを作り出すための、実践的な視点や知識を提供します。

book

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

by Dustin Boswell, Trevor Foucher, 角 征典

美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ。(本書「はじめに」より) コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介します。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明しています。日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。

book

プロダクションレディマイクロサービス ―運用に強い本番対応システムの実装と標準化

by Susan J. Fowler, 佐藤 直生, 長尾 高弘

UberのSRE(サイト信頼性エンジニア、サイトリライアビリティエンジニア)として、マイクロサービスの本番対応向上を担当していた著者が、その取り組みから得られた知見をまとめたものです。モノリス(一枚岩)を複数のマイクロサービスに分割した後に、安定性、信頼性、スケーラビリティ、耐障害性、パフォーマンス、監視、ドキュメント、大惨事対応を備えたシステムにするために必要な原則と標準に焦点を当て、本番対応力のあるマイクロサービスを構築する手法を紹介します。本書で採用している原則と標準は、マイクロサービスだけなく多くのサービスやアプリケーションの改善にも威力を発揮します。