본문/내용
1. RESTful API 설계 원칙에 대해 설명하고, 당근마켓 서버 개발에서 어떻게 적용할 수 있는지 예를 들어 설명하세요.
RESTful API 설계 원칙은 자원의 명확한 식별, 무상태성, 일관된 인터페이스, 계층화된 시스템 구조, 캐싱 가능성을 강조합니다. 당근마켓 서버 개발에서는 이 원칙을 적용하여 사용자와 상품, 채팅, 거래 등 자원을 URI로 명확히 구분하고, GET, POST, PUT, DELETE 등의 HTTP 메서드를 일관되게 사용합니다. 예를 들어, 상품 정보를 조회할 때 "/items/{itemId}" URI를 사용하고, GET 메서드로 요청하여 캐시 활용이 가능하게 하며, 상품 등록은 POST "/items"로 처리하여 요청과 응답에서 상태 정보를 최소화합니다. 이를 통해 서버는 요청 당 상태를 저장하지 않으며, 클라이언트와 서버의 통신 효율이 향상됩니다. 또한, API 버전 관리를 위해 "/v1/items"와 같이 URI에 버전을 명시하여 확장성과 유지보수성을 높입니다. 이러한 설계는 트래픽이 매월 300만 건을 초과하는 당근마켓의 시스템 안정성과 확장성을 높여, 사용자 경험 개선 및 품질 향상에 크게 기여했습니다.
2. 데이터베이스 정규화와 비정규화의 …