🛠️

Whiz Tools

Build • Create • Innovate

Niisutatud ümbermõõdu kalkulaator erinevate kanalite jaoks

Arvutage niisutatud ümbermõõt erinevate kanalite kujude jaoks, sealhulgas trapetsid, ristkülikud/ruudud ja ümmargused torud. Oluline hüdraulikatehnika ja vedelikumehaanika rakendustes.

ULID generaator

Genereeritud ULID:

ULID struktuur


Ajalõik (10 tähemärki)

Juhuslikkus (16 tähemärki)
📚

Dokumentatsioon

ULID Generaator

Sissejuhatus

ULID (Universaalselt Unikaalne Lexikograafiliselt Sorteeritav Identifikaator) on unikaalne identifikaator, mis ühendab ajatempli juhuslike andmetega, et luua 26-täheline string. ULID-id on loodud olema lexikograafiliselt sorteeritavad, säilitades samal ajal kõrge unikaalsuse ja juhuslikkuse.

ULID Struktuur

ULID koosneb kahest peamisest osast:

  1. Aeg (10 tähemärki): Esimesed 10 tähemärki esindavad aega millisekundites alates Unix'i ajast (1970-01-01).
  2. Juhuslikkus (16 tähemärki): Ülejäänud 16 tähemärki genereeritakse krüptograafiliselt turvaliste juhuslike andmete abil.

Tulemusena saadud 26-täheline string kodeeritakse Crockfordi base32 tähestikus (0-9 ja A-Z, välja arvatud I, L, O ja U).

Valem

ULID genereeritakse järgmiste sammude abil:

  1. Genereeri 48-bitine ajatemple (millisekundid alates Unix'i ajast).
  2. Genereeri 80 bitti krüptograafiliselt turvalisi juhuslikke andmeid.
  3. Kodeeri kombineeritud 128 bitti Crockfordi base32 kodeerimise abil.

Arvutus

ULID generaator täidab järgmisi samme:

  1. Saada praegune ajatemper millisekundites.
  2. Genereeri 10 juhuslikku bitti (80 bitti) krüptograafiliselt turvalise juhusliku arvu generaatori abil.
  3. Kombineeri ajatemper ja juhuslikud andmed 128-bitiseks täisarvuks.
  4. Kodeeri 128-bitine täisarv Crockfordi base32 kodeerimise abil.

Kasutusalad

ULID-id on kasulikud erinevates stsenaariumites, sealhulgas:

  1. Andmebaasi võtmed: ULID-e saab kasutada unikaalsete identifikaatoritena andmebaasi rekordite jaoks, tagades unikaalsuse ja sorteeritavuse.
  2. Jaotatud süsteemid: Jaotatud keskkondades saab ULID-e genereerida ilma sõlmede vahel koordineerimata.
  3. Logimine ja jälgimine: ULID-e saab kasutada logikirjete märgistamiseks või sündmuste jälgimiseks, pakkudes sorteeritavat ja unikaalset identifikaatorit.
  4. URL-sõbralikud ID-d: ULID-id on URL-turvalised ja neid saab kasutada veebirakendustes identifikaatoritena URL-ides.

Alternatiivid

Kuigi ULID-id on mitmekesised, on ka teisi unikaalsete identifikaatorite süsteeme, mida kaaluda:

  1. UUID (Universaalselt Unikaalne Identifikaator): 128-bitine identifikaator, mis ei sisalda ajatemplit.
  2. KSUID (K-sortitav Unikaalne Identifikaator): Sarnane ULID-ile, kuid erineva ajatempli kodeerimisega.
  3. Snowflake ID: Twitteri jaotatud unikaalse ID genereerimise süsteem, mis sisaldab ajatemplit ja töötaja ID-d.

Ajalugu

ULID-id tutvustas 2016. aastal Alizain Feerasta alternatiivina UUID-dele. Need loodi, et lahendada mõned UUID-de piirangud, eriti sorteeritavuse ja loetavuse osas. ULID spetsifikatsioon on alates selle tutvustamisest püsinud stabiilsena, erinevad rakendused on saadaval erinevates programmeerimiskeeltes.

Näited

Siin on mõned koodinäited ULID-de genereerimiseks erinevates programmeerimiskeeltes:

1// JavaScripti rakendus
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

Need näited demonstreerivad, kuidas genereerida ULID-e JavaScriptis, Pythoni ja Java-s. Saate neid funktsioone kohandada vastavalt oma konkreetsetele vajadustele või integreerida need suurematesse süsteemidesse, mis vajavad unikaalseid identifikaatoreid.

Viidatud allikad

  1. "ULID Spetsifikatsioon." GitHub, https://github.com/ulid/spec. Juurdepääs 2. aug. 2024.
  2. "Crockfordi Base32 Kodeerimine." Base32 Kodeerimine, http://www.crockford.com/base32.html. Juurdepääs 2. aug. 2024.
  3. "UUID vs ULID." Stack Overflow, https://stackoverflow.com/questions/54222235/uuid-vs-ulid. Juurdepääs 2. aug. 2024.