Zalisha ULIDs mara moja kwa kutumia chombo chetu cha bure mtandaoni. Unda Vitambulisho vya Kipekee vya Kimataifa vya Kuandikwa kwa Mpangilio kwa ajili ya hifadhidata, APIs & mifumo iliyosambazwa.
Tengeneza ULIDs mara moja kwa kutumia zana yetu ya bure ya kizazi cha ULID mtandaoni. Tengeneza Vitambulisho vya Kipekee vya Kijumla vya Kuweka Kisheria vinavyounganisha alama za muda na data ya nasibu iliyo salama kwa ajili ya funguo za hifadhidata, mifumo iliyosambazwa, na programu za wavuti.
ULID (Vitambulisho vya Kipekee vya Kijumla vya Kuweka Kisheria) ni mfumo wa vitambulisho vya kipekee unaounganisha alama ya muda na data ya nasibu ili kuunda mfuatano wa herufi 26. Tofauti na UUID za jadi, ULIDs zinaweza kuwekwa kisheria huku zikihifadhi kipekee na nasibu ya kificho, na kuzifanya kuwa bora kwa programu za kisasa zilizosambazwa.
Zana yetu ya kizazi cha ULID inaunda vitambulisho vya kipekee mara moja:
Muundo wa kitambulisho cha ULID unajumuisha sehemu mbili kuu:
Mfuatano wa herufi 26 unaotokana nao umeandikwa kwa kutumia alfabeti ya Crockford's base32 (0-9 na A-Z, ikiondoa I, L, O, na U).
ULID inaundwa kwa kutumia hatua zifuatazo:
Kizazi cha ULID kinatekeleza hatua zifuatazo:
Vizazi vya ULID ni muhimu kwa maendeleo ya programu za kisasa katika hali mbalimbali:
Kipengele | ULID | UUID |
---|---|---|
Kuweza kuwekwa | Inaweza kuwekwa kisheria | Haiwezi kuwekwa |
Alama ya muda | Inajumuisha alama ya muda ya milisekunde | Hakuna alama ya muda (v4) |
Urefu | Herufi 26 | Herufi 36 (pamoja na alama za kuunganisha) |
Uandishi | Crockford's Base32 | Hexadecimal |
Uwezo wa kesi | Haina kesi | Haina kesi |
Linganishi vizazi vya ULID na suluhisho nyingine za vitambulisho vya kipekee:
Tekeleza kizazi cha ULID katika lugha mbalimbali za programu:
1// Utekelezaji wa JavaScript
2function generateULID() {
3 const timestamp = Date.now().toString(36).padStart(10, '0');
4 const randomness = crypto.getRandomValues(new Uint8Array(16))
5 .reduce((acc, byte) => acc + byte.toString(36).padStart(2, '0'), '');
6 return (timestamp + randomness).toUpperCase();
7}
8
9console.log(generateULID());
10
1## Utekelezaji wa Python
2import time
3import secrets
4import base64
5
6def generate_ulid():
7 timestamp = int(time.time() * 1000).to_bytes(6, byteorder="big")
8 randomness = secrets.token_bytes(10)
9 return base64.b32encode(timestamp + randomness).decode("ascii").lower()
10
11print(generate_ulid())
12
1// Utekelezaji wa Java
2import java.security.SecureRandom;
3import java.time.Instant;
4
5public class ULIDGenerator {
6 private static final SecureRandom random = new SecureRandom();
7 private static final char[] ENCODING_CHARS = "0123456789ABCDEFGHJKMNPQRSTVWXYZ".toCharArray();
8
9 public static String generateULID() {
10 long timestamp = Instant.now().toEpochMilli();
11 byte[] randomness = new byte[10];
12 random.nextBytes(randomness);
13
14 StringBuilder result = new StringBuilder();
15 // Andika alama ya muda
16 for (int i = 9; i >= 0; i--) {
17 result.append(ENCODING_CHARS[(int) (timestamp % 32)]);
18 timestamp /= 32;
19 }
20 // Andika nasibu
21 for (byte b : randomness) {
22 result.append(ENCODING_CHARS[b & 31]);
23 }
24 return result.toString();
25 }
26
27 public static void main(String[] args) {
28 System.out.println(generateULID());
29 }
30}
31
Mifano hii ya kodi ya ULID inaonyesha utekelezaji katika lugha maarufu za programu. Badilisha kazi hizi kwa ajili ya maombi yako maalum au ziunganishe katika mifumo mikubwa inayohitaji vitambulisho vya kipekee.
ULID (Vitambulisho vya Kipekee vya Kijumla vya Kuweka Kisheria) ni kitambulisho cha kipekee cha herufi 26 kinachounganisha alama ya muda na data ya nasibu iliyo salama. Tofauti na UUIDs, ULIDs zinahifadhi mpangilio wa muda unapowekwa kisheria.
Tumia zana yetu ya bure ya kizazi cha ULID hapo juu kuunda vitambulisho vya kipekee mara moja. Bonyeza tu kitufe cha tengeneza ili kuunda ULIDs mpya, kisha nakili matokeo kwa matumizi katika programu zako.
ULIDs zinaweza kuwekwa kwa wakati wa uundaji, zinatumia herufi 26 na uandishi wa Crockford's Base32, na zinajumuisha alama za muda. UUIDs ni herufi 36 (pamoja na alama za kuunganisha), zinatumia uandishi wa hexadecimal, na hazina mpangilio wa asili.
Ndio, vizazi vya ULID vinatumia kizazi cha nambari za nasibu zilizo salama kwa sehemu ya nasibu ya bits 80, na kutoa upinzani mkubwa wa mgongano huku zikihifadhi mpangilio wa muda.
Hakika! ULIDs ni funguo kuu bora za hifadhidata kwa sababu ni za kipekee, zina mpangilio wa asili kwa wakati wa uundaji, na hazihitaji uratibu wa kati katika mifumo iliyosambazwa.
ULIDs zinatumia uandishi wa Crockford's Base32 (0-9 na A-Z, ikiondoa I, L, O, U) ambayo haina kesi na ni salama kwa URL, na kuzifanya kuwa bora kwa programu za wavuti.
ULIDs zina urefu wa herufi 26, na kuzifanya kuwa fupi zaidi kuliko UUID za kawaida (herufi 36 pamoja na alama za kuunganisha) huku zikitoa kiwango sawa cha kipekee.
Ndio, kizazi cha ULID kinafanya kazi bila mtandao kwani kinahitaji tu alama ya muda ya sasa na jenereta ya nambari ya nasibu iliyo salama - hakuna muunganisho wa mtandao unahitajika.
Anza kutengeneza vitambulisho vya kipekee vya kuweka sasa kwa kutumia zana yetu ya bure ya kizazi cha ULID.
Gundua zana zaidi ambazo zinaweza kuwa na manufaa kwa mtiririko wako wa kazi