0
3

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 1 year has passed since last update.

「コンピュータはなぜ動くのか」まとめ

Posted at

第1章

コンピュータの絶対的な3つの基礎
1.コンピュータはプログラムの解釈と実行
2. プログラムは命令とデータの集合体
3. コンピュータの都合は、人間の感覚と異なることがある*1

ICとは外部から入力されたデータを演算し、その結果を外部に出力するもの。

命令とは入力、演算、出力をコンピュータに指示するもの。

データとは、命令の対象となる入力情報によって得られる出力情報

コンピュータとは、プログラムを動作させるもの。

*1 代表例は、すべての情報を数値に置き換えること。色や秘密鍵などは数値に置き換えられる。

2章

CPUとは、人間でいうと脳に相当する部分。内部で演算を行い、メモリーとI/Oをコントロールする。

メモリーとは、命令とデータを記憶するためのもの。駐車場みたいイメージ。

I/Oとは、パソコン本体、キーボード、マウス、ディスプレイなどの周辺機器を接続し、データの受け渡しを可能にするもの。

クロック信号とは、CPUを動作させるためのもの。電圧の高低を繰り返す。信号みたいイメージ。

クロック・ジェネレータとは、クロック信号を出力するもの。この中には水晶があり、振動数に応じてクロックを発生させる。

ディップ・スイッチとは、プログラムの入力を可能にする装置。

LEDとは、プログラムの動作結果を出力する装置

アドレス・ピンとは、CPUに付いており、データの入出力先を指定させることを可能にするもの。

データ・ピンとは、データの入出力を可能にするもの。

レジスタとは、CPUとI/Oの中でデータを記憶するもの。倉庫みたいなもの。

ポートとは、I/Oが外部装置とデータを受け渡すことを可能にするもの。荷物の荷下ろしを行う場所みたいなもの

制御ピンとは、ICの機能をコントロールするための電気信号を入出力するためのもの。

コンデンサとは、電気をためるもの。

第3章

マシン語とは、0と1が並んだプログラミン言語

メモリーのアドレス空間とは、メモリーの中にあるデータの格納場所を指定するアドレスの範囲。荷物置き場みたいなイメージ。

アセンブリ言語とは、マシン語を英語でわかりやすくしたものをニーモニックと呼び、
そのニーモニックを使用したプログラム言語。

オペコードとは、「○○せよ」という命令のこと。

オペランドとは、命令対象となる「○○を」の部分を意味する

第4章
フローチャートとは、プログラムの流れを表した図のこと。地図みたいイメージ。

プログラムの種類は3つある。小さい番地から大きな番地に向かって進む「順次進行」、途中で枝分かれする「条件分岐」、何度も実行する「繰り返し」の3つ。

アルゴリズムとは、与えられた問題を解く順序。

第6章

変数とは、データの入れ物

配列とは、複数のデータを格納するためのメモリー領域をまとめて確保し、全体に1つの名前を付けたもの。旅行客が荷物置き場に荷物を置くイメージ。

データ構造とは、データの置き方。

スタックとはデータを山のように積んでいく

キューとは、データを行列のように並ばせる

リストとは、データの並びを任意に変更できる

2分木とは、データの並びを2またにわける。

第7章

OOPとは、いろいろな意見が本には書かれているが、その1つに「部品を組み合わせてプログラムを構築する」ものとある。

クラスとは、金型みたいなもの。

オブジェクトとは、金型で生成されたもの。

第8章

データベースとは、データを貯めて、利用しやすいように整理したもの。ファイルみたいイメージ。

リレーショナル・データベースとは、データを複数のテーブルに分けて管理し、テーブル同士の関係を記録したもの。

データベース・アプリケーションとは、データベースを利用するためのプログラム。

DBMSとは、簡単にデータファイルを読み書きできるようにし、データを矛盾なく安全に保つ。例えば、SQL文をデータベースに送信したら、MySQLというDBMSがそのSQL文を受け取り、データベースに送る。

スタンドアロン型システムとは、1台のPC上にデータファイル、DBMS、アプリケーションが配置されている状況で行うシステム開発。

ファイル共有型システムとは、1台のPC上にデータファイルを配置し、DBMS、アプリケーションが配置された複数のPCから共有して行うシステム開発。

クライアント/サーバー型システムとは、1台のPC上にデータファイル、DBMSを配置し、アプリケーションが配置された複数のPCから利用するシステム開発。

Webサーバーとは、データファイルとDBMSが配置されたPCのこと

クライアントとは、アプリケーションが配置されたPC

Webシステムとは、サーバーとクライアントの間がインターネットで接続されているもの。クライアントにはWebブラウザだけが配置されている。

データベースを設計する

Step1: 必要なデータを洗い出す
Step2: データの属性を決め、テーブルを作成
レコードとは、テーブルに登録される1行のデータのまとまり。
カラムまたはフィールドとは、列のこと。属性の設定対象となる。

Step3: テーブルを分割し、整理する
正規化とは、テーブルを複数に分け、個々のテーブルの関係を設定し、データベースの構造を整理すること。

キーとは、テーブルとテーブルを関係づけるためのカラム。

主キーとは、各テーブルに、カラムの中にある値が分かればレコードを特定できるキー。他のレコードと重複しないもの。

外部キーとは、他のテーブルの主キーのこと。

リンク・テーブルとは、2つのテーブル間に追加されたテーブルのこと。1対多に分けることができ、芋づる式に情報を探すことが可能。

インデックス・テーブルとは、カラムの値とそのカラムを持つレコードの位置を記録したもの。高速に検索や並べ替えを行うことを可能にする。

Step4:ユーザー・インターフェイスの設計
データベースの操作の種類は、CRUDと呼ばれるものがある。
Create(登録)、REFER(取得)、UPDATE(更新)、DELETE(削除)の頭文字をとったもの。データベース・アプリケーションはレコードのCRUDができれば良い

SQL文とはDBMSにCRUDを指示する文。

トランザクションとは、複数のSQL文になったもの。

データ・オブジェクトとは、WindowsアプリケーションからDBMSにSQL文を送るソフトウエア部品。JavaでMySQLを使用する場合、JDBC。

トランザクション制御とは、2つのSQL文を送信し、何らかのトラブルにより1つのSQL文をしか成功しなかったという問題を防ぐための考え。この問題を避けるためにSQL文では、3つの命令が用意されている。1つは、トランザクション開始することをDBMSに伝えるBEGIN TRANSACTION命令、トランザクションの終了を伝えるCOMMIT、最後はトランザクションの途中でトラブルが発生した場合、トランザクション開始前の状態に戻すROLL BACK。

第9章

LANとは、小規模なネットワーク。つまりグループ化されたコンピュータ群。

WANとは、企業間を結ぶ大規模なネットワーク。

MACアドレスはメーカ名+商品番号で規定されたもの。ハードウェア的に設定するもの。

IPアドレスは上位階層から地域、プロバイダーなどのグループごとに割り当てられる
数値。このグループに分けることで宛先までの道のりがスムーズになる。ソフトウエア的に設定するもの。

ホストとは、IPアドレスが設定されたコンピュータ

ネットワーク・アドレスとは、IPアドレスの中でLANを表す部分。

ホスト・アドレスとは、個々のコンピュータを表す部分。

サブネット・マスクとは、IPアドレスのどこまでがネットワークアドレスで、どこからがホスト・アドレスなのかを区別するためのもの。ソフトウエア的に設定するもの。

ルーターとは、経路の案内人みたいなもの。どこに情報を送信したら良いか決める役割を持つ。

DNSサーバーとは、コンピュータに付けられた名前のホスト名+ドメイン名を組み合わせて作られたFQDNをIPアドレスに変換するもの。FWDNは、例えば、www.....comみたいなもの。また、ドメイン名とは特定のネットワークを教えてくれるもの。

ARPとは、IPアドレスをMACアドレスに変換するもの。

キャッシュとは、メモリー内に一時的にデータを記録しておくこと。

TCPとは、データの送信者と受信者がお互いに相手の確認を取りながら、確実にデータを渡すプロトコル。

IPとは、IPアドレスから送信先を指定し、データを送るプロトコル。

パケットとは、MACやIP、TCP等の情報が付加されたもの。TCPによって送信される。

第10章

平文とは、暗号化されていない文。

文字コードとは、個々の文字にあてられたコード

鍵とは、暗号化、復号化する際に使用される値。

公開鍵暗号方式とは、データを送る際はインターネット上で公開している受信者側のpublic keyを使ってデータを暗号化し、送られた側は自分のprivate keyを使って復号化を行う手法。

RSAとは、公開鍵暗号方式を実現するためのアルゴリズム。

電子署名とは、データの送信者を証明するもの。平文を構成するすべての文字コードを使用し、何らかの計算式で算出された値をprivate keyで暗号化し、public keyで複合化する手法。

第11章

XMLは、コンピュータが独自のタグ(例)で簡単に情報を識別できるようにしたもの。分散コンピューテイングにより得られた結果やぷろぐらむw呼び出す情報を送受信する際に使用される。

分散コンピューテイングとは、ネットワークで接続された複数のコンピュータにプログラムを分散して配置し、連動させることでコンピュータ・システム全体を機能させるもの。

0
3
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
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?