YAML은 "YAML Ain't Markup Language" (원래는 "Yet Another Markup Language")의 약자로, 데이터 직렬화에 사용되는 사람이 읽기 쉬운 형식입니다. 설정 파일, 데이터 교환 등 다양한 용도로 사용되며, JSON과 유사하지만 보다 읽기 쉬운 형태를 가집니다. 워낙 쉬워서 따로 공부하지 않고 사용하는 경우도 있지만, 고급 기능도 있으니 잘 활용하면 더 가독성이 좋은 yaml을 작성할 수 있습니다.
:
) 다음에 공백 하나로 구분됩니다.key: value
-
)과 공백 하나를 사용해 항목을 나열합니다. 리스트는 배열 또는 시퀀스로 해석됩니다.- item1
- item2
- item3
{}
)를 사용하여 인라인 맵을 나타낼 수 있습니다.key: {subkey: value, subkey2: value2}
key:
- list_item1: value1
- list_item2: value2
앵커 (&
)와 별칭 (*
): 중복을 피하기 위해 특정 요소를 앵커로 정의하고, 별칭을 사용하여 재참조할 수 있습니다.
defaults: &defaults
adapter: postgres
host: localhost
development:
<<: *defaults
database: dev_db
리터럴 블록 (|
): 개행 문자를 포함하는 문자열을 그대로 보존합니다.
literal_block: |
This is a literal block,
preserving new lines.
접기된 블록 (>
): 개행 문자를 공백 하나로 변환하지만, 더블 개행은 새로운 줄로 해석합니다.
folded_style: >
This is a folded block
that converts newlines into spaces.
주석 (#
): #
기호 뒤의 텍스트는 주석으로 처리됩니다.
# This is a comment
key: value # Inline comment
YAML 문법은 이러한 기본적인 규칙들로 구성되어 있으며, 사용하기 쉽고 읽기에 편한 구조를 가지고 있습니다. 데이터를 구조화하는 데 필요한 다양한 상황에서 유연하게 사용될 수 있습니다.