شرایط رقابتی و قفل بین‌پروسه‌ای در PHP

[این مقاله در سطح «پیشرفته» و نیازمند آشنایی خواننده با زبان PHP و نرم‌افزار Redis و مفاهیم «شرایط رقابتی» و «Shared Object» است.] کنترل دسترسی چند پروسه به منابع مشترک یا shared object ها از مسائلی است که روزانه در زندگی واقعی برنامه‌نویسان رخ می‌دهد. مدیریت این گونه از مسائل اهمیت بسیار زیادی در پیاده‌سازی نرم‌افزارها و سرویس‌های توزیع‌شده دارد. پیامد مدیریت…

بیشتر بخوانید

چطور یک Thread Pool بسازیم!

[این مقاله در سطح «متوسط» و نیازمند آشنایی خواننده با مفهوم «پردازش موازی» و زبان برنامه‌سازی «++C» است.] در پیاده‌سازی سرویس‌دهنده‌ها موارد بسیاری وجود دارد که در آن نیازمند پردازش درخواست‌های کوچک اما متعدد هستیم. برای درک بهتر مسأله یک شعبه‌ی بانک یا یک باجه‌ی فروش بلیت را در نظر بگیرید. در مثال شعبه‌ی بانک، تعداد مراجعان در طول یک روز غالباً…

بیشتر بخوانید

همه‌چیز درباره‌ی وب‌سرویس‌های REST – بخش اول، چرا و چطور

haxonite.deviantart.com

[در این مقاله و مقالات مرتبط بعدی قصد داریم که مفهوم، شیوه‌ی طراحی و پیاده‌سازی یک وب‌سرویس REST را آموزش دهیم. بخشی از این مطالب ترجمه‌ای از مقاله‌ای است که لینک آن در انتهای مقاله آمده‌است، لذا جایی که لفظ «من» در متن موجود باشد، اشاره به نویسنده‌ی اصلی مقاله دارد. این مقاله در سطح «متوسط» و نیازمند آشنایی خوانند به…

بیشتر بخوانید

ارزیابی تنبل در زبان C++11

lazy seal from jennipenny.deviantart.com

[مطالبی که در ادامه می‌آید در سطح متوسط و نیازمند آشنایی خواننده با زبان «C++11» و مفهوم «ارزیابی تنبل» است.] فُک شاید در ظاهر حیوان کُند و تنبلی باشد، اما به هنگام شکار و در آب بسیار سریع و فرز است. با این حال، ترجیح می‌دهد که بیشتر زمان خود را در ساحل و در حال استراحت بگذراند و فقط در صورت…

بیشتر بخوانید

داده‌ساختارهای بدون قفل

padlock from bloodykissatnight.deviantart.com

[مطالبی که در ادامه می‌آید در سطح پیشرفته و نیازمند آشنایی خواننده با مفهوم «چندریسگی» و زبان برنامه‌سازی «سی پلاس پلاس» است.] امروزه، کمتر کسی هست که در برنامه‌نویسی، اصطلاحات «پردازش چندریسه۱» یا «پردازش موازی۲» به گوشش نخورده باشد. پس از بازار داغ رقابت تولیدکننده‌های پردازنده برای افزایش سرعت پردازش تولیداتشان، در یک دهه‌ی اخیر این رقابت به تولید پردازنده‌هایی…

بیشتر بخوانید

انتقال امن و بی‌دردسر فایل‌ها با SCP

در فعالیت‌های مرتبط با شبکه‌های رایانه‌ای،‌ موارد بسیاری وجود دارد که شما ممکن است نیاز داشته باشید که از راه دور فایلی را بین دو رایانه انتقال دهید. برای این منظور احتمالاً  قابلیت «به اشتراک گذاشتن فایل‌ها» و یا «FTP» از معدود انتخاب‌های شما خواهند بود. اما در سیستم‌عامل‌های مبتنی بر یونیکس این کار می‌تواند به‌سادگی و توسط یک دستور انجام…

بیشتر بخوانید