일괄 생성 개요
일반적인 생성 페이지는 한 번에 1000개까지 만들 수 있지만, 데이터베이스 시드나 부하 테스트에는 그보다 많은 양이 필요합니다. 이 페이지는 한 번에 10,000개까지 만들고 기본값도 1000개로 잡아 두었습니다.
CSV 외에 JSON 내보내기도 제공합니다. 배열 형태로 바로 받아 curl이나 시딩 스크립트에 그대로 넘길 수 있습니다.
사용 방법
- 개수에 원하는 값을 넣습니다. 최대 10,000개입니다.
- UUID 생성을 누릅니다. 몇 초 안에 끝납니다.
- 화면에는 앞부분만 보이므로, 실제로 쓰려면 .csv나 .json으로 내려받으세요.
- 데이터베이스에 넣을 때는 열 순서가 맞는지 한 번 확인하세요.
사용 사례
- 개발 데이터베이스에 넣을 시드 데이터 생성.
- 부하 테스트용 요청 본문과 데이터셋 준비.
- 스키마 마이그레이션 전에 인덱스 성능을 재현해 볼 때.
구조
버전 번호와 변형 번호를 뺀 122비트가 모두 난수입니다. 대량 생성 시 값이 겹치지 않도록 이 페이지도 Web Crypto API를 그대로 사용합니다.
일괄 생성의 역할
| 옵션 | 사용 시점 |
|---|---|
일괄 생성 | 10,000개까지, CSV와 JSON 내보내기 |
UUID v4 | 같은 값을 1000개까지만 만듭니다 |
검증 | 만든 값을 다시 확인하고 싶을 때 |
UUID 버전 한눈에 보기
| 버전 | 정렬 가능 | 값의 출처 | 적합한 용도 |
|---|---|---|---|
| v1 | 불가능 | 타임스탬프 + MAC 주소 | v1을 계속 쓰는 기존 시스템 |
| v3 | 불가능 | 이름의 MD5 해시 | MD5를 꼭 써야 하는 결정적 식별자 |
| v4 | 불가능 | 122비트 난수 | 대부분의 일반적인 고유 식별자 |
| v5 | 불가능 | 이름의 SHA-1 해시 | 같은 이름에서 항상 같은 식별자가 필요할 때 |
| v6 | 가능 | 재배열한 타임스탬프 | 난수성과 정렬을 함께 원할 때 |
| v7 | 가능 | 밀리초 단위 Unix 시간 | 데이터베이스 기본 키와 이벤트 식별자 |
| v8 | 불가능 | 사용자 정의 비트 레이아웃 | 사내 형식과 실험적 용도 |
일곱 버전 모두 128비트이고, 모두 같은 8-4-4-4-12 표기법으로 표현합니다. 차이는 각 비트가 무엇을 담는지뿐입니다.
코드 예제
javascript
// 내려받은 JSON을 바로 순회할 수 있습니다
const ids = await (await fetch('/ids.json')).json();
console.table(ids.slice(0, 5));
python
import csv
with open('uuids.csv', newline='') as f:
ids = [row[1] for row in csv.reader(f) if row and row[0].isdigit()]
java
// 클라이언트에서 만든 값을 그대로 적재합니다
var ids = Files.readAllLines(Path.of("uuids.txt"));
csharp
var ids = File.ReadAllLines("uuids.txt");
sql
-- PostgreSQL의 COPY로 한 번에 적재
COPY items (id) FROM '/path/uuids.csv' CSV HEADER;
자주 묻는 질문
10,000개를 만들면 브라우저가 멈추지 않나요?
멈추지 않습니다. 생성은 몇 초 안에 끝나고, 화면 렌더링만 앞부분으로 제한합니다. 복사와 다운로드에는 생성된 값이 모두 들어갑니다.
왜 다른 페이지는 1000개까지만 되나요?
일반적인 사용에는 1000개면 충분하고, 화면도 가볍게 유지할 수 있기 때문입니다. 대량이 필요한 경우를 이 페이지로 분리했습니다.
JSON과 CSV 중 무엇을 골라야 하나요?
데이터베이스에 적재할 때는 CSV가, 스크립트나 API 호출에 넣을 때는 JSON이 편합니다. 값은 두 형식 모두 동일합니다.