JSON Formatter
Pretty-print, validate and minify JSON with precise error positions.
المطورون
معرّفات من الإصدارين 4 و7 من مصدر عشوائية المتصفح.
الرابع هو المعروف: 122 بت عشوائية، بلا ترتيب وبلا دلالة على زمن أو مكان.
والسابع يضع طابعًا زمنيًا بالمللي ثانية في المقدّمة ويملأ الباقي عشوائيًا، فتصير المعرّفات قابلة للترتيب بحسب زمن إنشائها — وهو فارق مهم لقواعد البيانات.
والسبب في الفهرسة: فهرس الشجرة على قيم عشوائية يُكتب في مواضع متفرّقة، فتتكرّر انقسامات الصفحات وتضعف الذاكرة المؤقتة. أما المفاتيح المرتّبة فتُلحق في النهاية، وهو أسرع بوضوح في الجداول الكبيرة.
والمقابل أن معرّف الإصدار السابع يكشف وقت إنشائه بدقّة المللي ثانية. وحيث يكون ذلك مشكلة — في معرّفات ظاهرة للعموم يمكن استنتاج أنماط الاستخدام منها — يبقى الرابع هو الخيار.
في الإصدار الرابع 122 بت عشوائية، أي نحو 5.3 × 10³⁶ قيمة ممكنة.
وللوصول إلى احتمال تكرار قدره واحد بالمئة يلزم توليد نحو 2.7 تريليون معرّف. ومن يولّد مليارًا في الثانية يحتاج نحو 85 عامًا.
وعمليًا: التكرار لا ينشأ من الصدفة بل من ضعف مصدر العشوائية. مولّد يعتمد Math.random، أو جهاز افتراضي بلا إنتروبيا كافية عند الإقلاع، أو بذرة معاد استخدامها — هذه هي الأسباب الحقيقية. ولذلك يُستخدم هنا crypto.getRandomValues.
الصيغة القياسية 32 رقمًا ست عشريًا في خمس مجموعات بنمط 8-4-4-4-12 تفصلها شرطات.
ويظهر رقم الإصدار في أول خانة من المجموعة الثالثة، والنوع في أول خانة من الرابعة. ففي معرّف من الإصدار الرابع تجد هناك الرقم 4 ثم واحدًا من 8 أو 9 أو a أو b.
والكتابة بالحروف الصغيرة هي المعيار. وأنظمة مايكروسوفت تكتب المعرّف تقليديًا بحروف كبيرة بين قوسين معقوفين — والمحتوى واحد.
الرابع عشوائي بالكامل، والسابع يبدأ بطابع زمني فيصير قابلًا للترتيب — وهو أفضل لمفاتيح قواعد البيانات.
حسابيًا لا عمليًا. التكرار الحقيقي ينشأ من ضعف مصدر العشوائية لا من الصدفة.
نعم. GUID تسمية مايكروسوفت، وتُكتب عادةً بحروف كبيرة بين قوسين معقوفين.
نعم بدقّة المللي ثانية. وحيث يكون ذلك مشكلة استخدم الإصدار الرابع.
لا. هو فريد لا سرّي، والإصدار السابع قابل للتنبّؤ جزئيًا.
لا. تُنشأ في هذه الصفحة وتزول بإغلاقها.