저는 오랫동안 Node.js를 사용해 왔으며 프로젝트에서 UUID를 생성하기 위해 항상 uuid 패키지를 사용해 왔습니다. 훌륭한 패키지이고 잘 작동하지만, 어떤 측면에서는 개선될 수 있다고 항상 느꼈습니다.
간단한 API
uuid 패키지에 대해 항상 나를 괴롭히는 것 중 하나는 기본 형식의 간단한 UUID 생성으로 제한된다는 것입니다. 다른 형식으로 변환하는 방법을 알아야 하는데, 초보자에게는 다소 혼란스러울 수 있습니다.
긴 UUID 문자열
UUID 문자열은 표준 형식이지만 URL이나 base64와 같이 보다 간결한 표현이 필요한 기타 컨텍스트에는 적합하지 않습니다. 이렇게 하면 UUID 문자열을 구문 분석하고 다른 형식으로 변환해야 하는데 이는 다소 번거로울 수 있습니다.
저장 효율성
또한 UUID의 문자열 형식은 저장 공간 측면에서 그리 효율적이지 않습니다. 36자를 사용하여 16바이트 값을 표현하는데, 이는 데이터베이스 저장이나 네트워크를 통한 저장이나 전송에 그다지 효율적이지 않습니다.
이러한 문제를 해결하기 위해 저는 보다 사용자 친화적인 API와 다양한 형식의 UUID 자동 구문 분석을 제공하는 @uuid-ts/uuid라는 새 패키지를 만들기로 결정했습니다. 또한 UUID를 다른 형식으로 변환하고 UUID를 검증하는 유틸리티 기능도 포함되어 있습니다.
Node.js와 브라우저 환경 모두에서 사용할 수 있는 UUID 버전 7을 지원하는 간단한 TypeScript 클래스입니다. 동형이며 추가 구성 없이 최신 JavaScript 및 TypeScript와 함께 사용할 수 있습니다.
기존 UUID를 문자열로 구문 분석:
const uuidString = '01932c07-209c-7401-9658-4e7a759e7bf7'; const uuid = new Uuid(uuidString); // methods uuid.toHex(); // '01932c07-209c-7401-9658-4e7a759e7bf7'; uuid.toBase64(); // 'AZMsByCcdAGWWAAATnp1ng'; uuid.toBuffer(); // [Buffer] uuid.toInstance<Binary>(Binary); // [Binary]
새 UUID 생성:
const uuid = new Uuid(); uuid.toString(); // '01932c0a-235b-7da6-8153-aee356735b58'
Node.js 버퍼에서 UUID 구문 분석:
const uuid = new Uuid(buffer); uuid.toString(); // '01932c0b-e834-7b5a-9bae-2964245fc0b6'
다음 유틸리티 기능도 함께 제공됩니다.
Uuid.bufferToUuidHex(버퍼: 버퍼): 문자열
Uuid.uuidBufferFromHex(uuidHexString: 문자열): 버퍼
Uuid.isUuidHexString(uuid: 문자열 | 버퍼): 부울
Uuid.isUuidBase64String(uuid: 문자열 | 버퍼): 버퍼 | 널
Uuid.fromHex(hexString: string): Uuid
Uuid.fromBase64(base64String: string): Uuid
Uuid.fromBuffer(버퍼: 버퍼): Uuid
이 패키지가 귀하에게 유용하고 보다 효율적이고 사용자 친화적인 방식으로 UUID를 사용하는 데 도움이 되기를 바랍니다. 피드백이나 제안 사항이 있으면 알려주시기 바랍니다.
npm https://www.npmjs.com/package/@uuid-ts/uuid에서 패키지를 찾을 수 있습니다.
위 내용은 Node.js용 새 UUID 패키지를 만든 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!