ULID ထုတ်ပေးသည့် ကိရိယာ

ULID များကို အွန်လိုင်းတွင် ထုတ်ယူပါ — ၄၈ ဘစ် အချိန်စနစ်နှင့် ၈၀ ဘစ် ကျပန်းစနစ် ပါဝင်သော Crockford Base32 စာလုံး ၂၆ လုံးပါ ID များ ဖြစ်သည်။

ပုံစံ
ထုတ်လုပ်ထားသော ID များ
အဆင်သင့်ဖြစ်ပါပြီ။ သင့်ဘရောက်ဇာတွင် ULID များကို ထုတ်ယူပါ။

ဤ ID ကို တည်ဆောက်ပုံ

ပုံစံတည်ဆောက်ပုံ
Crockford Base32 စာလုံး ၂၆ လုံး — အချိန်ပြ စာလုံး ၁၀ လုံးနှင့် ၎င်းနောက်တွင် ကျပန်းစာလုံး ၁၆ လုံး ပါဝင်သည်။
အန်ထရိုပီ (Entropy)
၄၈ ဘစ် မီလီစက္ကန့် အချိန်မှတ်ပြီးနောက် ကျပန်းစနစ် ၈၀ ဘစ် ပါဝင်သည်။
အချိန်
ဟုတ်ကဲ့။ ပထမ စာလုံး ၁၀ လုံးသည် မီလီစက္ကန့်အချိန်ကို ကုဒ်ပြောင်းထားခြင်းဖြစ်ပြီး အစီအစဉ်သည် အချိန်အတိုင်း ဖြစ်သည်။
တိုက်ဆိုင်မှု ဖြစ်နိုင်ခြေ
ကျပန်းအပိုင်းတွင် ၈၀ ဘစ် ပါဝင်သည် — တိုက်ဆိုင်မှုဖြစ်နိုင်ခြေသည် တစ်မီလီစက္ကန့်တည်းတွင် ID မည်မျှထုတ်ယူသနည်းဆိုသည့်အချက်ပေါ်တွင်သာ အဓိကမူတည်သည်။
ဥပမာ
01M12BRQBTKR1KJGYAFBD821BA

သင့် ID များကို သင့်ဘရောက်ဇာ၏ ကျပန်းစနစ်ဖြင့်သာ ထုတ်လုပ်ပေးပါသည်။ BroBroGo သို့ မည်သည့်အရာမျှ မပို့ပါ။

အမေးများသော မေးခွန်းများ (FAQ)

ULID ကို မည်သည့်နေရာတွင် အသုံးပြုရန် သင့်တော်သနည်း။

ULID သည် ကျစ်လျစ်ပြီး URL နှင့် အဆင်ပြေကာ စာသားအဖြစ် အချိန်အလိုက် စီနိုင်သည် — ၎င်းသည် မှတ်တမ်းများ (logs)၊ object keys များနှင့် ဖန်တီးချိန်အလိုက် စီလိုသော မှတ်တမ်းများအတွက် အလွန်အသုံးဝင်သည်။

ULID နှင့် UUID v7 သည် အတူတူပင် ဖြစ်ပါသလား။

မဟုတ်ပါ။ နှစ်ခုလုံးတွင် မီလီစက္ကန့်အချိန် ပါဝင်သော်လည်း ULID သည် Crockford Base32 နှင့် စာလုံး ၂၆ လုံးကို သုံးပြီး UUID v7 သည် ပုံမှန် UUID hexadecimal ပုံစံကို ဆက်လက်အသုံးပြုသည်။

ULID Generator – အချိန်အလိုက် စီနိုင်သော 26-လုံး Identifier များ

ဤစာမျက်နှာတွင် ULID (Universally Unique Lexicographically Sortable Identifier) ပုံစံဖြင့် identifier များကို ထုတ်ပေးနိုင်သည်။ အသုံးပြုသူသည် 1 ခုမှ 100 ခုအထိ လိုချင်သော identifier အရေအတွက်ကို ရွေးချယ်နိုင်ပြီး၊ ထိုအရေအတွက်အတိုင်း ထူးခြားပြီး အချိန်အလိုက် စီနိုင်သော ULID စာရင်းကို ချက်ချင်းရရှိမည်ဖြစ်သည်။ ထုတ်ပေးလိုက်သော identifier တစ်ခုစီသည် 26 လုံးပါဝင်သော case-insensitive string တစ်ခုဖြစ်ပြီး၊ တစ်ခုချင်းစီ သို့မဟုတ် အားလုံးကို တစ်ပြိုင်နက် ကူးယူနိုင်သည်။

အခြား Format များနှင့် ကွာခြားချက်များ

ULID သည် UUID ထက် ပိုတိုသည် (26 လုံး vs 36 လုံး)။ Crockford ၏ base32 alphabet (0-9, A-Z မှ I, L, O, U ကိုဖယ်ထားသော) ကိုသုံးထားသောကြောင့် case-insensitive ဖြစ်ပြီး hyphen မပါဝင်ပါ။ ပထမ 10 လုံးသည် millisecond တိကျမှုရှိသော timestamp ကိုကိုယ်စားပြုသောကြောင့် ULID များကို ဖန်တီးချိန်အလိုက် lexicographically စီနိုင်သည်။ ၎င်းတို့သည် URL-safe လည်းဖြစ်ပြီး မည်သည့် escaping မှမလိုအပ်ပါ။ ဤစာမျက်နှာတွင် uppercase သို့မဟုတ် hyphen အတွက် toggle များမရှိပါ၊ ULID သည် မူလအတိုင်း case-insensitive ဖြစ်ပြီး hyphen မပါသောကြောင့်ဖြစ်သည်။ ကျပန်းအပိုင်းသည် ကျန် 16 လုံး (80 bits) ကိုဖြည့်ထားပြီး၊ စုစုပေါင်း underlying value သည် 128 bits ဖြစ်သည်။

Input နှင့် Output များ

Input များ:

  • Format ကို ULID ဟုသတ်မှတ်ထားရမည်။
  • Count: 1 မှ 100 အထိရှိသော ကိန်းပြည့်တစ်ခု။

Output များ:

  • တောင်းဆိုထားသော ULID string အရေအတွက်အတိုင်း စာရင်းတစ်ခု။
  • ID မည်မျှထုတ်လိုက်ကြောင်းပြသသော အရေအတွက်တစ်ခု။
  • Status messages: "Ready." (အဆင်သင့်), "Generated." (ထုတ်ပြီးပါပြီ), နှင့် "Copied all!" (အားလုံးကူးပြီးပါပြီ) — စာရင်းတစ်ခုလုံးကို ကူးယူသည့်အခါပြသသည်။
  • (ULID အတွက် uppercase သို့မဟုတ် hyphen toggle များမပေါ်ပါ။)

စည်းမျဉ်းများနှင့် ဘေးအနားအခြေအနေများ

  • ULID သည် 26 လုံးပါဝင်သော string တစ်ခုဖြစ်ပြီး၊ ပထမ 10 လုံးသည် millisecond timestamp ဖြစ်ကာ နောက်ပိုင်း 16 လုံးသည် ကျပန်းအစိတ်အပိုင်းဖြစ်သည်။
  • ULID များကို ဖန်တီးချိန်အလိုက် စီနိုင်သော်လည်း တူညီသော millisecond အတွင်း ထုတ်လိုက်သော ID များအတွက် အတိအကျ အစီအစဉ်ကျရန် အာမမခံနိုင်ပါ။
  • မည်သည့် option (format, count, သို့မဟုတ် အခြား) ကိုပြောင်းလဲပါက ID စာရင်းကို အသစ်ပြန်ထုတ်ပေးသည်။
  • ULID တစ်ခုကို နှိပ်ပါက clipboard သို့ ကူးယူပေးသည်။
  • တစ်ကြိမ်လျှင် ID 1 ခုမှ 100 ခုအထိသာ ထုတ်ပေးနိုင်ပြီး၊ ထိုအကွာအဝေးပြင်ပရှိ တန်ဖိုးများကို လက်မခံပါ။
  • ID ထုတ်လုပ်ခြင်းအားလုံးသည် သင့် browser ပေါ်တွင် ပြင်းထန်သော browser randomness (crypto.getRandomValues()) ကိုသုံးကာ ဒေသတွင်း၌သာ လုပ်ဆောင်သည်။ မည်သည့်အရာမှ server သို့ မပို့ပါ။

မည်သူတွေအတွက် လိုအပ်သနည်း

  • Web နှင့် mobile developer များ — ပိုတိုပြီး URL-safe ဖြစ်ကာ timestamp ကော်လံမပါဘဲ ဖန်တီးချိန်အလိုက် စီနိုင်သော identifier များ လိုအပ်သူများ။
  • Database administrator များ — B-tree insertion performance ကိုတိုးတက်စေရန် primary keys ဒီဇိုင်းဆွဲသူများ (အသစ်ထုတ်လိုက်သော ID များသည် အနီးစပ်ဆုံး monotonically increasing ဖြစ်သောကြောင့်)။
  • System architect များ — distributed systems များတွင် identifier များသည် nodes အများအပြားတွင် ထူးခြားပြီး sortable ဖြစ်ကာ compact ဖြစ်ရန် လိုအပ်သူများ။
  • API designer များ — public-facing ID များကို ခန့်မှန်းရခက်ပြီး human-friendly ဖြစ်စေရန် (case အရောမှားနိုင်ခြေမရှိ၊ hyphen အဓိပ္ပာယ်ကွဲလွဲနိုင်ခြေမရှိ) လိုအပ်သူများ။
  • UUID ကို ရှည်လွန်းသည်ဟု ထင်သူများအတွက် — 128-bit space ကိုဆက်လက်ထိန်းသိမ်းထားနိုင်သော်လည်း ပိုသေးငယ်သော ကိုယ်စားပြုမှုဖြင့် အစားထိုးအသုံးပြုနိုင်သည်။

FAQ – အမေးများသောမေးခွန်းများ

Q: ULID နဲ့ UUID v4 ဘာကွာလဲ။

A: ULID သည် 26 လုံးဖြစ်ပြီး UUID v4 သည် 36 လုံးဖြစ်သည်။ ULID တွင် hyphen မပါဘဲ case-insensitive ဖြစ်ကာ timestamp ပါဝင်သောကြောင့် sort လုပ်နိုင်သည်။ UUID v4 သည် လုံးဝ random ဖြစ်ပြီး hyphen ပါဝင်ပြီး case-sensitive ဖြစ်သည်။

Q: ULID မှာ collision ဖြစ်နိုင်ခြေ ဘယ်လောက်လဲ။

A: ULID တွင် 80-bit random နောက်ဆက်တစ်ခုပါဝင်သည်။ တစ်စက္ကန့်လျှင် ID 1.21 × 10^24 ခု ထုတ်နိုင်သည်အထိ collision ဖြစ်နိုင်ခြေ အလွန်နည်းပါးသည်။

Q: Time-based sorting က ဘယ်လောက်တိကျလဲ။

A: ပထမ 10 လုံးသည် millisecond တိကျမှုရှိသော timestamp ဖြစ်သည်။ တူညီသော millisecond အတွင်းထုတ်လိုက်သော ID များအတွက် အတိအကျအစီအစဉ်ကျရန် အာမမခံနိုင်သော်လည်း အများအားဖြင့် chronological order ကိုလိုက်နာပါသည်။

Q: ULID က URL-safe လား။

A: ဟုတ်ကဲ့။ Crockford base32 alphabet ကိုသုံးထားသောကြောင့် ULID တွင် ပါဝင်သော ဇာတ်ကောင်အားလုံးသည် RFC 3986 အရ unreserved ဖြစ်သောကြောင့် percent-encoding မလိုအပ်ပါ။

Q: ULID ကို 26 လုံးထက်ပိုရှည်အောင် ထုတ်လို့ရလား။

A: မရပါ။ ULID သည် သတ်မှတ်ထားသော 26-character fixed-length format ဖြစ်သည်။ အကယ်၍ အခြားအရှည်လိုအပ်ပါက အခြား format (ဥပမာ NanoID) ကိုသုံးရမည်ဖြစ်သည်။

Q: ဤ page က ထုတ်လိုက်တဲ့ ID တွေကို ဘယ်နေရာမှာ သိမ်းဆည်းထားလဲ။

A: မသိမ်းဆည်းပါ။ ID ထုတ်လုပ်ခြင်းအားလုံးသည် သင့် browser ပေါ်တွင် ဒေသတွင်း၌သာ လုပ်ဆောင်ပြီး မည်သည့် server သို့မျှ မပို့ပါ။ သင်ပြန်လည်စတင်သည့်အခါ ID များ ပျောက်သွားပါမည်။