프롬프트
file: 활용-9-1-YAML의 문법체계.md
프롬프트 영역으로 마우스를 옮기고 Copy 버튼을 누르면 클립보드에 프롬프트의 내용이 복사됩니다.YAML의 문법 체계에 대해 설명해 줘.
AI가 만든 결과
YAML(YAML Ain’t Markup Language)은 사람에게 읽기 쉽고 직관적인 데이터 직렬화 포맷(Serialization Format)입니다. 주로 설정 파일, 데이터 교환 등에 널리 사용됩니다. YAML의 문법은 공백, 들여쓰기, 텍스트 기반 표기법을 이용하여 데이터를 구조적으로 표현합니다. YAML에서는 다음과 같은 문법 체계를 이해하는 것이 중요합니다.
1. 기본 구조와 들여쓰기
들여쓰기(indentation)로 구조 표현
- YAML은 중첩 구조를 만들 때 중괄호({ })나 대괄호([ ]) 대신 들여쓰기를 사용합니다.
- 일반적으로 공백 문자 2개 또는 4개를 들여쓰기 용도로 많이 쓰지만, 공백의 개수는 프로젝트 규칙이나 개인 선호에 따라 선택할 수 있습니다. 다만 일관되게 사용해야 합니다.
-
들여쓰기 예시
person: name: "Alice" age: 30 hobbies: - reading - music - hiking
위 예시에서 person
키의 아래 항목들은 2칸 들여쓰기되어 중첩 구조임을 나타냅니다. 그리고 hobbies
의 리스트 항목도 각각 2칸 들여쓰기되어 [reading, music, hiking]
형태의 리스트임을 표현합니다.
2. 자료형 표현
YAML에서 자주 사용하는 자료형 유형과 그 예시는 다음과 같습니다.
-
스칼라(Scalar)
- 단순 텍스트(문자열), 숫자, 불리언 등을 나타냅니다.
- 문자열은 따옴표로 묶어서 표현할 수도 있고, 공백이 없는 단어 등 간단한 경우엔 그냥 작성할 수도 있습니다.
name: Alice # 문자열 age: 30 # 정수 average_score: 85.7 # 실수 is_student: false # 불리언
-
리스트(List) / 배열(Array)
- 항목을 한 줄에 여러 개 적거나, 여러 줄에 걸쳐서도 표현 가능합니다.
- 여러 줄 표현 시, 각 항목 앞에
-
기호를 사용합니다.
# 여러 줄 표현 hobbies: - reading - music - hiking # 한 줄 표현 hobbies: [reading, music, hiking]
-
맵(Map) / 딕셔너리(Dictionary)
- 키와 값으로 구성됩니다.
- 들여쓰기를 통해 구조를 표현합니다.
person: name: "Alice" age: 30
3. 문자열 표현
YAML에서 문자열은 다양한 방법으로 표현할 수 있습니다.
기본 문자열 (Plain Scalar)
- 공백이나 특수문자가 없는 간단한 문자열은 따옴표 없이 바로 작성해도 됩니다.
- 예)
title: Hello
-
작은따옴표, 큰따옴표 (Quoted Scalar)
- 공백, 특수문자, 보존해야 할 문자가 있으면 작은따옴표(
' '
)나 큰따옴표(" "
)를 사용합니다. - 큰따옴표(
" "
) 안에서는 일부 이스케이프 문자를 사용할 수 있습니다. (\n
,\t
등)
single_quoted: '이 문자열에는 "큰따옴표"가 포함되어 있습니다.' double_quoted: "이 문자열에는 \n과 같은 이스케이프를 사용할 수 있습니다."
- 공백, 특수문자, 보존해야 할 문자가 있으면 작은따옴표(
-
여러 줄 문자열(블록 스칼라, Block Scalar)
- 여러 줄에 걸친 문자열을 표현할 때는 파이프(
|
) 또는 꺾쇠(>
) 기호를 사용합니다. |
는 개행 문자를 그대로 보존하고,>
는 줄바꿈을 공백으로 변환합니다.
# 파이프(|) 사용: 모든 줄바꿈을 그대로 보존 description: | 여러 줄을 입력할 수 있습니다. 줄바꿈도 보존합니다. # 꺾쇠(>) 사용: 줄바꿈을 공백으로 변환 folded: > 이 예시는 여러 줄에 걸쳐 입력되었지만, 실제로는 공백 한 칸으로 이어집니다.
- 여러 줄에 걸친 문자열을 표현할 때는 파이프(
4. 주석(Comment)
#
기호를 사용하여 주석을 작성합니다.- 대부분 다른 프로그래밍 언어의 주석과 비슷하며, 한 줄 주석만 지원합니다.
# YAML 설정 파일 예시 title: "Hello World" # 문자열에 대한 설명
5. 주요 주의사항
들여쓰기 일관성
- 들여쓰기를 표현하는 공백의 개수를 반드시 통일해서 써야 합니다. 탭 문자 사용은 권장되지 않습니다.
키 충돌 주의
- 같은 레벨에서 동일한 키를 두 번 사용하지 않도록 주의해야 합니다.
문자열 식별
- 숫자처럼 보여도 실제로는 문자열로 다뤄야 할 경우가 있습니다(예:
0012
, 전화번호, 0167 등). 이때는 작은따옴표나 큰따옴표를 이용해 문자열임을 명시하는 게 좋습니다.
- 숫자처럼 보여도 실제로는 문자열로 다뤄야 할 경우가 있습니다(예:
출력 형식 확인
- 특정 도구나 라이브러리를 통해 YAML을 파싱할 때, 일부 구문이 지원되지 않을 수도 있습니다(예: 일부 언어 환경에서 앵커 기능 제한 등).
- YAML 1.2 표준과 호환성을 중시하는 라이브러리를 사용하면 호환성 문제를 줄일 수 있습니다.
정리
- YAML은 간결하고 사람이 읽기 쉬운 방식으로 구조화된 데이터를 표현하는 데 적합합니다.
- 들여쓰기를 통해 중첩 구조를 나타내며, 리스트나 맵 형태의 데이터를 간단히 직렬화할 수 있습니다.
- 앵커 & 별칭 등의 기능으로 코드 중복을 줄이고, 설정 값을 재사용할 수 있습니다.
- 문자열 표현, 블록 스칼라, 주석 등의 문법 요소를 적절히 활용해 가독성을 높일 수 있습니다.
이러한 YAML 문법 체계와 주의사항을 숙지하면, 다양한 프로젝트에서 설정 파일 관리나 데이터 직렬화 작업을 보다 효율적으로 수행할 수 있습니다.