(분류 추가) |
m (→구성: 줄 개행) |
||
1번째 줄: | 1번째 줄: | ||
[[파일:SemanticVersioning.png]] | [[파일:SemanticVersioning.png]] | ||
== 개요 == | == 개요 == | ||
버전을 관리하고 정의하는데 사용되는 방법중에 하나로, "'''Sem'''antic '''Ver'''sion"의 약자이다. | 버전을 관리하고 정의하는데 사용되는 방법중에 하나로, "'''Sem'''antic '''Ver'''sion"의 약자이다. | ||
평소 사용되고 있는 프로그램들의 대부분은 본 방식대로 사용되며, 직관적으로 구성되어 있어 버전을 한눈에 확인할 수 있다는 장점이 있다. 또한 버전을 통해 변경량을 짐작할 수 있으므로, 개발시 도입 여부를 확인하는 척도로 사용될 수 있다.즉, 버전을 보고 코드의 변화량을 짐작(예상)할 수 있는 체계이다. | 평소 사용되고 있는 프로그램들의 대부분은 본 방식대로 사용되며, 직관적으로 구성되어 있어 버전을 한눈에 확인할 수 있다는 장점이 있다. 또한 버전을 통해 변경량을 짐작할 수 있으므로, 개발시 도입 여부를 확인하는 척도로 사용될 수 있다.즉, 버전을 보고 코드의 변화량을 짐작(예상)할 수 있는 체계이다. | ||
== 구성 == | == 구성 == | ||
[[파일:Semantic-versioning.svg]] | [[파일:Semantic-versioning.svg]] | ||
메이저 버전, 마이너 버전, 패치 버전으로 구성되어 있다. | 메이저 버전, 마이너 버전, 패치 버전으로 구성되어 있다. | ||
=== 메이저 버전 === | === 메이저 버전 === | ||
이전에 호환되지 않는 기능이나 API 등을 추가하는 경우에는 메이저 버전을 올린다. 파이썬을 예로 들 수 있는데, 파이썬2에서 작성한 코드를 파이썬3에서 실행하면 거의 대부분 정상적으로 작동하지 않는것이다. 따라서 메이저 버전이 올라간다면 그만큼 많이 변경되었다는 것이며, (특히 컴퓨터 언어에서는) 코드 작성을 다시해야 할 수도 있다는 뜻이다. | 이전에 호환되지 않는 기능이나 API 등을 추가하는 경우에는 메이저 버전을 올린다. 파이썬을 예로 들 수 있는데, 파이썬2에서 작성한 코드를 파이썬3에서 실행하면 거의 대부분 정상적으로 작동하지 않는것이다. 따라서 메이저 버전이 올라간다면 그만큼 많이 변경되었다는 것이며, (특히 컴퓨터 언어에서는) 코드 작성을 다시해야 할 수도 있다는 뜻이다. | ||
=== 마이너 버전 === | === 마이너 버전 === | ||
이전과 호환되면서 기능 등을 추가한 것이 마이너 버전이다. 마이너 버전 간 코드는 호환이 되기에<ref>물론 신버전에서 작성한 코드를 구버전으로 실행하면 되지 않는 경우나, 구버전에서는 작동했지만 보안 등의 이유로 신버전에서는 작동하지 않는 경우도 있다.</ref>, 코드 작성시 부담이 적다. 다만 각주에도 설명했다시피 구버전-신버전 간 호환되지 않은 부분이 있을 수 있으므로 확인이 필요하다. | 이전과 호환되면서 기능 등을 추가한 것이 마이너 버전이다. 마이너 버전 간 코드는 호환이 되기에<ref>물론 신버전에서 작성한 코드를 구버전으로 실행하면 되지 않는 경우나, 구버전에서는 작동했지만 보안 등의 이유로 신버전에서는 작동하지 않는 경우도 있다.</ref>, 코드 작성시 부담이 적다. 다만 각주에도 설명했다시피 구버전-신버전 간 호환되지 않은 부분이 있을 수 있으므로 확인이 필요하다. | ||
=== 패치 버전 === | === 패치 버전 === | ||
버그 수정시 버전이 올라가며, 패치 버전만 변경된 경우, 기존 코드를 수정할 필요는 없다.<ref>극히 드물지만, 버그를 활용한 코드인 경우인 경우에는 해당 버그가 수정되었다면 코드를 수정해야한다.</ref> | 버그 수정시 버전이 올라가며, 패치 버전만 변경된 경우, 기존 코드를 수정할 필요는 없다.<ref>극히 드물지만, 버그를 활용한 코드인 경우인 경우에는 해당 버그가 수정되었다면 코드를 수정해야한다.</ref> | ||
패치 버전 뒤에 하이픈(-)과 마침표(.)를 붙혀 세부적인 버전 표시가 가능하다. 예를 들어 버전이 '''2.3.7-beta.3'''인 경우, '''2.3.7''' 버전보다는 낮은 버전<ref>'''2.3.7-beta.3''' < '''2.3.7'''</ref>이라는 의미이다. | 패치 버전 뒤에 하이픈(-)과 마침표(.)를 붙혀 세부적인 버전 표시가 가능하다. 예를 들어 버전이 '''2.3.7-beta.3'''인 경우, '''2.3.7''' 버전보다는 낮은 버전<ref>'''2.3.7-beta.3''' < '''2.3.7'''</ref>이라는 의미이다. | ||
== 같이 보기 == | == 같이 보기 == | ||
[http://semver.org samver 공식 사이트] | [http://semver.org samver 공식 사이트] | ||
[http://semver.org/lang/ko samver 공식 사이트(한국어)] | [http://semver.org/lang/ko samver 공식 사이트(한국어)] | ||
== 각주 == | == 각주 == | ||
[[분류:버전 표기법]] | [[분류:버전 표기법]] | ||
<references /> |
2022년 9월 3일 (토) 16:12 판
개요
버전을 관리하고 정의하는데 사용되는 방법중에 하나로, "Semantic Version"의 약자이다.
평소 사용되고 있는 프로그램들의 대부분은 본 방식대로 사용되며, 직관적으로 구성되어 있어 버전을 한눈에 확인할 수 있다는 장점이 있다. 또한 버전을 통해 변경량을 짐작할 수 있으므로, 개발시 도입 여부를 확인하는 척도로 사용될 수 있다.즉, 버전을 보고 코드의 변화량을 짐작(예상)할 수 있는 체계이다.
구성
메이저 버전, 마이너 버전, 패치 버전으로 구성되어 있다.
메이저 버전
이전에 호환되지 않는 기능이나 API 등을 추가하는 경우에는 메이저 버전을 올린다. 파이썬을 예로 들 수 있는데, 파이썬2에서 작성한 코드를 파이썬3에서 실행하면 거의 대부분 정상적으로 작동하지 않는것이다. 따라서 메이저 버전이 올라간다면 그만큼 많이 변경되었다는 것이며, (특히 컴퓨터 언어에서는) 코드 작성을 다시해야 할 수도 있다는 뜻이다.
마이너 버전
이전과 호환되면서 기능 등을 추가한 것이 마이너 버전이다. 마이너 버전 간 코드는 호환이 되기에[1], 코드 작성시 부담이 적다. 다만 각주에도 설명했다시피 구버전-신버전 간 호환되지 않은 부분이 있을 수 있으므로 확인이 필요하다.
패치 버전
버그 수정시 버전이 올라가며, 패치 버전만 변경된 경우, 기존 코드를 수정할 필요는 없다.[2]
패치 버전 뒤에 하이픈(-)과 마침표(.)를 붙혀 세부적인 버전 표시가 가능하다. 예를 들어 버전이 2.3.7-beta.3인 경우, 2.3.7 버전보다는 낮은 버전[3]이라는 의미이다.