본문 바로가기

개발 상식

버전 표기법 (SemVer)

반응형
SMALL

이번 글에선 버전 표기법에 대해서 알아 볼 생각입니다.

 

버전의 경우엔 개발자라면 많이 접하게 되는데, 이를 잘 이해하고 사용하는 것이 더 훌륭한 개발자로 만드는 방법이라 생각했습니다.

 

이러한 표기법 자체를 Semver라고 말합니다. (Semantic Versioning Specification)

 

많은 회사가 이 법칙을 잘 따르고 있습니다. 대표적인 예 2가지를 들고와서 살펴보도록 하죠.

 

React
Django

프론트엔드 프레임워크 React의 제일 최신 버전과 Django의 제일 최신 버전을 들고 와봤습니다.

 

2020년 2월 14일 기준으로 제일 최신 Django 버전이 3.0.3이네요. React의 경우엔 16.12.0이고요.

 

.(dot)을 기준으로 3가지 숫자가 존재합니다.

 

제일 앞에 있는 숫자는 해당 라이브러리의 큰 변화를 뜻합니다. 거의 새로운 버전급의 변화

 

실제로 Django 1.x.x 의 코드를 Django 2.x.x로 가져온다면 코드가 망가질 가능성이 다분할 것입니다.

 

듀랑고가 아마 Python 2.x.x로 작업하다가 Python 3.x.x로 넘어오는 시대 흐름을 읽지 못하고 오픈베타 했다가 서버가 많이 망가졌었을 겁니다. (팩트는 아닙니다. 어깨너머로 들었습니다)

즐겨했었는데 ㅠㅠ..

그렇기에 Django, React 등 앞 숫자가 바뀐다면, 코드도 많이 바꿔야 할 것입니다.

 

그럼 중간 숫자는 뭘까요? 마이너한 Release를 뜻합니다. 새로운 기능, 새로운 방식이 추가되었지만, 코드를 비약적으로 바꾸지 않고 환경을 비약적으로 바꾸지 않는다는 소리죠. 단지 기능만 추가됐을 뿐

 

마지막 숫자는 버그 수정을 의미합니다. Django, React에 버그가 존재한다면, 버그를 수정하고 마지막 숫자를 +1을 하는거죠. 여러분들의 코드가 수정될 필요도 없고 새로운 기능도 추가된것도 아니죠.

 

이제 앞으로 어떤 라이브러리, 어떤 OS를 사용한다 하더라도 이러한 지식을 알고 사용하신다면 견문을 좀 더 넓히실 수 있으실 겁니다.


이상 버전 표기법 (SemVer)였습니다. ^_^

반응형
LIST

'개발 상식' 카테고리의 다른 글

OOP  (0) 2021.03.14
Top Down vs Bottom Up  (0) 2020.06.02
부동 소수점의 한계  (0) 2020.03.06
컴퓨터 공학에서 헤르츠(Hz)라는 단위  (0) 2020.03.06
재귀함수를 쓰는 이유  (12) 2019.12.27