본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
최근 바뀜
요즘 화제
임의의 문서로
sitesupport
사용자 모임
사랑방
사용자 모임
관리 요청
편집 안내
소개
도움말
정책과 지침
질문방
한울위키
검색
검색
보이기
로그인
개인 도구
로그인
YAML 문서 원본 보기
문서
토론
한국어
읽기
원본 보기
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
원본 보기
역사 보기
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
보이기
사이드바로 이동
숨기기
←
YAML
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
일반 사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
{{다른 뜻|YAML (프레임워크)||CSS 프레임워크}} {{Infobox file format | name = YAML | icon = Official YAML Logo.svg | iconcaption = | icon_size = | screenshot = | screenshot_size = | caption = |_noextcode = on | extensions = {{code|.yaml}}, {{code|.yml}} |_nomimecode = on | mime = 미등록됨 | type_code = | uniform_type = | conforms_to = | magic = | developer = | released = {{시작 날짜와 나이|2001|05|11|df=yes}} | latest_release_version = 1.2 (리비전 1.2.2) | latest_release_date = {{시작 날짜와 나이|2021|10|01|df=yes}} | genre = 데이터 교환 | container_for = | contained_by = | extended_from = | extended_to = | standard = <!-- or: | standards = --> | free = 예 | url = {{URL|https://yaml.org}} }} '''YAML'''은 [[XML]], [[C (프로그래밍 언어)|C]], [[파이썬]], [[펄]], [[RFC2822]]에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식이다. 2001년에 [[클라크 에반스]]가 고안했고, Ingy dot Net 및 Oren Ben-Kiki와 함께 디자인했다. YAML이라는 이름은 "YAML은 마크업 언어가 아니다 (YAML Ain't Markup Language)” 라는 [[재귀 약자|재귀적인 이름]]에서 유래되었다. 원래 YAML의 뜻은 “또 다른 마크업 언어 (Yet Another Markup Language)”였으나, YAML의 핵심은 문서 마크업이 아닌 데이터 중심에 있다는 것을 보여주기 위해 이름을 바꾸었다. 오늘날 XML과 [[JSON]]이 데이터 직렬화에 주로 쓰이기 시작하면서, 많은 사람들이 YAML을 '가벼운 마크업 언어'로 사용하려 하고 있다. == 요소 == YAML은 모든 데이터를 리스트, 해쉬, 스칼라 데이터의 조합으로 적절히 표현할 수 있다는 믿음을 가지고 만들어졌다. 문법은 상대적으로 이해하기 쉽고, 가독성이 좋도록 디자인되었으며, 고급 컴퓨터 언어에 적합하다. 또한 들여쓰기 및 XML의 특수기호를 사용하기 때문에, XML과 거의 비슷하다. * YAML 문자열은 UTF-8 또는 UTF-16과 같이 출력 가능한 유니코드 문자집합을 이용한다. * 공백 문자를 이용한 들여쓰기로 구조체를 구분한다. 그러나 탭문자를 들여쓰기에 사용하지 않는다. * 리스트 요소는 여러 줄에 쓸 때에는 하이픈('''-''')으로 시작하는 한 줄에 하나의 요소를 표현하며, 한 줄에 모아 쓸 때에는 대괄호('''[]''')를 이용하며 쉼표로 각 요소를 구분한다. * 해쉬는 콜론 기호를 이용해서 '''키:값'''의 형태로 한 줄에 하나를 표현하거나, 한 줄에 모아 쓸 때에는 중괄호('''{}''')를 이용하며 쉼표로 각 요소를 구분한다. * 간단한 값(스칼라 값)은 보통 아무 표시를 하지 않으나 따옴표("")나 작은 따옴표(<nowiki>''</nowiki>)를 이용해 둘러쌀 수 있다. * 따옴표 안에서 특수 문자는 C언어 스타일(역슬래쉬키와 함께쓰이는 제어문자 예. \n)로 표시한다. * 블록 값은 보존(|) 또는 접기(>)의 선택 지시자로 나눈다. * 하나의 스트림에 있는 여러 개의 문서는 하이픈 3개(---)로 나누며, 마침표 세개(...)로 스트림의 끝을 나타낸다. * 반복되는 노드는 기본적으로 &를 통해 나타내며, * 문자 이후의 내용을 참조한다. * 주석은 #으로 표시하며, 한 줄이 끝날 때까지 유효하다. * 노드들은 타입과 느낌표로 시작해 URI 주소를 지시하는 태그를 통해 라벨이 붙는다. * YAML 문서는 % 문자로 시작되는 몇 개의 지시자를 통해 특정 작업을 수행한다. YAML 1.1에서는 두 개의 지시자가 정의되어 있다. ** %YAML 지시자는 주어진 문서의 YAML 버전을 나타내는 데 사용한다. ** %TAG 지시자는 URI 주소를 나타내는 데 주로 사용하며, 이들 주소는 노드 타입 태그에 사용한다. YAML은 공백과 스칼라 값을 가지고 있는 리스트 구분자를 위해 쉼표와 콜론이 필요하다. 미래의 표준화를 위해 YAML에서는 @, 엑센트 기호 ‘ 2개의 기호 문자를 예약해두고 있다. == 버전 == {| class="wikitable" |- ! 버전 !! 출시일 |- | YAML 1.0 || {{date|2004-01-29}} |- | YAML 1.1 || {{date|2005-01-18}} |- | YAML 1.2.0 || {{date|2009-07-21}} |- | YAML 1.2.1 || {{date|2009-10-01}} |- | YAML 1.2.2 || {{date|2021-10-01}} |- |} == 예제 == === 리스트 === <syntaxhighlight lang="yaml"> --- # Favorite movies, block format - Casablanca - Spellbound - Notorious --- # Shopping list, inline format [Casablanca, Spellbound, Notorious] </syntaxhighlight> === 해시 === <syntaxhighlight lang="yaml"> --- # Block name: John Smith age: 33 --- # Inline {name: John Smith, age: 33} </syntaxhighlight> === Block Literals === ==== Newlines preserved ==== <syntaxhighlight lang="yaml"> --- | There was a young fellow of Warwick Who had reason for feeling euphoric For he could, by election Have triune erection Ionic, Corinthian, and Doric 11 </syntaxhighlight> ==== Newlines folded ==== <syntaxhighlight lang="yaml"> --- > Wrapped text will be folded into a single paragraph Blank lines denote paragraph breaks </syntaxhighlight> === 해시의 리스트 === <syntaxhighlight lang="yaml"> - {name: John Smith, age: 33} - name: Mary Smith age: 27 </syntaxhighlight> === 리스트의 해시 === <syntaxhighlight lang="yaml"> men: [John Smith, Bill Jones] women: - Mary Smith - Susan Williams </syntaxhighlight> == 구현 == 다음 언어에서 YAML을 이용할 수 있다: * [[자바스크립트]] * [[오브젝티브-C]] * [[펄]] * [[PHP]] * [[파이썬]] * [[루비 (프로그래밍 언어)|루비]] (YAML을 사실상의 직렬화 형식으로 이용한다. YAML은 버전 1.8 이후로부터 표준 라이브러리에 포함되었다.) * [[자바 (프로그래밍 언어)|자바]] * [[하스켈]] * [[XML]] * [[러스트 (프로그래밍 언어)|러스트]] == 따로 볼 것들 == 다른 단순화된 마크업 언어들이 있다: * [[JSON]] : YAML과 같은 철학의 구현이며, 주석 스타일을 제외하고 매우 비슷하다. * [[Simple Outline XML]] * [[OGDL]] * [[S-expression]]s * [[프로퍼티 리스트|plist]], [[NEXTSTEP]]의 객체 직렬화 형식이다. == 같이 보기 == * [[가벼운 마크업 언어]] == 외부 링크 == * [http://www.yaml.org YAML.org] * [http://www.yaml.org/spec/ YAML 명세서] * [https://web.archive.org/web/20080509211926/http://yaml4r.sourceforge.net/cookbook/ YAML Cookbook] * [https://web.archive.org/web/20060618031422/http://yaml.kwiki.org/?YamlInFiveMinutes YAML in Five Minutes] * [https://web.archive.org/web/20080914015703/http://redhanded.hobix.com/inspect/yamlIsJson.html YAML as a superset of JSON] * [https://jsontotable.org/yaml-to-table YAML을 테이블로 변환] * [https://www.jsonparser.ai/yaml-fixer 손상된 YAML 파일을 유효한 YAML 파일로 수정합니다]. {{문서 마크업 언어}} {{데이터 교환}} {{위키데이터 속성 추적}} [[분류:마크업 언어]] [[분류:데이터 직렬화 포맷]]
YAML
문서로 돌아갑니다.
검색
검색
YAML 문서 원본 보기
새 주제