वितरित प्रणाली, डेटाबेस आणि वेब अनुप्रयोगांसाठी टकराव-प्रतिरोधक अद्वितीय ओळखपत्रे (CUIDs) तयार करा. हे साधन CUIDs तयार करते जे स्केलेबल, क्रमबद्ध आणि टकरावाची अत्यंत कमी शक्यता असलेली आहेत.
जल्दी आणि सोप्या पद्धतीने टकराव-प्रतिरोधक आयडी तयार करा.
CUID (Collision-resistant Unique IDentifier) एक अद्वितीय संकेतक आहे जो टकराव-प्रतिरोधक, आडव्या स्केलेबल आणि अनुक्रमाने क्रमबद्ध करण्यासाठी डिझाइन केलेले आहे. CUIDs विशेषतः वितरित प्रणालींमध्ये उपयुक्त आहेत जिथे अद्वितीय संकेतक समन्वयाशिवाय तयार करणे आवश्यक आहे.
CUID सामान्यतः खालील घटकांचा समावेश करतो:
सुसंगत रचनांमध्ये भिन्नता असू शकते, परंतु हे घटक एकत्रितपणे एक अद्वितीय आणि क्रमबद्ध संकेतक तयार करण्यासाठी कार्य करतात.
येथे एक सामान्य CUID संरचनेचे दृश्य प्रतिनिधित्व आहे:
CUIDs वेळ आधारित आणि यादृच्छिक घटकांच्या संयोजनाचा वापर करून तयार केले जातात. प्रक्रिया सामान्यतः खालीलप्रमाणे असते:
उत्पन्न CUID सामान्यतः अक्षरे आणि संख्यांचा एक स्ट्रिंग म्हणून दर्शविला जातो.
CUIDs इतर अद्वितीय संकेतक प्रणालींवर अनेक फायदे देतात:
CUIDs च्या सामान्य वापर प्रकरणांमध्ये समाविष्ट आहेत:
येथे विविध प्रोग्रामिंग भाषांमध्ये CUIDs तयार करण्याचे उदाहरणे आहेत:
1// JavaScript ('cuid' लायब्ररी वापरून)
2const cuid = require('cuid');
3const id = cuid();
4console.log(id);
5
1## Python ('cuid' लायब्ररी वापरून)
2import cuid
3id = cuid.cuid()
4print(id)
5
1## Ruby ('cuid' जेम वापरून)
2require 'cuid'
3id = Cuid::generate
4puts id
5
1// Java ('com.github.f4b6a3.cuid' लायब्ररी वापरून)
2import com.github.f4b6a3.cuid.Cuid;
3
4public class CuidExample {
5 public static void main(String[] args) {
6 String id = Cuid.createCuid();
7 System.out.println(id);
8 }
9}
10
1// C# ('Cuid.Net' NuGet पॅकेज वापरून)
2using Cuid;
3
4class Program
5{
6 static void Main(string[] args)
7 {
8 string id = CuidGenerator.Generate();
9 Console.WriteLine(id);
10 }
11}
12
1// PHP ('endyjasmi/cuid' पॅकेज वापरून)
2<?php
3require 'vendor/autoload.php';
4use Endyjasmi\Cuid\Cuid;
5
6$id = Cuid::make();
7echo $id;
8
1// Go ('github.com/lucsky/cuid' पॅकेज वापरून)
2package main
3
4import (
5 "fmt"
6 "github.com/lucsky/cuid"
7)
8
9func main() {
10 id := cuid.New()
11 fmt.Println(id)
12}
13
1// Swift ('CUID' पॅकेज वापरून)
2import CUID
3
4let id = CUID()
5print(id)
6
1// C++ (कस्टम अंमलबजावणी वापरून)
2#include <iostream>
3#include <chrono>
4#include <random>
5#include <sstream>
6#include <iomanip>
7
8std::string generateCUID() {
9 auto now = std::chrono::system_clock::now();
10 auto now_ms = std::chrono::time_point_cast<std::chrono::milliseconds>(now);
11 auto value = now_ms.time_since_epoch();
12 long duration = value.count();
13
14 std::random_device rd;
15 std::mt19937 gen(rd());
16 std::uniform_int_distribution<> dis(0, 35);
17
18 std::stringstream ss;
19 ss << 'c';
20 ss << std::hex << std::setfill('0') << std::setw(8) << duration;
21 for (int i = 0; i < 8; i++) {
22 int r = dis(gen);
23 ss << (char)(r < 10 ? '0' + r : 'a' + r - 10);
24 }
25 return ss.str();
26}
27
28int main() {
29 std::string id = generateCUID();
30 std::cout << id << std::endl;
31 return 0;
32}
33
1% MATLAB (कस्टम अंमलबजावणी वापरून)
2function id = generateCUID()
3 timestamp = dec2hex(round(posixtime(datetime('now'))*1000), 8);
4 random = '';
5 for i = 1:8
6 random = [random char(randi([48 57 97 122]))];
7 end
8 id = ['c' timestamp random];
9end
10
11% वापर
12id = generateCUID();
13disp(id);
14
1## R (कस्टम अंमलबजावणी वापरून)
2library(lubridate)
3
4generate_cuid <- function() {
5 timestamp <- format(as.numeric(now()) * 1000, scientific = FALSE)
6 timestamp <- substr(timestamp, 1, 8)
7 random <- paste0(sample(c(0:9, letters[1:6]), 8, replace = TRUE), collapse = "")
8 paste0("c", timestamp, random)
9}
10
11## वापर
12id <- generate_cuid()
13print(id)
14
1' Excel VBA (कस्टम अंमलबजावणी वापरून)
2Function GenerateCUID() As String
3 Dim timestamp As String
4 Dim random As String
5 Dim i As Integer
6
7 timestamp = Right("00000000" & Hex(CLng(CDbl(Now()) * 86400000)), 8)
8
9 For i = 1 To 8
10 random = random & Mid("0123456789abcdef", Int(Rnd() * 16) + 1, 1)
11 Next i
12
13 GenerateCUID = "c" & timestamp & random
14End Function
15
16' सेलमध्ये वापर
17'=GenerateCUID()
18
CUIDs मूळतः Eric Elliott द्वारे 2012 मध्ये वितरित प्रणालींमध्ये अद्वितीय संकेतक तयार करण्याच्या समस्येचे समाधान म्हणून विकसित केले गेले. या संकल्पनेला Twitter च्या Snowflake ID प्रणालीने प्रेरित केले, परंतु अधिक सहजपणे लागू आणि विविध प्लॅटफॉर्मवर वापरले जाऊ शकते.
CUIDs चा विकास एक साधा, टकराव-प्रतिरोधक ID प्रणाली निर्माण करण्याच्या आवश्यकतेद्वारे प्रेरित होता, जी विविध प्रोग्रामिंग भाषांमध्ये आणि वातावरणांमध्ये कार्य करू शकेल. Elliott चा उद्देश एक प्रणाली तयार करणे होता जी लागू करण्यास सोपी असेल, केंद्रीय समन्वयाची आवश्यकता नसेल आणि आडवे स्केल करू शकेल.
त्याच्या सुरुवातीपासून, CUID अनेक आवृत्त्या आणि सुधारणा झाल्या आहेत:
CUIDs चा विकास वितरित प्रणालींच्या बदलत्या गरजांचे प्रतिबिंब आहे आणि अद्वितीय संकेतक निर्मितीमध्ये साधेपणा, सुरक्षा आणि कार्यक्षमता यांचे संतुलन साधण्याच्या सततच्या प्रयत्नांचे प्रतिनिधित्व करतो.
हा CUID जनरेटर टूल तुम्हाला तुमच्या प्रकल्पांसाठी जलद CUID तयार करण्यास अनुमती देतो. नवीन CUID तयार करण्यासाठी "जनरेट" बटणावर क्लिक करा, आणि तुमच्या अनुप्रयोगांमध्ये सोयीसाठी ते तुमच्या क्लिपबोर्डवर कॉपी करण्यासाठी "कॉपी" बटणाचा वापर करा.
आपल्या कामच्या प्रक्रियेसाठी उपयुक्त असणारे अधिक उपकरण शोधा.