프로그래밍 공부/etc.

YAML 이 뭐지?

내 머리속 어딘가 2024. 12. 26. 15:39
반응형

YAML

xml, json, yaml 비교

 

YAML: YAML Ain't Markup Language™
What It Is:
  YAML is a human-friendly data serialization
  language for all programming languages.

위 내용이  yaml.org에 가장 상단에 올라와 있는 내용이다.

 

YAML파일은 무엇일까?

이것이 우선 먼저 궁금했다.

앞서 Git을 공부하면서 유튜브에서 .yaml 이라는 파일을 사용하였는데, 이것이 무엇인지는 모르고 우선 따라하고 있었다.

그러던 와중에 갑자기 이게 뭘까 하는 궁금증에 내용을 찾아보게 되었다.

 

나무위키의 내용을 훑어보고 다른 블로그의 내용도 읽어보니,

JSON파일의 불편함을 해소하기 위해 만들어진 확장자라고 한다.

JSON파일은 지금 내가 알고있는 바로는

프론트에서 백엔드로 정보를 요청했을때 백엔드에서 프론트로 넘겨주는 파일의 형식으로 알고있다.

그 파일이 보기에도 조금 어렵고, 문법이 유연하지 않는 등 불편함이 있다는 말이다.

(내가 파악한 내용이 틀렸을 수 있으니 더 찾아보길 바란다.)

 

같은 내용이 들어있는 xml, json, yaml 파일을 한번 비교해보자.

xml, json, yaml 비교

 

딱 봐도 yaml 파일이 훨씬 읽기 쉬우며, 간결하다는 것을 알 수 있다.

 

 

 

이제 이 yaml  파일의 기본문법을 한번 정리하고 마치도록 하겠다.

기본문법

쿠버네티스 안내서 참고

들여쓰기(indent)

기본적으로 2칸 또는 4칸을 지원합니다.(2칸 추천)

person:
  name: JSH
  job : Student
  skills:
  	- python
    - yaml

데이터 정의(map)

데이터는 key : value 형식으로 정의.

apiVersion : v1
kind : Pod
metadata:
  name : echo
  labels:
    type: app

배열 정의(array)

배열은 -로 표시.

person:
  name: JSH
  job: student
  skills:
    - python
    - yaml

주석(comment)

주석은 #으로 표시.
전체 라인 주석처리와 일부 주석처리가 가능.

# comment

person:
  name: JSH #example

참/거짓, 숫자표현

참/거짓은 true, false 외에 yes, no를 지원.

hungry: yes
eatchicken: no
hi: True
people: TRUE
pizza: false

숫자
정수,실수를 따옴표('') 없이 사용하면 숫자로 인식.

#number
version: 1.2

#string
version: "1.2"

줄바꿈(newline)

여러 줄을 표현하는 방법.
"|" 지시어는 마지막 줄바꿈이 포함.

newlines_sample: |
			number one line
            
            second line
            
            last line

"|-" 지시어는 마지막 줄바꿈을 제외

newlines_sample: |-
			number one line
            
            second line
            
            last line

">" 지시어는 중간에 들어간 빈줄을 제외

newlines_sample: >
			number one line
            
            second line
            
            last line

주의사항

띄어쓰기

key value 사이에는 반드시 빈칸이 필요.

#error (not key-value, string)
key:value

#ok
key: value

문자열 따옴표

:가 들어간 경우는 반드시 따옴표가 필요.

#error
windows_drive: c:

#ok
windows_drive: "c:"
windows_drive: 'c:'

참고 사이트

1. json2yaml

JSON에서 yaml로 변환해주는 사이트

2. yamllint

yaml 문법 체크, 어떻게 해석할지 결과 소개

 

 

 

참고 사이트

- The Official YAML Web Site

- YAML - 나무위키

- [기본지식] yaml 파일이란

- YAML 문법 | 쿠버네티스 안내서

 

반응형