>웹 프론트엔드 >JS 튜토리얼 >Node.js용 새 UUID 패키지를 만든 이유

Node.js용 새 UUID 패키지를 만든 이유

Susan Sarandon
Susan Sarandon원래의
2024-11-15 16:53:03563검색

Why I created a new UUID package for Node.js

저는 오랫동안 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와 함께 사용할 수 있습니다.

특징

  • 16진수, base64 또는 버퍼에서 UUID 자동 구문 분석
  • UUID 자동 생성(기본값은 v7)
  • UUID를 16진수, base64 또는 버퍼로 쉽게 변환
  • 기존 문자열이나 버퍼의 유효성을 검사하는 유틸리티 메서드

용법

기존 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.