مُولِّد ULID
الوصف
أنشئ معرفات فريدة عالميًا قابلة للترتيب معجميًا (ULID). بديل لمعرفات UUID رتيب التزايد وقابل للترتيب الزمني وآمن للاستخدام في URL.
نبذة عن مُولِّد ULID
ULID هو معرّف بطول 128 بت قابل للترتيب معجميًا ومرتّب زمنيًا: تُشفِّر أول 48 بت منه طابعًا زمنيًا Unix بالميلي ثانية، أما الـ 80 بت المتبقية فهي عشوائية. ويُرمَّز بـ 26 حرفًا باستخدام base32 من نوع Crockford، وهو آمن للاستخدام في عناوين URL ويتجنب الأحرف الغامضة. تُعد ULID بديلًا مفيدًا لـ UUID عندما تريد معرّفات تُرتَّب طبيعيًا حسب وقت الإنشاء، وهذا المُولِّد يبنيها محليًا داخل متصفحك.
كيفية الاستخدام
- افتح الأداة لتوليد ULID استنادًا إلى الطابع الزمني الحالي.
- اختر اختياريًا عدد قيم ULID التي تريد توليدها دفعة واحدة.
- انقر على Generate؛ تُنشأ قيم ULID جديدة من الوقت الحالي مضافًا إليه بتات عشوائية.
- انسخ المعرّفات الناتجة المكوّنة من 26 حرفًا لاستخدامها في تطبيقك.
أمثلة
| مثال | المدخلات | المخرجات |
|---|---|---|
| شكل ULID | Generate one ULID | A 26-character Crockford base32 string, e.g. 01ARZ3NDEKTSV4RRFFQ69G5FAV |
الأسئلة الشائعة
كيف يختلف ULID عن UUID؟
كلاهما معرّفان بطول 128 بت، لكن ULID يُضمِّن طابعًا زمنيًا بالميلي ثانية في أول 48 بت ويُرمَّز بـ base32 من نوع Crockford (26 حرفًا)، مما يجعله قابلًا للترتيب معجميًا حسب وقت الإنشاء. أما UUID (خصوصًا الإصدار v4) فليس قابلًا للترتيب الزمني في صيغته النصية القياسية.
لماذا يكون ULID قابلًا للترتيب؟
يشغل الطابع الزمني البتات الأكثر أهمية، لذا فإن ترتيب قيم ULID كسلاسل نصية عادية يرتّبها حسب وقت توليدها. وهذا مريح لمفاتيح قواعد البيانات والسجلات.
هل ULID آمن للاستخدام في عناوين URL؟
نعم. يستخدم base32 من نوع Crockford أرقامًا ومجموعة فرعية من الأحرف الكبيرة فقط، مع استبعاد أحرف مثل I و L و O و U لتجنب الالتباس، لذا يمكن وضع ULID في عناوين URL وأسماء الملفات دون الحاجة إلى الهروب (escaping).
ماذا يعني 'monotonic' بالنسبة لقيم ULID؟
عند توليد عدة قيم ULID خلال الميلي ثانية نفسها، يقوم المُولِّد من النوع monotonic بزيادة المكوّن العشوائي تدريجيًا بحيث تظل المعرّفات مرتّبة حسب ترتيب إنشائها بدلًا من أن تكون عشوائية بالكامل داخل تلك الميلي ثانية.