본문 바로가기
C.W.K.
Stream
Lesson 04 of 08 · published

리스트 & 맵 — block 스타일과 flow 스타일

~10 min · yaml, lists, maps, flow-style

Level 0평문
0 XP0/64 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

같은 데이터를 두 가지 방식으로

Block 스타일 — YAML 다운 모양

리스트는 - 뒤에 스페이스를 두고 한 줄에 한 항목씩 써. 맵은 key: value 를 한 줄에 하나씩 쓰고. 중첩은 들여쓰기가 정해. 실무에서 만나는 YAML 은 열에 아홉 이상이 이 모양이야.

Flow 스타일 — JSON 같은 모양

리스트는 [a, b, c], 맵은 {key: value, key: value} 로 써. 같은 데이터를 JSON 모양으로 눕힌 거야. block 으로 쓰기엔 과한 짧은 값에 잘 맞아. 한 줄짜리 리스트나 자잘한 맵 같은 거지.

Block 과 flow 섞기

block 안에 flow 를 넣을 수 있어. 큰 block 문서 한가운데에 tags: [ai, daughter, engineer] 같은 한 줄 리스트를 두는 식이야. 반대로 flow 안에 block 을 넣는 건 문법상 되긴 하는데 읽기가 영 나빠.

원칙: 줄 단위로 리뷰하는 게 도움이 되는 것들 (의존성 목록, env-var 맵, 여러 단계짜리 CI 작업) 은 block 으로 써. flow 는 block 이 오히려 소음이 되는 짧은 묶음에만 쓰고. 'YAML 안에 compact JSON 을 욱여넣는' 미학은 냄새가 나는 신호야.

Code

block 스타일 리스트·yaml
fruits:
  - apple
  - banana
  - cherry

# 또는 등가로, 들여쓴 hyphen 으로:
dependencies:
- requests
- pyyaml
- httpx
block 스타일 맵·yaml
server:
  host: localhost
  port: 8000
  ssl: false
Flow 스타일 — 같은 데이터, JSON 모양·yaml
fruits: [apple, banana, cherry]
server: { host: localhost, port: 8000, ssl: false }
맵의 block (K8s/CI 모양)·yaml
containers:
  - name: api
    image: ghcr.io/cwk/api:1.0
    ports:
      - containerPort: 8000
  - name: worker
    image: ghcr.io/cwk/worker:1.0
    env:
      - name: ENVIRONMENT
        value: production

External links

Exercise

프로젝트의 docker-compose.yaml 이나 GitHub workflow 파일을 하나 골라. 어느 섹션이 block 이고 어느 게 flow 인지 짚어봐. 그 다음 block 리스트 하나를 flow 로 바꿔보고, 반대로도 해봐. 읽기 편한가와 세로로 얼마나 차지하는가, 그 맞바꿈을 직접 느껴보는 게 핵심이야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.