「コンピュータはなぜ動くのか」メモ③


メモ③

〜〜〜〜〜〜〜〜〜
第7章:オブジェクト指向プログラミングを語れるようになろう

・オブジェクト指向プログラミング(Object-Oriented Programming)
・関連する関数や変数をグループ化することで、以下の利点がある。
  →保守が容易
  →大規模なプログラムに適している
・オブジェクトが他のオブジェクトの持つ関数を呼び出すこと = メッセージ・パッシング

★別途「オブジェクト指向でなぜつくるのか」をメモするのでここでは以上。

第8章:作ればわかるデータベース
・データベース = そもそも、社内のデータを一元管理できるようにした基地
・DBMS(DataBase Management System) = MicroSoft Access, Oracle, SQL Server, DB2など。簡単にデータファイルを読み書きできるようにし、データを矛盾なく安全に保つ。

・正規化=テーブルを複数にわけ、個々のテーブルのリレーションシップを設定(関係づける)して、データベースの構造を整理すること。
・インデックス(index)= データの検索と並べ替えの速度を向上させる内部的な仕組み

★上記のDB設計が完了したら、ユーザーIFとなるアプリケーションを設計する。なお、このアプリケーションは基本的にCRUD(Create、Refer、Update、Delete)が必要となる。
→これらをDBMSに指示するのがSQL

・トランザクション制御
・トランザクション = DBに対する一つの意味のある操作が複数のSQLになったもの

例:Aさんの口座から-1000円して、Bさんの口座に+1000円する(←2つのUpdate命令)
途中でトラブルが発生して、Aさんの口座からひいたのにBさんの口座に入っていないようなことがおこってしまう。このようなことを防ぐため、
①DMBSにトランザクションの開始を知らせる命令
②トランザクションの終了を知らせるCOMMIT命令
③トランザクションの途中でトラブルが発生した場合に、トランザクション開始前の状態にデータベースの内容を戻すROLLBACK命令

第9章:簡単な実験7つでTCP/IPを理解する
小規模なネットワークを整備する上で必要なハードウェア。
①ネットワーク・カード(Network Interface Card, NIC) -> Eithernet
②ネットワーク・ケーブル
③ハブ(ネットワークケーブルをまとめて結ぶ)
④ルーター(インターネットに接続するための機器)

◆Ethernetの接続のしくみ
①個々のコンピュータはネットワーク・ケーブルに他のコンピュータからの電気信号が流れていないこと=ネットワークが誰からも使われていない状態であることを確認し、自分の送りたい電気信号を確認する。
②もし同時に複数のコンピュータが電気信号を送信してしまった場合には、ランダムな時間だけまって同じ信号を再送信する。
 →「CSMA/CD」(Career Sense Multiple Access with Collision Detection)
③電気信号を受信したコンピュータは自分宛てであれば受け取り、そうでなければ無視する。
電気信号の宛先はMAC(Media Access Control、メーカー番号+製品番号)アドレスで指定する。ハードウェア的なアドレス。

ただし、MACアドレスはグループ化されていないので、データを送る上で時間がかかってしまう。
そこで、グループ化されているソフトウェア的な番号がある → これがIPアドレス。

IPアドレスのどこがネットワーク・アドレスでどこがホスト・アドレスかを知るためのものがサブネットマスク。

◆DHCPサーバーとは
・DHCP = Dynamic Host Configuration Protocol(動的にホストを設定するプロトコル)
DHCPサーバ内にはLAN内に割り当てられるIPアドレスの範囲とサブネット・マスクの値が記録されている。クライアント端末を起動すると、まだ他のコンピュータに割り当てられていないIPアドレスが知らされる。

*デフォルトゲートウェイ = ルーターのIPアドレス

◆ルーター
・IPアドレスの中のネットワークアドレスを調べ、それがLANの内なのか外なのかを認識し、外であればデータをインターネットに送り出す装置。

*送信データをどこに送るか示すもの = ルーティング・テーブル
*ルータを経由したデータ転送 = routing

◆DNSサーバー
・ホスト名+ドメイン名(FQDN、完全就職ドメイン) ⇄ IPアドレスの名前解決を行うサーバー
一つで全ての名前解決を行うのではなく、他のDNSサーバーに問い合わせるなどして連携している。

◆ARP(Address Resolution Protocol)
・IPアドレスをMACアドレスに変換する仕組み(データはIPアドレスを情報としてもっているが、結局データの受け取りはMACアドレスで認識されるから)
・LAN内のコンピュータに一斉に問いかけること = 「broadcast
・なお、MACアドレスを調べる際に毎回broadcastをするのは非効率なので、「ARPキャッシュテーブル」なるものを持っている。

◆TCP/IP
・TCP = データの送信者と受信者がお互いに確認を取り合いながら、確実にデータを受け渡すためのプロトコル。handshake送信方式のひとつ。TCPではデータはpacketにわけられる。受信側でそれを復元するので、そのための情報も付加される。
・IP = IPアドレスの情報でルーティングを行い、データを転送するプロトコル。

〜〜〜〜〜〜〜〜

恐らく次で最後…!