رایانش مشبک تحت وب

امروز یک ایده به ذهنم رسید که نمی دونم واقعا مفید هست یا نه! یعنی واقعا در حد یه ایده ی خام هستش  و خیلی خیلی خیلی خوشحال می شم نظر بدید در موردش.

دبیرستان که بودم یه پروژه دیدم تو سایت دانشگاه berkeley به اسم BOINC که داشتند روی Grid Computing کار می کردند و از پروسسور هایی Client هایی که این برنامه رو داشتند برای یک سری محاسباتشون استفاده می کردند، محاسبات زیادی که نتیجه A به B بستگی نداره،ولی تعداد محاسبات خیلی زیاده. مثلا توی شکوندن یک رمز یا محاسبات ستاره شناسی و … . بعد به هر Client بسته به اینکه چقدر از پروسسورش اجازه استفاده داده و چندتا محاسبه انجام داده امتیاز داده می شد ( سوسول بازی های کار )

grid

 

 

الان که دارم این مطلب رو می نویسم و VLC هم باز هست از ۵٪ CPU دارم استفاده می کنم و از وقتی که لپ تاپم رو روشن کردم نهایت از ۸٪ش استفاده شده( بر اساس آمار Psensor )
خوب این یعنی هدر دادن کلی وقت CPU که می شد در جهت مثبتی ازش استفاده شه ولی نشده. چرا من از BOINC استفاده نمی کنم؟چون حال ندارم نصبش کنم و دوما خیلی از آدم ها هم نمی شناسند BOINC رو.( حالا سیستم های Grid واقعا زیاده ولی اینو من مثال زدم )

حالا ایده من چیه؟ رایانش مشبک تحت وب! برای رایانش مشبک از Web Worker و JavaScript استفاده کنیم، از یک سرور فایل جاوااسکریپت هر محاسبه و اطلاعاتی که باید پردازش بشه دریافت شه و تا وقتی اون سایت بازهست پردازش انجام شه و نتیجه با Ajax یا WebSocket به سرور ارسال شه.
حتی می تونه یک API باشه تا بقیه سایت ها هم ازش استفاده کنند و از کاربر اجازه بگیرند که حاضری برای کمک در پروژه X تا وقتی این سایت باز هست از پروسسورت استفاده بشه برای انجام محاسباتش؟ یا خود کاربر انتخاب کنه که دوست داره به چه پروژه ای کمک کنه ( مثلا یک پروسس برای شکستن رمز یا برای پزشکی یا … )
شاید حتی بشه ازش پول در آورد و براش بیزینس مدل نوشت که جاهایی که کار محاسباتی دارند بیاند ، اطلاعات خام و فایل جاواسکریپت محاسبشون رو بدند و بعدش نتیجه پردازش هارو تحویل بگیرند و حتی کاربرها عضو بشند و از اینکه قضیه پول در بیارند. ( یک چیزی تو مایه این سیستم های تبلیغات کلیکی مثل شبکه تبلیغات که واسطه تبلیغاتند، ولی یک جایی باشه برای واسطه گری برای انجام محسبات )
فرض کنید گوگل بیاد و این امکان رو فقط روی صفحه اصلیش قرار بده و فقط ۱٪ کاربرهام دعوتش برای این کارو لبیک بگند ( که البته می تونه اصلا اجازه نگیره و انگار همه لبیک گفتن دعوتش رو )، چقدر محاسبه انجام میشه!

عیب این روش اینکه جاواسکریپت کندتره تا یک برنامه نصبی ولی خیلی سریعتر می تونه همه گیر بشه و کاربرهای بیشتری رو درگیر کنه و توسعه این خیلی سریعتر و راحت تره! ( کلا اسکریپته تا یک برنامه کامپایل شده )

حالا دوستان نظرتون در موردش چیه؟

اگه خوبه من خودم خیلی دوست دارم روش کار کنم، کسی(کسایی) دوست داشت(ند) باهم اینکارو انجام بدیم خوشحال میشم.و اگر بده کجای کار مشکل داره؟

پ.ن: برای اطمینان از اینکه نتیجه درست هست، BOINC می یومد و هر پردازش رو توسط ۲تا کاربر انجام می داد، اگر MD5 نتیجه دومی با اولی یکی بود که هیچی، ولی اگر نبود مثل این بود که این پردازش اصلا انجام نشده!
یعنی می شه واسه اعتبار سنجی درستی پردازش ها فکرهایی کرد.

 

عدم پشتیبانی از range در فایرفاکس و رفع مشکل

با معرفی html5 یه سری type جدید واسه input مشخص شد، مثل url,number و …

کروم خیلی خوب compatible شده باهاش ولی firefox هنوز کلی جای کار داره. یکی از چیزهایی که فایرفاکس هنوز پشتیبانی نمی کنه نوع range هست.وقتی از چیزی پشتیبانی نشه، بصورت دیفالت اونو text می گیره.

ادامه خواندن عدم پشتیبانی از range در فایرفاکس و رفع مشکل

پروژه شبیه سازی فیس بوک

شبیه زاری فیس بوک

یه پروژه ای بود چند وقت پیش انجامش دادم، که خیلی حال داد.خیلی اعصاب خورد کن بود(چون باید توی مدت زمان کمی انجام می شد. یعنی اصلا پروژه توی ۲ روز انجام شد)

توی این پروژه می خواستند چیزی شبیه فیس بوک داشته باشند،ولی برای یک باشگاه.

اینطوری ک هرکسی میاد یه پروفایل می سازه،قدرت بدنیش رو بر اساس یه سری معیار وارد می کنه،هدف تعیین می کنه،وزن و … و تاریخ رسیدن به هرکدوم رو تعیین می کنه.

بعدش می تونه آپدیت کنه،بقیه میان براش لایک و کامنت می زارن،توی نوار سمت راستش باید نشون بده آخرین آپدیت ها رو و …

از پیشرفت نمودار می کشه و کلی چرت پرت دیگه

این با php با فریم ورک CodeIgniter و قسمت جاوااسکریپتش با فریم ورک jQuery انجام شده.

بطبع از css و چیزهای دیگه هم توش استفاده شده.

سعی هم کرده بودم تا اونجایی که سوادم می کشه جلوی انواع حملات رو بگیرم، جلوی brute force,sql injection,session hijacking و …


پروفایل در شبیه سازی فیس بوک