YAML이란 무엇인가?
YAML
YAML Ain't Markup Language
YAML과 같이 풀어쓴 문장안에 약자가 그대로 있는 것을 재귀약자라고 한다.
YAML은 사람이 읽기 쉬운 데이터 직렬화 양식으로 많은 프로그래밍 언어에서 사용할 수 있다.
- 공식사이트
- 지원 언어: C/C++, Crystal, C#/.NET, D, Dart, Delphi, Golang, Haskell, Java, Javascript, Nim, OCaml, Perl, PHP, Python, R, Ruby, Rust
어디에서 사용되는가?
- environment.yml로 Anaconda 환경 관리
- circleci config.yml
구조
Node
YAML은 node로 구성되어있다. node는 scalar node, sequence node, mapping node로 나뉜다.
- scalar: 1234, abcd 같은 값
- sequence: 순서가 있는 리스트
-
flow sytle
[entry1, entry2, entry3]
-
block style
- entry1 - entry2 - entry3
-
- mapping: 키-값 쌍을 갖는 맵.
:
뒤에 공백문자가 꼭 필요하다.-
flow sytle
{key1: value1, key2: value2}
-
block style
key1: value1 key2: value2
-
Nested Node
sequence node와 mapping node는 내부에 sequence node나 mapping node를 가질 수 있다.
-
nested flow style
[entry1, [entry2-1, entry2-2], {key1: value1, key2: [value2-1, value2-2]}]
-
netsted block style
- entry1 - - entry2-1 - entry2-2 - key1: value1 key2: - value2-1 - value2-2
Comments