[Project] YAML

Fortice·2021년 7월 28일
0

Project

목록 보기
7/8

YAML(YAML Ain't Markup Language)

Swagger는 YAML 형식을 사용해 설정을 한다. YAML은 이름대로 마크업 언어가 아니고, 주로 설정을 위해 사용한다고 한다.
설정 파일을 위한 목적으로 JSON과 비슷하게 느껴지지만 만들어진 목적과 활용도에 차이가 있다.

YAML vs JSON

블로그는 내가 YAML과 JSON의 차이를 이해하기 가장 좋았던 블로그이다.

  • 가독성 vs 간편성과 보편성
    • YAML은 가독성을 더 중요시하여 설정파일에 주로 이용되며, 사람이 한눈에 이해하기 쉽도록 하는게 목적이며, 장점이다.
    • JSON은 간편성과 보편성이 중요시되어 생성과 파싱이 용이하다. 따라서 REST API에 주로 사용된다.
  • 주석 O vs 주석 X
    • 위에 특성에 따라 YAML은 설정 및 설명을 위한 주석이 사용 가능하다.
    • JSON은 간단하게 데이터를 담아 생성, 파싱하므로 주석이 사용 불가하다.
  • 한글 유니코드 그대로 vs 멀티 바이트 문자를 인코딩
  • Key 중복 X vs Warning

기타 특징

  • YAML은 상속이 가능하다.
  • YAML은 한 파일에 여러 Document를 사용할 수 있다.
  • YAML <-> JSON 간에 변환이 가능하다.

문법

쿠버네티스 안내서에 이해하기 쉽게 설명되어 있다.

  • 들여쓰기 2칸 권장 (4칸 가능)
  • 데이터 정의
    • key: value
    • key와 value 사이 한칸의 띄어쓰기 필수
  • 배열 정의
    • - 로 표시
  • 주석
    • #
  • 참/거짓
    • True/False or Yes/No
  • 숫자
    • "" 따옴표 없이 숫지
  • 문자
    • 대부분 그대로 사용
    • : 가 들어간 문자열의 경우 무조건"" 따옴표 사용
  • 줄바꿈
    • 문자열 데이터를 json으로 바꿔서 보면 이해하기 쉽다.
    • |: 마지막 줄바꿈이 포함
    • |-: 마지막 줄바꿈을 제외
    • >: 중간에 들어간 빈줄을 제외
# 들여쓰기
indents: 2
  more: 4
  
# 데이터 정의
key: value

# 배열
medals:
  - Gold
  - Silver
  - Copper
  
# 참/거짓
study_hard: yes
give_up: no
hello: True
world: FALSE

# 숫자
weight: 62.1

# 문자
pwd: "C:\fortice\yaml"
name: Fortice

# 줄바꿈 (마지막 빈 줄의 Indent에 따라 마지막 개행 문자가 추가될 수 있으니 주의)
# onw: "new line\n\nsecond line\n\nlast line\n"
one: |
            new line

            second line

            last line

# two: "new line\n\nsecond line\n\nlast line"
two: |-
            new line

            second line

            last line

# three: "new line\nsecond line\nlast line\n?
three: >
            new line

            second line

            last line
profile
서버 공부합니다.

0개의 댓글