728x90

오늘은 yaml과 yml 파일 확장자가 무엇인지 알아보려고 한다. 그 이유는 docker-compose 파일과 스키마 작성시 yaml 확장자 파일을 사용하는데 내가 이전에는 본적이 없던 파일 형식이지만, 자주 사용되는 것을 보게 되었고 이에 대해 공부했던 내용들을 정리하려고 한다.

 

YAML, YML은 무엇인가?


yaml( YAML Ain't Markup Language)는 데이터를 표현하는 방법 중에 하나이다. JSON이나 XML와 비슷한 형식으로 작성할 수 있어서 자주 사용하는 방식입니다. 마크업 언어보다 데이터 중심을 구성을 강조한다는 점이 있으며, 공백문자를 이용한 들여쓰기로 파일을 작성한다. 파일 형식은 Key-Value 형식으로 작성한다.

 

YAML, YML의 차이


YML은 YAML의 파일 확장자 중 하나입니다. .yaml과 .yml 확장자는 기능적으로 동일하며, 둘 다 YAML 데이터 형식을 나타냅니다. .yaml 확장자는 좀 더 명확하게 YAML 파일임을 나타내지만, .yml은 더 짧고 간결하다 정도로 알면 된다.

 

YAML, YML 파일은 왜 사용되는가?


YAML 파일은 사람이 읽기 쉬운 데이터 직렬화 형식으로, 구성 파일, 배포 스크립트, 데이터 저장 등에 용이하다. JSON에 비해 더 읽기 쉽고, 중괄호와 쉼표의 사용이 적어서 데이터를 설명하거나 문서화하기 쉽습니다. YAML은 데이터의 계층적 관계를 나타내기 위해 공백(들여쓰기)을 사용하여 구조를 명확하게 표현할 수 있다. 

 

YAML, YML 파일은 어디에 사용되는가?


YAML 파일은 다양한 개발 및 운영 환경에서 널리 사용된다. 내가 사용한 경우는 다음과 같다.

  1. Cloud Sevice : docker-compose 파일은 docker-compose.yaml 파일 형식으로 작성하며 각각의 컨테이너에 대한 정보를 정의할 때 사용한다.
  2. FastAPI Schema : BackEnd System에서 요청과 응답에 대해 정의를 해야할 때 사용한다.

내가 사용한 예시는 극히 일부이며 다양한 곳에서 사용되는데 특히 무언가를 정의할 때 많이 사용한다.

 

YAML, YML 정의


yaml를 작성하는 방법은 다음과 같다.

  • 들여쓰기(띄어쓰기 2번 or Tab 1번)를 이용해서 작성
  • Key-Value 형태로 작성하며, Key와 Value 사이에는 콜론( : )을 사용하여 구분

 

yaml에서 사용하는 데이터 타입은 다음과 같다.

  • 문자열 : 작은 따옴표나 큰 따옴표 상관없이 작성 
  • 숫자 : 정수, 소수, 16진수 표현 
  • 불리언 : true, false로 표현 
  • 리스트 : 하이픈 ( - )을 이용하여 리스트 나열
  • 맵 : Key-Value를 표현
  • 널 : nulll로 표현

 

다음은 각 자료형을 작성하는 예시이다.

# 문자열
name: "John Doe"            # 따옴표 사용
description: 'He\'s a developer at "Big Tech".'  # 특수 문자 포함 문자열

# 숫자
age: 30                    # 정수
salary: 56000.50           # 부동 소수점
hex_value: 0x1A3F          # 16진수

# 불리언
active: true               # 참 값
retired: false             # 거짓 값

# 리스트
languages:                 # 아이템 목록
  - Python
  - JavaScript
  - Rust

# 맵
address:
  street: "1234 Main St"
  city: "Anytown"
  state: "CA"
  zipcode: 90210

# 널
children: null             # null 값 사용

 

728x90