14日目
2019-04-25
AtCoder 1.5h サーバーサイド 2h
データベース、あまりにも便利すぎて驚いちゃうな
4-9「WebSocket」
- WebSocket は Web サーバーとブラウザの間で利用できる双方向通信の規格
- AJAX はプル通信、 WebSocket はプッシュ通信の方式を実現できる
- 通信方式はサービスの要件に合わせて、適切に選ぶ必要がある
- RDB(リレーショナルデータベース)
- SQL:RDBを操作するための言語
- PostgreSQLを用いてデータベースを操作した
4-11「データモデリング」
- エンティティやらをちゃんと設定してデータベースを正規化する
- ほんと上手いこと仕組まれてて感心してしまうな...
- ER 図 (Entity-relationship Diagram)
4-12「テーブルの結合」
- 内部結合:結合に使う列の値がどちらのテーブルにもそろって存在したときのみ結果に行を含める
- 左外部結合:結合した左側のテーブルの値があれば、結果に行を含める
- 右外部結合:結合した右側のテーブルの値があれば、結果に行を含める
- 完全外部結合:どちらかのテーブルの値があれば、結果に行を含める
- 便利すぎ
4-13「インデックス」
- RDB では列にインデックスを作成することで、探索のパフォーマンスが劇的に改善する
- データベースのサイズが増えるのが欠点
- インデックスは B 木というデータ構造を利用して実現されている
- 二分探索みたいな感じ
4-14「集計とソート」