zashii-1434

Stats of My Life(おいしい人生を味わうために、コツコツとチャレンジしたことを書くブログ)

「Webを支える技術」読みました。(2017年30冊目)

 

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

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

 

■感想

感想としてRailsを使って簡単なWebサービスを作っていた私にとっては、RESTやHTTP,URI,の基礎理解を深めることができて大変勉強になりました。

 

現時点の私の理解力を元にですが、本書ではざっくりいえば次の2点を提供しています。

 

・Webの仕組みとその歴史・背景
・Web設計の基礎

 

もちろん、全てが理解できたというわけではないです。
自分で本書で書かれていることを実際に試しながら理解を深めていくしかないですね。

 

技術書はまずは文章に書かれている専門用語一つ一つを理解していないと全体理解ができないので、読むのにパワーと時間がかかりました。

 

下にも書いている本書リソースの定義が私が知っていたリソース(ハードディスク容量やCPUの処理速度、メモリ容量のこと)とは定義が異なっていたのでわかりにくかったです。

 

また、できればWebサービスを設計する上でボトルネックとなりうる、CPU・I/O・DB・NWといった、上記制約の発見の仕方。そして、正しく見積るための計算方法も知りたかったです。

 

<メモ>
■リソース設計とは?

クライアントとサーバの間のインターフェースの設計のこと。
どのようにリソースを分割し、URIで名前をつけ相互にリンクを持たせるかが設計の勘どころ

<設計手順>
 1.Webサービスで提供するデータを特定する
 2.データをリソースに分ける
 3.リソースにURIで名前をつける
 4.クライアントに提供するリソースの表現を設計する
 5.リンクとフォームを利用してリソース同士を結びつける
 6.イベントの標準的なコースを検討する
 7.エラーについて検討する

■RESTとは?
→Webのアーキテクチャスタイル

<観点>
・クライアント/サーバ:ユーザインタエフェースと処理を分離する
・ステートレスサーバ:サーバ側でアプリケーション状態を持たない
・キャッシュ:クライアントとサーバの通信回数と量を減らす
・統一インタフェース:インタフェースを固定する
・階層化システム:システムを階層に分離する
・コードオンデマンド:プログラムをクライアントにダウンロードして実行する

リソースとは「Web上に存在する、名前をもったありとあらゆる情報」
世界中の無数のリソースは、それぞれURIで一位の名前を持つ
URIを用いることで、プログラムはリソースが表現する情報にアクセスできる

 

<単語メモ>
microfomats
→HTML文書そのものにメタデータを埋め込む技術
Atom
→ブログなどの更新情報を配信するためのフィードだけではなく、実際には幅広い分野での
応用が可能な汎用XMLフォーマット
クロスドメイン
→不特定多数のドメインに属するサーバにアクセスすること
ファクトリリソース
→リソースを作成するための特別なリソース
悲観的ロック
→ユーザをあまり信用せずに、競合が発生しないようにする排他制御の方法
ステートレス
→サーバがクライアントのアプリケーション状態を保存しない状態制約