yujiroのプログラミング

勉強内容をアウトプットし、サボらないようにする為のブログ

<DAY59>WEBに関する技術を読んで 第2章まで

\ Follow me!! /

f:id:yujiro0320:20190415152250p:plain

<学習時間と累計時間> ●学習日数  59日 

●学習時間(本日)   3.5時間

●累計学習時間  156.5時間

●一日あたりの平均学習時間  2.65時間 

この記事のまとめ

WEBに関する技術を第2章までとりあえず読んでみた。 初心者がWEBを支える技術を読むにあたり、単語の意味とそれが何を示してるのかわからないので読みづらい。けど内容は勉強になる

書籍URL https://www.amazon.co.jp/Web%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93-HTTP%E3%80%81URI%E3%80%81HTML%E3%80%81%E3%81%9D%E3%81%97%E3%81%A6REST-WEB-PRESS-plus/dp/4774142042/ref=sr_1_1?adgrpid=52846719243&hvadid=338588425160&hvdev=c&hvlocphy=1009298&hvnetw=g&hvpos=1t1&hvqmt=e&hvrand=6495890101632290940&hvtargid=kwd-333749887651&jp-ad-ap=0&keywords=web%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93&qid=1555557065&s=gateway&sr=8-1

WEBとは何か?

大きく3種類に分類される。

WEBサイト

一番イメージしやすい。グーグルのページとか。 どうやって表示しているのか、どうやって処理しているのかをイメージしなくても ユーザーが使えるのがWEBの魅力である。

ユーザインタフェースとしてのWeb

見た目を整えて、ブラウザの設定をしたりする。 昔はハードのリモコンボタンでしていたが、今はブラウザ上で設定するのがほとんど。 端的に言えば、フロントエンドエンジニアが関わる領域。

プログラム用APIとしてのWeb

本書では、ややこしいのでWebAPIと呼ぶ。 端的に言えば、バックエンドエンジニアが関わる領域。 APIはプログラム用のインタフェース。ってイメージ。 データフォーマットにはXML(ExtensibleMarkupLanguage) JSON(JavaScriptObjectNotation)を使う。

XMLについて詳細  https://www.graffe.jp/blog/2911/ JSONについて詳細 https://www.json.org/json-ja.html

WEBを支える根幹の技術

HTTP(URLとHTMLをやり取りする為する取り決め) URL(WEB住所) HTML(WEB文字)

HTMLはXMLを基にした汎用の言語。

ハイパーメディアと分散型システムこの2種類が WEBを支える技術の根幹にある。

ハイパーメディア

リンクでデーターを結びつける事。 例えば、書籍などで目次を確認する以外だと"ドラえもんの生態"のページを探すには先頭から読んで対象ページを探すしかなかったが、リンクを結びつける事で"ドラえもん"と検索するだけで対象ページが見つかるようになった。

分散システム

一箇所にあるコンピューターで処理するのでなく、世界中に散りばめられたサーバーにアクセルする事で多数のコンピューターで処理ができる。 様々なパソコンが同時にアクセスし処理ができるのは、HTTPのプロトコルが簡単だから。

WEBの歴史

インターネットの始まりなどは割愛。 RPCは分散システムを実現する為に必要な技術(昔は) ただ、問題があり、大規模分散システムとはならない。

ハイパーメディアの複雑化

情報のやり取りがHTMLだけだと対応できなくなって新たな仕組みが生まれた。 microformats RSS JSON 今後学習する上で必要になりそうな単語だけど、今はまだ理解をせず。

WEB歴史に名を残す著名人

1990年にバーナーズリーガWEBを発明。サーバーとブラウザを公開。 最初流行ったブラウザはモザイク。 RPCと違い、HTTPのプロトコルが簡単だから流行った。誰でもアクセルできるって感じかな。 ロイフィールディングがWEBのアーキテクチャを決定付けた(構造) このアーキテクチャをRESTと名付けた

文書を読むためのWEBからプログラムを実行するためのWEBへ

アマゾンが2002年に自社で扱う書籍のデーターをWEBを通じてプログラムで取得する技術を開発した。 これにより、WEBを使って処理するのが素晴らしいと世の中が便利さに気づき始める。 RPCの技術を発展させたプロトコルも出てはいたが、複雑さと政治的な理由から現在のWEBの技術にインターネットが飲み込まれ始める。

ここまでで第2章が終わり。

他にもrubyの基礎文法を確認しました。