JSON, YAML, GraphQL은 각각 목적이 다르고, 사용하는 맥락도 달라서 장단점을 제대로 아는 게 중요해요.
JSON (JavaScript Object Notation)
뭐에 쓰나?
-
웹 API (REST API)
-
프론트엔드-백엔드 데이터 통신
-
설정 파일 (
package.json
,tsconfig.json
등)
장점
-
범용성: 거의 모든 언어에서 기본 지원
-
간단한 구조: Key-Value로 직관적
-
빠름: 파싱 속도가 빠름 (기계 친화적)
-
디버깅 쉬움: 크롬에서 JSON 바로 보기 가능
단점
-
주석 불가: 설정 파일에서 설명 못 씀
-
사람 눈엔 조금 딱딱함: 큰 구조는 읽기 불편
-
데이터만 있음: 쿼리 기능 없음 (GraphQL과 비교시)
YAML (YAML Ain’t Markup Language)
뭐에 쓰나?
-
CI/CD 설정 (
.github/workflows/
, GitLab, Jenkins) -
Docker (
docker-compose.yml
) -
Kubernetes (
k8s manifest
)
장점
-
가독성 최고: 들여쓰기 기반으로 사람 눈에 편함
-
주석 가능: # 써서 설명 달 수 있음
-
구조 표현 유연: 리스트, 중첩 표현 잘됨