رتّب النسق من a تنفيذ. (العربية (Arabic))

رتّب النسق من a تنفيذ.

Comments

NOTE: Apart from English (and even then it's questionable, I'm Scottish). These are machine translated in languages I don't read. If they're terrible please contact me.
You can see how this translation was done in this article.

Friday, 13 September 2024

//

1 minute read

الوحدات الصغيرة

صغيرة ولكن من الممكن أن تكون حلاً مفيداً لمشكلة كنت أواجهها تحديداً، كيفية توليد واجهة من إدخال سلسلة نصية حيث أن المسند صالح دائماً لكنه فريد لأي سلسلة إدخال.

إحتجتُ إلى هذا من أجل مولد مولدات RSSSSS حيث أردت توليد نموذج لكل عنصر في التلقيم والذي كان قابلاً للتكرار وفريداً لكل عنصر.

واتضح أن XxHash128 هو نوع من الكمال لهذا كما أنه يعطي دائما a 128 بت (أو 16 بايت) hash. هذا يعني أنّه يمكن استخدامه لتوليد رمز تعريفي من مدخل سلسلة نصي بدون 'array'. koby through.

     public  static string ToGuid(this string  name)
    {
        var buf = Encoding.UTF8.GetBytes(name);
        var guid = XxHash128.Hash(buf);
        var guidS =  string.Format("{0:X2}{1:X2}{2:X2}{3:X2}-{4:X2}{5:X2}-{6:X2}{7:X2}-{8:X2}{9:X2}-{10:X2}{11:X2}{12:X2}{13:X2}{14:X2}{15:X2}", 
            guid[0], guid[1], guid[2], guid[3], guid[4], guid[5], guid[6], guid[7], guid[8], guid[9], guid[10], guid[11], guid[12], guid[13], guid[14], guid[15]);
        return guidS.ToLowerInvariant();
    }

هذه طريقة بسيطة للتمديد التي تأخذ إدخال سلسلة نصية وترجع داليد. الـ XxHash128 من System.IO.Hashing مُهمّة مكانيّة.

يمكنك بطبيعة الحال استخدام أي خوارزمية الهامش التي تعطي هاش 128 بت. الـ XxHash128 هو مجرد اختيار جيد كما أنه سريع ويعطي توزيع جيد لقيم البعثرة.

يمكنك أيضاً أن تعيد new Guid(<string>) من هذا للحصول على دليل فعلي يمكن استخدامه في قاعدة بيانات أو غير ذلك من حالات الاستخدام المحدد للخطوط التوجيهية.

logo

©2024 Scott Galloway