▲neo 2023-09-29 | parent | favorite | on: GN⁺: 그것은 많은 양의 YAML입니다(noyaml.com)Hacker News 의견 YAML의 8진수와 문자열에 대한 가정은 예상치 못한 결과와 시스템 실패를 초래할 수 있다. YAML은 사람이 읽고 쓸 수 있는 데이터 형식이지만, 단순 데이터 대신 로직에 사용될 때 문제가 발생한다. CI/CD는 종종 로직을 포함하는데, 이는 순수 YAML에서 이상적으로 처리되지 않는다. YAML은 Python 생태계 외부에서 사용되지 않아야 스크립팅 형식의 차이로 인한 문제를 피하고 일관성을 유지할 수 있다. Jinja-in-YAML은 프로그래밍 가능성에 대한 초기 설계 부재로 인해 안티패턴으로 간주된다. YAML의 대안으로는 Dhall, Jsonnet, Python에서 파생된 비튜링 완전 언어인 Starlark가 있다. YAML은 가독성을 인정받지만, CI/CD 파이프라인에서의 배포 복잡성은 주요 문제다. 코드로서의 인프라에서 YAML의 사용은 특히 인프라에 익숙하지 않은 개발자들에게 혼란과 비효율성을 초래할 수 있다. BCL은 Terraform 스타일로 리소스를 정의하는 YAML의 잠재적 대안으로 제안된다. YAML에서는 내부 플랫폼 효과가 관찰되며, 설정이 확장되어 프로그래밍 언어가 된다. YAML에서 모든 리터럴을 인용하면 흔히 마주치는 많은 문제를 해결할 수 있다. EDN (Extensible Data Notation), Clojure의 하위 집합,은 YAML의 대안으로 제안된다. YAML은 가독성과 마크다운 문법의 사용 편의성 때문에 교육 환경에서의 평가와 피드백에 유용하다. YAML은 CI 파이프라인과 홈 자동화 설정을 작성하는 데 어려움을 겪는다.
Hacker News 의견