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

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

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

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

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

لاراول چیست؟

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

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


لاراول( Laravel ) یک فریم‌ورک php است که توسط تیلور اوتول(Taylor Otwell) توسعه پیدا کرده است. این فریم‌ورک از کتابخانه‌های گوناگونی و به ویژه بسیاری از کتابخانه‌های سیمفونی( Symfony ) استفاده می‌کند.

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

ویژگی‌های بسیاری در لاراول وجود دارند که آن را به انتخاب اول توسعه‌دهندگان تبدیل کرده‌اند.

مهم‌ترین ویژگی لاراول ORM اختصاصی آن به نام Eloquent است. هرچند یادگیری استفاده از این ابزار ممکن است به اندکی زمان نیاز داشته باشد، ولی انعطاف، کارایی و قدرت Eloquent را به ندرت می‌توان در ابزارهای دیگر یافت.

Eloquent کار کردن با اطلاعات را به گونه‌ای آسان می‌کند که باور آن گاهی دشوار به نظر می‌رسد. کدهای نوشته شده با Eloquent شباهت بسیار زیادی با زبان انسان دارند و حتی اگر تا کنون با این شیوه کد ننوشته باشید، معنی کدها را به خوبی متوجه خواهید شد.

Eloquent امکان ذخیره و بازیابی اطلاعات در پایگاه داده‌های مختلف از جمله MySQL، Postgres، و SQL Server را فراهم می‌کند.

لاراول حاوی یک Template Engine اختصاصی به نام Blade است. اگرچه این تمپلیت انجین در مقایسه با ابزارهایی مانند Twig از امکانات کمتری برخوردار است، با این حال تمامی نیازهای معمول را برطرف می‌کند.

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

سیستم مسیردهی(‌ Routing ) در لاراول نیز به صورت اختصاصی توسعه یافته است. این سیستم امکانات بسیاری را در اختیار شما قرار می‌دهد. استفاده از پیشوندها و پسوندها، کنترلرها، فیلترها، توابع درون خطی و بسیاری امکانات دیگر کار کردن با مسیرها را بسیار آسان می‌نمایانند.

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

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

لاراول برای پروژه‌هایی با هر اندازه قابل استفاده است. اگر می‌خواهید از کدنویسی لذت ببرید هم‌اکنون به جامعه‌ی بزرگ کدنویسان لاراول بپیوندید.


طراحی سایت با لاراول

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

حذف تاخیر در هنگام تغییر زبان ویندوز با استفاده از Alt+Shift

امیرمسعود ایرانی | سه شنبه, ۲۸ مرداد ۱۳۹۳، ۰۱:۳۶ ب.ظ | ۰ نظر
در ویندوز برای تغییر زبان ورودی از کلیدهای میانبر Alt+Shift استفاده می‌شود.
استفاده از این کلیدهای میانبر با تاخیری همراه است و معمولا پیش می‌آید که بعد از زدن این کلیدها مقداری باید صبر کنید تا زبان ورودی تغییر کند.
برای حل این مشکل کافی است روی عبارت EN یا FA در کنار ساعت ویندوز کلیک راست کنید و گزینه‌ی Auto Adjust را غیر فعال کنید.
با انجام این کار،‌ پس از فشردن کلیدهای Alt+Shift فورا زبان ورودی تغییر خواهد کرد.
  • امیرمسعود ایرانی

Composer چیست؟

امیرمسعود ایرانی | شنبه, ۲۵ مرداد ۱۳۹۳، ۰۲:۲۵ ب.ظ | ۰ نظر
Composer ابزاری است که نیازمندی‌های یک پروژه‌ی php را مدیریت می‌کند.
بررسی به‌روزبودن، تمامی کتابخانه‌های مورد نیاز برای یک پروژه و به‌روزرسانی آن‌ها ممکن است کاری دشوار و زمان‌بر باشد. با استفاده از Composer این کار به سادگی انجام می‌شود.

شیوه‌ی کار Composer به این صورت است که فهرست کتابخانه‌های مورد نیاز برای اجرای یک پروژه در فایلی به نام composer.json قرار گرفته در کنار فایل‌های اصلی پروژه ثبت می‌شوند
پس از دریافت و نصب Composer با فراخوانی دستور composer update در خط فرمان، این فایل خوانده می‌شود و تمام کتابخانه‌های ثبت شده در آن به شاخه‌ی vendor در کنار فایل اصلی منتقل می‌شوند.

نگارش جدید Composer که در ویندوز اجرا می‌شود، حاوی نرم‌افزاری است که اجرای دستور install را از داخل Windows Explorer و با قابلیت‌های Shell به انجام می‌رساند. برای استفاده از این ویژگی کافی است روی فایل composer.json کلیک راست کرده و گزینه‌ی install یا update را انتخاب کنیم.

برای به‌روزرسانی کتابخانه‌های مورد نظر، فراخوانی همین دستور کار به‌روزرسانی را انجام خواهد داد.

علاوه بر دو فایل composer.json و شاخه‌ی vendor یک فایل دیگر به نام composer.lock هم در کنار آن‌ها ساخته می‌شود. این فایل فهرست کتابخانه‌های دریافت شده و نصب شده را در خود نگهداری می‌کند.
مورد استفاده‌ی آن در هنگام کار گروهی است. با کمک این فهرست، هر یکی از اعضای تیم که دستور composer install را فراخوانی کنند، دقیقا نگارش‌های یکسانی از کتابخانه‌ها را دریافت خواهند کرد. و با این کار از ناهماهنگی‌های احتمالی در نگارش‌های مختلف کتابخانه‌ها پیش‌گیری خواهد شد

مدیر پروژه در زمان‌های مشخص، از دستور composer update و اعضای تیم از دستور composer install استفاده خواهند کرد.

برای استفاده از کتابخانه‌های دریافت شده، کافی است تا فایل vendor/autoload.php در پروژه include شود. مدیریت درج و فراخوانی کلاس‌های موجود در این کتابخانه‌ها از این پس توسط composer به انجام خواهد رسید

برای دریافت اطلاعات بیشتر در مورد Composer، دریافت آخرین نگارش و همچنین شیوه‌ی نوشتن فایل composer.json به نشانی زیر مراجعه کنید:
https://getcomposer.org
  • امیرمسعود ایرانی

افزایش سرعت composer در هنگام به‌روزرسانی نیازمندی‌ها

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

بسیاری از پروژه‌های برنامه‌نویسی php و از آن جمله پروژه‌هایی که با فریم‌ورک لاراول و سیمفونی توسعه پیدا کرده‌اند، از نرم‌افزار مدیریت نیازمندی‌های composer استفاده می‌کنند.

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

برای رفع این مشکل که به علت نصب بودن افزونه‌ی xdebug روی php به وجود می‌آید می‌توانید مراحل زیر را دنبال کنید

توجه: نصب بودن افزونه‌ی xdebug برای کاهش سرعت کافی است و غیرفعال کردن آن تاثیری در افزایش سرعت ندارد.


فایل php.ini را باز کنید و عبارت zend_extension را که در مقابل آن آدرس فایل php_xdebug-xxx قرار دارد را بیابید. این خط را با قرار دادن یکی نقطه‌ویرگول در ابتدای آن به صورت کامنت در بیاورید.


توجه: در محیط برنامه‌نویسی Wamp یا Xampp از یک فایل php.ini در مسیری غیر از محل نصب php استفاده می‌شود. و برای غیرفعال کردن xdebug در محیط command prompt ویندوز، می‌بایست فایل php.ini که در کنار فایل اجرایی php.exe واقع شده ویرایش شود.


این کار یک مزیت مهم دارد و آن اینکه بدون غیرفعال شدن xdebug در محیط برنامه‌نویسی، می‌توانید سرعت عملکرد composer را افزایش دهید.

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

SQL Server Native Client چیست

امیرمسعود ایرانی | يكشنبه, ۱۹ مرداد ۱۳۹۳، ۱۲:۱۴ ب.ظ | ۰ نظر
SQL Server Native Client یک کتابخانه‌ی برنامه‌نویسی است که کار ارتباط نرم‌افزارها با پایگاه داده‌ی Microsoft SQL Server را برقرار می‌کند.
این ابزار روش‌های ارتباطی مختلف از جمله ODBC، OLE DB و ADO را پشتیبانی می‌کند.
با استفاده از این ابزار ارتباط با SQL Server نصب شده در شبکه و سیستم محلی به آسانی امکان‌پذیر خواهد بود.
بسیاری از نرم‌افزارها برای ارتباط با پایگاه داده از این کتابخانه استفاده می‌کنند و لازم است تا پیش از استفاده این کتابخانه روی سیستم استفاده کننده نصب شده باشد.
برای استفاده از SQL Native Client نیازی به نصب محلی SQL Server وجود ندارد. پایگاه داده می‌تواند روی سرور دیگری که دسترسی شبکه‌ای به آن فراهم است، نصب شود
مزیت استفاده از SQL Server Native Client نسبت به روش‌های دیگر این است که این کتابخانه از آخرین فناوری‌های استفاده شده در SQL Server پشتیبانی می‌کند. فناوری‌های مانند XML Data Type که با روش‌های دیگر ارتباطی قابل استفاده نیستند.
بسته به محیط برنامه‌نویسی ممکن است ابزارهای بهتری نیز وجود داشته باشند. برای مثال در محیط Microsoft .NET Framework  کتابخانه‌ی Data Provider for SQL Server در اختیار شما است که روش‌های آسان‌تری را برای ذخیره و بازیابی اطلاعات فراهم می‌کند.

برای دریافت آخرین نگارش SQL Native Client به این صفحه مراجعه کنید
بسته به نگارش SQL Server که استفاده می‌کنید ممکن است به نگارش‌های مختلفی از SQL Native Client نیز نیاز داشته باشید
  • امیرمسعود ایرانی

تفاوت php و asp

امیرمسعود ایرانی | سه شنبه, ۱۴ مرداد ۱۳۹۳، ۰۳:۳۷ ب.ظ | ۰ نظر
  • php و asp دو زبان برنامه‌نویسی مخصوص تولید نرم‌افزارها و سایت‌های تحت وب هستند.
  • php توسط جامعه‌ی متن‌باز توسعه داده می‌شود و asp توسط شرکت مایکروسافت.
  • دانلود، توسعه و استفاده از php کاملا رایگان است ولی asp به صورت تجاری توسعه و پشتیبانی می‌شود.
  • هزینه‌ی تهیه‌ی میزبان اینترنتی که از php پشتیبانی کند در مقایسه با asp کمتر است.
  • بخش عمده‌ای از سایت‌های اینترنتی توسط زبان php توسعه پیدا کرده‌اند. در مقابل asp درصد کمتری از بازار سایت‌های اینترنتی را در اختیار دارد.
  • php در بیشتر سیستم‌عامل‌ها قابل استفاده است و برای نگهداری اطلاعات معمولا از MySQL استفاده می‌کند در طرف دیگر asp برای اجرا به محیط ویندوز نیازمند است و معمولا در کنار پایگاه داده‌ی SQL Server مایکروسافت برای توسعه‌ی نرم‌افزارهای داده محور به کار گرفته می‌شود.
  • تعداد زیادی فریم‌ورک برای توسعه‌ی نرم‌افزارهای تحت php توسعه پیدا کرده‌اند که کار تولید نرم‌افزار را آسان می‌کنند ولی asp تعداد فریم‌ورک‌های کمتری دارد و معمولا از فریم‌ورک توسعه‌یافته توسط مایکروسافت برای این کار استفاده می‌شود.
  • ابزارهای تجاری برای توسعه‌ی نرم‌افزارهای تحت php کمتر هستند. در مقابل تعداد زیادی کامپوننت و ماژول تجاری برای توسعه‌ی نرم‌افزارهای تحت asp وجود دارند. این ابزارها در هنگام تولید نرم‌افزارهای سازمانی و تجاری سبب افزایش سرعت توسعه می‌شوند.
  • کدهای زبان php به سادگی قابل کدگذاری نیستند و به ابزارهای جانبی نیازمندند. در نتیجه مخفی کردن کدهای نوشته شده از دید مصرف‌کنندگان با مشکلاتی همراه است. در طرف مقابل، asp به صورت پیش‌فرض حاوی امکاناتی است که می‌توان از آن‌ها برای مخفی کردن کدهای نوشته شده استفاده کرد.
  • جامعه‌ی برنامه‌نویسان php بسیار بزرگ است. پیدا کردن راه حل مشکلات به وجود آمده در هنگام برنامه‌نویسی به سادگی امکان‌پذیر است. در زبان asp جامعه‌ی نسبتا کوچک‌تری از برنامه‌نویسان وجود دارند و ممکن است برای پیدا کردن پاسخ برخی سوالات یا مشکلات با موانعی مواجه شوید.

طراحی سایت با php یا asp.net

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

تغییر رمز جیمیل

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

برای تغییر رمز GMail ابتدا وارد حساب کاربری خود شوید، سپس وارد این صفحه شوید و رمز خود را تغییر دهید


چند نکته در مورد انتخاب یک رمز ایمن و حفظ حریم خصوصی در اینترنت:


برای هر حساب کاربری مهم خود یک رمز منحصر به فرد انتخاب کنید.

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


در گذرواژه‌ی خود از ترکیبی از حروف بزرگ، کوچک و اعداد استفاده کنید

برای انتخاب یک رمز می‌توانید از جمله‌ها یا ضرب‌المثل‌ها یا اشعاری که خود می‌دانید استفاده کنید.

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

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

تغییر رمز کارمندان در پرستاشاپ

امیرمسعود ایرانی | شنبه, ۱۱ مرداد ۱۳۹۳، ۱۱:۱۵ ق.ظ | ۰ نظر
به هر دلیل ممکن است رمز دسترسی به بخش مدیریت پرستاشاپ را فراموش کنید و بخواهید از طریق بانک اطلاعاتی این رمز را تغییر دهید
برای این کار کافی است مراحل زیر را دنبال کنید:

۱- به phpMyadmin مراجعه کنید و بانک اطلاعاتی پرستاشاپ را باز کنید.
۲- جدول employee را باز کنید و ردیفی که مربوط به نام کاربری شماست بیابید.
۳- فایل settings.php که در شاخه‌ی config واقع شده است را بیابید و آن را باز کنید.
۴- به دنبال تنظیم _COOKIE_KEY_ بگردید و کد مقابل آن را نگهداری کنید.
این کد عبارتی شبیه XdkFxEueNLgfjLZM8vhqNrGgvQWhKCRxZ0WKRQIS69LMYQkIrVKohFTJ است
۵- یک نرم‌افزار یا سایت آنلاین برای ایجاد کدهای md5 بیابید. مثلا این سایت یا این سایت.
۶- کدی که در مرحله‌ی ۴ نگهداری کردید در یکی از سایت‌های بالا درج کنید و در انتهای آن رمز دلخواه خود را بنویسید
برای مثال XdkFxEueNLgfjLZM8vhqNrGgvQWhKCRxZ0WKRQIS69LMYQkIrVKohFToooamibooo.
در عبارت بالا رمز ما عبارت oooamibooo می‌باشد.
۷- کد md5 عبارت بالا را ایجاد کنید و آن را نگهداری کنید.
۸- کد ایجاد شده را در ستون passwd جدول employee جایگزین کنید.
۹- تمام

هم‌اکنون می‌توانید با رمز جدید وارد سیستم شوید.
پیشنهاد می‌شود پس از ورود به سیستم یک بار دیگر رمز خود را تغییر دهید. زیرا ممکن است سایت‌های آنلاین رمز شما را در محلی نگهداری کنند و آن را در پایگاه‌های آنلاین که برای بازیابی کدهای md5 به کار می‌رود ذخیره‌سازی نمایند.
به عنوان یک روش جایگزین می‌توانید از یک نرم‌افزار تحت سیستم‌عامل استفاده کنید تا امکان نگهداری رمز شما در سرورها کاهش پیدا کند.
  • امیرمسعود ایرانی

ده نکته برای ایجاد یک نرم‌افزار تحت وب ایمن با php

امیرمسعود ایرانی | جمعه, ۱۰ مرداد ۱۳۹۳، ۱۱:۴۷ ب.ظ | ۰ نظر
  • از روش‌های صحیح برای مدیریت خطاها استفاده کنید
  • ورودی‌های را ارزیابی کنید
  • از SQL Injection پیشگیری کنید
  • ویژگی‌های ناایمن php را غیرفعال کنید
  • از XSS پیشگیری کنید
  • از تگ‌های کوتاه استفاده نکنید
  • از CSRF پیشگیری کنید
  • از فناوری ایمنی در نگهداری Session استفاده کنید
  • دسترسی به شاخه‌ها را مدیریت کنید
  • در نگهداری گذرواژه‌ها از Salt و الگوریتم مناسب کمک بگیرید
  • امیرمسعود ایرانی

MVC خوب یا بد؟

امیرمسعود ایرانی | يكشنبه, ۵ مرداد ۱۳۹۳، ۰۳:۵۵ ب.ظ | ۰ نظر
گاهی فهم نادرست از یک مفهوم باعث می‌شود در تصمیم‌گیری‌ها جهت صحیح یا بهترین جهت انتخاب نشود.
این اشکال در هنگام مواجهه با MVC بسیار پررنگ است. بسیاری تصور می‌کنند مفهوم MVC یا «مدل-نمایش-کنترلر» یک راه حل نهایی برای تمام مشکلات بشریت است.

گفته می‌شود MVC پیچیدگی کدنویسی را کاهش می‌دهد، استفاده‌ی مجدد را تسهیل می‌کند، انعطاف را افزایش می‌دهد و کد را سازماندهی می‌کند.
این ادعا نادرست است. از این جهت که MVC به برنامه‌نویس کمک می‌کند تا به این اهداف برسد و MVC به تنهایی تضمینی برای رسیدن به این اهداف نیست.
باید به این نکته توجه داشت که ابزارهای دیگر و روش‌های دیگری نیز برای رسیدن به این اهداف وجود دارند که ممکن است برای برخی مشکلات گزینه‌ی بهتری باشند
  • امیرمسعود ایرانی