Real World HTTP

Real World HTTP を改めて読んでいる


買ったことすら忘れてしまっていたが、PDF を溜め込んでるストレージを整理していたら発掘したので改めて読み始めた。

いま第 3 章を読んでいる。知ってる内容の方が多いが、忘れていたことや知らなかったこともあり読み応えがある。 加えて以前はたまに書いていた Go も、ここ数年全く書かなくなってしまったので、そのリハビリも兼ねることが出来そうだ。

3 章では HTTP クライアントを実装しながら、順を追って HTTP の仕組みを学んでいく。

  • 単純な GET
  • クエリストリングありの GET
  • POST
  • ...

上記のように自分でクライアントとサーバーの両方を実装することで、より深い理解が出来るようになっている。 また、その過程で基礎的な Go らしい書き方や言語の設計思想・文化などもわかるようになっていて面白い。 例えば io.Reader, io.Writer がある(抽象化されている)ことがなぜ美味しいのか、みたいな話も、それなりの字数を割いて説明している。 Go を初めて学ぶ人にも是非お勧めしたい内容だ(Tour of Go は完了している前提にはなりそう)。

ioutil.ReadAll(reader io.Reader) ([]byte error)

まとめ

業務で扱うシーンが少ない技術領域かもしれないが、基礎的な知識を体系的に学べる書籍は稀なのでありがたく読み切ろうと思う。 本書が発売されたのは 2017 年のようだが、第 2 版の発売が予定されているのでどう変わったのも気になっている。