YAML

내위키
Dennis (토론 | 기여)님의 2020년 5월 17일 (일) 13:00 판 (→‎문법)

데이터를 인간이 읽기도 쉽고, 컴퓨터가 처리하기도 쉽게 만든 형식. 더 고급지게 표현하면 '인간이 읽을 수 있는 데이터 직렬화 언어'. YAML은 재귀형 약어로, YAML ain't Markup Language이다. 즉 'YAML은 마크업 언어가 아니다'라는 뜻. 요즘 재귀형 약어가 너무 남발되고 있다.

2001년에 클라크 에반스가 제안한 형식이다. 인간이 읽을 수 있는 데이터 직렬화 언어로는 XML이라는 표준이 있지만 덩치도 크고 쓸데 없이 길어서 가독성이 떨어지다 보니 JSON이나 XAML 같이 좀 더 간결한 대안들이 많이 쓰이고 있는데, YAML 역시 간결함 덕택에 여러 방면에 쓰이고 있다.

목표

  1. YAML은 사람이 쉽게 읽을 수 있다.
  2. YAML은 프로그래밍 언어들 사이에서 호환된다.
  3. YAML은 애자일 언어들의 고유 데이터 구조와 잘 맞는다.
  4. YAML은 제너릭 도구를 지원하기 위한 일관된 모델을 가지고 있다.
  5. YAML은 한 단계 만에 처리될 수 있도록 지원한다.
  6. YAML은 표현력과 확장성이 있다.
  7. YAML은 구현하고 사용하기 쉽다.

문법

  • 유니코드 인코딩을 사용한다. UTF-8, UTF-16을.사용한다.
  • 들여쓰기로 단계를 구분하지만 탭은 인정하지 않는다.
  • # 기호가 앞에 오면 주석을 뜻한다.
  • 리스트의 원소는 앞에 가로줄(-)을 붙인다.
  • 가로줄 세 개를 잇달아 쓰면 (---) 콘텐츠의 내용 분리를 뜻한다.
  • 리스트를 시작하려면 먼저 리스트의 이름에 콜론(:)을 불이고 빈칸[1]을 하나 준다. URL와 구분하기 위해서 (https://newiki.net) 반드시 빈칸이 하나 있어어 한다.

JSON에 비하면 널리 쓰이고 있지는 않지만 JSON보다 더 간결한 형식이라서 주로 설정 파일 형식으로 많이 쓰인다. 들여쓰기를 강제한다든가 하는 특징으로 사람이 읽기도 조금 낫다.

각주

  1. 줄바꿈도 당연히 빈칸으로 인정한다.