YAML
YAML(YAML Ain't Markup Language)은 사람이 쉽게 읽고 쓸 수 있는 데이터 직렬화 양식이다.
주로 설정 파일이나 데이터 전송을 목적으로 사용된다.
YAML은 XML, JSON 등과 비슷한 데이터 형식으로, 특히 사람이 읽기 편하고 이해하기 쉬운 문법을 제공하는 것이 특징이다.주요 특징
- 인간 친화적인 문법
들여쓰기를 사용하여 데이터의 계층 구조를 표현하며, Key-Value 쌍으로 데이터를 나타낸다.
이로 인해 YAML 파일은 다른 형식에 비해 읽기가 쉽다.
- 유연성과 확장성
다양한 데이터 형식을 지원하며, 데이터 타입을 명시하지 않아도 자동으로 인식할 수 있다.
이는 YAML을 이용한 설정 작성 시 편리성을 제공한다.
- 중복 데이터 최소화
YAML은 데이터의 중복을 최소화할 수 있는 구조를 가지고 있어, 설정 파일이나 데이터 파일에서 중복된 정보를 간결하게 관리할 수 있다.
- 지원하는 언어
YAML은 다양한 프로그래밍 언어에서 지원되며, 여러 환경에서 사용할 수 있다.
대표적으로 Python, Java, Ruby, JavaScript 등에서 YAML 라이브러리를 통해 처리할 수 있다.주의할 점
- YAML 파일에서 들여쓰기는 매우 중요. 들여쓰기가 잘못되면 구문 오류가 발생할 수 있다.
- 특히 Spring Boot에서는 application.yml 파일을 사용하여 설정을 관리하는 것이 일반적이다. 만약 이름이 바뀌면 오류가 발생할 수 있다.
- YAML 파일은 기본적으로 UTF-8 인코딩을 사용해야 한다.
YAML은 주로 설정 파일 형식으로 사용되며, 특히 서버 설정, 애플리케이션 설정, CI/CD 파이프라인 등 다양한 곳에서 활용된다.
YAML의 간결하고 읽기 쉬운 문법 덕분에 개발자들 사이에서 인기가 있으며, 특히 Spring Framework와 같은 프레임워크에서 많이 사용된다.application.properties
spring.application.name=app05 server.port=8081 spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521/xe spring.datasource.username=C##FINAL spring.datasource.password=1234 # config mybatis.configuration.map-underscore-to-camel-case=true mybatis.configuration.jdbc-type-for-null=NULL # log level ?? logging.level.com.example.demo.mapper.mapper=TRACEapplication.yml
spring: application: name: app05 datasource: driver-class-name: oracle.jdbc.driver.OracleDriver url: jdbc:oracle:thin:@127.0.0.1:1521/xe username: C##FINAL password: 1234 # config mybatis: configuration: map-underscore-to-camel-case: true jdbc-type-for-null: NULL