વિતરિત સિસ્ટમો, ડેટાબેસ અને વેબ એપ્લિકેશન્સ માટે ટકરાવા-પ્રતિરોધક અનન્ય ઓળખપત્રો (CUIDs) જનરેટ કરો. આ સાધન CUIDs બનાવે છે જે સ્કેલેબલ, સૉર્ટેબલ અને ટકરાવવાની ખૂબ જ ઓછા સંભાવના ધરાવે છે.
ઝડપી અને સરળતાથી ટકરાવ-પ્રતિરોધક ID બનાવો.
CUID (Collision-resistant Unique IDentifier) એ એક અનન્ય ઓળખપત્ર છે જે ટકરાવ-વિરોધી, આડવાં સ્કેલેબલ અને ક્રમબદ્ધ રીતે સૉર્ટ કરી શકાય તેવા માટે ડિઝાઇન કરવામાં આવ્યું છે. CUIDs ખાસ કરીને વિતરિત સિસ્ટમોમાં ઉપયોગી છે જ્યાં અનન્ય ઓળખપત્રો નોડ્સ વચ્ચે સંકલન વિના જનરેટ કરવાની જરૂર હોય છે.
CUID સામાન્ય રીતે નીચેના ઘટકોમાં વહેંચાય છે:
ચોક્કસ રચના CUID અમલ પર આધાર રાખે છે, પરંતુ આ ઘટકો મળીને એક અનન્ય અને ક્રમબદ્ધ ઓળખપત્ર બનાવવા માટે કામ કરે છે.
અહીં એક સામાન્ય CUID રચનાનો દૃશ્ય પ્રદર્શન છે:
CUIDs સમય આધારિત અને રૅન્ડમ ઘટકોના સંયોજનનો ઉપયોગ કરીને જનરેટ થાય છે. પ્રક્રિયા સામાન્ય રીતે નીચેની રીતે થાય છે:
પરિણામે મળતું CUID સામાન્ય રીતે અક્ષરો અને સંખ્યાઓની એક પંક્તિ તરીકે રજૂ કરવામાં આવે છે.
CUIDs અન્ય અનન્ય ઓળખપત્ર સિસ્ટમો કરતા ઘણા ફાયદા આપે છે:
CUIDs ના સામાન્ય ઉપયોગના કેસોમાં સામેલ છે:
અહીં વિવિધ પ્રોગ્રામિંગ ભાષાઓમાં CUIDs જનરેટ કરવાની ઉદાહરણો છે:
1// જાવાસ્ક્રિપ્ટ (કુઈડ લાઈબ્રેરીનો ઉપયોગ કરીને)
2const cuid = require('cuid');
3const id = cuid();
4console.log(id);
5
1## પાયથન (કુઈડ લાઈબ્રેરીનો ઉપયોગ કરીને)
2import cuid
3id = cuid.cuid()
4print(id)
5
1## રૂબી (કુઈડ જમનો ઉપયોગ કરીને)
2require 'cuid'
3id = Cuid::generate
4puts id
5
1// જાવા (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// સ્વિફ્ટ (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' Usage in a cell
17'=GenerateCUID()
18
CUIDs મૂળભૂત રીતે 2012 માં એરિક એલિયોટ દ્વારા વિકસાવવામાં આવ્યા હતા, જે વિતરિત સિસ્ટમોમાં અનન્ય ઓળખપત્રો જનરેટ કરવાની સમસ્યાનો ઉકેલ હતો. આ વિચાર ટ્વિટરનું સ્નોફ્લેક ID સિસ્ટમથી પ્રેરિત હતો, પરંતુ તે વિવિધ પ્લેટફોર્મમાં વધુ સરળતાથી અમલમાં મૂકવા અને ઉપયોગમાં લેવા માટે ડિઝાઇન કરવામાં આવ્યો હતો.
CUIDs ના વિકાસને એક સરળ, ટકરાવ-વિરોધી ID સિસ્ટમની જરૂર હતી જે વિવિધ પ્રોગ્રામિંગ ભાષાઓ અને પર્યાવરણોમાં કાર્ય કરી શકે. એલિયોટનો ઉદ્દેશ એ એક એવી સિસ્ટમ બનાવવી હતી જે અમલમાં સરળ, કેન્દ્રિય સંકલનની જરૂર ન હોય, અને આડવાં સ્કેલ કરી શકે.
તેના સ્થાપન પછી, CUIDs ઘણા ફેરફારો અને સુધારાઓમાંથી પસાર થયા છે:
CUIDs નો વિકાસ વિતરિત સિસ્ટમોના બદલાતા જરૂરિયાતોને દર્શાવે છે અને અનન્ય ઓળખપત્ર જનરેશનમાં સરળતા, સુરક્ષા અને કાર્યક્ષમતા વચ્ચે સંતુલન જાળવવા માટેની સતત કોશિશને દર્શાવે છે.
આ CUID જનરેટર સાધન તમને તમારા પ્રોજેક્ટ્સ માટે ઝડપી CUIDs જનરેટ કરવાની મંજૂરી આપે છે. નવા CUID બનાવવા માટે "જનરેટ" બટન પર ક્લિક કરો, અને તમારા એપ્લિકેશન્સમાં સરળતાથી ઉપયોગ માટે તેને ક્લિપબોર્ડમાં નકલ કરવા માટે "કોપી" બટનનો ઉપયોગ કરો.
તમારા વર્કફ્લો માટે ઉપયોગી થવાના વધુ સાધનો શોધો