مُصنَّفة حسب الموقف، لا الصيغة
هذه الفئة ليست موضوعًا بقدر ما هي درج. الأدوات فيها هي التحويلات الصغيرة التي تحتاجها بينما تكون المهمة الفعلية شيئًا آخر، لذا فهي مُدرجة هنا حسب الموقف الذي تكون فيه حين تصل إليها.
«توجد سلسلة غامضة في هذا السجل ولا أعرف ما هي.» إذا كانت تشبه
550e8400-e29b-41d4-a716-446655440000، فإن
أداة فك تشفير UUID تخبرك بالإصدار، وبالنسبة
للإصدارات 1 و6 و7، بالطابع الزمني الذي أُنشئت فيه. إذا كانت تشبه SGVsbG8= أو
تنتهي بـ==، فهي Base64 — فكّها. إذا كانت رقمًا
عاريًا من عشرة أرقام يبدأ بـ17، فهي
طابع زمني Unix من الوقت الحالي تقريبًا.
«أحتاج معرّفًا.» مولّد UUID يُنتج الإصدار 1 ومن 3 إلى 7 وينتج آلافًا دفعة واحدة لتغذية قاعدة بيانات اختبارية.
«هذا الطابع الزمني خاطئ بمعامل ألف.» ثوانٍ أو مللي ثانية — محوّل الطابع الزمني يتعامل مع كليهما ويُظهر لك أيّهما أعطيته.
«أحتاج بيانات URI هذه ملفًا حقيقيًا.» أو العكس: Base64 إلى صورة.
«ما هذا اللون بالضبط؟» منتقي الألوان للتحويل بين الصيغ، منتقي ألوان الصورة لقراءة قيمة من لقطة شاشة أو نموذج تصميم.
«يجب أن يكون هذا snake_case وهو الآن camelCase.» محوّل حالة الأحرف.
«ما قيمة 0xDEADBEEF بالعشري، وماذا يحدث إذا كان بإشارة؟» محوّل الأنظمة العددية، الذي يتعامل - على خلاف معظم الأدوات المماثلة - مع الأرقام السالبة ومتمم اثنين.
المعرّفات تكشف أكثر مما يتوقع الناس
الشيء العابر للفئة والذي يستحق قوله هنا لأن لا صفحة أداة واحدة تملكه: عدة صيغ من هذه تحمل معلومات لم تقصد نشرها.
UUID الإصدار الأول يتضمن طابعًا زمنيًا وعنوان MAC للجهاز. كان هذا التصميم الأصلي — التفرّد مضمون عبر «هذا الجهاز، في هذه اللحظة». هذا يعني أيضًا أن UUID من الإصدار الأول في رابط عام يخبر أي شخص مهتم بالضبط متى أُنشئ السجل ويمنحه معرّفًا ثابتًا للخادم الذي أنشأه. يمكنك التأكد من ذلك بنفسك بلصق واحد في أداة فك التشفير.
UUID الإصدار السابع يتضمن طابعًا زمنيًا لـUnix أيضًا، عمدًا، لأن كون الترتيب حسب المعرّف والترتيب حسب وقت الإنشاء شيئًا واحدًا مفيد جدًا لمحلية فهرس قاعدة البيانات. الثمن هو الإفصاح نفسه: معرّفات الإصدار السابع مرتّبة، لذا فإن كشفها علنًا يُظهر أوقات الإنشاء ويسمح لأي شخص بتقدير عدد السجلات التي تُنشئها في الساعة بمراقبة اثنين منها.
الإصدار الرابع هو الذي لا يكشف شيئًا — 122 بت من العشوائية ولا بنية. هذا سبب بقائه الخيار الافتراضي لأي شيء يواجه المستخدم، وسبب أن «استخدم الإصدار السابع للمفتاح الأساسي، والرابع للمعرّف العام» قاعدة معقولة لنفس الجدول.
Base64 يكشف كل شيء، فورًا، لأي أحد. إنه ليس تعتيمًا. سر Kubernetes يُرمَّز بـBase64 لكي تصمد القيم الثنائية داخل YAML، لا لحمايتها.
كل شيء في هذه الصفحة يعمل محليًا، وهو أمر يهم في هذه الفئة أكثر من غيرها: المعرّفات الإنتاجية والرموز المميزة وشظايا السجلات هي بالضبط النوع من الأشياء التي لا ينبغي لصقها في خادم شخص آخر لفكّها.