YAML
내위키
데이터를 인간이 읽기도 쉽고, 컴퓨터가 처리하기도 쉽게 만든 형식. 더 고급지게 표현하면 '인간이 읽을 수 있는 데이터 직렬화 언어'. YAML은 재귀형 약어로, YAML ain't Markup Language이다. 즉 'YAML은 마크업 언어가 아니다'라는 뜻. 요즘 재귀형 약어가 너무 남발되고 있다.
2001년에 클라크 에반스가 제안한 형식이다. 인간이 읽을 수 있는 데이터 직렬화 언어로는 XML이라는 표준이 있지만 덩치도 크고 쓸데 없이 길어서 가독성이 떨어지다 보니 JSON이나 XAML 같이 좀 더 간결한 대안들이 많이 쓰이고 있는데, YAML 역시 간결함 덕택에 여러 방면에 쓰이고 있다.
목표
- YAML은 사람이 쉽게 읽을 수 있다.
- YAML은 프로그래밍 언어들 사이에서 호환된다.
- YAML은 애자일 언어들의 고유 데이터 구조와 잘 맞는다.
- YAML은 제네릭 도구를 지원하기 위한 일관된 모델을 가지고 있다.
- YAML은 한 단계 만에 처리될 수 있도록 지원한다.
- YAML은 표현력과 확장성이 있다.
- YAML은 구현하고 사용하기 쉽다.
문법
- 들여쓰기로 단계를 구분하지만 탭은 인정하지 않는다.
- # 기호가 앞에 오면 주석을 뜻한다.
- 리스트의 원소는 앞에 가로줄(-)을 붙인다.
- 가로줄 세 개를 잇달아 쓰면 (---) 콘텐츠의 내용 분리를 뜻한다.
- 리스트를 시작하려면 먼저 리스트의 이름에 콜론(:)을 불이고 빈칸[1]을 하나 준다. URL와 구분하기 위해서 (https://newiki.net) 반드시 빈칸이 하나 있어어 한다.
JSON에 비하면 널리 쓰이고 있지는 않지만 JSON보다 더 간결한 형식이라서 주로 설정 파일 형식으로 많이 쓰인다.
각주
- ↑ 줄바꿈도 당연히 빈칸으로 인정한다.