26. mylog 익명 ID
로그인하지 않은 사용자의 조회수 카운트를 위하여 고유의 익명 ID를 생성하여 구분을 합니다. 고유의 익명 ID를 생하기 위하여 uuidv4를 사용합니다. uuidv4는 Universally Unique Identifier version 4의 약자로, 고유한 식별자를 생성하는 표준 중 하나입니다.
ChatGPT에게 물었습니다.
uuidv4를 설명해줘
ChatGPT
uuidv4는 Universally Unique Identifier version 4의 약자로, 고유한 식별자를 생성하는 표준 중 하나입니다. UUID는 네트워크 상에서 고유성을 보장해야 하는 다양한 경우에 사용됩니다. uuidv4는 무작위(random) 데이터를 기반으로 UUID를 생성하는 방식으로, 총 128비트(16바이트) 크기의 값을 가지고 있으며 32개의 16진수로 표현됩니다.
UUIDv4 형식
UUID는 총 36개의 문자로 구성되며, 하이픈(-)으로 구분됩니다. 형식은 아래와 같습니다:
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
- x는 임의의 16진수 값(0-9, a-f)을 나타냅니다.
- 4는 UUID 버전을 나타내며, 버전 4는 무작위(random) UUID임을 의미합니다.
- y는 8, 9, a, 또는 b 중 하나의 값입니다. 이는 variant라고 하며, UUID의 변종을 나타냅니다.
예시:
e5c0b9a2-4bf2-4cb3-a6b2-1abf4f5edc54
주요 특징
- 고유성: uuidv4는 거의 충돌하지 않는 고유한 식별자를 생성할 수 있습니다. 랜덤 값이므로 고유성을 보장하기 위해 네트워크 상에서 특별한 협의가 필요 없습니다.
- 무작위성: 버전 4는 완전히 무작위(random)로 값을 생성합니다. 네트워크, 시간 등의 정보를 기반으로 하지 않고, 오직 랜덤 숫자에 의해 생성됩니다.
- 128비트 길이: 128비트(16바이트)로 이루어져 있어 매우 많은 고유한 값을 생성할 수 있습니다.
사용 예시 (JavaScript)
uuidv4는 주로 uuid 라이브러리를 사용하여 생성합니다. Node.js 환경에서 uuid 라이브러리를 설치하고 사용할 수 있습니다.
1. 설치
npm install uuid
2. 사용법
// uuidv4 불러오기
import { v4 as uuidv4 } from 'uuid';
// UUID 생성
const uniqueId = uuidv4();
console.log(uniqueId); // ex: 'e5c0b9a2-4bf2-4cb3-a6b2-1abf4f5edc54'
실제 사용 예
uuidv4는 주로 다음과 같은 경우에 사용됩니다: - 데이터베이스에서 레코드의 고유 ID 생성 - 트랜잭션의 고유 번호 생성 - 파일 시스템에서 파일을 고유하게 식별할 때 - 세션 ID 또는 API 키 생성
결론
uuidv4는 완전 무작위성을 바탕으로 고유한 식별자를 생성하는 표준이며, 고유한 값을 필요로 하는 다양한 응용 프로그램에서 안전하게 사용할 수 있는 매우 실용적인 도구입니다.