SummerWind

Web, Photography, Space Development

ハイパフォーマンス ブラウザネットワーキング

オライリーさんから、まもなく出版される「ハイパフォーマンス ブラウザネットワーキング」を献本いただきました。オライリーさん、どうもありがとうございます。原書の「High Performance Browser Networking」はWeb上でも無料で読めるので、気になる章をたびたび斜め読みしていました。読むたびに内容が濃くて素晴らしいなと感じていたので、日本語での出版は本当に嬉しいです。

さて、内容の濃さはもちろんなのですが、個人的にこの本を素晴らしいと感じる理由が大きく2つあるので紹介したいと思います。

レイテンシへのフォーカス

1つ目はレイテンシに対する取り組みに強くフォーカスされていることです。本書を読み進めると、とにかくレイテンシを少しでも減らす方法が頻繁に紹介されていることに気がつくと思います。

ブロードバンドに接続されたPC上で使うインターネットではレイテンシをそれほど強く意識する必要はありませんでしたが、スマホなどのモバイル環境におけるインターネットでは、レイテンシを強く意識しておくことが重要です。なぜレイテンシを意識する必要があるのか理由が気になる方は、本書を読み、さらにブロードバンド環境と3GやLTEに接続された環境のそれぞれで、同一のサーバーに対してPingを実行してみると、理解しやすいのではないかと思います。

本書を読めば、そもそもレイテンシとは何か?を正しく理解できるだけでなく、レイテンシがどこで生じるのか、そしてレイテンシにどのようにして取り組めばよいのかを理解できます。とりわけ、第2部のモバイルネットワークに関する章は、なかなかWebでは情報が得にくい3GやLTEの仕様にまで踏み込んで解説されているので、必見です。

フロントエンドな人も、ネットワークレイヤーな人も

素晴らしい点の2つ目は、本書の内容の幅広さです。まずネットワークの基礎やTCP、UDPといったインターネットの基礎となるプロトコルの解説から始まり、HTTPの詳細な解説を経て、ブラウザのAPIを通じて使用するWebSocketやWebRTCの解説へと進んでいきます。

本書を読めば、普段フロントエンドを開発している方は、ブラウザのAPIの先で何が行われているのかを正しく理解できますし、普段ネットワークやルーターなどを扱うエンジニアの方は、アプリケーションレイヤーで実際にどんなプロトコルが流れているかを知ることができます。読み手の立場によって得られる情報は変わると思うのですが、それが決して薄い情報ではないのが本書の素晴らしいところだと思っています。

最後に

そんな素晴らしいHPBN日本語版なのですが、今回ご縁があって自分もレビュアーとして本書に関わらせていただきました。主にHTTP/2やWebRTCの章などのレビューを担当しています。HTTP/2の章に関してはレビュー中にも仕様策定の議論が進みHTTP/2の仕様が変わるなど、なかなかアグレッシブなレビューとなりましたが、HTTP/2の概要を理解するには十分な内容に仕上がっていると思います。

そんなこんなで、本書はインターネットに関わる全てのエンジニアの方にオススメしたい良書です。ぜひ手にとってみてください。

Moto Ishizawa

Moto Ishizawa
ソフトウェアエンジニア。ロケットの打上げを見学するために、たびたびフロリダや種子島にでかけるなど、宇宙開発分野のファンでもある。