티스토리 뷰
YAML
- YAML(YAML Ain't Markup Language)은 인간이 쉽게 읽고 작성할 수 있는 데이터 직렬화 양식입니다.
- YAML은 주로 설정 파일, 데이터 전송 및 구성 관리 등에 사용되며, 파일로 작성 시 확장자는 .yaml 혹은 .yml 확장자를 가집니다.
- 다른 마크업 언어와는 달리 YAML은 데이터를 계층 구조로 표현할 수 있으며, 들여쓰기를 통해 계층을 구분합니다.
- JSON 파일과 비슷하게 YAML 파일은 key-value 형태로 작성된 파일이지만, "" 와 {}없이 문자열 작성이 가능하고, 주석을 작성할 수 있습니다.
- 그리고 YAML은 JSON의 상위 호환 격이므로, 기존 json문서를 그대로 yaml파일로 사용하거나 원하는 부분만 손볼 수 있습니다. 반대로 yaml을 json으로 변환해 사용할 수도 있습니다.
YAML 문법
주석, 문서의 시작과 끝
- # : 주석
- --- : 문서의 시작 (선택사항)
- ... : 문서의 끝 (선택사항)
#이런 식으로 주석을 작성할 수 있습니다.
--- #문서 시작
#이 사이에 내용이 들어갑니다.
... #문서 끝
- 들여쓰기는 기본적으로 2칸 또는 4칸을 지원합니다. 보통 2칸씩 들여쓰는 것을 추천합니다. 탭 키가 아닌 스페이스 키로 들여써야 합니다.
기본 표현
- key-value쌍을 사용하며, : 다음에는 무조건 공백 문자가 와야 합니다.
key: value
자료형
- int, string, boolean, 리스트, 매핑을 지원합니다.
- 여기서 int와 string 타입은 스칼라(Scalar)라 부르고, 배열 혹은 리스트는 시퀀스(Sequence)라 부릅니다. 매핑에는 기본 표현인 key-value 쌍 및 hash, dictionary가 포함됩니다.
#int(숫자)
int_type: 1
#string(문자열)
string_type: "1"
#blooean(참/거짓)
boolean_true_type: true
boolean_false_type: false
#이외에 yes, no로 작성하기도 합니다.
yaml_easy: yes
yaml_difficult: no
#리스트(배열 형태)
person:
name: Chungsub Kim
job: Developer
skills:
- docker
- kubernetes
# JSON 형식의 "skill" : [docker, kubernetes]와 같습니다.
객체
- 객체 표현은 key 작성 후 두 칸을 들여써서 key-value 형태로 작성을 해주거나, key를 작성 후 중괄호({})로 한 번 묶고 key-value 형태로 작성합니다.
key:
key: value
key: value
#또는 이렇게도 작성합니다. 가독성을 위해 사용합니다.
key: {
key: value,
key: value
}
Text
- 줄바꿈 표현(|)과 줄바꿈 무시 표현(>)이 있습니다.
# |는 줄바꿈 표현입니다.
# JSON 형식의 "comment_line_break": "Hello codestates.\nIm kimcoding.\n"과 같습니다.
comment_line_break: |
Hello codestates.
Im kimcoding.
# >는 줄바꿈 무시 표현입니다.
# JSON 형식의 "comment_single_line": "Hello world my first coding."과 같습니다.
comment_single_line: >
Hello world
my first coding.
문자열 따옴표
- key-value 쌍에서 value에 :가 들어간 경우는 반드시 따옴표가 필요합니다.
# error가 납니다.
windows_drive: c:
# 이렇게 써야 합니다.
windows_drive: "c:"
windows_drive: 'c:'
댓글