はじめに
大学でコンピュータサイエンスを学んできたものの、忘れている部分もあり、改めて基礎知識から学び直し、体系的に知識を再構築したいと思い、コンピュータサイエンスを分野ごとに整理した記事です。
気になった点には気軽に編集リクエストを出して頂けると幸いです🙇♂️
下記のサイトを参考にさせていただきました
コンピュータサイエンス
データベース
- DBMS
- NoSQL
- データモデル
- 正規化
- 問い合わせ最適化/障害対策/障害復旧
- 同時実行管理
- 分散管理
- ACID特性
- データベースセキュリティ
OS
- OSの歴史
- UNIX/Bash
- プロセス/スレッド/スケジューリング
- プロセス間の通信と同期
- 実記憶/仮想記憶の管理
- システムコール/カーネル
- コンテナ(仮想化技術)
データ構造とアルゴリズム
- オートマトン/チューリングマシン
- クラスP/NP完全/NP困難あたりの話
- スタック/キュー/リスト/木構造/ハッシュテーブルなどのデータ構造
- バブルソート/クイックソートなどのソート
- 二分探索/線形探索などの探索
セキュリティ
- HTTPS/SSL
- 暗号化
- 共通鍵暗号/公開鍵暗号
- 攻撃手法と対策
- ブロックチェーン
ネットワーク
- TCP/UDP/その他プロトコル
- HTTP/1.1, HTTP/2
- OSI参照モデル
- 双方向通信
- リアルタイム通信
- LAN/WAN
- 運用と管理(高信頼化)
プログラミング
- 各種パラダイム
- オートマトン/チューリングマシン
- コンパイラ/アセンブラ/リンカの各動作
- インタプリタ
ハードウェア
- 論理回路(組み合わせ回路/順序回路)
- CPU/ALU/算術演算の実現方法
- メモリ/メモリアーキテクチャ
- 並列アーキテクチャ
- MIPSアーキテクチャ
- GPU
- キャッシュ
- 二次記憶
コンピュータグラフィックス
- 座標系/座標変換
- レンダリング手法
開発管理
- ソフトウェア開発モデル
- プロジェクト管理/要求定義
- 構造化分析/オブジェクト指向分析
- アーキテクチャ設計/モジュール設計/モジュール分割
- ソフトウェアテスト手法/保守/運用/再利用
- DevOps
情報数学
- 集合/確率論
- 情報量/エントロピー
- 情報源モデル/通信路モデル
- 符号化/誤り検知と訂正
- 統計学
- 線形代数
- 微積