xml과 json 등의 파일 포맷이 필요한 이유
- 타 시스템 간에 데이터를 주고 받을 때, 데이터 포맷에 대한 약속이 필요하기 때문
예를 들어, 내부 시스템 개발에서 "1-철수-강사, 2-영희-학생" 이라는 문자열을 만들어서 "-"(hypen)을 파싱해 순서대로 "1"은 일련번호, "김태민"은 이름, "강사"는 구분이라는 규칙과, ","(comma)는 리스트를 나타내는 구분자라는 규칙을 세울 수 있다.
- 이는 데이터를 내부 시스템에 전송할 때, 포맷에 대한 형태는 말로써 혹은 내부 문서로써 정의해놓으면 되기 때문에 데이터 크기가 엄청 작아질 수 있음을 뜻한다.
만약 타 시스템들과 연동을 해야한다면?
- 내부에서 세운 규칙을 타 시스템들과 데이터로 주고 받을 때, 문서로 주고 받기 번거로울 뿐더러 데이터 규칙을 세우는 문서들이 필요해짐
- 그리하여 정의된 것이 xml, json 과 같은 데이터 포맷이며 해당 포맷들도 규칙이 존재함
Xml의 예
- 태그 형식을 통해 Key와 Value를 구분
- 태그 안에 태그를 넣어 부모와 자식 관계의 구조
- 단점은 Object와 Array가 표시되어 있지만 xml 포맷 상으로는 구분이 안됨
Json의 예
- 훨씬 간소화됨
- Object는 {} 로 감싸주며, Array는 [] 로 감싸주어 구분이 편함
- Key 또한 xml처럼 두번 씩 들어가지 않음
Yaml의 예
- 현재의 가장 간소화된 포맷 형식
- -(hypen)을 통해 Array 도출 가능
가독성 비교용
즉, yaml은 작성하기도 보기에도 가장 편해 현재 보편적으로 쓰이는 파일 형식이며 쿠버네티스에서 또한 API 전송시 yaml을 권장한다.
출처: https://www.inflearn.com/questions/16184