위키득계정 ↗
기술

YAML

YAML기술
명칭
YAML Ain’t Markup Language
기본 데이터 구조
매핑과 시퀀스, 스칼라
흔한 확장자
.yaml과 .yml
주요 사용 예
설정 파일과 데이터 교환
YAML은 사람이 읽기 쉬운 표현을 지향하는 데이터 직렬화 언어다. 매핑과 시퀀스, 스칼라를 표현하며 소프트웨어의 설정 파일 등에 사용된다. 들여쓰기가 구조를 나타내는 데 중요한 역할을 한다.

문서의 구조

키에 값을 대응시키거나 여러 값을 순서대로 나열하는 구조를 표현할 수 있다. 단순한 문자열과 숫자 같은 값도 함께 사용한다. 겉으로 문장처럼 보여도 정해진 문법으로 해석되는 데이터 문서다.

들여쓰기와 범위

블록 형태의 YAML에서는 들여쓰기를 통해 어떤 항목이 어느 구조 안에 들어가는지 나타낸다. 눈에 비슷하게 보이는 공백 차이가 문서의 구조를 바꿀 수 있다. 단순히 줄의 장식을 맞추는 작업과 구분해야 한다.

문자열과 자료형

따옴표가 있는 값과 없는 값은 표기와 해석 조건이 다를 수 있다. 파서가 적용하는 스키마와 버전에 따라서도 주의할 점이 있다. 사람이 문자열로 생각한 값이 언제나 같은 자료형으로 읽힌다고 가정해서는 안 된다.

설정 문법과 프로그램의 의미

YAML 문법에 맞는 파일이라고 해서 그 파일을 사용하는 프로그램의 설정도 올바른 것은 아니다. 허용되는 키와 값의 범위는 해당 프로그램이 정한다. 데이터 형식의 문법 검사와 실제 설정의 의미 검증을 나누어 확인해야 한다.

관련 문서

직렬화 / JSON / TOML / 자료형 / 구문 분석 / 소프트웨어