정지용
기술스택 목록
데이터

YAML

프로젝트 3에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.

이 기술은 무엇인가요?

사람이 읽고 쓰기 쉬운 문법으로 설정과 데이터를 표현하는 직렬화 포맷

YAML은 들여쓰기와 최소한의 기호만으로 계층 구조를 표현하는 사람 친화적 데이터 직렬화 포맷이다. XML이나 JSON에 비해 괄호와 태그가 적어 설정 파일처럼 사람이 직접 작성하고 검토하는 문서에 적합하도록 설계됐다. 애플리케이션 설정, 인프라 정의, CI/CD 파이프라인, 정적 사이트의 메타데이터 등 '사람이 편집하고 도구가 읽는' 자리에 널리 쓰인다.

이럴 때 사용합니다

  • 설정 파일을 사람이 직접 읽고 수정해야 할 때
  • 여러 프로젝트나 환경에 걸친 값을 하나의 포맷으로 통일하고 싶을 때
  • CI/CD, 오케스트레이션 도구 등 특정 생태계가 YAML을 표준 설정 형식으로 요구할 때
  • 마크다운 문서 상단에 메타데이터(front matter)를 붙여야 할 때

핵심 개념

Indentation
중괄호나 태그 대신 공백(스페이스) 들여쓰기만으로 데이터의 계층 구조를 표현한다. 탭 문자는 허용되지 않는다.
Key-Value Mapping
'key: value' 형태로 속성을 나열하며, 값 자리에 다시 매핑이나 리스트를 중첩할 수 있다.
Sequence
하이픈(-)으로 시작하는 항목들을 나열해 배열(리스트)을 표현한다.
Scalar
문자열, 숫자, 불리언, null 같은 단일 값을 의미하며 따옴표 없이도 타입이 자동 추론된다.
Multi-document
하나의 파일 안에 '---' 구분자로 여러 개의 독립된 YAML 문서를 담을 수 있다.
Front Matter
마크다운 등 다른 문서 형식의 맨 앞부분에 '---'로 감싸 넣는 YAML 블록으로, 페이지의 메타데이터를 정의할 때 쓰인다.

기본 YAML 설정 예시

매핑, 중첩 구조, 리스트, 기본 스칼라 타입을 함께 보여주는 최소 설정 파일이다.

YAML
# 사이트 기본 설정
title: My Site
version: 1.0

# 중첩 매핑
author:
  name: Jiyoung
  email: jjy900521@gmail.com

# 리스트
tags:
  - docs
  - config

# 불리언과 null
published: true
reviewer: null

처음 쓸 때 흔한 함정

  • 들여쓰기에 탭을 쓰면 파싱 오류가 나므로 반드시 스페이스만 사용해야 한다
  • yes/no, on/off 같은 단어가 의도치 않게 불리언으로 해석될 수 있다
  • 콜론 뒤 공백을 빠뜨리면 키-값 구분이 깨져 문법 오류가 발생한다

위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.

프로젝트별 활용 방식

위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.

함께 사용한 기술

위 프로젝트들에서 같이 쓰인 다른 기술입니다.