🛠️

Whiz Tools

Build • Create • Innovate

ਗਿੱਲੀ ਪਰਿਮਿਟਰ ਕੈਲਕੂਲੇਟਰ: ਹਾਈਡ੍ਰੌਲਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਲਈ

ਤਿਕੋਣ, ਆਯਤਕਾਰ/ਵਰਗ ਅਤੇ ਗੋਲ ਪਾਈਪ ਸਮੇਤ ਵੱਖ-ਵੱਖ ਚੈਨਲ ਆਕਾਰਾਂ ਲਈ ਗਿੱਲੀ ਪਰਿਮਿਟਰ ਦੀ ਗਿਣਤੀ ਕਰੋ। ਹਾਈਡ੍ਰੌਲਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਅਤੇ ਤਰਲ ਗਤੀਵਿਧੀਆਂ ਦੇ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਜ਼ਰੂਰੀ।

ਯੂਐਲਆਈਡੀ ਜਨਰੇਟਰ

ਬਣਾਈ ਗਈ ਯੂਐਲਆਈਡੀ:

ਯੂਐਲਆਈਡੀ ਢਾਂਚਾ


ਟਾਈਮਸਟੈਂਪ (10 ਅੱਖਰ)

ਰੈਂਡਮਨੈਸ (16 ਅੱਖਰ)
📚

ਦਸਤਾਵੇਜ਼

ULID ਜਨਰੇਟਰ

ਪਰੀਚਯ

ULID (ਯੂਨੀਵਰਸਲ ਯੂਨੀਕ ਲੈਕਸੀਕੋਗ੍ਰਾਫਿਕਲੀ ਸੋਰਟੇਬਲ ਆਈਡੈਂਟੀਫਾਇਰ) ਇੱਕ ਵਿਲੱਖਣ ਆਈਡੈਂਟੀਫਾਇਰ ਹੈ ਜੋ ਸਮੇਂ ਨੂੰ ਯਾਦ ਰੱਖਣ ਵਾਲੇ ਡੇਟਾ ਨਾਲ ਜੋੜਦਾ ਹੈ ਤਾਂ ਜੋ 26-ਅੱਖਰਾਂ ਦੀ ਸਟ੍ਰਿੰਗ ਬਣਾਈ ਜਾ ਸਕੇ। ULIDs ਨੂੰ ਲੈਕਸੀਕੋਗ੍ਰਾਫਿਕਲੀ ਸੋਰਟੇਬਲ ਬਣਾਉਣ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਹੈ ਜਦੋਂ ਕਿ ਉੱਚ ਪੱਧਰ ਦੀ ਵਿਲੱਖਣਤਾ ਅਤੇ ਰੈਂਡਮਨੈੱਸ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦੇ ਹਨ।

ULID ਦਾ ਢਾਂਚਾ

ULID ਦੇ ਦੋ ਮੁੱਖ ਹਿੱਸੇ ਹਨ:

  1. ਸਮਾਂ ਚਿੰਨ੍ਹ (10 ਅੱਖਰ): ਪਹਿਲੇ 10 ਅੱਖਰ ਯੂਨੀਕ ਐਪੋਕ (1970-01-01) ਤੋਂ ਮਿਲੀਸੈਕੰਡਾਂ ਵਿੱਚ ਸਮੇਂ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ।
  2. ਰੈਂਡਮਨੈੱਸ (16 ਅੱਖਰ): ਬਾਕੀ ਦੇ 16 ਅੱਖਰਾਂ ਨੂੰ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕਲੀ ਸੁਰੱਖਿਅਤ ਰੈਂਡਮ ਡੇਟਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ।

ਨਤੀਜੇ ਵਜੋਂ 26-ਅੱਖਰਾਂ ਦੀ ਸਟ੍ਰਿੰਗ ਨੂੰ ਕ੍ਰੋਕਫੋਰਡ ਦੇ ਬੇਸ32 ਅਲਫਾਬੇਟ (0-9 ਅਤੇ A-Z, I, L, O, ਅਤੇ U ਨੂੰ ਛੱਡ ਕੇ) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੋਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

ਫਾਰਮੂਲਾ

ULID ਨੂੰ ਨਿਮਨਲਿਖਤ ਕਦਮਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਜਨਰੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ:

  1. 48-ਬਿੱਟ ਸਮਾਂ ਚਿੰਨ੍ਹ (ਯੂਨੀਕ ਐਪੋਕ ਤੋਂ ਮਿਲੀਸੈਕੰਡਾਂ) ਜਨਰੇਟ ਕਰੋ।
  2. 80 ਬਿੱਟਾਂ ਦਾ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕਲੀ ਸੁਰੱਖਿਅਤ ਰੈਂਡਮ ਡੇਟਾ ਜਨਰੇਟ ਕਰੋ।
  3. ਕ੍ਰੋਕਫੋਰਡ ਦੇ ਬੇਸ32 ਕੋਡਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਮਿਲੇ ਹੋਏ 128 ਬਿੱਟਾਂ ਨੂੰ ਕੋਡ ਕਰੋ।

ਗਣਨਾ

ULID ਜਨਰੇਟਰ ਨਿਮਨਲਿਖਤ ਕਦਮਾਂ ਨੂੰ ਅੰਜਾਮ ਦਿੰਦਾ ਹੈ:

  1. ਮਿਲੀਸੈਕੰਡਾਂ ਵਿੱਚ ਮੌਜੂਦਾ ਸਮਾਂ ਪ੍ਰਾਪਤ ਕਰੋ।
  2. ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕਲੀ ਸੁਰੱਖਿਅਤ ਨੰਬਰ ਜਨਰੇਟਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ 10 ਰੈਂਡਮ ਬਾਈਟਾਂ (80 ਬਿੱਟ) ਜਨਰੇਟ ਕਰੋ।
  3. ਸਮਾਂ ਚਿੰਨ੍ਹ ਅਤੇ ਰੈਂਡਮ ਡੇਟਾ ਨੂੰ 128-ਬਿੱਟ ਪੂਰਨਾਂਕ ਵਿੱਚ ਜੋੜੋ।
  4. 128-ਬਿੱਟ ਪੂਰਨਾਂਕ ਨੂੰ ਕ੍ਰੋਕਫੋਰਡ ਦੇ ਬੇਸ32 ਕੋਡਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੋਡ ਕਰੋ।

ਵਰਤੋਂ ਦੇ ਕੇਸ

ULIDs ਵੱਖ-ਵੱਖ ਸਥਿਤੀਆਂ ਵਿੱਚ ਲਾਭਦਾਇਕ ਹਨ, ਜਿਵੇਂ ਕਿ:

  1. ਡੇਟਾਬੇਸ ਕੁੰਜੀਆਂ: ULIDs ਨੂੰ ਡੇਟਾਬੇਸ ਰਿਕਾਰਡਾਂ ਲਈ ਵਿਲੱਖਣ ਆਈਡੈਂਟੀਫਾਇਰ ਵਜੋਂ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਜੋ ਵਿਲੱਖਣਤਾ ਅਤੇ ਸੋਰਟੇਬਿਲਿਟੀ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ।
  2. ਵੰਡੇ ਗਏ ਸਿਸਟਮ: ਵੰਡੇ ਗਏ ਵਾਤਾਵਰਨ ਵਿੱਚ, ULIDs ਨੂੰ ਨੋਡਾਂ ਦੇ ਵਿਚਕਾਰ ਸਹਿਯੋਗ ਦੇ ਬਿਨਾਂ ਜਨਰੇਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
  3. ਲਾਗਿੰਗ ਅਤੇ ਟਰੇਸਿੰਗ: ULIDs ਨੂੰ ਲਾਗ ਐਂਟਰੀਆਂ ਨੂੰ ਟੈਗ ਕਰਨ ਜਾਂ ਘਟਨਾਵਾਂ ਨੂੰ ਟਰੇਸ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਜੋ ਇੱਕ ਸੋਰਟੇਬਲ ਅਤੇ ਵਿਲੱਖਣ ਆਈਡੈਂਟੀਫਾਇਰ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
  4. URL-ਮਿਤ੍ਰ ਆਈਡੀ: ULIDs URL-ਸੁਰੱਖਿਅਤ ਹਨ ਅਤੇ ਵੈਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ URLs ਵਿੱਚ ਆਈਡੈਂਟੀਫਾਇਰ ਵਜੋਂ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।

ਵਿਕਲਪ

ਜਦੋਂ ਕਿ ULIDs ਬਹੁਤ ਸਾਰੇ ਕੰਮਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹਨ, ਹੋਰ ਵਿਲੱਖਣ ਆਈਡੈਂਟੀਫਾਇਰ ਸਿਸਟਮਾਂ ਨੂੰ ਵੀ ਵਿਚਾਰਣਾ ਹੈ:

  1. UUID (ਯੂਨੀਵਰਸਲ ਯੂਨੀਕ ਆਈਡੈਂਟੀਫਾਇਰ): ਇੱਕ 128-ਬਿੱਟ ਆਈਡੈਂਟੀਫਾਇਰ ਜੋ ਸਮਾਂ ਚਿੰਨ੍ਹ ਭਾਗ ਨਹੀਂ ਸ਼ਾਮਲ ਕਰਦਾ।
  2. KSUID (K-Sortable Unique IDentifier): ULID ਦੇ ਸਮਾਨ ਪਰ ਵੱਖਰੇ ਸਮਾਂ ਚਿੰਨ੍ਹ ਕੋਡਿੰਗ ਨਾਲ।
  3. ਸਨੋਫਲੇਕ ਆਈਡੀ: ਟਵਿੱਟਰ ਦਾ ਵੰਡਿਆ ਹੋਇਆ ਵਿਲੱਖਣ ਆਈਡੀ ਜਨਰੇਸ਼ਨ ਸਿਸਟਮ, ਜੋ ਸਮਾਂ ਚਿੰਨ੍ਹ ਅਤੇ ਵਰਕਰ ਆਈਡੀ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ।

ਇਤਿਹਾਸ

ULIDs ਨੂੰ 2016 ਵਿੱਚ ਅਲੀਜ਼ੈਨ ਫੀਰਾਸਟਾ ਦੁਆਰਾ UUIDs ਦੇ ਵਿਕਲਪ ਵਜੋਂ ਪੇਸ਼ ਕੀਤਾ ਗਿਆ ਸੀ। ਇਹ UUIDs ਦੀਆਂ ਕੁਝ ਸੀਮਾਵਾਂ, ਖਾਸ ਕਰਕੇ ਸੋਰਟੇਬਿਲਿਟੀ ਅਤੇ ਪੜ੍ਹਨਯੋਗਤਾ ਦੇ ਤੌਰ 'ਤੇ, ਨੂੰ ਦੂਰ ਕਰਨ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤੇ ਗਏ ਸਨ। ULID ਵਿਸ਼ੇਸ਼ਤਾ ਆਪਣੇ ਪੇਸ਼ਕਸ਼ ਤੋਂ ਬਾਅਦ ਸਥਿਰ ਰਹੀ ਹੈ, ਜਿਸ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਕਾਰਜਾਂ ਦੀ ਉਪਲਬਧਤਾ ਹੈ।

ਉਦਾਹਰਣ

ਹੇਠਾਂ ਵੱਖ-ਵੱਖ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ULIDs ਜਨਰੇਟ ਕਰਨ ਲਈ ਕੁਝ ਕੋਡ ਉਦਾਹਰਣਾਂ ਹਨ:

1// ਜਾਵਾਸਕ੍ਰਿਪਟ ਕਾਰਜਨਵਾਈ
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

ਇਹ ਉਦਾਹਰਣਾਂ ਜਾਵਾਸਕ੍ਰਿਪਟ, ਪਾਇਥਨ, ਅਤੇ ਜਾਵਾ ਵਿੱਚ ULIDs ਜਨਰੇਟ ਕਰਨ ਦਾ ਤਰੀਕਾ ਦਿਖਾਉਂਦੀਆਂ ਹਨ। ਤੁਸੀਂ ਇਨ੍ਹਾਂ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਆਪਣੇ ਵਿਸ਼ੇਸ਼ ਲੋੜਾਂ ਲਈ ਅਨੁਕੂਲਿਤ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ ਵਿਲੱਖਣ ਆਈਡੈਂਟੀਫਾਇਰਾਂ ਦੀ ਲੋੜ ਵਾਲੇ ਵੱਡੇ ਸਿਸਟਮਾਂ ਵਿੱਚ ਇਨ੍ਹਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ।

ਹਵਾਲੇ

  1. "ULID ਵਿਸ਼ੇਸ਼ਤਾ." GitHub, https://github.com/ulid/spec. ਪਹੁੰਚ ਕੀਤੀ 2 ਅਗਸਤ 2024.
  2. "ਕ੍ਰੋਕਫੋਰਡ ਦਾ ਬੇਸ32 ਕੋਡਿੰਗ." ਬੇਸ32 ਕੋਡਿੰਗ, http://www.crockford.com/base32.html. ਪਹੁੰਚ ਕੀਤੀ 2 ਅਗਸਤ 2024.
  3. "UUID ਵਿਰੁੱਧ ULID." Stack Overflow, https://stackoverflow.com/questions/54222235/uuid-vs-ulid. ਪਹੁੰਚ ਕੀਤੀ 2 ਅਗਸਤ 2024.
🔗

ਸੰਬੰਧਿਤ ਟੂਲ

ਹੋਰ ਟੂਲਾਂ ਦੀ ਖੋਜ ਕਰੋ ਜੋ ਤੁਹਾਡੇ ਕੰਮ ਦੇ ਪ੍ਰਵਾਹ ਲਈ ਲਾਭਦਾਇਕ ਹੋ ਸਕਦੀਆਂ ਹਨ

ਕੇਐਸਯੂਆਈਡੀ ਜਨਰੇਟਰ: ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਬਣਾਓ

ਇਸ ਟੂਲ ਨੂੰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

MongoDB ObjectID Generator for Testing and Development

ਇਸ ਟੂਲ ਨੂੰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਯੂਨੀਕ ਆਈਡੈਂਟੀਫਾਇਰ ਜਨਰੇਟਰ: UUID ਬਣਾਉਣ ਦਾ ਸਾਧਨ

ਇਸ ਟੂਲ ਨੂੰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਅਰਜੈਂਟੀਨਾ ਦਾ CUIT/CUIL ਜਨਰੇਟਰ ਅਤੇ ਵੈਰੀਫਾਇਰ ਟੂਲ

ਇਸ ਟੂਲ ਨੂੰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਨੈਨੋ ID ਜਨਰੇਟਰ: ਸੁਰੱਖਿਅਤ ਅਤੇ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾਂ ਬਣਾਓ

ਇਸ ਟੂਲ ਨੂੰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

CUID ਜਨਰੇਟਰ: ਵਿਲੱਖਣ ਪਛਾਣ ਪੱਤਰ ਬਣਾਉਣ ਦਾ ਟੂਲ

ਇਸ ਟੂਲ ਨੂੰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਟੈਸਟਿੰਗ ਅਤੇ ਵੈਰੀਫਿਕੇਸ਼ਨ ਲਈ IBAN ਜਨਰੇਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ ਟੂਲ

ਇਸ ਟੂਲ ਨੂੰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਅਰਜਨਟੀਨਾ CUIT ਜਨਰੇਟਰ ਅਤੇ ਵੈਰੀਫਾਇਰ ਟੈਸਟਿੰਗ ਲਈ

ਇਸ ਟੂਲ ਨੂੰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਬ੍ਰਾਜ਼ੀਲ ਲਈ ਟੈਸਟਿੰਗ ਲਈ ਵੈਧ CPF ਨੰਬਰ ਜਨਰੇਟਰ

ਇਸ ਟੂਲ ਨੂੰ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਅਰਜਨਟੀਨਾ ਦਾ CBU ਜਨਰੇਟਰ ਅਤੇ ਵੈਰੀਫਾਇਰ ਟੂਲ | ਬੈਂਕਿੰਗ ਕੋਡ

ਇਸ ਟੂਲ ਨੂੰ ਕੋਸ਼ਿਸ਼ ਕਰੋ