[ETC] YAML 문법 정리

2024. 5. 21. 13:32·ETC/ETC
728x90

 

YAML

사람이 읽기 쉬운 데이터 직렬화 형식
주로 설정 파일과 데이터 저장에 사용됨.

 

 

개요

 

  • YAML은 데이터 직렬화 포맷(data serialization formats)이다.
  • YAML은 원래 "Yet Another Markup Language"의 약어로 시작되었으나 YAML의 주된 목적이 단순 마크업(MarkUp)이 아닌 데이터를 직렬화하는 것이 강조되면서 "YAML Ain't Markup Language"라는 재귀적 약어로 변경되었다.
  • 확장자는 .yaml 을 사용한다.

 

 

문법

 

 

1. 들여쓰기(Indent)

  • YAML에서 들여쓰기는 기본적으로 2칸 또는 4칸을 지원함. (space Indent)
  • Space Indent 기준으로 2칸을 표준적으로 가장 많이 씀.
# 2칸 인덴트
metadata:
  name: python-sample-deployment
  namespace: default
  
# 4칸 인덴트
metadata:
    name: python-sample-deployment
    namespace: default

 

 

 

2. 데이터 정의(map)

  • 데이터는 Key:value 형식으로 정의함
  • ':'으로 구분 후 1칸을 띄운 후 value를 기입한다.
# <Key>: <value>
name: python-sample-deployment

 

 

3. 배열 정의(array)

  • 배열은 '-'으로 개별 줄에 나열 할 수 있고 '[]'으로 한줄로 표현할 수 있다.
# 여러 줄로 표현
lang: 
  - python
  - java
  - php
  
# 한줄로 표현
lang: [python,java,php]

 


4. 주석(comment)

  • #을 사용함.
# 이건 주석이다.
name: python-sample-deployment

 

 

5. 참/거짓, 숫자 표현

  • true, false(대소문자 구분 X) 이외에도 yes, no도 지원함.
# true, false, yes, no 모두 사용 가능하다.
chk: true
chk: false
chk: yes
chk: no

 

  • 숫자는 따옴표(")로 감싸면 문자열(string)으로 인식한다.
version: 1.2 # Number Type
version: “1.2” # String Type

 

 

6. 줄바꿈(newline)

  • 리터럴 스타일 (Literal Style) : “|” 지시어는 마지막 줄바꿈이 포함된다.
  • 폴디드 스타일 (Folded Style) :  ”>” 지시어는 중간에 들어간 빈줄이 제외된다. 
  • 리터럴 스타일 (Literal Style)  - 블록 스칼라: “|-” 지시어는 마지막 줄바꿈을 제외된다.

 

 

주의사항

  • key와 value 사이에는 반드시 빈칸이 필요하다. (1. 들여쓰기(Indent) 내용 참고)
  • 콜론(:)이 들어간 문자열을 포함하려면 반드시 따옴표로 감싼다.
name:python-sample-deployment # (X) 잘못된 문법: key/value 사이에는 간격이 필요하다.
name: python-sample-deployment # (O) 옳은 문법

score: 6:2 # (X) 잘못된 문법: 콜론(:)을 문자열로 사용하려면 따옴표로 감싸야 한다.
score: "6:2" # (O) 옳은 문법

 

 

Tip !

 

 

  • json2yaml : json 포맷을 YAML으로 변환하는 사이트
 

JSON to YAML Online Converter

Convert JSON to YAML and slim down your data with the json2yaml online editor

www.bairesdev.com

 

  • yaml Lint: yaml 문법 점검 사이트 
 

YAMLlint - The YAML Validator

 

www.yamllint.com

 

 

 

참고 사이트

 

  • 인프런 - 초보를 위한 쿠버네티스 안내서(subicura) 강의 내용

 

 

 

 

※ 본 게시글의 정보가 잘못 되었거나 부족한 부분에 대한 피드백을 환영합니다.

 

 

* CopyRight 2024. Jay Park All rights reserved.

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'ETC > ETC' 카테고리의 다른 글

[Tech] AI가 해주는 코드리뷰 - CodeRabbit  (0) 2025.05.08
[Tech] 순수 프로그래밍 시간 측정(wakatime)  (0) 2025.05.07
[CI/CD] Jenkins Build 결과 발송 [Slack]  (0) 2024.01.17
[CI/CD] Jenkins Build 결과 발송 [Email]  (0) 2024.01.13
[CI/CD] Jenkins Job을 수행하는 유저 변경  (0) 2024.01.13
'ETC/ETC' 카테고리의 다른 글
  • [Tech] AI가 해주는 코드리뷰 - CodeRabbit
  • [Tech] 순수 프로그래밍 시간 측정(wakatime)
  • [CI/CD] Jenkins Build 결과 발송 [Slack]
  • [CI/CD] Jenkins Build 결과 발송 [Email]
dev.parkjh
dev.parkjh
Jay Blog. Github: https://github.com/GreatPark96
  • dev.parkjh
    0과 1을 공부하다.
    dev.parkjh
  • 전체
    오늘
    어제
    • 분류 전체보기 (114)
      • Profile (2)
      • Paper (6)
      • Column (3)
      • Project (8)
        • Smart Home (3)
        • 3D Printing (5)
      • Front-End (0)
        • Web (3)
      • Back-End (8)
        • API (1)
        • DB (1)
        • Laravel (4)
      • Language (16)
        • Kotlin (11)
        • C, C++ (3)
        • JAVA (0)
        • python (2)
      • System (28)
        • Server (15)
        • Security (1)
        • Network (1)
        • Linux (8)
        • Cloud (3)
      • ETC (34)
        • Book Recommend (Computer) (3)
        • IoT (7)
        • BlockChain (7)
        • ETC (17)
      • My YOLO (1)
      • Note (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    docker
    nas
    ai code review
    docker private register
    ncp container registry
    3D모델링
    docker container
    github
    kubernetes
    data serialization formats
    work hour
    coderabbit
    git
    3D프린터
    ci/cd
    Notification
    네이버클라우드
    3D프린터 입문
    C언어
    NAS HDD교체
    3D
    Database
    Kotlin
    Jenkins
    3d프린터 초보
    linux job
    리눅스 파일동기화
    코틀린개발환경
    gitlab
    데이터 직렬화 포맷
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dev.parkjh
[ETC] YAML 문법 정리
상단으로

티스토리툴바