개발자

개발자를 위한 유틸리티 — UUID, 타임스탬프, Base64, 진법 및 코드까지, 모두 브라우저에서 오프라인으로 동작합니다.

ID·시간

3

인코딩

5

색상·텍스트

6

형식이 아니라 상황별로 묶었습니다

이 카테고리는 하나의 주제라기보다는 서랍에 가깝습니다. 여기 담긴 도구들은 다른 일이 진짜 작업인 와중에 필요한 자잘한 변환들이므로, 그것을 찾게 되는 상황을 기준으로 나열했습니다.

“로그에 알 수 없는 이상한 문자열이 있습니다.” 550e8400-e29b-41d4-a716-446655440000 같은 모양이면, UUID 디코더가 버전을 알려주고 v1, v6, v7이라면 생성된 시각까지 알려줍니다. SGVsbG8=처럼 생겼거나 ==로 끝난다면 Base64이니 디코드하세요. 17로 시작하는 10자리 숫자라면 대략 지금 시각의 Unix 타임스탬프입니다.

“ID가 필요합니다.” UUID 생성기는 v1과 v3부터 v7까지 생성하며, 테스트 데이터베이스를 채울 때는 한 번에 수천 개도 만들어냅니다.

“이 타임스탬프가 천 배쯤 틀렸습니다.” 초 단위인지 밀리초 단위인지의 문제입니다 — 타임스탬프 변환기가 둘 다 처리하며 어느 쪽을 입력했는지도 알려줍니다.

“이 데이터 URI를 실제 파일로 만들어야 합니다.” 또는 그 반대: Base64를 이미지로.

“이 색이 정확히 무슨 색인가요?” 표기법 간 변환에는 색상 선택기를, 스크린샷이나 목업에서 값을 읽어내려면 이미지 색상 선택기를 사용하세요.

“이건 camelCase인데 snake_case여야 합니다.” 대소문자 변환기.

“0xDEADBEEF는 10진수로 얼마이고, 부호가 있으면 어떻게 되나요?” 진법 변환기는 대부분의 다른 도구와 달리 음수와 2의 보수를 처리합니다.

식별자는 생각보다 많은 것을 드러냅니다

어느 한 도구 페이지도 전담하지 않는, 전체를 관통하는 중요한 사실 하나: 이 형식들 중 여럿은 당신이 공개할 의도가 없던 정보를 담고 있습니다.

UUID v1은 타임스탬프와 기기의 MAC 주소를 담습니다. 원래 설계가 그랬습니다 — “이 기기가, 이 순간에” 만들었다는 것으로 고유성을 보장했습니다. 이는 또한 공개 URL 속의 v1 UUID가 그 레코드가 정확히 언제 생성됐는지, 그리고 그것을 만든 서버의 안정적인 식별자를 관심 있는 누구에게나 알려준다는 뜻이기도 합니다. 디코더에 하나를 붙여넣어 직접 확인할 수 있습니다.

UUID v7도 Unix 타임스탬프를 담습니다, 이번에는 의도적으로 — ID로 정렬하는 것과 생성 시각으로 정렬하는 것이 같아지면 데이터베이스 인덱스의 지역성에 매우 유용하기 때문입니다. 대가는 같은 종류의 노출입니다: v7 ID는 순서를 갖고 있으므로, 공개적으로 노출하면 생성 시각이 드러나고 두 개만 관찰해도 시간당 몇 개의 레코드를 만드는지 추정할 수 있게 됩니다.

v4는 아무것도 드러내지 않는 유일한 버전입니다 — 122비트의 무작위성뿐, 구조가 없습니다. 그래서 사용자에게 노출되는 값의 기본값으로 여전히 v4가 쓰이며, 같은 테이블이라도 “기본 키에는 v7, 공개 식별자에는 v4”가 합리적인 규칙이 되는 이유이기도 합니다.

Base64는 누구에게나 모든 것을 즉시 드러냅니다. 난독화가 아닙니다. Kubernetes 시크릿이 Base64로 인코딩되는 것은 값을 보호하기 위해서가 아니라, 이진 값이 YAML 안에서 무사히 살아남게 하기 위해서입니다.

이 페이지의 모든 것이 로컬에서 실행되며, 이 카테고리에서는 그것이 특히 더 중요합니다: 프로덕션 식별자, 토큰, 로그 조각은 정확히 다른 사람의 서버에 붙여넣어 디코드해서는 안 되는 종류의 데이터이기 때문입니다.

이 페이지를 친구들과 공유하거나, 북마크하거나, 링크해 주시면 감사하겠습니다. 감사합니다! 🙏