Posted on: Written by: K-Sato
⚠️ This article was posted over 2 years ago. The information might be outdated. ⚠️

Table of Contents

テクノロジ(知識系)

誤り検査方式

  • CRC方式: 1伝送単位ごとにビット列を 2 進数とみなし、あらかじめ差貯められた多項式で除算したあまりをチェックビットとし、その伝送単位の最後に付加して送信する方式。
  • 垂直・水平パレティチェック方式: パリティビット(データの正確性を判断するためにデータ本体に付与される検査ビットの事)を付加する事でデータの検査を行います。
  • ハミング符号方式: 情報に冗長ビットを付加する誤り検出訂正方式の 1 つ。

割り込み

割り込み: 実行中のプログラムの処理を中断し、再び実行するための情報を保存してから、エラーなどの処理を優先的に行う割り込み処理ルーチンに制御を移す事。

内部割り込みの種類

  • プログラム割り込み: プログラム実行中のエラーによって発生する。
  • SCV(スーパーバイザーコール)割り込み: システムコールなどによって、OS の機能が呼び出された時に発生する。

外部割り込みの種類

  • 入出力割り込み: 入出力動作が終了した時に発生する。
  • 機械チェック割り込み: ハードウェアが故障した時に発生する。
  • タイマ割り込み: プログラムの実行時間が設定時間を超過した時に発生する。
  • コンソール割り込み: オペレータが介入した時に発生する。

RAID(Redundant Arrays of Inexpensive Disks)の記録方式

  • RAID0: データをブロック単位に複数の磁気ディスクに分散して記録する (ストライピング)=> アクセスの高速化
  • RAID1: 同じデータを同時い別々の磁気ディスクに書き込む(ミラーリング)=> 高信頼性
  • RAID3: データをバイト単位でストライピングし、1 台をエラー訂正用のパリティ情報記録用として記録する=> アクセスの高速化・高信頼性
  • RAID5: RAID3 のパリティ情報記録用の磁気ディスクを固定せず、データと同様にパリティ情報もブロック単位に分散してアクセスが特定の磁気ディスクに集中しないようにする=> アクセスの高速化・高信頼性

コンピュータグラフィック

  • アンチエイリアシング(ati aliasing: ギザギザに見えない): 斜め線や曲線などに発生するギザギザを目立たなくする。
  • テクスチャマッピング(texture mapping: 質感を与える): 物体の表面に柄や模様などを貼り付け、質感を与える。
  • シェーディング(shading: 影付け): 物体の表面に影付けをして、立体感をだす。
  • レイトレーシング(ray tracing: 光源追跡): 光源からの光線の反射や透過をシュミレートして、物体の形状を描写する。
  • クリッピング(clipping:切り取る ): 画像表示領域にウインドウを定義し、ウインドウ内の見える部分だけを取り出す。
  • モーフィング(morphing: 動き+形態): ある画像から別の画像へ、滑らかに変形させるために、その中間に補う画像を作成する。
  • レンダリング(rendering: 描写): 物体のデータとして与えられた情報を計算によって映像化する。
  • ポリゴン(polygon: 多角形): 立体の形状を表現する時に使用する基本的な要素。
  • モーションキャプチャ(motion capture: 動きを捉える): センサやビデオカメラなどを用いて人間や動物の自然んな動きを取り込む。

RDBMS(Relational DatabaseManagement System)の機能

ACID 特性

DBMS の機能によって実現されるトランザクションの性質としてACID特性がある。

  • Atomicity(原始性): 正常にトランザクションが終了すれば、その時の対象となった各データの内容は全部反映され、中止すれば全てが元に戻されなければならない。
  • Consistency(一貫性): 1 つのトランザクションで行なった処理に関連するデータは一貫性が取れている必要がある。
  • Isolation(独立性): 複数のトランザクションが処理される時、お互いの処理が干渉してはならない。
  • Durability(耐久性): トランザクションが完了後、その結果が記録されて、失われることがない。

スキーマの 3 層構造

  • 外部スキーマ: 個々のアプリケーションの立場からデータの構造、内容を記述したもの。
  • 概念スキーマ: 実世界の事実を記述したものであり、データベース化の対象となる範囲にあるデータ相互の関係を記述したもの。
  • 内部スキーマ: 概念スキーマの内容をコンピュータ上にどう実現するかの記述であり、データの物理的な格納方法やデータベースのアクセス方式を記述したもの。

データのバッファリング

バッファリング: 複数の機器やソフトウェアの間でデータをやり取りするときに、処理速度や転送速度の差を補うためにデータを専用に設けられた記憶領域一時的に保存しておくこと。 (例: 動画を閲覧する際にデータを途切れることなく再生する為に、接続を開始した時点ではすぐにデータを再生せずに、しばらく一定量の出たをメモリ上のバッファに蓄えてから再生を開始する。)

ネットワーク関連

DNS キャッシュポイズニング

DNSキャッシュポイズニング: クライアント PC が参照する DNS サーバに偽のドメイン情報を記憶させる事によってアクセスした PC 利用者を偽装された Web サーバに誘導する手法の事。

テクノロジ(計算系)

基数変換

10 進数から 2 進数

計算のポイント

  • 整数部は割り算であまりを並べる。
  • 少数部は掛け算で答えの整数部を並べる。
10進数6を2進数に変換。

6 / 2 = 3 余り 0
3 / 2 = 1 余り 1
1 / 2 = 0 余り 1

よって7の2進数は110となる。

10進数0.375を2進数に変換。
0.375 * 2 = 0.75
0.75 * 2 = 1.5
0.5* 2 = 1.0
10進数6.375の2進数は110.011となる。

補数

2 進数の 1 の補数の求め方

2 進数の全ての桁で 1 と 0 を入れ替える。

01010101の1の1の補数は10101010

2 進数の 2 の補数の求め方

1 の補数に 1 を加える。

01010101の1の1の補数は10101010
よって、01010101の2の補数は10101011

MIPS の計算

MIPS(Million Instructions Per Second)はプロセッサが1秒間に実行する命令数を百万単位(10**6)で表したもの。

MIP = 命令実行に要する時間(秒) * 10**6 / 命令数
1秒間に1000万命令を実行するプログラムの実行に、2秒を要する処理装置のMIPSを求めよ。

MIPS = 10**7 / 2 * 10**6

よってMIPSは5となる。

磁気ディスクのアクセス時間

平均回転待ち時間

1回転する時間 / 2

データ転送速度

データ転送速度(kバイト/秒) = (1トラックあたりのkバイト数) * 回転数(回転/秒)

データ転送時間

データ転送時間 = 転送データのバイト数 / データ転送速度

アクセス時間

アクセス時間 = シーク時間(平均位置決め時間) + 平均回転待ち時間 + データ転送時間

稼働率の計算

稼働率 = MTBF / (MTBF + MTTR)

- MTBF(Mean Time Between Failures)
- MTTR(Mean Time To Repair)

About the author

I am a web-developer based somewhere on earth. I primarily code in TypeScript, Go and Ruby at work. React, RoR and Gin are my go-to Frameworks.