甘党エンジニアのkanjiです。
せっかくなんでプログラミングの勉強用に読んできた本のアウトプットをしたい。
読んだ本

読んだ理由
そもそもWeb界隈に疎かった私。
プログラミングの勉強を始めるにつれ、ますますそれが明るみになった。
まずは1つの言語とかではなく、Web用語について幅広く勉強となりそうな(まさに今回のタイトル本のような)本を読む必要がある。
と、いう事で紀伊国屋で買って読んだ。
内容
Chapter1から7までに分かれた構成で、それぞれに「Web概論」や「クライアントサイド」「サーバーサイド」など1つのテーマを設けてある。
1は基本的な部分、7に近づくにつれ開発に関わる知識となり、5段階でつけられている難易度が徐々に上がっていく。
今回はその中から気になった用語・覚えるべき用語をいくつかピックアップして書く。
Webのはじまり
Webのフルネームは「World Wide Web」。略してWWW(草ではない)。
「世界中の文書を簡単に閲覧、リンクできるようにする」という理念のもと構想され、世界最初のWebサイトは1990年12月、ティム・バーナーズ=リー氏らによって開発される。
そのWebを実現するための3つの技術が「URl」・「HTML」・「HTTP」。
・URlは、世界中のどのサーバのどのファイルでも、1行の記述で指定できる、いわゆる「住所」。
・HTMLは、Webの要である「リンクを含んだ文書」を記述する言語。他にも色や文字サイズなど。
・HTTPは、サーバとクライアントの間で通信するためのルール。
この3つの規格に加え、サーバとクライアント間でやり取りしてくれるソフトウェア「WebブラウザとWebサーバ」が基盤となり、現在までの多彩なサービスを実現している。
HTML5で新しく用意された機能
video/audio要素 | 動画、音声を再生する |
autocomplete | 過去の入力情報から自動で入力ボックスに値を入れる機能のオンオフを指定できる |
canvas要素 | 図形やアニメーションを扱う |
ドラッグ&ドロップ | 要素をドラッグ&ドロップした際のイベントを検知する ex. draggable=”true” |
数値入力フォーム(<input type =”number”>)
こんな感じ↓
範囲指定(<input type =”range”>)
こんな感じ↓
日付入力(<input type =”date”>)
こんな感じ↓
HTTP
ハイパーテキストを転送するためのプロトコル、通称(Hypertext Transfer Protocol)。
WebブラウザがWebサーバと通信してWebページを取得する際に利用される。
そしてHTTPを利用してクライアントがサーバに「このURlファイルが欲しい!」と要求することをHTTPリクエストと呼び、サーバが指定のファイルを返すことをHTTPレスポンスと呼ぶ。
Cookie
Webサーバから送られ、Webブラウザに保存される小さなデータ。
クライアント側に値が保存される。
セッション(Session)
Webサイトを訪れたユーザがサイト内で行う一連の行動の流れのこと。
セッションを管理するために、Webサーバはユーザごとの情報にID(→セッションID)を付ける。
セッションIDはCookieを利用してWebブラウザに保存され、WebサーバはCookieのIDを見てそのユーザが誰なのか判別する。
HTTPS
通信の途中で情報を盗聴されたり、改ざんされることを防ぐため、暗号化した上で行うHTTP通信のこと。
URlが「https://」で始まるサイトでは、HTTPSを利用して通信が行われている。
ブラウザ戦争
各企業が繰り広げるWebブラウザのシェア争い。
現在のシェアは
・Chrome 63.99%
・Safari 15.48%
・Firefox 4.44%
とChromeが圧倒的。
https://gs.statcounter.com/
昔はIEが目立ってたんだけどな。
ロードバランサ
処理を複数のサーバに振り分けるための機器。
負荷分散装置とも呼ばれる。
リレーショナルデータベース(RDB)
複数のテーブルが関係し合ったデータモデルを利用できるデータベースの方式。
そしてそのリレーショナルデータベース管理システム(RDBMS)と対話するための言語がSQL(Structured Query Language)。
OAuth
利用者があるサイトでユーザ認証されて獲得した権限を、他のサイトでも利用できるようにする仕様のこと。
TwitterやGoogleのアカウントを用いてWebサイトにログインする、現在ではもはや当たり前となった仕様である。
オブジェクト指向
プログラムの要素を一つのもの(オブジェクト)として捉えることで、複雑なプログラムの構造をよりわかりやすい形で取り扱おうとする手法。
例えば「10」という数値を、ただの数値ではなくオブジェクトとして捉えることで加減乗除の機能を持たせている。
MVCの手法とメリット
MVCとはWebアプリケーションを、Model、View、Controllerの3つの概念に分割して、設計・構築する手法のこと。
3つのレイヤー(階層)に分けることでプログラムの各部位の役割が明確になり、どの処理がコードのどの辺りで実装されているかが分かりやすくなる。
データマイニング
データ(Data、情報)マイニング(Mining、採掘)とは、大量のデータの集合を分析することでそれまで知られていなかった知見を得る行為のこと。
Amazonが商品購入ページに「よく一緒に購入されている商品」を並べているのがこれを利用している例で、そのユーザが好みそうな情報を推測する仕組みのことを「協調フィルタリング」と呼ぶ。
本レビュー
初版が2011年なため、内容が少し古いと感じる部分はある。
コメントを残す