소프트웨어 개발자/좋은 API, DB 설계하기 12

[좋은 API 설계하기] 기타

API를 설계하며 고민 한 것들을 적어 놓는 공간. 백엔드가 고려해야 될 것 들Restful 한 API 설계를 했는지문서화가 좋은지 사용법이 명확한지 (외부 SDK로 배포하더라도 괜찮은 정도의 퀄인지 생각해보기)API가 UI에 종속되지 않아야 한다 -> UI가 바뀌더라도, 사용 할수 있는가백엔드의 1차적인 유저는 프론트라는 점아 이사람 api 잘 짜주던데~ 좋은 API 문서 예시네이버 NCloud (링크)상태코드를 존중한 Restful 한 작성 NHN (링크)모든 API를 200으로 처리함 (링크)성공과 실패에 대한  Redoc 활용 좋은 예시Redoc에서 상태코드를 지켜서 문서화 (링크) Permission 범위작은 범위의 permission 체크 (공통 레벨)해당 모델에 대한 체크user.user_t..

[좋은 DB 설계하기] RDB에서 JsonField 사용 vs 관계형 테이블 맺기

JSON Field의 장단점 (vs 외래키 테이블 구성)Json Field 장점- 추가 적인 테이블 관리가 필요 없음 (테이블 간 추가 Join 필요 X)- 생성/수정시 값에 대해 Dictionary를 교체하는 식으로 쉽게 가능- Validation이 큰 상관이 없는 경우 / 정적인 값 경우 사용하기 좋음- JSON Field만 가지고 추가 쿼리 가능 Json Field 단점- 난독화 발생 우려- JSON 내 관계형 값이 변할시 값을 업데이트 하기 힘듬- JSON 값에 대한 Validation을 하기가 힘듬  (값 검증시 내부 값들의 type 까지 검증 필요)- DB 테이블 트랜잭션 분산 가능- RDB가 JOIN이 잘되어 있으면 성능적으로 큰 이점은 없음 JSON Field의 장단점사례 1. Articl..