احسان رضایی

یک توسعه دهنده

Hashids، تولید یک شناسه منحصر به فرد از اعداد صحیح (integers)

در PHP , / تاریخ ارسال 02-05-1395 / 0 نظر / آخرین ویرایش 24-01-1403

Hashids یک کتابخانه متن باز و کوچیکه که شناسه هایی کوتاه، منحصر به فرد و غیر متوالی از اعداد را تولید میکند.

به عنوان مثال عدد 347 تبدیل به رشته ی “yr8” یا آرایه ای شامل اعداد [27, 986] تبدیل به “3kTMd” میشه.

شما همچنین میتونید شناسه ها رو decode کنید، یعنی رشته های تولید شده به وسیله Hashids برگشت پذیر خواهند بود. حتی طول رشته تولید شده قابل تعریفه.

مثالی که توی وب شاید بارها دیدین:

https://url.ir/lqY9X

قابلیت ها.

ایجاد شناسه های کوتاه، منحصر به فرد و قابل بازگشت از اعداد مثبت و صفر.

سفارشی سازی با استفاده از salt.

طول رشته تولید شده افزایشی هست. قبلا گفتم میتونید طول Hash رو تعریف کنید اما این موضوع بستگی به اعداد شما و salt هم داره و ممکنه به این دو علت و ماندگاری Hash زیادتر بشه.

حجم کمی داره(حدود 350 خط کد)، سریع هست و به کتابخانه دیگری وابستگی نداره.

نمونه کد PHP: 

$hashids = new Hashids\Hashids('this is my salt');
$id = $hashids->encode(1, 2, 3);
$numbers = $hashids->decode($id);

این کتابخانه برای زبان های برنامه نویسی JavaScript, Ruby, Python, Java, Scala, PHP, Perl, Perl 6, Swift, Clojure, Objective-C, C, C++11, D, F#, Go, Erlang, Lua, Haskell, Elixir, Rust, Smalltalk, ColdFusion, Groovy, Kotlin, Nim, VBA, Haxe, Elm, ActionScript, CoffeeScript, Bash, R, TSQL  و .NET قابل استفاده است.

شما میتونید جهت مطالعه بیشتر به وبسایت Hashids مراجعه کنید

پیشنهاد

کتاب‌ها

کتاب الگوهای طراحی به بیان ساده(design patterns / دیزاین پترن)

در مهندسی نرم افزار، design patterns(الگوهای طراحی) راه حل‌های قابل استفاده برای مشکلاتی هستند که معمولاً در طراحی نرم‌افزار اتفاق می افتند.

طرح های از پیش ساخته شده‌ای که می‌توانید برای حل مشکلات آن‌ها را سفارشی کنید. شما نمی‌توانید یک الگو را با جستجو در stackoverflow پیدا و در برنامه خود کپی کنید. الگو ها یک قطعه کد خاص نیستند، مفاهیم کلی برای حل مشکلات خاص هستند. شما باید با درک این مفاهیم آن‌ها را در برنامه خود پیاده‌سازی کنید.

کتاب refactoring / ریفکتورینگ

Refactoring مجموعه‌ای از تکنیک‌هاست که به منظور اصلاح و بهبود کدهای قبلی بدون تغییر در عملکرد و رفتارشان جهت خوانایی، کارامدی و قابلیت نگهداری بیشتر انجام می‌شود.

در کتاب Refactoring اثر Martin Fowler نوشته شده: refactoring تکنیک مرتب/منظم سازی برای تجدید ساختار کد موجود است. تغییر ساختار داخلی کد بدون تغییر رفتار خارجی آن.

refactoring یک سرمایه‌گذاری و راه حلی برای مقابله با کد کثیف و بدهی فنی است که باعث کاهش هزینه‌های توسعه نرم‌افزار در آینده خواهد شد.

ارسال نظر