ツナワタリマイライフ

日常ネタから技術ネタ、音楽ネタまで何でも書きます。

「Webを支える技術」はWebに関わる全ての技術者にとって教科書だと思う

はじめに

やっと読んだ!感想レベルですが紹介します。

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

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

きっかけはこの記事。エンジニアパズルのときの参考書籍であがっていたから。

take-she12.hatenablog.com

さらに言えば最近node.jsの勉強をしていて、node.jsの特徴である非同期処理に対して従来のhttpの同期型処理と比較もしたいな、そのためにはちゃんとwebとかhttpとか知っておかないとという思いでnode.jsの参考書を一緒に買いました。

実際非同期型と比較するならサーバ/インフラを支える技術に載ってるapacheアーキテクチャと比較になるんだろうけど。何にせよwebアプリ作る人間なので設計思想はちゃんと抑えておくべきと思ったのです。

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

REST

RESTはWebのアーキテクチャスタイルです。

アーキテクチャスタイル(REST、サーバ/クライアント)

アーキテクチャ(ブラウザ、サーバ、HTTP)

実装(FirefoxApache

といった粒度になると。これ知らない概念だった。アーキテクチャスタイルという概念があるという概念を知らない。。。(笑)

  • クライアント/サーバ
  • ステートレスサーバ
  • キャッシュ
  • 統一インタフェース
  • 階層化システム
  • コードオンデマンド

これら全てを兼ね備えるのがRESTというアーキテクチャスタイルであり、webやhttpはこのRESTのアーキテクチャスタイルにしたがって実装されています。ちなみに全部を採用する必要はないとのこと。

HTTP

アプリケーション層のプロトコル。GETとかPOSTとかメソッドがあって、ヘッダがあって。。。ぐらいは知ってた。

ステートレスであり、シンプルであることが最大の強み。

レスポンスコードが知らないものがたくさんあって楽しかった。(笑)

Atom

え?エディタですか?いいえ、XMLフォーマットです。

エディタのほうはこちら。

take-she12.hatenablog.com

これ、はてなブログAPIがこの形式で取得できるんですね、見覚えあると思ったら。

はてなブログAtomPub - Hatena Developer Center

Webサービスの設計

この内容が1番参考になった。今node.jsさわってるので簡単にAPIを設計してみたいと思う。

設計は経験なんて言うけどちゃんと設計思想がある。まず過去の知見を知ろう、ベストプラクティスを知ろう、そして試行錯誤しよう、それが近道だ。

おわりに

まずアーキテクチャを知る、が今年のテーマ。本当に読んでよかった。

Webに関わる全てのエンジニア、RESTやhttpがふわふわした状態だったら読んだほうがいいです。