UUID JavaScript (Node.js) गाइड: उदाहरण, इंस्टॉलेशन, तरीके

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

UUID JavaScript (Node.js) के लिए: पूरी गाइड उदाहरणों के साथ

1. यह क्या है और इसकी आवश्यकता क्यों है

UUID (Universally Unique Identifier) एक मानक पहचान प्रणाली है, जिसका उपयोग सॉफ्टवेयर डेवलपमेंट में केंद्रीय प्रबंधन की आवश्यकता के बिना यूनिक कुंजियाँ बनाने के लिए किया जाता है। JavaScript (Node.js) के लिए uuid लाइब्रेरी UUID के वर्ज़न 1, 3, 4, 5 और 7 (नवीनतम वर्ज़न में) को जनरेट करने का एक सरल और विश्वसनीय तरीका प्रदान करती है। यह Node.js इकोसिस्टम की सबसे लोकप्रिय और डाउनलोड की जाने वाली लाइब्रेरीज़ में से एक है, जिसकी साप्ताहिक 50 मिलियन से अधिक डाउनलोड हैं।

इसकी आवश्यकता क्यों है? आधुनिक डेवलपमेंट में, लगभग हर एप्लिकेशन को यूनिक आइडेंटिफ़ायर की ज़रूरत होती है: डेटाबेस रिकॉर्ड, यूज़र आइडेंटिफिकेशन, सेशन, ऑर्डर, फ़ाइलें और भी बहुत कुछ। UUID का उपयोग वितरित सिस्टम में भी टकराव (आइडेंटिफ़ायर के मिलान) से बचाता है, जहाँ कई सर्वर एक साथ आइडेंटिफ़ायर जनरेट करते हैं। उदाहरण के लिए, यदि आपके पास माइक्रोसर्विस आर्किटेक्चर है, जहाँ हर सर्विस स्वतंत्र रूप से रिकॉर्ड बनाती है, तो UUID गारंटी देता है कि दो सर्विस कभी भी एक ही ID वाला रिकॉर्ड नहीं बनाएँगी।

uuid लाइब्रेरी कई वर्ज़न को सपोर्ट करती है: v1 (समय और MAC एड्रेस पर आधारित), v4 (रैंडम जनरेशन), v7 (टाइमस्टैम्प + रैंडम डेटा — डेटाबेस के लिए ऑप्टिमाइज़्ड नया स्टैंडर्ड)। वर्ज़न 4 अपनी सरलता और उच्च यूनिकनेस के कारण सबसे आम है। वर्ज़न 7 को नए प्रोजेक्ट्स के लिए अनुशंसित किया जाता है, क्योंकि यह समय के अनुसार प्राकृतिक सॉर्टिंग प्रदान करता है, जिससे डेटाबेस इंडेक्स की परफॉरमेंस बेहतर होती है।

2. इंस्टॉलेशन

Node.js प्रोजेक्ट में uuid लाइब्रेरी इंस्टॉल करने के लिए npm (Node Package Manager) का उपयोग करें। अपने प्रोजेक्ट की रूट फ़ोल्डर में टर्मिनल खोलें और यह कमांड चलाएँ:

npm install uuid

यदि आप yarn का उपयोग कर रहे हैं:

yarn add uuid

इंस्टॉलेशन के बाद, लाइब्रेरी आपके कोड में इम्पोर्ट करने के लिए उपलब्ध होगी। TypeScript प्रोजेक्ट्स के लिए टाइप्स भी उपलब्ध हैं (पैकेज के साथ स्वचालित रूप से इंस्टॉल होते हैं)।

3. त्वरित शुरुआत — न्यूनतम कार्यशील उदाहरण

example.js नामक फ़ाइल बनाएँ और इसमें निम्नलिखित कोड जोड़ें:

import { v4 as uuidv4 } from 'uuid';

// एक UUID v4 जनरेट करें
const myUUID = uuidv4();
console.log('जनरेट किया गया UUID:', myUUID);
// आउटपुट उदाहरण: '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'

फ़ाइल को node example.js कमांड से चलाएँ। आप कंसोल में जनरेट किया गया UUID देखेंगे। यह एक न्यूनतम उदाहरण है जो लाइब्रेरी की मुख्य कार्यक्षमता — एक आइडेंटिफ़ायर जनरेट करना — दर्शाता है।

4. मुख्य तरीके/फ़ंक्शन

uuid लाइब्रेरी विभिन्न वर्ज़न के UUID जनरेट करने के लिए कई फ़ंक्शन प्रदान करती है। आइए प्रत्येक को विस्तार से देखें।

4.1. v1() — UUID वर्ज़न 1 (समय-आधारित)

सिग्नेचर: v1(options?, buffer?, offset?)

विवरण: UUID वर्ज़न 1 जनरेट करता है, जिसमें टाइमस्टैम्प (15 अक्टूबर 1582 से 100-नैनोसेकंड अंतराल) और डिवाइस का MAC एड्रेस शामिल होता है। यह समय और स्थान में यूनिकनेस सुनिश्चित करता है। हालाँकि, MAC एड्रेस का उपयोग गोपनीयता के दृष्टिकोण से समस्या हो सकता है।

import { v1 as uuidv1 } from 'uuid';

const uuid1 = uuidv1();
console.log('UUID v1:', uuid1);
// उदाहरण: 'c9b1deb4-3b7d-11ec-8d3d-0242ac130003'

// विकल्पों के साथ: MAC एड्रेस बंद करें (रैंडम नोड का उपयोग करें)
const uuid1NoMac = uuidv1({ node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab] });
console.log('कस्टम नोड के साथ UUID v1:', uuid1NoMac);

4.2. v4() — UUID वर्ज़न 4 (रैंडम)

सिग्नेचर: v4(options?, buffer?, offset?)

विवरण: पूरी तरह से रैंडम UUID जनरेट करता है। यह सबसे सरल और सबसे अधिक उपयोग किया जाने वाला वर्ज़न है। इसमें 122 बिट्स रैंडम डेटा होते हैं, जो टकराव की संभावना को बहुत कम कर देते हैं।

import { v4 as uuidv4 } from 'uuid';

const uuid4 = uuidv4();
console.log('UUID v4:', uuid4);
// उदाहरण: '110ec58a-a0f2-4ac4-8393-c866d813b8d1'

// बैच में कई UUID जनरेट करें
const uuids = Array.from({ length: 5 }, () => uuidv4());
console.log('5 UUID v4:', uuids);

4.3. v7() — UUID वर्ज़न 7 (टाइमस्टैम्प-आधारित)

सिग्नेचर: v7(options?, buffer?, offset?)

विवरण: UUID वर्ज़न 7 एक नया मानक है जो टाइमस्टैम्प (मिलीसेकंड सटीकता) और रैंडम डेटा को जोड़ता है। यह डेटाबेस के लिए ऑप्टिमाइज़्ड है क्योंकि UUID समय के अनुसार क्रमबद्ध होते हैं, जिससे B-ट्री इंडेक्स की परफॉरमेंस बेहतर होती है।

import { v7 as uuidv7 } from 'uuid';

const uuid7 = uuidv7();
console.log('UUID v7:', uuid7);
// उदाहरण: '018f3a5e-9b7d-7b3d-8d3d-0242ac130003'

// कस्टम टाइमस्टैम्प के साथ
const customTime = Date.now() - 3600000; // 1 घंटा पहले
const uuid7Custom = uuidv7({ msecs: customTime });
console.log('कस्टम टाइम के साथ UUID v7:', uuid7Custom);

अनुशंसाएँ