본문 바로가기
성공지식백과 로고성공지식백과
GLOSSARY

YAML

중급

이 페이지는 AI 문맥에서 자주 쓰이는 YAML의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 5개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.

YAML(YAML Ain't Markup Language)은 사람이 읽기 쉬운 텍스트로 값과 자료 구조를 표현하는 데이터 직렬화 언어입니다. 설정 파일이나 프로그램 사이에서 데이터를 주고받는 문서에 쓰이며, 들여쓰기와 기호로 항목의 관계를 나타냅니다. 문서를 읽은 뒤 어떤 작업을 수행할지는 그 파일을 사용하는 프로그램이 정합니다.

값과 목록을 표현하는 문법

YAML 공식 사이트는 YAML을 여러 프로그래밍 언어에서 사용하는 사람이 읽기 쉬운 데이터 직렬화 언어로 소개합니다. 직렬화는 메모리 안의 값을 저장하거나 전달할 수 있는 형태로 표현하는 일입니다. 파일에 서비스 이름과 실행 옵션을 적어 두면 프로그램은 그 문서를 읽어 필요한 값을 얻습니다. 같은 파일을 읽더라도 사용하는 프로그램이 다르면 각 항목을 해석하는 목적은 달라집니다.

YAML 1.2.2 명세는 자료 구조를 매핑, 시퀀스, 스칼라로 설명합니다. 매핑은 이름과 값의 대응이고, 시퀀스는 순서가 있는 값들의 모음이며, 스칼라는 문자열이나 숫자 같은 개별 값입니다. 프로젝트 이름 하나를 적는 곳과 실행할 명령 여러 개를 순서대로 적는 곳은 구조가 다릅니다. 화면에서 비슷하게 보이는 텍스트라도 어떤 종류의 값으로 읽히는지에 따라 프로그램이 받는 데이터가 달라집니다.

매핑에서는 콜론으로 키와 값을 나누고, 블록 형식의 시퀀스에서는 하이픈으로 항목을 구분합니다. 들여쓰기는 항목이 어느 묶음에 속하는지 나타냅니다. 작업 목록 아래에 둔 옵션을 한 단계 바깥으로 옮기면 다른 대상의 값으로 읽히거나 문법 오류가 생길 수 있습니다. 다른 예제의 몇 줄을 복사할 때도 주변 항목과 같은 계층에 놓였는지 확인하는 이유입니다.

들여쓰기와 값의 자료형

YAML 1.2.2의 들여쓰기 규칙은 들여쓰기에 공백을 사용하고 탭을 사용하지 않도록 정합니다. 에디터에서 탭 키를 눌렀다는 사실과 파일 안에 탭 문자가 저장됐다는 사실은 다릅니다. 에디터가 탭 키 입력을 여러 공백으로 바꾸도록 설정됐다면 저장되는 것은 공백입니다. 정렬이 같아 보여도 실제 문자가 다르면 파서의 처리 결과가 달라질 수 있습니다.

따옴표가 없는 값은 파서가 적용하는 스키마에 따라 숫자나 불리언 등으로 읽힙니다. YAML 1.2의 코어 스키마에서는 true와 false 계열 표기가 불리언으로 해석됩니다. 문자열로 전달하려는 숫자 모양의 식별자는 따옴표로 감싸 자료형을 분명히 표현할 수 있습니다. 이름표로 쓰려던 값을 계산 가능한 숫자로 읽으면 앞의 0이나 비교 방식이 기대와 달라질 수 있습니다.

YAML 문법이 정한 자료형과 서비스가 요구하는 설정 규칙도 나뉩니다. 문법에 맞는 매핑을 만들었어도 프로그램이 모르는 키를 적거나 숫자를 요구하는 자리에 문자열을 넣으면 설정 검증에서 거부될 수 있습니다. 문법 검사는 문서를 읽을 수 있는지를 확인하고, 애플리케이션 검사는 읽은 값이 그 작업에 맞는지를 확인합니다. 오류가 발생한 단계를 구분하면 들여쓰기를 고칠지 설정 항목을 고칠지 판단하기 쉽습니다.

앵커와 설정 파일의 실행 범위

명세의 앵커와 별칭 설명에서 &는 다시 참조할 노드에 이름을 붙이고 *는 그 노드를 가리킵니다. 같은 데이터 구조를 여러 곳에서 참조할 때 쓰는 문법입니다. 이는 문자열 안의 변수를 계산하거나 외부 명령을 실행하는 기능과는 구분됩니다. 앵커가 있는 문서를 다른 설정 도구로 옮길 때는 그 도구의 YAML 처리기가 해당 문법을 지원하는지도 살펴봅니다.

설정에 적힌 명령이 실행되는 시점은 그 파일을 읽는 도구의 동작에 달려 있습니다. YAML 파일을 저장한 것만으로 서버가 배포되거나 작업이 예약되지는 않습니다. 해당 도구가 파일을 읽고 유효성을 확인한 뒤 설정에 따라 동작할 때 변경이 적용됩니다. AI가 만든 설정 파일도 문법 확인, 도구의 설정 검사, 실제 작업 결과 확인을 별도 단계로 나누어 볼 수 있습니다.

기존 설정을 수정할 때는 적용되는 YAML 버전과 파서의 해석 규칙을 함께 확인합니다. 같은 단어가 환경마다 다른 자료형으로 읽히는 문제라면 공백을 다시 맞추는 것만으로 해결되지 않습니다. 오류 메시지가 가리키는 키의 이름과 계층, 실제로 읽힌 값의 자료형을 대조하면 원인을 좁힐 수 있습니다. 비밀값을 담는 설정은 저장소에 올릴 예시 파일과 실제 실행용 값을 나누어 관리합니다.

RELATED TERMS

관련 용어

YAML와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.