.yaml 또는 .yml입니까?


336

yaml.org 에 따르면 공식 파일 확장자는 .yaml입니다.

인용문:

YAML 파일의 공식 확장자가 있습니까?

가능하면 ".yaml"을 사용하십시오.

그러나 인터넷에서 확장 기능을 사용할 때 의견이 일치하지 않는 것 같습니다. 에서 예제 를 찾아 보면 대부분이 승인되지 않은 .yml확장을 사용합니다 .

Google 검색은 더 짧은 결과에 대해 거의 3 배 많은 결과를 반환합니다.


여기에 이미지 설명을 입력하십시오
49,100


여기에 이미지 설명을 입력하십시오
15,400


그래서 어느 것을 사용해야합니까? 제작자가 제안한 적절한 4 글자 확장자 또는 인터넷의 서부에서 발견 된 3 글자 확장자?


3
아마도 대중은 여기에 불만을 제기 하고 공식 권장 사항을 ".yml"로 변경하도록 요청해야합니다. 조직 (및 설립자)은 당연히 "느리게"될 수 있지만 어쩌면 실제 사용을 따르도록 확신 할 수도 있습니다 (언어를 더 복음화하기 위해서만).
MarkDBlackwell

3
@AndrewWagner, 만약 그들이 rec를로 바꾸면, .yml사람들은 .yaml:-)로 바뀔 수 있습니다
go2null

5
yaml.org/faq.html- > .yaml 사용
Wannes

6
yaml.org가 여전히 다음과 같이 보여 주면 도움이 될지 잘 모르겠습니다.© 2001-2006 YAML.org All Rights Reserved
sean

6
지금 .htm 또는 .html을 사용하고 있습니까? 여전히 .htm을 고수한다면 아마도 .yml이 올바른 선택 일 것입니다. 그렇지 않으면, 당신은 .yaml을 :-) 사용에 익숙해 더 나을 수 있습니다
xorcus

답변:


215

파일 확장자의 본질과 존재는 플랫폼에 따라 다릅니다 (일부 모호한 플랫폼에는 해당 플랫폼이 없으므로 기억이 나지 않습니다). 다른 시스템에서는 기존 시스템 (UNIX 및 해당 ilk) 일 뿐이며 다른 시스템에서는 명확한 의미를 갖습니다. 경우에 따라 길이 또는 문자 내용 (Windows 등)에 대한 특정 제한이 있습니다.

관리자가 ".yaml"을 사용하라고 요청 했으므로 "공식적인"판결과 비슷하지만 8.3 의 습관은 벗어나기가 어렵습니다 (그리고 때로는 2013 년에도 여전히 관련성이 있음).


4
더 나쁜 것은 메모장 ++ 설치가 잘못되는 것 같습니다 :-(
Samuel Harmer

35
3 글자 접미사 규약은 거의 20 년 동안 더 이상 사용되지 않습니다. 어쨌든, 나는 World-Wide Web이 90 년대에 그것을 더 이상 사용하지 않았다고 주장합니다. 누구라도 돌 보려고하는 것은 불쾌합니다. 그로 인해 고장난 소프트웨어에 대해 버그를 신고하기에 충분합니다.
Dave

3
Wikipedia 's Category : Filename_extensions 페이지에는 .a , .o.z에 대한 항목이 나열 됩니다. 어떻게 든 그것은 .c와 .h를 놓쳤다 . 이 단일 문자 확장은 확장이 필요한만큼 길어야하지만 더 이상 ( A. Einstein 반 인용까지) 안된다는 것을 알 수 있습니다 .
MarkDBlackwell 21 14:16

19
내 파일 이름을 지정 .yml했으며 그에 대해 할 수있는 일은 없습니다.
bvdb

4
@Dave 귀중한 피드백을 염두에 두겠습니다. ( 피드백을에 저장합니다 DOCUME~1.HTM. )
bvdb

31

편집하다:

그래서 어느 것을 사용해야합니까? 제작자가 제안한 적절한 4 글자 확장자 또는 인터넷의 서부에서 발견 된 3 글자 확장자?

이 질문은 다음과 같습니다.

  1. 조언 요청; 또는

  2. 경험되는 특정 감정을 자연스럽게 표현하는 한편, 일부 공식적인 권장 사항이 무시되거나 현저하게 무시되는 것을 관찰하고 있습니다.

사람들은 다음과 같은 취향이 다릅니다.

  1. 공식적인 조언; 또는

  2. 연습의 우세.

물론, 나는 당신이 선호하는이 두 가지 길에 관해 당신에게 영향을 줄 것 같지 않습니다!

다음과 같은 (그리고 과학의 정신으로), 나는 단지 (실제로) 대다수의 사람들이 3 글자 확장을 사용하게 한 것에 대해 가설을 세웁니다. 그리고 효율적인 원인에 중점을 둡니다 .

이로 인해 나는 도덕적 권고를 의도하지 않습니다. 당신이 기억할 수 있듯이, 무언가가 있다는 사실은 그것이 반드시 있어야 함을 의미하지는 않습니다.

당신의 개인적인 성향이 어떠하든, 한 길을 따라 가거나 다른 길을 따라가더라도, 나는 반대하지 않습니다.

(편집이 끝났습니다.)

이 기본 설정 (실제 사용시)은 8.3 자 DOS 제한으로 인해 발생했으며 IMO는 빨간색 청어 (오용 및 오도)입니다.

2016 년 8 월 현재 YML 및 YAML의 Google 검색 수는 약 6,000,000 및 4,100,000 (정밀도의 두 자리 수)입니다. 또한 "YAML"수는 확장으로 사용되는 것 이상의 이름으로 언어에 대한 언급을 포함했기 때문에 부당하게 높았습니다.

2018 년 7 월 현재, YML 및 YAML에 대한 Google의 검색 횟수는 약 8,100,0004,100,000 (두 자릿수의 정밀도)입니다. 따라서 지난 2 년 동안 YML은 기본적으로 두 배의 인기를 얻었지만 YAML은 동일하게 유지되었습니다.

다른 문화적 척도는 파일 확장자를 설명하는 웹 사이트입니다. 예를 들어, FilExt 웹 사이트 (2018 년 7 월 기준)에서 YAML 페이지는 "Ooops! FILEXT.com 데이터베이스에 파일 확장자 .YAML에 대한 정보가 없습니다."

그것은 대한 항목 갖는 반면 YML 준다 : "YAML은 ... 텍스트 파일을 사용하여 사람이 읽을 수있는 포맷으로 편성 'database.yml을'이 YAML은 루비 레일에 의해 사용될 때의 전형적인 예이다. 데이터베이스에 연결합니다. "

2014 년 11 월 현재 Wikipedia의 확장자 YML 에 대한 기사에서는 ".yml"이 " YAML 파일 형식 파일 확장자"라고 강조했습니다 (강조 추가). 그 YAML의 문서 환경 설정을 표현하지 않고, 모두 확장을 보여줍니다.

확장명 ".yml"은 충분히 명확하고 더 짧고 (쉽게 입력하고 인식 할 수 있음) 훨씬 더 일반적입니다.

물론이 두 가지 확장명은 가능한 긴 확장명 ".yamlaintmarkuplanguage"의 약어로 볼 수 있습니다. 그러나 프로그래머 (및 사용자)는이 모든 것을 입력하고 싶지 않습니다!

대신, 프로그래머 (및 사용자)는 가능한 한 적은 타이핑을 원하지만 여전히 명확하고 명확합니다. 그리고 더 긴 단어를 읽지 않고 가능한 빨리 어떤 종류의 파일인지 확인하고 싶습니다. 이 두 목표를 달성하는 캐릭터 수를 입력하면 답이 3이 아닌가? 다시 말해, YML?

Wikipedia 's Category : Filename_extensions 페이지는 .a , .o.Z에 대한 항목을 나열합니다 . 어떻게 든 .c와 .h가 누락되었습니다 (C 언어에서 사용). 이러한 단일 문자 확장 예제는 확장이 필요한만큼 길어야하지만 더 이상 알버트 아인슈타인 (Albert Einstein)을 인용하지 않아야 함을 알 수 있습니다.

대신 일반적으로 "Y"로 시작하는 확장명은 거의 없습니다. 일반적으로 문자 X는 "cross", "extensible", "extreme", "variable"등을 포함한 다양한 의미로 사용됩니다 (예 : XML). 따라서 "Y"로 시작하면 이미 많은 정보 (정보 이론 측면에서)를 전달하지만 "X"로 시작하지는 않습니다.

언어 적으로 말하면, 약어 "XML"은 두 가지 유익한 문자 ( "M"및 "L")만을가집니다. 대신 "YML"에는 세 가지 정보 문자 ( "M", "L"및 "Y")가 있습니다. 실제로 Y로 시작하는 기존의 두문자어 집합은 매우 작습니다. 따라서 4 문자 YAML 파일 확장자가 지나치게 많이 지정되었습니다.

아마도 이것이 실제로 우리가 문제의 약어를 4 개의 문자로 길게하는 "언어 적"압력 (자연적인 사용)이 약하고이 약어를 3 개의 문자로 단축시키는 "언어 적"압력이라는 사실을 실제로 볼 수있는 이유입니다. 강하다.

순수한 공식적인 승인이 아닌 이러한 요소의 결과로 YAML.org 웹 사이트의 최신 뉴스 항목 (2011 년 11 월부터)은 JavaScript, JS-YAML로 작성된 프로젝트에 관한 것입니다 . 내부적으로 확장자 ".yml"을 사용하는 것을 선호합니다.

위에서 언급 한 요소가 주요 요소 일 수 있습니다. 그럼에도 불구하고, 모든 요소 (알려 지거나 알려지지 않은)는 약식으로 세 글자 확장이 YAML에 주로 사용되는 것으로 확장되었습니다. 발명가들의 선호에도 불구하고.

".YML"은 사실상의 표준 인 것 같습니다 . 그러나 인간이 읽을 수있는 데이터 언어에 대한 세계의 필요성에 대해 동일한 발명가들이 인식하고 정확했습니다. 그리고 우리는 그것을 제공해 준 것에 감사해야합니다.


1
YAML에 파일 확장자 ".yml"을 사용하면 구체적인 예, 권장 사항 및 구성 설정이 기본적으로 ".yml"로 기본 설정됩니다.
MarkDBlackwell

1
Wikipedia를 인용하면 조금 더 잘 읽을 수 있습니다. Yaml 의 기사는 파일 이름 확장자를 말합니다 : .yaml,.yml
Charles Follet

1
@CharlesFollet, 당신이 인용 한 것은 "내 YAML 기사는 편견없이 두 가지 확장명을 모두 나열하고있다"(현재는 "선호도를 표현하지 않고"편집)라는 나의 진술의 기초였다. 사람들은 두 확장을 모두 사용합니다. ".yml"이 우세합니다.
MarkDBlackwell

19
Wikipedia는 공동 백과 사전 이라는 것을 항상 기억하십시오 . 나는 그냥 "는 것을 반영하기 위해 YML의 동음이의 문서를 편집 공통의 확장"대신 " 확장".
NiñoScript

2
YAML만큼 오랫동안 도메인 특정 언어 YML (XML을 생성하는 마크 업)이있었습니다. Google 검색 횟수에 포함되지 않은 것은 YAML 참조뿐만 아니라 YML 참조도 계산 한 것 같습니다. YAML은 과잉 사양이 아니며 혼동을 방지하기 위해 적절한 이름을 사용하고 있습니다.
Anthon

4

이것에 관한 많은 사람들의 의견을 온라인에서 읽은 후, 나의 첫 번째 반응은 이것이 기본적으로 정말로 중요하지 않은 논쟁 중 하나라는 것이 었습니다. 그러나 처음 관심은 올바른 파일 형식 을 찾아서 파일 명명 실습과 일치하도록하는 것이 었습니다.

간단히 말해 YAML의 제작자가 말하고 .yaml있지만 개인적으로 계속하고 .yml있습니다. 그것은 나에게 더 의미가 있습니다. 그래서 나는 확인을 찾기 위해 여행을 떠났고 곧도 커가 .yml모든 곳에서 사용한다는 것을 알았습니다 . docker-compose.ymlkubernetes의 문서를 계속 보면서이 시간 동안 파일을 작성했습니다 kubectl apply -f *.yaml...

결론적으로 두 형식 모두 명백하게 받아 들여지며, 다른 쪽 (예 : YAML 파일을 입력으로받는 시스템 작성) 인 경우 두 형식 을 모두 허용해야합니다. 다른 뱀 사건과 낙타 사건이 비슷한 것 같습니다 ...


2
그래서 당신이 사용하기에 더 의미있게 YML (YAML으로 아마 한 동안 주변되었습니다) 도메인 특정 언어를 다음 .yl, .ym또는 .ml확장?
Anthon

2

.yaml를 사용할 때 일부 응용 프로그램이 실패하기 때문 .yml입니다. 반면에 YAML 코드를 사용하는 응용 프로그램에는 익숙하지 않지만 .yaml확장명 으로는 실패 합니다.

.ymlAnsible과 Docker Compose에서 글을 쓰는 데 익숙해 졌을 때 나는 이것을 우연히 발견했습니다 . 나는 습관적 .yml으로 실패한 Netplan 파일을 작성할 때 사용 했습니다. 나는 마침내 내 실수를 알아 냈다. Netplan의 인기있는 Ansible Galaxy 역할의 저자는 그의 코드에서 동일한 가정을합니다.

- name: Capturing Existing Configurations
  find:
    paths: /etc/netplan
    patterns: "*.yml,*.yaml"
  register: _netplan_configs

그러나 .yml확장자가 있는 파일은 확장자가 있는 파일과 동일한 방식으로 Netplan에서 무시됩니다 .bak. Netplan은 매우 조용하고 심지어와 성공에 어떠한 피드백을 제공하지 않기 때문에 netplan apply --debug같은 설정, 01-netcfg.yml의미있는 피드백없이 자동으로 실패합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.