宮水の日記

宮水の日記

主に書評や資格取得について記事を書いています。

Webを支える技術を読みました!

こんばんは!宮水です。

今月はインフラ強化月間ということで、SREさんにオススメされた「Webを支える技術」を読みました。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

どんな本か?

この本は、タイトルの通り「Webを支える技術」すなわち HTTP/ URI/ HTMLについて取り扱っています。
どのようにWebが生まれ普及していったのか、HTTP/ URI/ HTMLとはなんなのか、
またこれらの技術を用いたWebサービスの設計について解説されています。

Railsでscaffoldを使わなくても簡単なアプリが作れる人は、難なく読める難易度の本でした。
逆に、GETやPOST, methodやステータスコード, Webアプリの設計にあまり詳しくない人にはかなり充実した内容になっています。

対象読者

本書の対象読者は、規模の大小に関わらず、Web技術を使ったシステムを作ったことがある人です。
読者のみなさんが得意な言語でどのように実装するか想像しながら読んでいただけるとよりわかりやすくなると思います。

本書にある通り、一度Webアプリの設計をしたことがある方には充実した内容となっていました。

実際の実務で使える知識

検証のNetworkタブに書いてあることがわかるようになる

全部は覚えきれていませんが、画像のようにネットワークタブで得た通信の内容が本書に詳しく載っています。
ステータスコードやヘッダー情報について逆引きできる付録も載っており、開発現場に置いておきたい内容となっていました。
特にステータスコードは200系が成功で、500系がサーバーエラーくらいしか知らないので、この本を見て「どうしてこのAPIではこのステータスコードを返すようにするのか」意識しながら実装したいと思いました。

f:id:kattyan53:20200101205652p:plain

HTTPメソッド

GETやPOSTについて書かれているのですが、
べき等と安全という性質があることを知りませんでした。
べき等とは、「ある操作を何回行っても結果が同じこと」を表す数学用語です。(本書より)

この章を読んで、POSTやPUT, DELETEなどのAPIを作成した際に、どのようなときにべき等で無くなるのか、べき等かどうかテストすることが大切だと学びました。

Webサービスの設計

Webサービスの設計では、郵便番号検索サービスを題材に、丁寧にリソース設計を学ぶことができました。

「検索の結果をリソースとして捉えることが重要です」という一文が目からウロコでした。
オブジェクト指向やデータ図は簡単に書いたことはありましたが、”リソース”という観点からアプリケーションを設計したことがありませんでした。
APIの実装はフロントタスクと同じくらいよくあるタスクなので、今後は意識したいです。

まとめ

実は2年くらい前に1回読んだことがあったのですが、全く頭に入っていませんでした。
今回、読み直しできてホッとしています。

アプリケーションの設計を何度か行った後に読むと、Railsがいかに最初から設計を手伝ってくれているのか理解できました。
先輩に教えていただいて実装の際に当たり前のようにみていた情報もかなりあったので、細かいところまでじっくり読むことができました。
有名な本ではありますが、素晴らしい本だと再確認することができました。

ここまでお読みいただきありがとうございました。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)