YAML: 두 판 사이의 차이

내위키
편집 요약 없음
(같은 사용자의 중간 판 2개는 보이지 않습니다)
1번째 줄: 1번째 줄:
데이터를 인간이 읽기도 쉽고, 컴퓨터가 처리하기도 쉽게 만든 형식. 더 고급지게 표현하면 '인간이 읽을 수 있는 데이터 직렬화 언어'. YAML은 재귀형 약어로, YAML ain't Markup Language이다. 즉 'YAML은 마크업 언어가 아니다'라는 뜻. <del>요즘 재귀형 약어가 너무 남발되고 있다.</del> XML 같은 덩치 크고 복잡한 마크업 언어가 아니란 뜻.  
데이터를 인간이 읽기도 쉽고, 컴퓨터가 처리하기도 쉽게 만든 형식. 더 고급지게 표현하면 '인간이 읽을 수 있는 데이터 직렬화 언어'. YAML은 재귀형 약어로, YAML ain't Markup Language이다. 즉 'YAML은 마크업 언어가 아니다'라는 뜻. <del>요즘 재귀형 약어가 너무 남발되고 있다.</del> XML 같은 덩치 크고 복잡한 마크업 언어가 아니란 뜻.  


2001년에 클라크 에반스가 제안한 형식이다. 인간이 읽을 수 있는 데이터 직렬화 언어로는 [[XML]]이라는 표준이 있지만 덩치도 크고 쓸데 없이 길어서 가독성이 떨어지다 보니 [[JSON]] 같이 좀 더 간결한 대안들이 많이 쓰이고 있는데, YAML 역시 간결함 덕택에 여러 방면에 쓰이고 있다.
2001년에 클라크 에반스가 제안한 형식이다. 인간이 읽을 수 있는 데이터 직렬화 언어로는 [[XML]]이라는 표준이 있지만 덩치도 크고 쓸데 없이 길어서 가독성이 떨어지다 보니 [[JSON]] 같이 좀 더 간결한 대안들이 많이 쓰이고 있는데, YAML 역시 간결함 덕택에 여러 방면에 쓰이고 있다. 파일 확장자 역시 .yaml이다.


==목표==
==목표==
15번째 줄: 15번째 줄:
==문법==
==문법==


* [[유니코드]] 인코딩을 사용한다. UTF-8, UTF-16을.사용한다.
* [[유니코드]] 인코딩을 사용한다. UTF-8, UTF-16을 사용한다.
* 들여쓰기로 단계를 구분하지만 탭은 인정하지 않는다.
* 들여쓰기로 단계를 구분하지만 탭은 인정하지 않는다.<ref>예전에는 프로그램 코드에 탭을 많이 썼지만 환경에 따라 탭의 폭이 제각각이라 요즘은 권장하지 않는다. 요즈음 코드 편집기는 대부분 탭 키를 치면 미리 지정된 수의 공백 문자로 자동으로 바꾸어준다.</ref>
* # 기호가 앞에 오면 주석을 뜻한다.
* # 기호가 앞에 오면 주석을 뜻한다.
* 리스트의 원소는 앞에 가로줄(-)을 붙인다.
* 리스트의 원소는 앞에 가로줄(-)을 붙인다.
* 가로줄 세 개를 잇달아 쓰면 (---) 콘텐츠의 내용 분리를 뜻한다.
* 가로줄 세 개를 잇달아 쓰면 (---) 콘텐츠의 내용 분리를 뜻한다.
* 리스트를 시작하려면 먼저 리스트의 이름에 콜론(:)을 불이고 빈칸<ref>줄바꿈도 당연히 빈칸으로 인정한다.</ref>을 하나 준다. URL와 구분하기 위해서 (https://newiki.net) 반드시 빈칸이 하나 있어어 한다.
* 리스트를 시작하려면 먼저 리스트의 이름에 콜론(:)을 불이고 빈칸<ref>줄바꿈도 당연히 빈칸으로 인정한다.</ref>을 하나 준다. URL 안에 들어가는 콜론과 구분하기 위해서 (https://newiki.net) 반드시 콜론 다음에 빈칸이 하나 있어어 한다.


[[JSON]]에 비하면 널리 쓰이고 있지는 않지만 [[JSON]]보다 더 간결한 형식이라서 주로 설정 파일 형식으로 많이 쓰인다. 들여쓰기를 강제한다든가 하는 특징으로 사람이 읽기도 조금 낫다.
[[JSON]]에 비하면 널리 쓰이고 있지는 않지만 [[JSON]]보다 더 간결한 형식이라서 주로 설정 파일 형식으로 많이 쓰인다. [[파이썬|들여쓰기를 강제한다든가]] 하는 특징으로 사람이 읽기도 조금 낫다.


{{각주}}
{{각주}}

2020년 10월 14일 (수) 00:27 판

데이터를 인간이 읽기도 쉽고, 컴퓨터가 처리하기도 쉽게 만든 형식. 더 고급지게 표현하면 '인간이 읽을 수 있는 데이터 직렬화 언어'. YAML은 재귀형 약어로, YAML ain't Markup Language이다. 즉 'YAML은 마크업 언어가 아니다'라는 뜻. 요즘 재귀형 약어가 너무 남발되고 있다. XML 같은 덩치 크고 복잡한 마크업 언어가 아니란 뜻.

2001년에 클라크 에반스가 제안한 형식이다. 인간이 읽을 수 있는 데이터 직렬화 언어로는 XML이라는 표준이 있지만 덩치도 크고 쓸데 없이 길어서 가독성이 떨어지다 보니 JSON 같이 좀 더 간결한 대안들이 많이 쓰이고 있는데, YAML 역시 간결함 덕택에 여러 방면에 쓰이고 있다. 파일 확장자 역시 .yaml이다.

목표

  1. YAML은 사람이 쉽게 읽을 수 있다.
  2. YAML은 프로그래밍 언어들 사이에서 호환된다.
  3. YAML은 애자일 언어들의 고유 데이터 구조와 잘 맞는다.
  4. YAML은 제너릭 도구를 지원하기 위한 일관된 모델을 가지고 있다.
  5. YAML은 한 단계 만에 처리될 수 있도록 지원한다.
  6. YAML은 표현력과 확장성이 있다.
  7. YAML은 구현하고 사용하기 쉽다.

문법

  • 유니코드 인코딩을 사용한다. UTF-8, UTF-16을 사용한다.
  • 들여쓰기로 단계를 구분하지만 탭은 인정하지 않는다.[1]
  • # 기호가 앞에 오면 주석을 뜻한다.
  • 리스트의 원소는 앞에 가로줄(-)을 붙인다.
  • 가로줄 세 개를 잇달아 쓰면 (---) 콘텐츠의 내용 분리를 뜻한다.
  • 리스트를 시작하려면 먼저 리스트의 이름에 콜론(:)을 불이고 빈칸[2]을 하나 준다. URL 안에 들어가는 콜론과 구분하기 위해서 (https://newiki.net) 반드시 콜론 다음에 빈칸이 하나 있어어 한다.

JSON에 비하면 널리 쓰이고 있지는 않지만 JSON보다 더 간결한 형식이라서 주로 설정 파일 형식으로 많이 쓰인다. 들여쓰기를 강제한다든가 하는 특징으로 사람이 읽기도 조금 낫다.

각주

  1. 예전에는 프로그램 코드에 탭을 많이 썼지만 환경에 따라 탭의 폭이 제각각이라 요즘은 권장하지 않는다. 요즈음 코드 편집기는 대부분 탭 키를 치면 미리 지정된 수의 공백 문자로 자동으로 바꾸어준다.
  2. 줄바꿈도 당연히 빈칸으로 인정한다.