گیک فارسی

نوشته های یک گیک فارسی از فعالیت ها ،‌ علاقه مندی ها و نقد هایش

یک شب به یاد ماندنی و افتخار آمیز برای سینمای ایران

نویسنده:
۵ خرداد ۹۵

شنبه شب شصت و نهمین فستیوال فیلم کن به پایان رسید و برای ما ایرانی‌ها با خبر های خوشی همراه بود ، کارگردان خوب کشورمون آقای اصغر فرهادی با فیلم فروشنده در بخش اصلی حضور داشتند و با توجه به سبقه آقای فرهادی نزد اهالی سینِما ، همه منتقدان و دوستدارانشون در انتظار بودند که ببینن نتیجه چه خواهد شد ؟!

کن ۲۰۱۶ - فرهادی و حسینی

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

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

نمایش صفحه سفید ،‌ کار نکردن کد روی سرور و از این دست مشکلات در PHP

نویسنده:
۲۴ اردیبهشت ۹۵

یکی از سؤالاتی که بارها مخصوصاً توسط تازه کار‌های PHP پرسیده میشه این هست که برنامه یا سایت روی سیستم خودمون به صورت Local درست کار میکنه اما وقتی به Server و سایت اصلی منتقلش میکنیم به مشکل میخوریم.

کدنویس عصبانی

عموما مشکل این هست که با یک صفحه سفید روبرو می‌شویم ، برنامه رفتار عجیب از خودش نشون میده ، بخشی از برنامه اجرا نمیشه یا کلاً هیچ اتفاقی نمیفته و جالب اینجاست که چون فکر میکنن مشکل از کدهاشون نیست هیچ کدی را هم جهت بررسی توی سوالشون قرار نمی‌دهند.

مشکل این دوستان در مرحله اول این هست که در‌ واقع تفاوت‌های کوچک و بزرگی بین سیستم عامل خودشون که عموما ویندوز هست (و من توصیه میکنم اگه میخوان برنامه نویسی وب و PHP را جدی پیگیری کنند به فکر مهاجرت به لینوکس باشند) و سیستم عامل میزبان که عموما لینوکس هست وجود داره یا از کتابخونه و نسخه‌ای از PHP استفاده میکنند که با Server سایتشون متفاوت هست و به همین علت برنامه خطا میده.

بر روی Server از طریق کانفیگ PHP به صورت پیش‌ فرض مانع از نمایش خطا ها به کاربر می‌شوند که کاملاً درسته و شما خودتون باید نمایش خطا‌ها را دستی فعال کنید. برای این کار این دو خط را در ابتدای کدهای PHP خودتون قرار بدین :

error_reporting(E_ALL);
ini_set('display_errors','1');

این دو خط از مفسر PHP میخواد که همه انواع خطاها را گزارش کنه و در صورت بروز خطا آن‌ها را در خود صفحه نمایش بده. اگه بخواهیم اصولی‌تر گزارش خطاها را کنترل کنیم بهتره از htaccess. استفاده کنیم و این چند خط را داخلش بنویسیم :

php_flag display_startup_errors on
php_flag display_errors on
php_value error_reporting 32767

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

php_flag  log_errors on
php_value error_reporting 32767
php_value error_log  /full/path/to/log/file.log

حالا کافیه سایت را دوباره چک کنیم و این بار قطعاً خطاهای احتمالی را متوجه میشیم و میتونیم رفعشون کنیم.

بازنشاندن یا همون Reset کردن فیلد File Input با جاوا اسکریپت

نویسنده:
۲۳ اردیبهشت ۹۵

اگه به توسعه Ajax ی وب سایت‌های خودتون روی آورده باشین قطعاً یکی از دردسر هایی که باهاش مواجه شدین میتونه این باشه که چطور یک فیلد Input از نوع فایل را Reset کنید. چون با خالی کردنش یا Clone گرفتن و این چیزا Reset بشو نیست و مرورگر‌های مختلف هم رفتار‌های متفاوتی دارند که اگه اینطور نبود جای تعجب داشت مخصوصاً نسخه‌های قدیمی IE !!!

روش کلی این هست که کل ورودی ها را یا همون input را بگذاریم توی تگ form و حالا فرم را Reset کنیم. اما اگه بخواهیم فقط همون Input را بدون خرابکاری و تگ بازی و دینامیک Reset کنیم میتونیم از این کد استفاده کنیم :

با فرض اینکه اسم id اون Input مورد نظر myfile باشه :

function reset_fileinput(input_id){
	e = document.getElementById(input_id);
	$(e).wrap('<form>').closest('form').get(0).reset();
	$(e).unwrap();
}

reset_fileinput("myfile");