본문으로 바로가기

[IT 상식] 버전 표기법 (1.0.0)

category 1. 웹개발/1_3_2 IT 상식 2024. 7. 27. 11:14

 

 

소프트웨어 개발의 세계에서 버전 번호는 단순한 숫자 이상의 의미를 담고 있습니다. 우리는 매일 사용하는 애플리케이션과 도구에서 다양한 버전 번호를 접하게 됩니다. 하지만 이 숫자들이 실제로 어떤 의미를 지니고 있으며, 왜 중요한지에 대해 깊이 생각해본 적이 있나요?

 

버전 표기법은 소프트웨어의 변경 사항과 발전 과정을 체계적으로 표현하는 중요한 수단입니다. 이를 통해 개발자와 사용자 모두가 소프트웨어의 상태와 호환성을 쉽게 이해할 수 있습니다.

 

 

위의 20.15.0 으로 표기한 버전 표기법을 보통  Semantic versioning이라고 부릅니다.

각각 20(메이저).15(마이너).0(패치) 형식으로 구성되며, 각 숫자는 특정한 의미를 지닙니다. 

 

 

Major 버전

  • 하위 버전과 호환되지 않는 변화가 생겼을 때
  • 대대적인 변화가 일어났을 때
  • 클라이언트가 1.0.0 버전의 API 접근 방식으로 2.0.0 버전에 접속할 수 없을 때

 

Minor 버전

  • 하위 버전과 호환이 되면서, 새로운 기능이 추가 될 때
  • 새로운 기능이 추가된 API 가 나왔지만, 기존의 공개된 API 가 하위 호환되고 있을 때
  • 기존의 기능이 변경되거나 사용 방법이 변경 되었을 때

 

Patch 버전

  • 버그 수정
  • 기존 클라이언트가 알아차리지 못할 정도의 작은 변화가 있을 때
  • 서버 코드 내부적으로 소스가 수정되었을 때
  • 당연한 얘기겠지만, 이 모든 것들이 하위 버전과 호환될 때

 

일반적인 규칙

  • 버전 번호는 Major, Minor, Patch 의 형태로 배포하고, Major, Minor, Patch 는 각각 자연수이고 절대 앞에 0이 붙어서는 안된다.
  • 특정 버전으로 패키지를 배포하고 나면, 그 버전의 내용은 절대 변경하지 말아야한다
  • 변경분이 있다면 반드시 새로운 버전으로 배포하도록 한다.Major 버전이 변경될 때, Minor, Patch 는 0으로 초기화 된다.
  • Minor 버전이 변경될 때, Patch 는 0으로 초기화 된다.

 

버전 표기법은 소프트웨어 개발 및 배포 과정에서 중요한 역할을 합니다. 올바른 버전 관리는 사용자에게 신뢰성 있고 예측 가능한 소프트웨어 업데이트 경로를 제공하며, 개발자에게는 버그 수정과 새로운 기능 추가를 체계적으로 관리할 수 있는 기회를 제공합니다.

 

 

 

References

https://kiwinam.com/posts/33/version-naming/

https://nodejs.org/en/download/package-manager

 

'1. 웹개발 > 1_3_2 IT 상식' 카테고리의 다른 글

[IT 상식] PoC란?  (0) 2024.07.20
[IT 상식] 모노레포란? (with Turborepo)  (1) 2024.06.30
[IT 상식] pnpm을 사용하는 이유 (vs npm)  (0) 2024.06.15
[IT 상식] DMZ 서버란?  (0) 2022.04.16