최근에 나는 개발자가 말하는 것과 그들이 의미하는 것에 대한 게시물을 썼다. 나는 그것을 쓰는 재미를 많이했고,게시물이 생성 된 의견을 즐겼다. 거기에 대해 쓰고 싶었던 더 많은 것들이 있고 나는 더 많은 것들과 함께 미래에 후속 게시물을 할 계획,하지만 난 하나의 단락 설명보다 더 가치가 느꼈다 용어의 한 비트가 있었다:셈버.

셈버란? 시맨틱 버전 관리에 대한 간략한 설명입니다. 시맨틱 버전 관리는 소프트웨어 릴리스에 의미를 부여하는 표준화된 방법입니다. 이 릴리스에 대해 알아야 할 소프트웨어 중요한 정보의 소비자에게 간결하게 통신 할 수있는 소프트웨어 작성자를위한 방법입니다.

셈은 마침표로 구분 된 세 개의 숫자로 표시됩니다. 예를 들어,이 게시물의 게시 날짜 현재 로다쉬의 현재 버전은 4.17.11 입니다.profile 이 번호를 사용하면 필요한 모든 호환성 정보를 쉽게 알 수 있으며 최신 버전으로 업그레이드해야하는지,얼마나 많은 작업을 수행 할 수 있는지에 대한 결정을 내릴 수 있습니다.

각 번호는 개정에서 변경된 내용에 따라 다른 개정 수준입니다. 숫자를 쓰기 위해 왼쪽에서 읽으면 현재 주 릴리스,현재 주 릴리스의 현재 부 릴리스 및 현재 부 릴리스(주)의 현재 패치 릴리스를 나타냅니다.미성년자.패치). 위의 로다쉬 예제 사용,4.17..11 은 4 번째 메이저 릴리스 이후 17 번째 부 릴리스 이후 11 번째 패치를 의미합니다. 숫자가 증가 할 때 오른쪽에있는 모든 숫자는 0 에서 다시 시작합니다.

패치 릴리스는 이 개정판의 코드 변경 내용이 새 기능이나 변경 내용을 추가하지 않았으며 이전 버전과 이전 버전과 호환됨을 나타내는 데 사용됩니다. 가장 일반적으로 버그 수정을 의미하는 데 사용됩니다. 알아야 할 가장 중요한 것은 코드가 사용되는 방식을 변경하지 않은 것입니다. 위의 lod 예제를 사용하여 새로운 패치 개정이 발송되면 버전은 4.17 이 됩니다.12

마이너

마이너 릴리스는 기능이 추가되었음을 나타내는 데 사용되지만 코드는 이전 버전과 호환됩니다. 새 함수가 추가되거나 새 선택적 매개 변수가 기존 함수에 추가되면 버전은 4.18.0 이 됩니다.. 기억해야 할 가장 중요한 것은이 추가 된 기능은 선택 사항이며,이 버전으로 업그레이드하여 사용자의 부분에 코드 변경을 필요로하지 않아야한다는 것입니다

주요

이를 위해서는 주요 개정 증가가 필요합니다. 이는 사용자가 업데이트를 수락하기 위해 코드를 변경해야 하는 기능이 제거되었거나 기능이 변경되었음을 의미할 수 있습니다. 동일한 예를 사용하여 주요 릴리스는 5.0 입니다.0

시험판

주 버전이 0 인 경우 상황이 약간 다릅니다. 주 버전 번호가 0 이면 소프트웨어가 빠르게 개발 중이고 안정적이지 않음을 나타냅니다. 이것은 또한 각각의 사소한 증가가 주요 변경 사항을 가질 수 있음을 의미합니다. 이 예는 현재 버전 0.57.8 에있는 반응 네이티브 즉,56 에서 버전 57 로 업그레이드하려면 코드 변경이 필요할 수 있으며 프로젝트의 다른 종속성과 호환되지 않을 수 있습니다. 패치 업데이트는 여전히 이전 버전과 호환되는 것으로 간주되어야 함

이것이 중요한 이유는 무엇입니까?

이 모든 것을 읽은 후에 당신은 생각할 것입니다. 왜 이것을 아는 것이 도움이됩니까?”우선,나는 당신이 패키지를 게시하는 것이 좋습니다. 당신은 과정을 통해 많은 것을 배울 것입니다. 둘째,이러한 라이브러리와 패키지를 제공하는 개발자로서 최신 정보를 유지하는 것이 중요하며,이 버전 관리 시스템은 종속성을 쉽게 업데이트하는 것이 아니라 자동화하는 결정을 내리는 데 도움이됩니다.

패키지를 설치할 때 패키지를 알 수 있습니다.제이슨은 업데이트 될 것이며 결국 다음과 같이 보일 것입니다:

"dependencies": { "react": "^16.6.3", "react-clean-form": "^2.1.2", "react-dom": "^16.6.3", "styled-components": "^4.1.1"},

각 버전 번호 앞에 캐럿이 있음을 알 수 있습니다. 이 버전은 버전 번호와 여전히 이전 버전과 호환되는 최신 릴리스를 원한다는 것을 알려줍니다. 부 버전 업데이트가 아닌 패치 업데이트 만 받았는지 확인하려면 다음과 같이 캐럿 대신 물결표를 추가하십시오."react": "~16.6.3"그리고 마지막으로 버전 번호를 넣으면 특정 버전 만 얻을 수 있습니다. 기본적으로,당신은 당신이 편안 이전 버전과의 호환성의 어떤 수준에서 나타내는.

이 규칙을 통해 패키지 관리자는 현명한 결정을 내릴 수 있습니다. 위의 프로젝트를 복제하고 설치를 실행하는 경우. 나는 반응 버전 16.6.3 을 얻지 않을 것이고,대신 버전 16.7.0 을 얻을 것이다. 16.7.0 은 여전히 16.6.3 과 이전 버전과 호환되지만 최신 패치 및 기능을 최신 상태로 유지하기 때문입니다. 업데이트를 실행하면 규칙에 따라 최신 이전 버전과 호환되는 버전만 설치하는 것이 아니라 패키지의 버전 번호도 충돌합니다.제이슨도 마찬가지다. 이 경우 보안 문제가 알려진 패키지에서 최신 패치를 얻을 수 있습니다. 수정은 편안함의 규칙에 맞지 않는 버전에있는 경우,그것은 당신이 수동으로 수정해야 알려 드릴 것입니다.

셈버는 강력한 도구입니다. 세 개의 숫자로,저자는 자신의 소프트웨어의 소비자에게 매우 중요한 정보를 통신 할 수 있습니다. 문제를 해결 놀라운 코드를 작성:이것은 소비자가 우리의 안락 수준에 따라 최신 우리의 소프트웨어를 유지하는 지루한 작업을 자동화하고 더 많은 시간과 우리가 일을 사랑하는 작업을 할 수 있습니다. 셈 버에 대한 더 완전한 설명을 위해,나는 체크 아웃하는 것이 좋습니다 semver.org

답글 남기기

이메일 주소는 공개되지 않습니다.