Semver 도구 (파서·비교기·범프)
두 시맨틱 버전 동시 파싱·비교·범프, ^x.y.z·~x.y.z가 실제 어디까지 매치하는지 보여주는 범위 확장기 포함.
비교
B가 A보다 큼
매치
≥ 1.2.3·< 2.0.0사용법
- Version A·B 입력에 버전 문자열 타이핑 — 파싱 결과와 비교가 라이브 업데이트.
- 각 버전 아래 범프 버튼(메이저/마이너/패치/프리릴리스) 클릭으로 다음 버전 계산 — 릴리스 계획에 유용.
- 범위 확장기에 ^1.2.3·~1.2 같은 범위 입력 → 하한·상한 표시, Copy로 ≥a.b.c <x.y.z 문자열 복사.
자세한 설명
펼치기접기
npm·Cargo·Go 모듈 등 어떤 패키지 생태계든 시맨틱 버전 문자열을 다루는데 — 1.10.0이 1.9.0보다 작다고 잘못 비교하거나 prerelease 태그를 놓치는 식의 실수는 몇 시간을 날리는 종류. 이 도구는 두 버전을 컴포넌트(major·minor·patch·prerelease·build)로 파싱, semver.org 공식 스펙대로(prerelease 순서 포함) 비교, 각 버전에 원클릭 범프 버튼 제공. 그 아래 범위 확장기는 가장 흔한 npm 범위 문법(^1.2.3·~1.2.3·~1.2·불안정 API용 ^0.x.y)을 명시적 ≥하한 <상한으로 변환 — 컴퍼레이터 스타일만 받는 도구에 그대로 복사 가능.
자주 묻는 질문
Prerelease 순서는 어떻게?
스펙대로 prerelease 있는 버전(1.0.0-alpha)이 없는 같은 버전(1.0.0)보다 작음. Prerelease 내부에선 식별자를 왼쪽부터 비교 — 숫자는 숫자로, 영숫자는 사전순으로, 같은 위치에서 숫자는 항상 영숫자보다 낮은 순위. 그래서 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0.
왜 ^0.2.3이 <0.3.0으로 확장? <1.0.0 아님?
npm의 캐럿은 0.x.y에 대해 특별 처리 — pre-1.0 API는 불안정으로 간주, 0.x의 범프는 breaking으로 처리. 그래서 ^0.2.3은 0.2.x만, ^0.0.3은 0.0.3만 정확히 매치. npm 자체와 동일한 동작.
Build 메타데이터가 비교에 영향?
아니요 — 스펙상 +build 메타데이터는 정보 전용이며 버전 비교 시 무시. 1.0.0+abc와 1.0.0+xyz는 같음.
여기서 지원하는 범위 문법은?
확장기는 ^x[.y[.z]], ~x[.y[.z]], 그리고 단독 x·x.y(각각 ~x·~x.y처럼 동작) 처리. '>=1.0.0 <2.0.0' 같은 조합 범위나 '1.x' 같은 와일드카드는 확장되지 않음 — 각 버전을 따로 파싱하는 건 여전히 가능.
관련 도구
자바 클래스 파일 분석기
컴파일된 .class 파일을 브라우저에서 바로 분석합니다. 클래스 파일 버전과 자바 릴리스, 접근 플래그, 상수 풀, 필드, 메서드, 참조 클래스를 보여줍니다.
파일
단위 가격 비교기
g당·mL당·개당 가격으로 마트 상품을 비교. 무게·부피·개수 그룹 및 미터법·야드파운드법 단위 지원.
일상
목록 비교 — 교집합, 합집합, 차집합
두 목록을 줄 단위로 비교: 공통 항목, 각 목록 고유 항목, 합집합 또는 대칭 차집합을 브라우저에서 찾습니다.
텍스트
HKDF 키 유도 (RFC 5869, 추출·확장)
HKDF로 키를 유도하고 두 단계를 모두 봅니다. 추출 단계의 PRK, 확장 단계의 T 블록, hex와 base64 OKM. RFC 5869 케이스 내장.
개발
Conventional Commit 메시지 빌더
타입, 스코프, 호환성 깨짐, 푸터가 포함된 Conventional Commits 메시지를 브라우저에서 만듭니다.
개발
UUID 인스펙터 (버전·변형·시간)
임의의 UUID를 붙여넣어 버전(1~8)·변형, 그리고 시간 기반 v1·v6·v7의 경우 내장된 생성 타임스탬프·클록 시퀀스·노드(MAC)까지 디코딩 — 브라우저에서.
개발