티스토리 뷰

기타

YAML Ain't Markup Language!

GiHoo 2023. 10. 16. 20:01

YAML(YAML Ain't Markup Language)은 무엇을 의미할까요?
재귀적인 유머를 가진 이 단어는 사람이 쉽게 읽을 수 있는 데이터 직렬화 양식입니다.
.yml, .yaml 확장자를 가지며 들여쓰기를 통한 계층 구조를 가짐으로써
사람이 읽기 좋은, 사람이 편한 설정 파일입니다.

 

yaml 파일과 다른 설정 파일의 비교를 통해 편리함을 강조해보자면

 

application.properties

-> 스프링부트가 애플리케이션을 구동할 때 자동으로 로딩하는 파일
-> key - value 형식으로 값을 정의하면 애플리케이션에서 참조하여 사용 가능

environments.dev.url=https://dev.example.com
environments.dev.name=Developer Setup
environments.prod.url=https://another.example.com
environments.prod.name=My Cool App

현재 위와 같은 설정 파일을 사용한다고 했을 때

 

yaml을 사용한다면

environments:
  dev:
    url: "https://dev.example.com"
      name: "Developer Setup"
  prod:
    url: "https://another.example.com"
      name: "My Cool App"

다음과 같이 가독성이 좋게 바꿀 수 있는 것입니다!

 

물론 코드의 길이가 짧아 별로 차이를 느끼지 못할 수 있지만

실제 배포가 될 정도의 애플리케이션은 설정 파일이 매우 길어질 수 밖에 없기 때문에

yaml 설정 파일을 사용하여 눈과 정신을 이롭게 하는 것이 좋습니다!

 

번외) application.properties vs application.yaml

스프링은 설정 정보를 읽어올 때 properties 확장자를 제일 우선적으로 찾는다.

그렇기 때문에 설정 정보를 나눠서 쓰지 말고 한 곳에만 작성하자! (기왕이면 yaml 파일에..!)

공지사항
최근에 올라온 글
최근에 달린 댓글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30