본문 바로가기
etc

YAML 개념, 문법

by lvd-hy 2023. 6. 7.
반응형

YAML (Yet Another Markup Language)

사람이 읽을 수 있는 데이터 직렬화 언어이다.

확장자 : .yaml 혹은 .yml

✌️

1. YAML은 JSON의 상위 호환 격으로, 기존 json 문서를 yaml파일로 사용하거나 반대로도 변환해서 사용할 수 있다.

2. YAML은 큰따옴표 없이 문자열 작성이 가능해 설정을 위한 스펙, 프로퍼티 값 등이 JSON 파일에 비해 한눈에 들어온다.

3. JSON 파일처럼 중괄호 형태로 감싸줄 필요가 없다. (스코프의 압박에서 벗어날 수 있다.)

4. YAML은 JSON 파일과 다르게 주석을 작성할 수 있다.

JSON을 YAML로 변환했을 때

YAML 문법

주석, 문서의 시작과 끝

# : 주석

--- : 문서의 시작

... : 문서의 끝

# 주석 작성
--- 문서 시작 표시
... 문서 종료 표시

들여쓰기 : 기본적으로 2칸 또는 4칸 지원 (탭 키가 아닌 스페이스 키로 들여쓴다.)

기본 표현

# 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: 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 쌍에서 문자열 따옴표가 들어간 경우 따옴표 필요
windows_drive: "c:"

 

Reference

코드스테이츠

https://ko.wikipedia.org/wiki/YAML

 

YAML - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. YAML은 XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식이다. 2001년에 클라크 에반스가

ko.wikipedia.org

 

반응형

'etc' 카테고리의 다른 글

CI/CD와 CI/CD 파이프라인  (0) 2023.06.05

댓글