좋은 서비스를 만드는 CS — 교과서 개념을 측정으로 다시 배운다
시간 복잡도와 자료구조, 동시성, 메모리와 GC, 문자열·시간·숫자 표현, 캐시 일관성, 논리 시계, 데이터베이스 불변식을 교과서 순서가 아니라 서비스가 느려지고 틀리는 자리에서 다시 배웁니다. 모듈마다 직접 구현하고 측정해 '이 구조를 고른 이유' 를 숫자로 말할 수 있게 됩니다. 멱등성·캐시 패턴·격리 수준처럼 다른 코스가 이미 깊게 다루는 주제는 그 코스로 이어 줍니다.
중급 · 레슨 30 · 실습 10
커리큘럼
복잡도를 실측으로 확인한다
- 빅오는 외우지 말고 두 배로 늘려 잰다 reading
- 배가 실험으로 숨은 이차를 찾고 고친다 lab
- 퀴즈: 복잡도를 실측으로 quiz
자료구조 선택이 지연과 비용을 바꾼다 — 해시·트리·힙
- 무엇을 묻느냐가 구조를 고른다 — 탐사 수와 높이로 미리 세기 reading
- 해시·트리·힙을 직접 만들고 센다 lab
- 퀴즈: 해시·트리·힙 고르기 quiz
LRU 캐시와 블룸 필터를 직접 만든다
- LRU 는 최근을 믿고, 블룸 필터는 '없음' 만 확신한다 reading
- LRU 와 블룸 필터를 만들고 재 본다 lab
- 퀴즈: LRU 와 블룸 필터 quiz
경쟁 조건은 await 사이에도 생긴다 — 스레드·GIL·asyncio
메모리와 GC 가 지연 꼬리를 만든다
문자열 길이는 셋이다 — 바이트·코드 포인트·글자, 그리고 시간대
- 문자열 길이는 셋이고, 오늘은 어디의 오늘인가 reading
- 닉네임 360개로 길이·자르기·같음·날짜를 못박는다 lab
- 퀴즈: 문자열 길이와 시간대 quiz
부동소수점이 서비스를 속이는 자리
캐시가 DB 보다 오래 거짓말하는 순간 — 캐시 일관성
- 무효화 순서가 만드는 오래된 값 reading
- 끼어들기 순서로 캐시의 거짓말을 잰다 lab
- 퀴즈: 캐시 일관성과 끼어들기 quiz
시계와 순서 — 램포트 시계·벡터 시계·재시도
- 번호는 인과를 지키고, 벡터는 동시를 알아본다 reading
- 램포트·벡터 시계를 달고 잃은 갱신과 재시도를 센다 lab
- 퀴즈: 시계와 순서 quiz
불변식은 데이터베이스가 지킨다 — 제약조건과 재시도 루프
- 확인하고 쓰면 깨지고, 제약으로 두면 지켜진다 reading
- 제약으로 막고, 40001 만 다시 한다 lab
- 퀴즈: 불변식은 데이터베이스가 지킨다 quiz