Header Ads

Web技術の基礎の基礎を学んでみた!


こんにちわ!今回は馬場が担当いたします。
最近は毎朝バイトのために4:30起きを強いられ、おじいちゃんのような生活を送っております!笑
そんな中Web開発に興味を持ち少し勉強を始めたので、この場を借りて学んだことを発信しようと思います!
僕自身、大学生活を通してWebであったり、プログラミングについて全く関わりのない生活を送っていたので、今回は本当に超初級編の内容になっています。これがITベンチャー内定者のブログか?…と思われる方が多数だと思いますが、ご了承ください!笑

さて、僕が学んだのは「Webを支える技術」という書籍です!
一度の記事で全てを伝えると何も伝わらず終わってしまうと思うので、今回はWebとは何か?をテーマにWebの基本的な概念について解説していきたいと思っています!



普段当たり前のように使っているWebサービスですが、一体Webとは何なのでしょうか?
Webの用途・Webの基本的な技術に分けてみていきましょう!


まずは、Webの用途!Webの具体的な使い道についてです。今回は3つに分けています。

皆さんがすぐに思いつくのがWebサイトではないでしょうか?
僕たちにとって一番身近なものであり、現在ではネットショッピングやブログ、検索エンジンなど様々なサービスを提供しているWebサイトがあります!
こうしたWebサイトは裏でどんな構成がなされているのかといったことを何も考えずに利用できるということもWebの特徴です。

2つ目がユーザインターフェースとしてのWebです。
なにやらカッコイイ用語が出できましたが、要はユーザとCPU間で、情報をやり取りするための仕組みのことです。僕たちはCPUと直接話すことはできないので、Webが通訳をしてくれているといった感じでしょうか。

そして最後がプログラム用APIとしてのWebです。
ここで僕はまずつまずきました、、APIって何!?色々とAPIについて調べてみた結果、APIというのは、プログラム用のインターフェースを指すようです。
つまり、Web APIは、コンピュータプログラムの提供する機能を外部の別のプログラムから呼び出して利用するための仕組みらしいです、、、
普段Web設計とかしないわ!という人にとっては理解しづらいと思います。想像できないですよね、、そこでたとえ話をご用意いたしました!
APIは、いわば物を組み立てる時の部品のような物です。何かを組み立てようと思った
時、ネジや釘などがなければ、組み立てが面倒ですよね。Webでも同じことです。よく使うものは統一化していつでも使えるようにしておこうぜ!というニュアンスなのでしょうか?でなければ、設計の度に全てを1から作り上げることになってしまい面倒です。
Web APIを使うことで、Webサイトに他のサイトで提供されている機能や情報を簡単に組み込むことができるというわけです!




ここまでWebの用途について解説してきました。
WebサイトユーザインターフェースWeb API
以上のように幅広く利用されているWebですが、こうしたWebを支えている技術には
一体どんなものがあるのか、次はWebの基本的な技術について解説します。

HTML・URI・HTTP
こうした用語は聞いたことがあるという方も多いかと思います。

まずは、HTMLについて
簡潔に説明すると、Webページを記述するためのマークアップ言語です。マークアップ言語というのは、文章の構造や修飾情報を文中に記述していく言語のことです。僕自身も高校の授業で少し習ったので、知っている方も多いとおもいます。

そして、URIについて
多くの方は、URLなら知っているのではないでしょうか。大部分は同じものだと思います。厳密にいうと、URLはURIの部分集合って感じですね。
さて、URIですがこれはWeb上に存在する情報を示すことになります。情報を取り出すにしても、どこにあるのかわからないので、名前と住所を与えているといった感覚です!ネットワークシステムにおける規則・規約を定めたRESTと呼ばれるアーキテクチャスタイルによって、非常にシンプルに設計かつ統一化されています。

最後に、HTTPについて
今まで上げてきた2つに比べ馴染みのない言葉のように感じました。
HTTPとは、WebブラウザとWebサーバの間で、HTMLなどのコンテンツの送受信に用いられる通信プロトコルです。通信プロトコルとは、ネットワーク上での通信に対する規約を定めたもののことを指します。このHTTPがあるおかげで、どんなWebサーバに対してもスムーズに情報のやり取りができています!そして、このHTTPもRESTによってシンプルに設計かつ統一化されています。

以上がWebを実際に支えている基本的な技術でした。
これらに共通して言えることは、どれもとてもシンプルであって誰にでも扱うことができるということです。こうしたシンプルさがWebが現在に至るまでにこんなにも拡大した要因だと思います。

現在僕は、こうしたWebの歴史も含めた基礎学習をひとまず終え、Rubyというプログラミング言語を学習中です。バイトの疲れから眠くなることも多々ありますが、とても楽しく学ぶことができています。

最近読んだ本に、
目標と欲望は違う。目標だけを大きく掲げていても行動できない・続かないことが多い。頭だけで考えるのではなく、心から自分がやりたい・なりたいという欲望としっかり向き合うことが大切だ。
とありました。


まさにその通りだと思います。こうしてWebの技術に関する学習もただ目標を掲げるだけでは意味がなくて、
自分の手で作り上げたサービスを通して世界中の人々を驚かせたい!
そういった強い想い・欲望がなければ、0からのスタートを切ることはできないし、努力が長続きしない。僕はこれからも欲望のままに、行動していきたいと思います!

最後まで読んでいただきありがとうございます!









0 件のコメント