1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

1
Posted at

メモ③

〜〜〜〜〜〜〜〜〜
第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アドレスの情報でルーティングを行い、データを転送するプロトコル。

〜〜〜〜〜〜〜〜

恐らく次で最後…!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?