반응형

발단

docker에 대해 공부하다가, Yaml 파일 형식에 대해 처음 접하게 되었다.

그런데 문득 왜 yaml파일이라는 것이 생긴거지?라는 생각이 들었다.

 

전개

인터넷에 검색해봤는데, yaml파일을 만들게 된 이유에 대해서는 설명이 없었다.

그래서 yaml 공식문서에 있는 사람에게 메일을 보내 물어보기로 했다.

https://yaml.org/spec/1.0/#id2488873

 

YAML Ain't Markup Language (YAML) 1.0

YAML Ain't Markup Language (YAML™) 1.0 Final Draft 2004-JAN-29 Brian Ingerson Copyright © 2001-2004 Oren Ben-Kiki, Clark Evans, Brian Ingerson This document may be freely copied provided it is not modified. Status of this Document This is an intermediat

yaml.org

보낸 메일과 답장

결론

오렌은 친절하게 답변을 해줬는데, 답변내용은 아래와 같다.

2004년 당시 어떠한 프로그래밍 언어에서도 사용 가능한 data structure를 de/seriallizing 가능한 포맷을 찾고 있었다.

그런데 그때 당시 XML은 이것이 불가능햇고, 우리가 새로 만들게 되었다.

 

 

 

+ 궁금했던 것.

1. Yaml의 장단점은 무엇인가?

 

장점: 주석 사용가능, 한글을 그대로 사용해도됨

단점: 개행, 공백으로 블록 인식. 이에 따라 한줄로 작성 불가함.

(사실 이는 단점이라기보다는 특징에 가까운 것 같다.)

 

https://yaml.org/spec/1.2-old/spec.html#id2759572

공식문서에 따르면, JSON의 최우선 디자인 목표는 간단함과 보편성이고 이에 따라 가독성을 조금 포기하는 대신에 생성과 파싱이 용이하게끔 한것이다.

반면에 YAML의 최우선 설계 목표는 가독성과 데이터구조 serialization이다. 따라서 가독성이 매우좋지만, 생성하고파싱하는데 약간 더 시간이 걸린다.

 

2. Yaml을 restful api에서 데이터 전송형식으로 쓸 순 없을까?

일단 앞서 언급했듯이, json이 좀더 생성과 파싱에 용이하다.

그리고 yaml은 공백으로 구분하는데, 이것은 json파일보다 크게 만들고, json보다 복자하다.

그리고 브라우저들은 json을 natively 제공한다 

하지만 위와 같은 복잡한 구조 떄문에 configuration file로는 yaml이 적합하다.

https://www.quora.com/Why-isnt-YAML-used-instead-of-JSON-for-the-web-as-its-easier-to-read-for-both-humans-and-machines

https://www.quora.com/Will-YAML-replace-JSON

 

Will YAML replace JSON?

Answer: JSON is actually a subset of YAML 1.2. YAML supports more “features” than JSON (comments, sets, ordered maps, timestamps, user defined types etc.), so it might as well gain more traction in the future, but I don’t think it will replace JSON.

www.quora.com

https://stackoverflow.com/questions/1726802/what-is-the-difference-between-yaml-and-json

 

What is the difference between YAML and JSON?

What are the differences between YAML and JSON, specifically considering the following things? Performance (encode/decode time) Memory consumption Expression clarity Library availability, ease of ...

stackoverflow.com

 

반응형

+ Recent posts