احسان رضایی

یک توسعه دهنده، شاید هم نه.

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

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

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



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

در PHP , / تاریخ ارسال 1395/05/02 - 18:04 / 0 نظر / 1192 بازدید / آخرین ویرایش 1399/06/26 - 12:02

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 مراجعه کنید

پیشنهاد

ارسال نظر