YAML이란 무엇인가?

less than 1 minute read

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

어디에서 사용되는가?

구조

Representation Model

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
    

Categories:

Updated:

Comments