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

نکات برنامه‌نویسی و رایانه‌ای - امیرمسعود ایرانی

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

نکات برنامه‌نویسی و رایانه‌ای - امیرمسعود ایرانی

۷ مطلب در خرداد ۱۳۹۳ ثبت شده است

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

امیرمسعود ایرانی | چهارشنبه, ۲۸ خرداد ۱۳۹۳، ۰۱:۱۸ ب.ظ | ۰ نظر

چند روز پیش در کنار خیابان با دستفروشی مواجه شدم که فلش دیسک‌های ۳۲ گیگابایتی را به قیمت ۲۰ هزار تومان می‌فروخت. یعنی قیمتی حدود یک سوم واقعی

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

برای آزمون درست بودن این نوع فلش‌ها به دو روش ساده می‌شود عمل کرد.


روش اول: فرمت کردن فلش دیسک با استفاده از فایل‌سیستم NTFS( توصیه شده )

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

معمولا در ساخت فلش‌های تقلبی از دو روش استفاده می‌شود.

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

در روش دوم کلاهبرداری، بعد از فرمت هم حجم به مقدار غیرواقعی باقی می‌ماند ولی نوشتن روی فضاهای خالی موقتی است و بعد از جدا کردن فلش، اطلاعات قابل بازیابی نخواهد بود

فرمت کردن به روش NTFS به دلیل اینکه اطلاعاتی را در وسط فضای خالی دیسک می‌نویسد، اگر با موفقیت همراه باشد، نشاندهنده‌ی وجود فضای خالی واقعی تا وسط دیسک است و احتمالا فضای دیسک واقعی است.


روش دوم: کپی کردن یک فایل حجیم rar روی دیسک، جدا کردن و اتصال مجدد دیسک و استفاده از ویژگی test در WinRAR

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

حجم مناسب برای فایل مورد نظر می‌تواند عددی بیش از ۵۱۲ مگابایت باشد.


نکته‌ی نهایی در مورد انتخاب فلش‌دیسک‌ها اینکه قیمت این ابزارها، بر اساس حجم و سرعت خواندن و نوشتن آن‌ها متغیر است. سرعت بالا در بعضی کاربردها بسیار مهم است و نیاز است تا بهای بیشتری بابت خرید آن پرداخت شود.

استفاده از فلش‌هایی که دارای گارانتی معتبر هستند هم می‌تواند آرامش خیال کافی برای مصرف کننده فراهم کنند.

  • امیرمسعود ایرانی

جلوگیری از دانلود فایل‌های خاص به صورت مستقیم در آپاچی

امیرمسعود ایرانی | چهارشنبه, ۲۸ خرداد ۱۳۹۳، ۱۱:۵۰ ق.ظ | ۰ نظر
بسیاری اوقات نیاز است تا برخی فایل‌های خاص از روی سرور قابل دسترسی باشند ولی برنامه‌نویس بخواهد تا دسترسی دانلود را برای آن فایل‌ها محدود کند.
روش نخست و متداول، ایجاد یک شاخه و محدود کردن دسترسی با استفاده از فایل‌های htaccess است

روش دوم که برای فایل‌های تکی قابل استفاده است، تغییر نام این فایل‌ها است
مثلا ممکن است یک فایل پایگاه داده‌ی SQLite مثال مناسبی برای این نیاز باشد
برای رسیدن به هدف کافی است تا نام فایل را با عبارت «.‎.ht» آغاز کنیم. مثلا نامی مثل: «‎.ht.mydb.sqlite»

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

استفاده از نشانی ایمیل جی‌میل برای چند بار ثبت نام در یک سایت

امیرمسعود ایرانی | دوشنبه, ۱۹ خرداد ۱۳۹۳، ۰۳:۱۹ ب.ظ | ۰ نظر
برای ثبت نام در بیشتر سایت‌ها لازم است تا نشانی ایمیل خود را وارد کنید. اگر بخواهید با یک ایمیل چند بار در یک سایت ثبت نام کنید، احتمالا با پیام خطا مواجه خواهید شد.
راه حل این است که می‌توانید یک یا چند نقطه بین نشانی ایمیل خود قرار بدهید
مثلا به جای نشانی ایمیل myemailatgmail@gmail.com می‌توانید از نشانی  my.email.at.gmail@gmail.com استفاده کنید
با این روش با یک ایمیل می‌توانید به تعداد نامحدود در یک سایت ثبت نام کنیدی
  • امیرمسعود ایرانی

بهینه‌سازی شیوه‌نامه‌های( CSS ) موجود در یک صفحه‌ی وب

امیرمسعود ایرانی | جمعه, ۱۶ خرداد ۱۳۹۳، ۱۱:۱۱ ب.ظ | ۰ نظر

 با زیاد شدن رقابت در تولید سایت‌های باکیفیت و بهینه، دانستن چندین نکته در هنگام تولید شیوه‌نامه‌ها(‌CSS) جزء ضروریات به حساب می‌آیند
در این مطلب، موارد مورد نیاز به صورت فهرست درج خواهند شد

یکی کردن شیوه‌نامه‌ها
درخواست هر فایل از سرور، نیازمند صرف زمان و سبب ایجاد تاخیر در بارگزاری و نمایش سایت است. بنابراین بهتر است این فایل‌ها تا حد امکان با یکدیگر ادغام شوند و در یک درخواست به مشتری ارسال گردند

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

حذف قانون‌های اضافی
معمولا در طول طراحی یک سایت، قانون‌های زیادی برای بخش ظاهری یک سایت ایجاد می‌شوند. به دلایل مختلف ممکن است این قانون‌ها حذف یا تغییر کنند. ولی تعریف قانون در فایل css باقی مانده باشد.
مرورگرهای مدرن امروزی، ابزارهای برای شناسایی این قانون‌ها در اختیار برنامه‌نویس قرار می‌دهند که با استفاده از آن می‌توان حجم فایل‌های css را به حداقل ممکن رساند و سرعت بارگزاری سایت را تا جایی که ممکن است افزایش داد.

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

شیوه‌نامه‌های درون‌خطی
اگرچه قراردادن شیوه‌نامه‌ها داخل فایل html و مقابل ویژگی style باعث بی‌نظمی در فایل html می‌شود. ولی در بعضی مواقع، درج شیوه‌نامه‌های کوتاه در محل‌های خاص می‌تواند در کارایی سایت اثر قابل توجهی داشته باشد.
برای مثال جستجوی تصویر سایت گوگل، چند تصویر ابتدایی را با استفاده از شیوه‌نامه‌های درون خطی درون مرورگر نمایش می‌دهد. در نتیجه، در همان زمان که کاربر تصاویر را جستجو می‌کند، تصویرهای ابتدایی هم فورا برای او به نمایش در می‌آیند.

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

  • امیرمسعود ایرانی

Artisan چیست؟

امیرمسعود ایرانی | جمعه, ۱۶ خرداد ۱۳۹۳، ۱۱:۰۳ ب.ظ | ۰ نظر

Artisan یک ابزار خط فرمان در فریم‌ورک لاراول است.
این ابزار وظیفه دارد تا انجام تغییرات در فریم‌ورک را ساده کند. فراخوانی این ابزار با استفاده از فایل اجرایی php به انجام می‌رسد
برخی از کارهایی که Artisan انجام می‌دهد عبارتند از:

  • فعال و غیر فعال کردن سایت
  • بهینه‌سازی فریم‌ورک برای عملکرد بهتر
  • به‌روزرسانی پایگاه داده با آخرین تغییرات
  • ایجاد کلید امنیتی برنامه که در کوکی‌ها و سشن‌ها استفاده می‌شود
php artisan [options] command [arguments]
برای فراخوانی دستورات artisan از خط فرمان به شکل زیر عمل می‌کنیم
php artisan [options] command [arguments]
مشاهده‌ی دستورات قابل استفاده در artisan با نوشتن دستور زیر امکان‌پذیر است
php artisan
یکی از پرکاربردترین دستورات artisan دستور dump-autoload است
php artisan dump-autoload
وظیفه‌ی این دستور، جستجوی تمام شاخه‌های برنامه و ایجاد فایل autoloader است. پس از اینکه یک کلاس به سایت اضافه کنید یا چیزی از آن را حذف کنید، لازم است تا این دستور صدا زده شود. فایل autoloader حاوی فهرست تمامی کلاس‌ها و آدرس قرارگیری آن‌هاست. با در اختیار داشتن یک فایل autoloader به‌روز و مرتب‌شده، سرعت کلی عملکرد سایت افزایش پیدا می‌کند.
  • امیرمسعود ایرانی

حالت checkboxهای html به صورت نیمه انتخاب شده

امیرمسعود ایرانی | جمعه, ۹ خرداد ۱۳۹۳، ۱۲:۳۸ ق.ظ | ۰ نظر
یکی از ویژگی‌های موجود در نگارش‌های جدید HTML امکان نیمه‌فعال بودن checkboxها است. این حالت در اصطلاح indeterminate نام دارد.
مورد استفاده‌ی این حالت هنگامی است که یک checkbox وضعیت انتخاب یا عدم انتخاب چند موضوع را نشان می‌دهد
مثلا هنگامی که checkboxها به صورت درختی در صفحه‌ای به نمایش درآیند و انتخاب چند گزینه از زیرمجموعه‌های یک checkbox مساوی وضعیت نیمه‌فعال پدر خواهد بود.

برای تبدیل کردن یک checkbox به حالت نیمه‌فعال، علاوه بر فعال کردن آن می‌بایست با استفاده از جاوااسکریپت ویژگی indeterminate شیء input را مساوی true قرار دهیم.

مهم‌ترین نکته‌های قابل توجه عبارتند از:
  • یک checkbox نیمه‌فعال در سیستم‌عامل‌های مختلف به شکل‌های مختلفی نمایش داده می‌شود
  • یک checkbox که به صورت نیمه فعال است، از دید برنامه‌نویسی به صورت کامل فعال است و مقدار مورد نظر را بر می‌گرداند
  • امکان فعال کردن این حالت با استفاده از HTML و صفت‌های موجود در تگ‌ها ممکن نیست. در حال حاضر تنها با استفاده از جاوااسکریپت می‌توان به این هدف دست پیدا کرد.
  • امیرمسعود ایرانی

مزیت‌های اسکرام نسبت به روش‌های توسعه‌ی سنتی

امیرمسعود ایرانی | جمعه, ۲ خرداد ۱۳۹۳، ۰۱:۱۲ ق.ظ | ۰ نظر
  • اسکرام یک مدل توسعه‌ی بسیار منعطف ارائه می‌کند.
  • توسعه‌دهندگان در یک زمان روی یک ماژول کوچک کار می‌کنند.
  • بازخورد مشتری همزمان با توسعه دریافت می‌شود.
  • توسعه‌ی چابک به ویژه در زمان‌هایی که هدف نهایی پروژه مشخص نیست، سودمند است.
  • هر توسعه دهنده روی ماژولی متفاوت در فرآیند توسعه فعالیت می‌کند.
  • امیرمسعود ایرانی