230321 TIL #38 yaml

김춘복·2023년 3월 21일
0

TIL : Today I Learned

목록 보기
38/571

230321 Today I Learned

미니프로젝트 5일차. 오늘은 CI/CD에 대해 공부했다. 그런데 작성된 파일들이 yaml 형식이 많아서 이것에 대해 공부를 하지 않고 넘어갈 수가 없었다. 그래서 오늘의 TIL에는 yaml에 대해 적어보려 한다.


참고 사이트

yaml

: Yet Another Markup Language. XML, JSON과 같은 데이터 직렬화 언어이다. 다른 언어보다 가독성이 좋고 계층화가 쉬워 자주 쓰이는 언어이다. JSON의 상위집합이라 YAML에서 JSON 파일을 사용할 수 있다. 확장자는 .yml 혹은 .yaml

  • Python 스타일의 들여쓰기 방법으로 중첩을 표시한다. JSON과 달리 주석을 사용할 수 있어 설정파일로 사용하기 좋다. 스프링부트에서 application.properties를 application.yaml로 사용할 수 있다.

기본 자료형

  • Scalar(스칼라) : String이나 숫자
  • Sequence(시퀀스) : 배열이나 리스트
  • Mapping(매핑) : 해시, 딕셔너리, key-value 쌍

작성 방법

  • 주석처리는 파이썬처럼 #를 달아서 쓴다.
  • tab을 쓰지 않고 스페이스바 한번으로 들여쓰기를 한다.
  • Key-Value는 :로 구분한다. : 뒤에는 스페이스바로 공백을 한번 넣어야 한다.
  • JSON과 달리 따옴표는 필요할때만 써도 된다. 필수가 아니라 잘 안쓴다.
  • [a, b, c, d] 처럼 한 줄에 리스트를 표현할 수 있다.
  • 문장앞에 - 하이픈을 쓰면 리스트의 시작이 된다. - 뒤의 한줄이 원소 하나가 된다.
  • 여러 라인의 문자열은 | 또는 > 를 사용한다.
  • 문서의 끝은 .... 로 표기한다.
  • 반복되는 노드는 &로 선언해서 *로 참조해서 쓸 수 있다.
  • yes, no, true, False로 boolean값 사용 가능. 따옴표로 감싸면 문자열로 사용가능

작성 예시

# key-value (: 과 value 사이에는 스페이스바로 공백 필수)
key: value

# 리스트
fruits: [blueberry, melon, kiwi, apple]

ball: 
 - baseball
 - basketball
 - soccerball

# 계층화된 구조체
students:
 - name: Kim
   age: 22
   height: 195
 - name: Lee
   age: 25
   height: 172
 - name: Park
   age: 59
   height: 169

Application.yml

  • Application.properties
#H2-console
spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:mem:db;MODE=MYSQL;
spring.datasource.username=sa
spring.datasource.password=
  • Application.yml
#H2-console
spring:
 h2:
  console:
   enabled: true
 
 datasource:
  url: jdbc:h2:mem:db;MODE=MYSQL
  username: sa
  password:
profile
Backend Dev / Data Engineer

0개의 댓글