Testing · TDD
TDD - 실패하는 테스트부터 쓴다
테스트를 나중이 아니라 먼저 쓴다. 빨강-초록-리팩터 사이클, 왜 먼저 쓰면 요구가 고정되고 설계 압력이 생기는지, 그리고 TDD를 둘러싼 오해와 안 맞는 자리까지.
어떻게 확신하나 6편
API · Versioning
버저닝과 하위 호환
v2를 냈는데 v1을 못 내리는 상황을 어떻게 피하나. 깨지 않고 바꾸는 방법이 먼저이고, 버전을 가르는 건 그다음이다.
API 설계 7편
API · GraphQL
GraphQL - 필요한 것만 받는다
화면 하나에 API를 다섯 번 부르는 문제를 GraphQL은 어떻게 다르게 푸나. REST와의 차이와 그 대가만 본다.
API 설계 6편
API · JSON
JSON - 왜 이게 표준이 됐나
타입이 여섯 개뿐인 형식이 어떻게 API의 기본이 됐나. 큰 정수·날짜·null이라는 세 함정과 스키마 없음의 대가.
API 설계 5편
API · REST
Endpoint 설계
같은 목록을 주는 URL이 여럿이 되지 않게 하는 법. 컬렉션과 단건, 중첩 기준, 필터·정렬·페이징 파라미터와 목록 응답 모양을 정한다.
API 설계 3편
API · REST
REST - 자원으로 말한다
/getUserList는 왜 REST가 아닌가. 동사를 URL에서 걷어내고 자원과 메서드로 말하는 방식을 잡는다.
API 설계 2편
API · Design
API는 약속이다
내부 코드는 언제든 고치지만 공개한 API는 남이 이미 그 모양에 맞춰 코드를 짜뒀다. API를 계약으로 보는 관점을 잡는다.
API 설계 1편
Database · Design
키 설계 - 무엇으로 행을 가리킬 것인가
자연키가 배신하는 순간, 대리키를 쓰면서 흔히 빠뜨리는 것, 그리고 UUID가 인덱스를 망가뜨리는 이유.
데이터베이스 공통 개념 10편
Database · Design
정규화 - 한 테이블은 한 가지 사실만 말한다
정규형을 외우지 않고도 판단하는 법, 그리고 반정규화가 실제로 무엇을 사고파는 거래인지.
데이터베이스 공통 개념 9편