diff options
-rw-r--r-- | ko-kr/yaml-kr.html.markdown | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/ko-kr/yaml-kr.html.markdown b/ko-kr/yaml-kr.html.markdown new file mode 100644 index 00000000..b6d1de41 --- /dev/null +++ b/ko-kr/yaml-kr.html.markdown @@ -0,0 +1,172 @@ +--- +language: yaml +filename: learnyaml-kr.yaml +contributors: + - ["Adam Brenecki", "https://github.com/adambrenecki"] + - ["Suhas SG", "https://github.com/jargnar"] +translators: + - ["Wooseop Kim", "https://github.com/linterpreteur"] +lang: ko-kr +--- + +YAML은 인간이 직접 쓰고 읽을 수 있도록 설계된 데이터 직렬화 언어입니다. + +YAML은 마치 파이썬처럼 개행과 들여쓰기에 문법적으로 의미를 준 JSON의 엄격한 수퍼셋입니다. +하지만 파이썬과는 달리 YAML은 탭 문자를 전혀 허용하지 않습니다. + +```yaml +# YAML의 주석은 이런 식입니다. + +############ +# 스칼라 형 # +############ + +# 문서 내내 이어질 루트 객체는 맵입니다. +# 맵은 다른 언어의 딕셔너리, 해시, 혹은 객체에 해당됩니다. +키: 값 +다른_키: 다른 값이 여기 옵니다. +숫자_값: 100 +# 숫자 1을 값으로 가지기 위해서는 따옴표에 담아야 합니다. +# 그러지 않는다면 YAML 파서는 그것을 참 값을 가지는 불리언으로 해석할 것입니다. +과학적_표기법: 1e+12 +불리언: true +널_값: null +띄어서 쓴 키: 값 +# 문자열에 따옴표를 칠 필요는 없습니다. 하지만 칠 수도 있습니다. +하지만: "따옴표에 담은 문자열" +"키도 따옴표에 담을 수 있습니다.": "키에 ':'을 넣고 싶다면 유용합니다." + +# 여러 줄의 문자열은 (|을 이용한) '리터럴 블락' 혹은 (>을 이용한) '접은 블락'으로 +# 쓸 수 있습니다. +리터럴_블락: | + 개행을 포함한 이 모든 덩어리가 '리터럴_블락' 키에 대응하는 값이 될 것입니다. + + 리터럴 값은 들여쓰기가 끝날 때까지 계속되며 들여쓰기는 문자열에 포함되지 + 않습니다. + + '들여쓰기를 더 한' 줄은 나머지 들여쓰기를 유지합니다. + 이 줄은 띄어쓰기 4개만큼 들여쓰기 됩니다. +접는_방식: > + 이 텍스트 덩어리가 전부 '접는_방식' 키의 값이 되지만, 이번에는 모든 개행 문자가 + 띄어쓰기 하나로 대체됩니다. + + 위와 같이 텅 빈 줄은 개행 문자로 바뀝니다. + + '더 들여쓴' 줄 역시 개행 문자를 유지합니다. + 이 텍스트는 두 줄에 걸쳐 나타날 것입니다. + +########## +# 모임 형 # +########## + +# 중첩은 들여쓰기로 가능합니다. +중첩된_맵: + 키: 값 + 다른_키: 다른 값 + 다른_중첩된_맵: + 안녕: 안녕 + +# 맵은 반드시 문자열 키를 가지는 것은 아닙니다. +0.25: 실수형 키 + +# 키는 여러 줄에 걸친 객체와 같이 복합적일 수도 있습니다. +# ?와 그 뒤의 띄어쓰기로 복합 키의 시작을 나타냅니다. +? | + 여러 줄짜리 + 키 +: 그리고 그 값 + +# YAML은 복합 키 문법으로 연속열 간의 매핑을 지원합니다. +# 일부 파서는 지원하지 않을 수 있습니다. +# 예시 +? - 맨체스터 유나이티드 + - 레알 마드리드 +: [ 2001-01-01, 2002-02-02 ] + +# 리스트 혹은 배열에 대응되는 연속열은 다음과 같습니다. +연속열: + - 하나 + - 둘 + - 0.5 # 연속열은 다른 형을 포함 가능 + - 넷 + - 키: 값 + 다른_키: 다른_값 + - + - 연속열 안의 + - 또 다른 연속열 + +# YAML은 JSON의 수퍼셋이기 때문에, JSON식으로 맵과 연속열을 작성할 수도 +# 있습니다. +제이슨_맵: {"키": "값"} +제이슨_열: [3, 2, 1, "발사"] + +################# +# 기타 YAML 기능 # +################# + +# YAML은 '앵커'라는 편리한 기능이 있습니다. 앵커를 이용하면 문서에서 +# 손쉽게 내용을 복제할 수 있습니다. 이 키들은 같은 값을 갖습니다. +앵커된_내용: &앵커_이름 이 문자열은 두 키의 값으로 나타납니다. +다른_앵커: *앵커_이름 + +# 앵커는 속성을 복제하거나 상속할 수 있습니다. +기반: &기반 + 이름: 모두 이름이 같다 + +멍멍: &멍멍 + <<: *기반 + 나이: 10 + +야옹: &야옹 + <<: *기반 + 나이: 20 + +# 멍멍이와 야옹이는 같은 이름, '모두 이름이 같다'를 같습니다. + +# 또한 YAML에는 명시적으로 형을 선언할 수 있는 태그가 있습니다. +명시적_문자열: !!str 0.5 +# 파이썬의 복소수 형을 나타내는 다음 태그처럼, 일부 파서는 언어에 종속된 태그를 +# 구현합니다. +파이썬_복소수: !!python/complex 1+2j + +# YAML 복합 키를 언어 종속 태그와 함께 사용할 수도 있습니다. +? !!python/tuple [5, 7] +: 오십칠 +# 파이썬에서의 {(5, 7): '오십칠'} 객체 + +############### +# 기타 YAML 형 # +############### + +# Strings and numbers aren't the only scalars that YAML can understand. +# YAML이 이해할 수 있는 스칼라는 문자열과 수만 있는 것은 아닙니다. +# ISO 형식 날짜와 시간 리터럴 또한 해석됩니다. +시간: 2001-12-15T02:59:43.1Z +띄어쓰기_한_시간: 2001-12-14 21:59:43.10 -5 +날짜: 2002-12-14 + +# !!binary 태그는 문자열이 실제로는 base64로 인코딩된 +# 이진수 객체(BLOB)라는 것을 나타냅니다. +이미지_파일: !!binary | + R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5 + OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+ + +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC + AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs= + +# YAML에는 다음과 같은 집합도 있습니다. +집합: + ? 하나 + ? 둘 + ? 셋 + +# 파이썬과 마찬가지로 집합은 단지 널 값을 갖는 맵입니다. 위는 다음과 같습니다. +집합2: + 하나: null + 둘: null + 셋: null +``` + +### 더 읽기 + ++ [(영어) YAML 공식 사이트](http://yaml.org/) ++ [(영어) 온라인 YAML 검사기](http://codebeautify.org/yaml-validator) |