본문 바로가기
목차
CE

[Term] YAML (Yet Another Markup Language)

by ds31x 2024. 1. 7.
728x90
반응형

https://jenstan.hashnode.dev/yaml-101

Human-friendly Unicode based Data Serialization Language
인간친화적인 유니코드 기반의 데이터 직렬화 언어

 

공식적인 이름은 사실 "YAML Ain't Markup Language" 이지만

개인적으론 "Yet Another Markup Language" 이 더 와닿는다.

https://yaml.org/spec/1.1/#id857168

 

YAML Ain’t Markup Language (YAML™) Version 1.1

YAML Ain’t Markup Language (YAML™) Version 1.1 Final Draft -- 2005-01-18 Ingy döt Net This version: html, ps, pdf. Latest version: html, ps, pdf. Copyright © 2001-2008 Oren Ben-Kiki, Clark Evans, Ingy döt Net This document may be freely copie

yaml.org

 

YAML은 다음과 같은 특징을 가진 데이터 직렬화 언어(data serialization language)임.

  1. Unicode(유니코드) 기반: 이를 통해 YAML은 다양한 언어(=자연어)를 지원하며, 광범위한 문자 집합 처리가 가능함.
  2. Human friendly(인간 친화적): 읽고 쓰기가 쉬워서 사람들이 쉽게 이해할 수 있음 (기계와 인간 모두 이해가능)
  3. Cross (programming) language (크로스 언어) 지원: 다양한 프로그래밍 언어에서 사용될 수 있도록 설계됨
    (사실 unicode를 인코딩/디코딩 할 수 있으면 어느 언어에서도 가능함).

JSON과 함께 2001년 등장했으며 들여쓰기를 사용하여 작성된다는 점이 특징으로 가짐.

(YAML은 JSON의 superset이라고도 볼 수 있음: 더 복잡하다는 의미이기도 함)


YAML은 agile programming language(애자일 프로그래밍 언어)의 일반적인 native data structure (list, array, dictionary, hash-table 등)를 기반으로 하고 있으며, 프로그래밍에서 다음과 같은 경우에 많이 사용됨:

  • configurations(설정) 파일: 소프트웨어 설정을 위한 파일을 작성하는 데 적합.
  • 인터넷 메시징: 시스템 간의 메시지 교환에 유용.
  • 객체 지속성: 객체의 상태를 지속적으로 저장하는 데 사용. (object serialization)
  • data auditing(데이터 감사): 데이터의 변경사항을 기록하고 감사하는 데 유용합니다.

이러한 특성으로 인해 YAML은 프로그래밍 분야에서 널리 사용됨.

2024.01.06 - [Python] - [Term] Agile Programming Language : Agile Development (=Programming)

 

[Term] Agile Programming Language : Agile Development (=Programming)

Agile Programming LanguagesAgile Development Approach에 적합한 프로그래밍 언어를 가르킴. 빠르게 시작품을 만들어서 사용자의 피드백을 받을 수 있는 개발 방식에 적합해야하기 때문에 다음의 특징을 가짐

ds31x.tistory.com


더 읽어보면 좋은 URLs

2024.01.07 - [CE] - [CE] Syntax of YAML [Simple Version]

 

[CE] Syntax of YAML [Simple Version]

기본적으로 indentation 으로 구조화를 시킴.indent 는 space 2칸 또는 4칸이 권장됨.2024.01.07 - [분류 전체보기] - [Term] YAML (Yet Another Markup Language) [Term] YAML (Yet Another Markup Language)Human-friendly Unicode based Data

ds31x.tistory.com

2024.01.07 - [CE] - [Term] JSON (JavaScript Object Notation) :

 

[Term] JSON (JavaScript Object Notation) :

JSON (JavaScript Object Notation)은JavaScript에서 Object Notation (객체 표기)의 목적으로 제안되었고,JavaScript 언어의 subset 임.하지만, 오늘날 JSON은 프로그램들 간에 데이터를 교환에 사용되는 대표적인 Light-

ds31x.tistory.com

https://ds31x.blogspot.com/2023/07/ce-markup-languages.html

 

CE : Markup Languages

1. 정의 tag 등을 이용 하여 data의 structure 및 표현방식 등을 기술(describe) 하는 language. 문서의 기본 정보(content)에 추가적인 정보 (어떻게 시각적으로 표현할 것인지 혹은 content의 structure에...

ds31x.blogspot.com


2025.08.06 - [CE] - [Term] Serialization-Data Exchanged Format

 

[Term] Serialization-Data Exchanged Format

Serialization의 일반적 의미메모리 객체 및 데이터를저장/전송 가능한 형태로변환하는 일반적인 개념메모리의 객체/데이터 구조를 "저장/전송 가능한 형태"로 변환하는 과정컴퓨터 메모리에 흩어

ds31x.tistory.com

 


 

728x90

'CE' 카테고리의 다른 글

[CE] Compilation 의 종류  (0) 2024.01.18
[CE] Text file: Text 파일이란?  (0) 2024.01.07
[CE] Syntax of YAML [Simple Version]  (0) 2024.01.07
[Term] JSON (JavaScript Object Notation) :  (1) 2024.01.07
[Term] Prompt 란? : 프롬프트 의 정의.  (0) 2024.01.05