سفر خاک

یادداشت های غلامحسین توسلی

سفر خاک

یادداشت های غلامحسین توسلی

جز غبار از سفر خاک چه حاصل کردیم؟ / سفر آن بود که ما در قدم دل کردیم

۶ مطلب با کلمه‌ی کلیدی «programming» ثبت شده است

مسئله اول: اگر چند کاربر همزمان به یک صفحه PHP (یا صفحات مختلف، فرقی نمیکنه!) درخواست ارسال کنند، آیا PHP به صورت موازی (و همزمان) به درخواست‌ها پاسخ می‌ده؟

مسئله دوم: اگر یک کاربر همزمان چند درخواست (مثلاً به وسیله Ajax) به صفحات جداگانه PHP از یک دامین ارسال کند، آیا PHP به صورت موازی به درخواست‌ها پاسخ می‌ده؟


در حقیقت مسئله من همون مسئله دومه؛ فرض کنید من می‌خوام یه صفحه مانیتورینگ طراحی کنم. توی این صفحه مانیتورنگ ویجت‌های مختلفی هست که همزمان به اسکریپت‌های مختلف PHP درخواست Ajax می‌فرستند و قراره یه تعداد نمودار رو در خروجی نمایش دهند. این درخواست‌های همزمان از طرف یک کاربر ارسال می‌شود.

از منظر معماری، وب سرورها بر مبنای دو رهیافت عمده پیاده‌سازی می‌شوند

  1. رهیافت موازی (concurrent)
  2. رهیافت تک پردازه‌ای رویداد محور (event driven)
  • غلامحسین توسلی

یه بررسی میدانی روی تلویزیون های هوشمند (جدید) اقوام و آشنایان انجام دادم و به این نتیجه رسیدم بهنرین رابط کاربری از دیدگاه تجربه کاربر (UX) رو سامسونگ ارائه داده؛ یعنی همین تلویزون ما! بی ایراد نیست ولی انصافاً خیلی کم تونستم تو طراحی بهش گیر بدم. این تلویزیون امکان اتصال به شبکه رو داره (هوشمنده دیگه) هم با کابل و هم به صورت بیسیم. حالا ما یه روز خواستیم از روی لپ تاپ یه ویدیو رو روی تلویزیون پخش کنیم. چند راه وجود داشت. یکی این که کابل HDMI رو بزنم به لپ تاپ و خلاص. متاسفانه کابل HDMI تو خونه نداشتیم. یه راه دیگه هم اینه که ویدیو رو روی فلش کپی کنم بعد بزنم به پورت USB تلویزیون. یه راه دیگه هم هست و اونم اینه که از جام تکون نخورم و از شبکه بیسیم خونه استفاده کنم!  امان از تنبلی...

سامسونگ ابزاری داره به نام AllShare که اگه شما یکی دیگه از محصولات سامسونگ مثل تلفن هوشمند و یا دوربین و ... رو داشته باشید، این مسئله حل شده است. البته الان از AllShare خبری نیست و بجای اون نرم افزار Samsung Link رو ارائه داده. اما لپ تاپم Dell هست. یه استانداری هست به نام DLNA برای ارتباط بین دستگاه‌های دیجیتال با مصرف خانگی روی بستر شبکه‌های تحت آی پی.

  • غلامحسین توسلی

نتیجه رو همین اول به گم؛ بعد از مدت‌ها بررسی به این نتیجه رسیدم که در حال حاضر Genymotion از هر نظر بهترین شبیه‌ساز اندروییده. چرا؟ خوب حالا بررسی می‌کنیم. در این پست سه شبیه‌ساز Genymotion، Bluestacks و شبیه‌ساز اصلی اندروید (AVD) رو به طور نه‌چندان رسمی مورد بررسی قرار می‌دم.
به نظر من مهم‌ترین مسئله در مورد شبیه‌سازهای اندروید سرعت اجرا شبیه‌ساز هست. شبیه‌ساز اصلی خود اندروید که همراه SDK عرضه میشه افتضاح‌ترین از این جهته. البته هزینه این کندی بر میگرده به این‌که
  • غلامحسین توسلی

چهار لینک کوتاه

۱۶
ارديبهشت

  • Snabb Switch: جعبه ابزاری متن باز برای پردازش شبکه - مناسب برای استفاده در ISP ها
    از ویژگی‌های این جعبه ابزار می توان به پردازش میلیون ها بسته اترنت در ثانیه اشاره کرد. این نرم افزار قادر است تا به صورت بومی (native) با سخت افزار اترنت، Hypervisors و هسته لینوکس ارتباط برقرار کند. این پروژه کاملا متن باز بوده و بر روی سیستم عامل لینوکس در فضای کاربر (userspace) قابل اجراست. جالبه بدونید
  • غلامحسین توسلی

برای یک برنامه کاربردی که با زبان ++C نوشتم نیاز به ارتباط رمزنگاری شده با برنامه‌ای دیگه پیدا کردم که منجر شد به  استفاده از کتابخانه ++Crypto. ممکنه بپرسید چرا ++C. خوب یه دلیل بیشتر نداره! واسه نوشتن برنامه Desktop چارچوب Qt رو به زبان هایی مثل Net. و جاوا ترجیح میدم! ++Crypto یک کتابخانه رمزنگاری رایگان به زبان ++C است. یه ریزه کامپایلش تو ویندوز کار داره. بعد از معرفی اجمالی نحوه کامپایل این کتابخانه رو تو ویندوز توضیح میدم.

  • غلامحسین توسلی

iptables در پروژه Netfilter توسعه داده شده و از لینوکس 2.4 به بعد (سال 2001) به عنوان بخشی از هسته لینوکس در دسترس کاربران قرار داده شده است. در این سری پست‌ها قصد آموزش iptables رو ندارم. به اندازه کافی منابع خوب واسش هست. (مثلا این واسه شروع خوبه) قصد دارم اینجا تنها تجارب شخصی خودم رو منتشر کنم.
اغلب کاربران میان دو اصطلاح iptables و netfilter دچار سردرگمی می‌شوند. حداقل من که این مشکل رو داشتم! Netfilter نام پروژه رسمی برای تمامی امکانات فیلتر کردن بسته‌های شبکه در لینوکسه. همچنین Netfilter چارچوبی رو در درون هسته لینوکس مهیا کرده که برنامه‌های دیگه می‌تونن از توابع تعریف شده در این چارچوب برای گیرانداختن! بسته‌ها در پشته شبکه استفاده کنن. شما با استفاده از این ابزار می توانید نرم افزاری بنویسید که به کلیه بسته های شبکه نظارت داشته و در صورت لزوم میتونه از ورود بسته های ناخواسته به سیستم جلوگیری کنه.
  • غلامحسین توسلی