これが面白いコンピュータの世界
【メモ】
アルゴリズム
マージソート (一番好きかも)
バイナリサーチ (一番好きかも)
深さ優先探索
幅優先探索
最短経路
ハッシュ
データ構造
配列
リスト
ツリー(バイナリ、B)
ハッシュマップ
スタック
キュー
CPU
命令、データ
微細化 (光速すら遅い)
レジスタ・キャッシュ・メモリ・ディスク 階層
クロック
パイプライン
スーパースカラ
マルチコア
仮想化
RISC/CISC
SIMD
分岐予想/プレディケート/投機実行
メモリ
メモリーインタリーブ(あれちがう?) メモリのRAID
仮想メモリ(スワップ)
仮想メモリ(仮想空間/物理空間マッピング)
ディスク
回転数・ヘッダ・シリンダ・面積・密度
シリコンディスク(SSD)
キャッシュ
RAID (0/1/5/6/1+0)
シンプロビジョニング(メモリの仮想/物理と同じ)
バス
パラレル
シリアル
概念
原因と結果
型 (数字/文字・文章/YES・NO) ※問いと答えの型をあわせよう
0の概念 ($zero, /dev/null, /dev/zero)
抽象化・インターフェイス (リダイレクト)
抽象化・インターフェイス (メモリマップド)
シンプルなものを組み合わせる (パイプ)
抽象化・インターフェイス (HDD/SSD)
MAC/IPアドレス
疎結合
再帰呼び出し・分割統治
1つの事実は1つの場所だけに(DB)
リファクタリング
名前はわかりやすくつける
バージョン管理システム
説明をつけるより、そのもの自体に語らせる(自己説明型) / より近い位置で管理
ポインタ
ライト付いていますか
自動化
共通化
ハードウェア
ブレード
ツール
diff
ネットワーク
ウィンドウ (地球の裏側には光りの速さでも1/15秒かかる)
TCP/IP
ポートVLAN/タグVLAN
エンジニアリング
ライフサイクル
アーキテクチャ
大規模開発
テスト駆動