これが面白いコンピュータの世界

【メモ】

アルゴリズム
 マージソート (一番好きかも)
 バイナリサーチ (一番好きかも)
 深さ優先探索
 幅優先探索
 最短経路
 ハッシュ

データ構造
 配列
 リスト
 ツリー(バイナリ、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

エンジニアリング
 ライフサイクル
 アーキテクチャ
 大規模開発
 テスト駆動