TAG

#Design

9 posts

TDD - 실패하는 테스트부터 쓴다

Testing · TDD

TDD - 실패하는 테스트부터 쓴다

테스트를 나중이 아니라 먼저 쓴다. 빨강-초록-리팩터 사이클, 왜 먼저 쓰면 요구가 고정되고 설계 압력이 생기는지, 그리고 TDD를 둘러싼 오해와 안 맞는 자리까지.

어떻게 확신하나 6편

버저닝과 하위 호환

API · Versioning

버저닝과 하위 호환

v2를 냈는데 v1을 못 내리는 상황을 어떻게 피하나. 깨지 않고 바꾸는 방법이 먼저이고, 버전을 가르는 건 그다음이다.

API 설계 7편

GraphQL - 필요한 것만 받는다

API · GraphQL

GraphQL - 필요한 것만 받는다

화면 하나에 API를 다섯 번 부르는 문제를 GraphQL은 어떻게 다르게 푸나. REST와의 차이와 그 대가만 본다.

API 설계 6편

JSON - 왜 이게 표준이 됐나

API · JSON

JSON - 왜 이게 표준이 됐나

타입이 여섯 개뿐인 형식이 어떻게 API의 기본이 됐나. 큰 정수·날짜·null이라는 세 함정과 스키마 없음의 대가.

API 설계 5편

Endpoint 설계

API · REST

Endpoint 설계

같은 목록을 주는 URL이 여럿이 되지 않게 하는 법. 컬렉션과 단건, 중첩 기준, 필터·정렬·페이징 파라미터와 목록 응답 모양을 정한다.

API 설계 3편

REST - 자원으로 말한다

API · REST

REST - 자원으로 말한다

/getUserList는 왜 REST가 아닌가. 동사를 URL에서 걷어내고 자원과 메서드로 말하는 방식을 잡는다.

API 설계 2편

API는 약속이다

API · Design

API는 약속이다

내부 코드는 언제든 고치지만 공개한 API는 남이 이미 그 모양에 맞춰 코드를 짜뒀다. API를 계약으로 보는 관점을 잡는다.

API 설계 1편

키 설계 - 무엇으로 행을 가리킬 것인가

Database · Design

키 설계 - 무엇으로 행을 가리킬 것인가

자연키가 배신하는 순간, 대리키를 쓰면서 흔히 빠뜨리는 것, 그리고 UUID가 인덱스를 망가뜨리는 이유.

데이터베이스 공통 개념 10편

정규화 - 한 테이블은 한 가지 사실만 말한다

Database · Design

정규화 - 한 테이블은 한 가지 사실만 말한다

정규형을 외우지 않고도 판단하는 법, 그리고 반정규화가 실제로 무엇을 사고파는 거래인지.

데이터베이스 공통 개념 9편