Duck typing
نمایش پست
برنامه‌نویسی Ruby

Duck Typing در روبی

در زبان برنامه‌نویسی روبی نیازی به تعریف نوع متغیر و یا متد نیست - همه‌چیز نوعی شیء هستند. اشیاء در روبی (برخلاف اشیاء‌ در زبان‌های برنامه‌نویسی شیءگرای دیگر) می‌توانند به صورت جداگانه ویرایش شوند. شما همیشه می‌توانید به اشیاء‌ متد اضافه کنید. در روبی، رفتار و قابلیت‌های یک شیء می‌تواند با آن‌چه که توسط کلاس آن فراهم‌شده است، فرق کند.

در روبی، ما کمتر بر روی نوع (یا کلاس) یک شیء و بیشتر بر روی قابلیت‌های آن تکیه می‌کنیم. بنابراین، Duck Typing به این معنا است که یک شیء بر اساس این‌که چه کارهایی می‌تواند انجام دهد تعریف می‌شود و نه این‌که از چه نوعی است. Duck Typing به تمایل روبی در توجه کمتر به کلاس یک شیء و توجه بیشتر آن به متدهای قابل اجرا بر روی آن و اعمالی که می‌تواند بر روی آن انجام دهد، اشاره می‌کند. در روبی، ما می‌توانیم از repond_to? استفاده کنیم و یا یک شیء را به سادگی به یک متد ارسال کنیم و بدانیم که در صورت استفاده نامناسب پیغام خطایی دریافت خواهیم کرد.

Perfect search box
نمایش پست
تجربه کاربری

طراحی جعبه جست‌وجوی بدون عیب

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

Shadowsocks
نمایش پست
پیکربندی سرور

نصب Shadowsocks بر روی CentOS7

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

در این مدخل روش نصب و پیکربندی سرور Shadowsocks بر روی سیستم‌عامل لینوکس، توزیع CentOS7 به عنوان یک سرویس را بررسی می‌کنم.