[20210610] YAML

최근 설정 파일 형식으로 많이 사용 중인 YAML에 대해서 공부한다.

YAML(YAML Ain’t Markup Language)이란?

YAML은 2001년에 처음 고안된 언어로 최근 몇년간 인기가 계속해서 증가하고 있는 데이터 직렬화 언어이다. 종종 설정 파일의 포맷으로 사용되지만, 객체 직렬화 능력들때문에 JSON과 같은 언어를 대체하고 있다. JSON과의 가장 큰 차이점은 YAML은 새로운 라인들과 들여쓰기에 의미가 있는 반면, JSON은 괄호를 의미있는 기호로 사용한다는 점이다. 또한 사람이 읽기 쉽기 때문에 설정파일에서 인기가 많아지고 있는 이유 중 하나이다. YAML은 다양한 언어를 지원하고 native 데이터 구조로 쉽게 매핑 가능하다. 처음 YAML이 고안되었을 때는, Yet Another Markup Language의 약자였다. 하지만 데이터에 기반한 특징들을 더 강조하기 위해서 YAML Ain’t Markup Language로 이름을 변경하였다.

문법

YAML의 기본 구조는 MAP이다.

# : 주석 — : 새로운 YAML 문서의 시작을 나타낸다. … : YAML 문서의 끝을 나타낸다.(optional) :(colon) : key-value 를 나타낸다.

value에는 여러 데이터 타입을 지원한다.

  • string(quote나 double-quotes나 no quotes로 표현 가능, 만약 no quotes로 표현했지만 숫자나 float이라면 string이 아닌 integer와 float으로 인식)
  • float
  • boolean
  • integer
  • list(element를 -로 표현하거나 []로 리스트 전체를 표현)
  • dictionary(indentation으로 새로운 dictionary 표현 가능)

출처

https://en.wikipedia.org/wiki/YAML#Syntax