విభజిత వ్యవస్థలు, డేటాబేస్లు మరియు వెబ్ అప్లికేషన్ల కోసం ఔట్-ఆఫ్-ది-బాక్స్ కూలిషన్-రెసిస్టెంట్ యూనిక్ ఐడెంటిఫైయర్స్ (CUIDs) సృష్టించండి. ఈ సాధనం స్కేలు చేయదగిన, సార్టబుల్ మరియు ఔట్-ఆఫ్-ది-బాక్స్ కూలిషన్-రెసిస్టెంట్ CUIDs ని సృష్టిస్తుంది.
ఒక కోలిషన్-రెసిస్టెంట్ IDని త్వరగా మరియు సులభంగా ఉత్పత్తి చేయండి.
CUID (Collision-resistant Unique IDentifier) అనేది ఒక ప్రత్యేక గుర్తింపు సంకేతం, ఇది ఢీకొనడాన్ని నివారించడానికి, అడ్డంగా స్కేలబుల్గా మరియు క్రమబద్ధీకరించడానికి రూపొందించబడింది. CUIDలు ప్రత్యేక గుర్తింపులు అవసరమైన పంపిణీ వ్యవస్థలలో ప్రత్యేకంగా ఉపయోగకరంగా ఉంటాయి, అవి నోడ్ల మధ్య సమన్వయం లేకుండా ఉత్పత్తి చేయాలి.
CUID సాధారణంగా క్రింది భాగాలను కలిగి ఉంటుంది:
CUID అమలుపరంగా నిర్మాణం మారవచ్చు, కానీ ఈ భాగాలు కలిసి ఒక ప్రత్యేక మరియు క్రమబద్ధీకరించగల గుర్తింపును సృష్టించడానికి పనిచేస్తాయి.
ఇక్కడ సాధారణ CUID నిర్మాణం యొక్క దృశ్య ప్రతినిధి ఉంది:
CUIDలను సమయ ఆధారిత మరియు యాదృచ్ఛిక భాగాల కలయిక ఉపయోగించి ఉత్పత్తి చేయబడతాయి. ప్రక్రియ సాధారణంగా క్రింది విధంగా ఉంటుంది:
ఫలితంగా వచ్చే CUID సాధారణంగా అక్షరాలు మరియు సంఖ్యల యొక్క స్ట్రింగ్గా ప్రదర్శించబడుతుంది.
CUIDలు ఇతర ప్రత్యేక గుర్తింపు వ్యవస్థలపై కొన్ని ప్రయోజనాలను అందిస్తాయి:
CUIDల సాధారణ ఉపయోగాలు:
ఇక్కడ వివిధ ప్రోగ్రామింగ్ భాషలలో CUIDలను ఉత్పత్తి చేయడానికి ఉదాహరణలు ఉన్నాయి:
1// జావాస్క్రిప్ట్ (cuid లైబ్రరీని ఉపయోగించి)
2const cuid = require('cuid');
3const id = cuid();
4console.log(id);
5
1## పైన (cuid లైబ్రరీని ఉపయోగించి)
2import cuid
3id = cuid.cuid()
4print(id)
5
1## రూబీ (cuid జెమ్ను ఉపయోగించి)
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// గో (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' కణంలో వినియోగం
17'=GenerateCUID()
18
CUIDలు 2012లో ఎరిక్ ఎల్లియట్ ద్వారా పంపిణీ వ్యవస్థలలో ప్రత్యేక గుర్తింపులను ఉత్పత్తి చేయడానికి పరిష్కారంగా అభివృద్ధి చేయబడినవి. ఈ ఆలోచన ట్విట్టర్ యొక్క స్నోఫ్లేక్ ID వ్యవస్థను ప్రేరేపించింది కానీ విభిన్న ప్లాట్ఫారమ్లలో సులభంగా అమలు చేయడానికి మరియు ఉపయోగించడానికి రూపొందించబడింది.
CUIDల అభివృద్ధి అనేక ప్రోగ్రామింగ్ భాషలు మరియు పరిసరాలలో అమలు చేయడానికి అవసరమైన సులభమైన, ఢీకొనడం నివారించే ID వ్యవస్థ కోసం అవసరం ద్వారా ప్రేరేపించబడింది. ఎల్లియట్ యొక్క లక్ష్యం సులభంగా అమలు చేయగల, కేంద్ర సమన్వయం అవసరం లేకుండా పనిచేయగల మరియు అడ్డంగా స్కేలబుల్గా ఉండే వ్యవస్థను సృష్టించడం.
ఇది ప్రారంభం నుండి CUIDలు అనేక దశాబ్దాలుగా పలు మార్పులు మరియు మెరుగుదలలను ఎదుర్కొన్నారు:
CUIDల పరిణామం పంపిణీ వ్యవస్థల మారుతున్న అవసరాలను మరియు ప్రత్యేక గుర్తింపు ఉత్పత్తిలో సులభత, భద్రత మరియు పనితీరు మధ్య సమతుల్యతను నిలబెట్టడానికి కొనసాగుతున్న ప్రయత్నాలను ప్రతిబింబిస్తుంది.
ఈ CUID జనరేటర్ సాధనం మీ ప్రాజెక్టుల కోసం త్వరగా CUIDలను ఉత్పత్తి చేయడానికి మీకు అనుమతిస్తుంది. కొత్త CUIDను సృష్టించడానికి "జనరేట్" బటన్ను నొక్కండి, మరియు మీ అప్లికేషన్లలో సులభంగా ఉపయోగించడానికి దానిని మీ క్లిప్బోర్డుకు కాపీ చేయడానికి "కాపీ" బటన్ను ఉపయోగించండి.
మీ వర్క్ఫ్లో కోసం ఉపయోగపడవచ్చే ఇతర సాధనాలను కనుగొనండి