【基本情報】備忘録

# SaaS、PaaS、IaaS
|用語|説明|
|-|-|
|SaaS|アプリケーションの機能を利用者に提供|
|PaaS|アプリケーションの稼働環境を利用者に提供|
|IaaS|システムを稼働する回線やハードウェア環境のみを提供|

# PCM方式
音声などのアナログ信号をデジタルデータに変換する方式として、`PCM方式`がある。手順は次の通り。
①連続するアナログ信号を短い間隔で細かく測定する（`標本化`）
②個々の測定値を数値に変換する（`量子化`）
③数値を決められたビット数にの符号に変換する（`符号化`）

# 論理回路
#### 論理和(OR)
入力が両方とも0のとき0、それ以外は１になる論理演算。

0 OR 0 → 0
|-|
0 OR 1 → 1
1 OR 0 → 1
1 OR 1 → 1

#### 論理積(AND)
入力が両方とも１のとき１、それ以外は0になる論理演算。

0 OR 0 → 0
|-|
0 OR 1 → 0
1 OR 0 → 0
1 OR 1 → 1

#### 否定論理和(NOR)
論理和（OR）の否定。

0 OR 0 → 1
|-|
0 OR 1 → 0
1 OR 0 → 0
1 OR 1 → 0

#### 否定論理積(NAND)
論理積（AND）の否定。

0 OR 0 → 1
|-|
0 OR 1 → 1
1 OR 0 → 1
1 OR 1 → 0

#### 排他的論理和(XOR)
入力が両方とも同じ値のとき0、異なる値のとき１になる論理演算。

0 OR 0 → 0
|-|
0 OR 1 → 1
1 OR 0 → 1
1 OR 1 → 0

# UML2.0の図
## UMLとは
`Unified Modeling Language`:オブジェクト指向開発で利用する様々な種類の図式を規格化したもの。
|図|説明|
|-|-|
|アクティビティ図|プログラムの制御の流れを表す流れ図のような図|
|コンポーネント図|システムを構成する物理的な要素（コンポーネント）と、コンポーネント間の関係を表す図|
|シーケンス図|オブジェクト間の相互作用を時系列に表す図|
|状態遷移図|発生するイベントに応じてプログラムの状態がどう変化するかを表す図|

# テストケース
|テストケース|説明|
|-|-|
|判定条件網羅|判定条件が「真」になる場合と「偽」になる場合をテスト|
|命令網羅|すべての命令を少なくとも1回は実行|
|条件網羅|各判定条件がそれぞれ「真」になる場合と「偽」になる場合をテスト|
|複数条件網羅|各判定条件のすべての「真」「偽」の組み合わせをテスト|

# ニッチャの基本戦略
|企業の競争上のポジション|説明|
|-|-|
|リーダ|すべての顧客をターゲットとする全方位戦略|
|チャレンジャ|市場シェア獲得をねらう差別化戦略|
|フォロワ|市場動向に素早く追随する模倣戦略|
|ニッチャ|専門市場に特化する特定化戦略|

# プロダクトポートフォリオマネジメント
`プロダクトポートフォリオマネジメント`では、自社の事業や製品が「花形」「金のなる木」「問題児」「負け犬」のどこに位置するかによって、資源配分の優先順位を設定する。
|||
|-|-|
|花形|市場成長率、市場シェア共に高い|
|金のなる木|市場成長率は低いが市場シェアが高い|
|問題児|市場成長率は高いが市場シェアは低い|
|負け犬|市場成長率、市場シェア共に低い|

# 二分木の走査
二分木を構成する各節を漏れなく訪ねることを走査という。
`①前順走査`:自分→左の子→右の子
`②間順走査`:左の子→自分→右の子
`③後順走査`:左の子→右の子→自分

# 擬似言語問題の変数名
・よく使われる変数名
|変数名|説明|
|-|-|
|cnt, count|カウンタ。繰り返し処理で個数を数えるときに使う。|
|curr, next, prev|配列リストで、現在の要素（curr）や前の要素（prev）、次の要素（next）への参照を格納する。|
|i, j, ・・・|繰返しごとに変化する変数。|
|tmp, temp|値を一時的に保存しておく変数。|
|len|配列の要素数、文字数。|
|str, s|文字列データ。|
|ch, c|文字データ。|
|ret|関数の戻り値を格納する変数。|
|buf|文字列や配列のデータなどを一時的にたくわえておく変数。|

# 公開鍵と秘密鍵
公開鍵暗号やディジタル署名では、通信をやり取りする人同士が公開鍵と秘密鍵のペアを持っていることを前提とする。暗号通信では、メッセージを受信者の公開鍵で暗号化し、受信者の秘密鍵で複合する。ディジタル署名では、送信者の秘密鍵で署名を行い、送信者の公開鍵で署名を確認する。

# 10進↔︎2進変換
### 10進数→2進数変換
10進数を次々に2で割っていき、その余りを下から順に並べる。

##### 10÷2=5 余り`0`
##### 5÷2=2 余り`1`
##### 2÷2=1 余り`0`
##### 1÷2=0 余り`1`
#### 1010

### 2進数→10進数変換
2進数の各桁に2の(n-1)乗の重みを掛け、それらを合計する。
|2進数|1|0|0|1|1|1|0|0|
|-|-|-|-|-|-|-|-|-|
|重み|128|64|32|16|8|4|2|1|

#### 10進数 128+0+0+16+8+4+0+0=156

# 情報量
単位|英語名(省略形)|情報量|
|-|-|-|
ビット|bit (b)||	
バイト|Byte (B)|1B = 8b|
キロバイト|Kilo Byte (KB)|1KB = 1,000B = 10の3乗 = 1,000 Byte|
メガバイト|Mega Byte (MB)|1MB = 1,000KB  = 10の6乗 = 1,000,000 Byte|
ギガバイト|Giga Byte (GB)|1GB = 1,000MB = 10の9乗 = 1,000,000,000 Byte|
テラバイト|Tera Byte (TB)|1TB = 1,000GB = 10の12乗 = 1,000,000,000,000 Byte|

# RAIDの分類
`RAID`とは、複数の磁気ディスクを並列に接続して信頼性の向上やアクセスの高速化を図る技術。
|RAIDの分類|説明|
|-|-|
|RAID0|データを分散書き込みしてアクセスを高速化（ストライピング）|
|RAID1|ディスク2台に同一データを書き込む（ミラーリング）|
|RAID2|データとECCをビット単位で分散書き込み|
|RAID3|データをバイト単位で分散書き込みし、パリティを専用ディスクに書き込む|
|RAID4|データをブロック単位で分散書き込みし、パリティを専用ディスクに書き込む|
|RAID5|データをブロック単位で分散書き込みし、パリティをデータも分散して書き込む|

# システムの稼働率
`直列システムの稼働率` →　 a × b
`並列システムの稼働率` → 1 - (1 - a) × (1 - b)

# 増分バックアップと差分バックアップの違い
|バックアップ|説明|データ復旧|
|-|-|-|
|増分バックアップ|前回のバックアップ以後に更新されたファイルだけをバックアップ|前回行ったフルバックアップのデータと、それ以後のすべての増分バックアップデータが必要|
|差分バックアップ|前回のフルバックアップ以後に更新されたファイルをバックアップ|前回行ったフルバックアップのデータと、最新の差分バックアップデータ1回分が必要|

# OSI基本参照モデルとLAN間接続装置
|OSI基本参照モデル|LAN間接続装置|
|-|-|
|第4〜7層　その他|ゲートウェイ|
|第3層　ネットワーク層|ルータ、（ゲートウェイ）|
|第2層　データリンク層|ブリッジ、レイヤ２スイッチ、（ゲートウェイ）|
|第1層　物理層|リピータハブ、リピータ、（ゲートウェイ）|

# スタブとドライバ
・`スタブ`　→　テスト対象モジュールから呼び出される仮の下位モジュール
・`ドライバ`　→　テスト対象モジュールを呼び出す仮の上位モジュール

# プロトコルとポート番号
|ポート番号|プロトコル|説明|
|-|-|-|
|20,21|FTP|ファイル転送の際に使用するプロトコル|
|22|SSH|暗号化したリモート接続を行う際に使用するプロトコル|
|23|Telnet|暗号化してないリモート接続を行う際に使用するプロトコル|
|25|SMTP|メールを相手のメールサーバーまで送信する際に使用するプロトコル|
|53|DNS|ドメイン名とIPアドレスの名前管理を行うプロトコル|
|67,68|DHCP|IPアドレスなどの情報を自動的に設定するためのプロトコル|
|80|HTTP|Web通信を行う際に使用するプロトコル|
|110|POP3|電子メールを受信するためのプロトコル|
|123|NTP|ネットワーク経由で時刻同期を行う際に使用するプロトコル|
|443|HTTPS|暗号化されたWeb通信を行う際に使用するプロトコル|

# 執行役員の種類
・`CEO(Chief Executive Officer)` : 最高経営責任者
・`COO(Chief Operating Officer)` : 最高執行責任者  
・`CFO(Chief Financial Officer)` : 最高財務責任者
・`CIO(Chief Information Officer)` : 最高情報責任者
・`CTO(Chief Technical Officer)` : 最高技術責任者