انتشار اولین بروز رسانی برای نسخه‌ی سوم ITLPoll

با سلام بروزرسانی

این یکی دو روزه بیکار بودم و تعدادی بروز رسانی را در نسخه‌ی ۳٫۰٫۰ سیستم نظرسنجی ITLPoll انجام دادم و هم اکنون آخرین نسخه ۳٫۰٫۱ می‌باشد. تعدادی تغییرات جزیی در این بروزرسانی داده شده است از جمله :

  1. درست کردن سیستم بازیابی رمز عبور مدیران و کاربران
  2. پررنگ (Bold) کردن گزینه‌ای که دارای بیشترین رای است ( در قسمت نتایج )
  3. تعدادی تغییرات جزیی در ظاهر قالب‌های front-end

برای آپدیت کردن نسخه‌ی ۳٫۰٫۰ به نسخه‌ی ۳٫۰٫۱ کافی است که این نسخه را دانلود کرده و فایل‌های زیر را جایگزین فایل‌های قدیمی کنید. ( تغییری در بانک اطلاعاتی داده نشده است )

  1. admin/index.php
  2. includes/functions.php
  3. templates/metalic-ltr/user.xml
  4. templates/metalic-rtl/user.xml

دانلود این نسخه از سایت رسمی

تفاوت بین برنامه‌های Platform-Independent و Cross-Platform و نحوه‌ی پیدایش آن‌ها در سیر تکاملی برنامه‌نویسی

متاسفانه در زبان فارسی این نوع رویه‌ی برنامه‌نویسی را با لغت « مستقل از سکو » معنی کرده‌اند در حالی در معنای اصلی تفاوت قابل ملاحظه‌ای با هم دارند که در این مقاله به شرح تفاوت‌ها و نحوه‌ی پیدایش آن‌ها در سیر تکاملی برنامه‌نویسی می‌پردازیم.

اگر تا کنون خودتان تعدادی برنامه‌ی متن‌باز دانلود کرده باشید ( و یا حتی بعضی برنامه‌های Closed Source نیز !) با این دو نوع برنامه مواجه شده‌اید. در صورتی که برنامه‌نویس هستید بایستی تفاوت این دو را به خوبی درک کرده باشید و در صورتی که هنوز درک نکرده‌اید هم اکنون دست به‌کار شوید (!).

زبان‌های قدیمی اکثرا به گونه‌ای بودند که امکان انتقال از یک بستر (Platform) به بستر دیگر را به برنامه‌نویس نمی‌دادند. دلیل آن هم وجود تعداد محدودی سیستم‌عامل انحصاری و همچنین برنامه‌های انحصاری برای آن‌ها بود. اما در دهه‌ی ۱۹۹۰ با آغاز جنبش نرم‌افزاری متن‌باز و GNU توسط ریچارد استالمن و تولد سیستم‌عاملی ( هم اکنون ) قدرتمند به نام Linux در آن زمان ، دیگر بستر و نرم‌افزارهای انحصاری کم کم محبوبیت خود را از دست دادند. چرا که برنامه‌نویسان سیستم‌عامل گنو/لینوکس تفاوت قابل ملاحظه‌ای با برنامه‌نویسان دیگر سیستم‌عامل‌های انحصاری ( مانند ویندوز و مک ) داشتند : « آنها برنامه‌هایی می‌نوشتند که تنها محدود به لینوکس نبود بلکه در اکثر بسترهای نرم‌افزاری و سخت‌افزاری بدون تغییر چندانی در کد ، اجرا می‌شدند »

» ادامه مطلب

سیستم‌عامل Linux شما تا چه حد آزاد است ؟!

در وبلاگ دوست عزیز مطلبی با عنوان « ریچارد استالمن مجازی » یا VRMS آمده است. اگر فکر می‌کنید یک توزیع لینوکس نصب کرده‌اید و تمامی نرم‌افزارهایی که نصب کرده‌اید ، آزادند و در واقع از چندین دولت آزادید (!!!) اشتباه فکر می‌کنید. هم اکنون حداقل چندین نرم‌افزار بر روی سیستم شما نصب است که آزاد نیستند. البته در مورد اینکه چه نرم‌افزاری آزاد است بایستی مستندات GNU را بخوانید. کاری که این نرم‌افزار انجام می‌دهد نشان دادن لیست و تعداد نرم‌افزارهای غیرآزاد نصب شده بر روی سیستم شماست.

بنابراین دوستان لینوکسی در آستانه‌ی روز آزادی نرم‌افزار ، از لینوکس‌کاران عزیز (!) درخواست کرده‌اند که خروجی این نرم‌افزار را بر روی وبلاگشان قرار دهند. (roozbehonline)

البته بنده متاسفانه دیر متوجه این فراخوان شدم ولی ماهی رو هر وقت از آب بگیری تازه است. خروجی vrms بر روی سیستم من نشون می‌ده ۱/۲ درصد از نرم‌افزارهای نصب‌شده غیرآزاد هستند.

» ادامه مطلب

آموزش نمایش تصاویر مستقل از فایل تصویری در PHP

خیلی وقت بود که چیزی در مورد PHP ننوشته بودم. البته منظورم در مورد آموزش PHP بود و گرنه خبرهای اون رو که هیچ وقت از دست نمی‌دم !

حتما خیلی از برنامه‌های نوشته‌شده با PHP را دیده‌اید که بدون اینکه فایلی تصphpimgویری در پوشه‌ی برنامه‌شان داشته باشند ، فایل‌های تصویری زیادی را در صفحه‌‌های HTML خودشان قرار داده‌اند. این یکی از تکنیک‌های PHP است. یعنی بجای ذخیره کردن فایل‌های تصویری می‌توانید آن‌ها را در متغیرهایی در برنامه‌ی PHP خود ذخیره کنید. البته همان طور که حدس زده‌اید این ترفند برای فایل‌های گرافیکی با حجم بالا اصلا به‌صرفه نیست. بیشتر برای لوگوهای برنامه‌ی خود می‌توانید از آن استفاده کنید.

یک مثال کامل از این ترفند را در فایلی در انتهای آموزش جهت دانلود قرار داده شده است که می‌توانید آن را دانلود کنید.

برای این کار ابتدا یک فایل تصویری ( ترجیحا PNG چون کد PHP را متناسب آن نوشته‌ایم ) را انتخاب کنید. سپس یک فولدر در وب سرور خود درست کنید. و فایلی با نام createcode.php را بسازید. در این فایل می‌خواهیم محتویات فایل تصویری را خوانده و سپس آن را با استفاده از تابع base64_encode رمزنگاری کنیم. چرا که اگر از این تابع استفاده نکنید ، در هنگام ذخیره کردن فایل PHP با encoding فایلتان مشکل پیدا خواهید کرد.

» ادامه مطلب

تفاوت بین برنامه‌نویسی و اسکریپت‌نویسی

اولا اینکه آیا این موضوع اصلا اهمیت دارد ؟!! و همچنین ارزش گرفتن وقت ارزشمند شما را ؟!

پاسخ اینکه : « در صورتی که به خود برنامه‌نویس می‌گویید و تا کنون تفاوت این دو را درک نکرده‌اید ، یا هم اکنون این مقاله را بخوانید و یا اینکه بیخیال برنامه‌نویسی شوید ! »

قبل از شروع بحث در مورد تفاوت این دو در مورد ضعف زبان فارسی بگم (!)‌ اینکه باعث میشه که خیلی از کلمات انگلیسی رو غلط تلفظ کنیم. مثلا همین Script رو باعث می‌شه که به‌جای تلفط “سکریپت” ، “اسکریپت” تلفظ می‌شود. این اشتباه رو خیلی از فارسی زبانان مرتکب می‌شوند و دلیلش هم نبود واج صامت در ابتدای هیچ کدام از کلمات موجود در زبان فارسی هست که مجبوریم مصوتی مانند « إ » رو به ابتدای آن‌ها اضافه کنیم. ( به هر حال ما هم مجبوریم همین کار رو بکنیم ! )

به احتمال زیاد با زبان‌های اسکریپت‌نویسی زیادی تاکنون اسکریپت‌نویسی کرده‌اید که مشهورترین آن‌ها همان JavaScript است و در صورتی که هنوز به دنیای وب وارد نشده‌اید ( که خیلی بعید است ) حداقل یک اسکریپت پوسته‌ای نوشته‌اید. و همچنین در طرف دیگر حتما یک برنامه (Program) را نوشته‌اید. اگر هر دوی این کارها را کرده‌اید پس بایستی تفاوتی بین آن‌ها قایل باشید. نظر کلی در مورد تفاوت این دو رویه به این صورت قابل بیان است :

« در یک زبان برنامه‌نویسی شروع کننده ، کنترل کننده و در واقع خدای برنامه‌تان شما هستید و بیشتر برنامه را شما می‌نویسید ، اما در یک زبان اسکریپت‌نویسی به احتمال زیاد شروع‌کننده شما نیستید (!) شما تنها کاری که می‌کنید قطعه‌هایی از کد را می‌نویسید و مفسر آن‌ها را برای شما متصل می‌کند »

» ادامه مطلب

یک تست با Bilbo

سلام !

یک تست با Bilboی نسخه‌ی پایدار اول !

مثل اینکه خیلی خوب شده !

منتظر نسخه‌ی پایدار بودم !!

حالا دیگه با این وبلاگ می‌نویسم !

فعلا تا بعد !

انتشار نهایی نسخه ۳.۰.۰ سیستم نظرسنجی ITLPoll

همان طور که قول داده بودم ، هم اکنون یعنی در حدود نیمه‌ی ماه شهریورشاهد انتشار نهایی نسخه‌ی سوم ITLPoll هستید.itlpoll3-final

از ویژگی‌های عمده‌ی نسخه‌ی سوم ITLPoll به صورت زیر است :

  • استفاده از چارت‌های پویای ۳-بعدی دایره‌ای و ستونی و همچنین ۲-بعدی ( قدیمی ) برای نمایش نتایج
  • امکان ایجاد کاربران مختلف برای مدیریت سیستم ( اضافه ، ویرایش و یا حذف نظرسنجی‌ها ، ویرایش تنظیمات و … )
  • امکان ایجاد گروه‌های دسترسی برای ایجاد محدودیت برای کاربران سیستم
  • تغییرات اساسی در ساختار بانک اطلاعاتی و جدا کردن تنظیمات کاربران از تنظیمات عمومی

همچنین حدود یک ماه از انتشار آزمایشی نسخه‌ی ۳.۰.۰ می‌گذرد. غیر از اضافه‌کردن نسخه‌ی بروز شده‌ی زبان‌های آلمانی و اسپانیایی ، تغییرات زیر در نسخه‌ی نهایی داده شد :

  • بروز کردن سیستم بازیابی رمز عبور فراموش شده ( وارد یک loop نامحدود می‌شد )
  • تعدادی بهینه‌سازی در قسمت محاسبات برای چارت‌های ۳-بعدی
  • اضافه‌کردن نمایش دهنده‌ی آخرین نسخه‌ی موجود در پانل مدیریت از سایت SourceForge و TrilexNET
  • تعدادی تغییرات و بهینه‌سازی در قسمت set کردن کوکی‌های front-end
  • تغییرات محتوایی برای نصاب و قالب‌های سیستم

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

» ادامه مطلب

از Report Spam به‌موقع و به‌جا استفاده کنیم!

خیلی از دوستان رو دیدم ، وقتی که با یک ایمیل Spam و یا تبلیغاتی مواجه می‌شوند ، یا اینکه اون رو حذف می‌کنند و یا اینکه اینقدر زیاد می‌شوند که دیگه کاری به اونها ندارند. سرویس تشخیص Spam گوگل و به خصوص یاهو هم آنچنان قوی نیستند که Spammer های ( علی الخصوص ) ایرانی‌ را شناسایی کنند. حتی بعضی از دوستان به قول خودشون از محدودیت یاهو عبور کرده‌اند و بدون اجازه‌ی شخص ، ایمیل او را در گروه خود ثبت می‌کنند و دیگه چشمتون روز بد نبینه !! ( توی ایمیل‌های تبلیغاتی‌شون هم نوشته « همین الان عضو شوید » به صورت کاملا دستوری ! )

Spam

اما همان‌طور هم که حدس زده‌اید ، سرویس‌های ایمیل دکمه‌هایی شبیه Report Spam سرویس Google Mail رو برای تزئیین قالب سایت نزده‌اند !! وقتی ایمیلی را دیدید که به صورت تبلیغاتی بود و هیچ فایده‌ای برایتان نداشت و فقط باعث اذیت‌کردن شما و تلف کردن وقتتان شد ( این گونه ایمیل‌ها از همان Subjectشان قابل تشخیص هستند ) بجای حذف کردن آن‌ها Select کنید و دکمه‌ی Report Spam یا چیزی شبیه آن را بزنید. با این کار هم هرزنامه از Inbox شما حذف خواهد شد و هم در آینده اگر کسی با آدرس ایمیل فرستنده ، دوباره ایمیلی زد به Inbox شما راه پیدا نخواهد کرد.

» ادامه مطلب