良いサービスを作る CS — 教科書の概念を計測で学び直す
시간 복잡도와 자료구조, 동시성, 메모리와 GC, 문자열·시간·숫자 표현, 캐시 일관성, 논리 시계, 데이터베이스 불변식을 교과서 순서가 아니라 서비스가 느려지고 틀리는 자리에서 다시 배웁니다. 모듈마다 직접 구현하고 측정해 '이 구조를 고른 이유' 를 숫자로 말할 수 있게 됩니다. 멱등성·캐시 패턴·격리 수준처럼 다른 코스가 이미 깊게 다루는 주제는 그 코스로 이어 줍니다.
중급 · 레슨 30 · 실습 10
커리큘럼
計算量を実測で確かめる
- ビッグオーは暗記せず、倍にして測る reading
- 倍化実験で隠れた二次を見つけて直す lab
- クイズ: 計算量を実測で quiz
データ構造の選択が遅延とコストを変える — ハッシュ・木・ヒープ
- 何を問うかが構造を選ぶ — 探査回数と高さで先に数える reading
- ハッシュ・木・ヒープを自分で作って数える lab
- クイズ: ハッシュ・木・ヒープの選び方 quiz
LRU キャッシュとブルームフィルタを自分で作る
- LRU は最近を信じ、ブルームフィルタは「ない」だけを確信する reading
- LRU とブルームフィルタを作って測る lab
- クイズ: LRU とブルームフィルタ quiz
競合状態は await の間にも起きる — スレッド・GIL・asyncio
メモリと GC が遅延のテールを作る
- 参照カウント、循環コレクタ、そして増える行 reading
- GC の一時停止と漏れる行を数字で見つける lab
- クイズ: メモリと GC が作る遅延のテール quiz
文字列の長さは三つ — バイト・コードポイント・文字、そしてタイムゾーン
浮動小数点がサービスを欺く場所
キャッシュが DB より長く嘘をつく瞬間 — キャッシュの一貫性
- 無効化の順序が作る古い値 reading
- 割り込み順序でキャッシュの嘘を測る lab
- クイズ: キャッシュの一貫性と割り込み quiz
時計と順序 — ランポート時計・ベクトル時計・再試行
- 番号は因果を守り、ベクトルは並行を見分ける reading
- ランポート・ベクトル時計を付けて失われた更新と再試行を数える lab
- クイズ: 時計と順序 quiz
不変条件はデータベースが守る — 制約と再試行ループ
- 確認してから書くと壊れ、制約にすれば守られる reading
- 制約で防ぎ、40001 だけを再試行する lab
- クイズ: 不変条件はデータベースが守る quiz