문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 YAML (문단 편집) === 장점 === [[JSON]]의 완전한 상위 호환이기 때문에 기존 json문서를 그대로 yaml파일로 사용하거나, 원하는 부분만 손볼 수 있다. 반대로 yaml을 json으로 변환[* 몇몇 데이터 타입이 사라지긴 하지만, 일반적인 경우엔 1:1수준으로 변환 가능하다.]할 수도 있다. 이런 특징 덕분에 기존에 json을 사용하던 중이라면 금세 익힐 수 있으며 json만 지원하던 환경에서도 점차 yaml을 빠르게 지원해나가는 추세이다. 만약 지원이 없더라도 사용자가 직접 쉽게 변환해서 사용할 수 있다. 또한 [[XML]], [[JSON]]등과 비교해 압도적으로 간결하다. 아래는 동일한 설정 파일을 각각 xml, json, yaml로 비교한 것이다. {{{#!syntax xml Rust master master always ubuntu-latest actions/checkout@v2 Build cargo build --verbose Run tests cargo test --verbose }}}{{{#!syntax json { "name": "Rust", "on": { "push": { "branches": [ "master" ] }, "pull_request": { "branches": [ "master" ] } }, "env": { "CARGO_TERM_COLOR": "always" }, "jobs": { "build": { "runs-on": "ubuntu-latest", "steps": [ { "uses": "actions/checkout@v2" }, { "name": "Build", "run": "cargo build --verbose" }, { "name": "Run tests", "run": "cargo test --verbose" } ] } } } }}}{{{#!syntax yaml name: Rust on: push: branches: [master] pull_request: branches: [master] env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Build run: cargo build --verbose - name: Run tests run: cargo test --verbose}}} 단순히 길이가 짧은 것뿐만 아니라, 불필요한 따옴표나 기호 등이 사라져 가독성이 높기 때문에 사람이 읽거나 편집하기 쉽다. 또한 json과는 다르게 타입을 명시해 줄 수 있어 불필요한 실수를 피할 수 있다. 문서를 구분하는 기능도 존재해 한 파일에 여러 문서를 작성할 수 있다. json으로 생각하면 한 파일에 여러 {}(문서 루트)를 넣는다고 생각할 수 있다. 예를 들어, 아래와 같은 json 코드는 실제로는 불가능하다.{{{#!syntax json { "a": "b" } { "key": "value" }}}}yaml에서는 다음과 같이 표현할 수 있다.{{{#!syntax yaml --- a: b ... --- key: value ... }}}[* 더 간단하게는 다음과 같이 쓸 수 있다. {{{#!syntax yaml a: b --- key: value }}}] 문서를 구분하는 기능은 일반적으로 유용하지는 않지만, 여러 설정을 한 파일로 모은다거나 한 파일에서 원하는 위치의 문서만 사용하는 등 다양하게 할용될 수 있다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기