YAML 유효성 검사기
YAML 문법 오류를 즉시 감지합니다
YAML 유효성 검사기
YAML 문법 오류를 즉시 감지하고 파싱된 구조를 미리봅니다. Docker Compose, GitHub Actions, Kubernetes 설정 파일 등을 작성할 때 오류를 빠르게 발견할 수 있습니다.
자주 묻는 질문
YAML이란?
YAML Ain't Markup Language — 사람이 읽기 쉬운 데이터 직렬화 형식입니다.
YAML과 JSON의 차이는?
YAML은 들여쓰기 기반으로 읽기 쉽고 주석을 지원합니다. JSON은 더 엄격합니다.
YAML 주석 방법은?
# 기호로 주석을 작성합니다.
YAML에서 문자열 따옴표는 필수인가요?
일반 문자열은 따옴표 없이 작성할 수 있지만 특수 문자가 있으면 따옴표가 필요합니다.
멀티라인 문자열은?
| (리터럴)이나 > (폴드) 블록 스칼라를 사용합니다.
YAML의 유명한 함정 사례는?
① Norway Problem: YAML 1.1 사양을 따르는 오래된 파서에서는 따옴표 없이 쓴 no, yes, on, off 등이 문자열이 아닌 boolean으로 자동 해석되어, 국가 코드 NO(노르웨이)가 boolean false로 파싱되는 유명한 함정이 있었습니다. 이 도구가 사용하는 js-yaml 4.x는 YAML 1.2 코어 스키마를 따르므로 no/yes/on/off는 문자열로 그대로 유지되고 true/false만 boolean으로 해석됩니다 — 다만 오래된 YAML 파서(구버전 PyYAML 등)에서는 여전히 발생할 수 있으니 값에 따옴표를 쓰는 습관을 들이는 것이 안전합니다. ② 들여쓰기에 탭(Tab) 문자를 사용하면 YAML 스펙 위반으로 파싱 자체가 실패합니다(공백만 허용). ③ 앵커(&anchor)와 별칭(*alias)을 서로 순환 참조하도록 잘못 구성하면 무한 루프 오류가 발생합니다.
Kubernetes·GitHub Actions에서 자주 나는 YAML 오류 5가지는?
① 콜론(:) 뒤에 공백 누락 → mapping values are not allowed in this context 에러 ② 같은 들여쓰기 레벨에 서로 다른 들여쓰기 폭 혼용 → bad indentation of a mapping entry ③ 문자열에 콜론이 포함됐는데 따옴표 누락(예: message: Error: failed) → 파싱 오류 ④ 리스트 항목의 하이픈 뒤 공백 누락(-item이 아닌 - item이어야 함) ⑤ GitHub Actions의 on: 키가 Norway Problem에 걸려 boolean으로 해석되는 사례(YAML 1.1 파서에서 발생, 1.2에서는 수정됨). 이 도구로 커밋 전 반드시 검증하세요.
YAML을 JSON으로 바꾸거나 그 반대도 가능한가요?
이 도구는 유효성 검사에 집중합니다. YAML을 실제로 변환하려면 JSON to YAML 변환기를 사용하세요. 검증 후 변환하는 순서(검증 → 변환)로 사용하면 오류 없는 결과를 얻을 수 있습니다.