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

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

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

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

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

مرتب سازی بر اساس فیلد تاریخ جدول وابستگی چندریختی در لاراول

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

وابستگی‌های چند ریختی( Polymorphic Relation ) در سیستم‌های ORM نوعی از ارتباط میان دو جدول هستند که تعداد نامحدودی از ردیف‌های جدول دوم به تعداد نامحدودی از ردیف‌های جدول اول مرتبط می‌شوند.

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

نگهداری ارتباط میان این دو جدول در ساختار پایگاه داده رابطه‌ای( Relational Database ) در یک جدول واسط امکان‌پذیر است.

در لاراول این ارتباط با استفاده از دستور belongsToMany ایجاد و مورد استفاده قرار می‌گیرد.

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

public function Users() {
return $this->belongsToMany( 'User', 'user_lessons', 'lesson_id', 'user_id' );
}
در هنگام استفاده از کد بالا، لازم است که یک جدول واسط با نام user_lessons حاوی دو فیلد lesson_id و user_id تعریف کنیم.

لاراول به صورت پیش‌فرض، تنها فیلدهای شناسه، و این دو فیلد را مقداردهی می‌کند و فیلدهای اضافی مانند فیلد تاریخ در این جدول پر نمی‌شوند.
برای دانستن زمان ثبت نام هر کاربر در هر کلاس، لاراول این امکان را به ما می‌دهد که با تغییراتی در مدل، تاریخ ایجاد و آخرین به‌روزرسانی را نیز در این جدول ثبت کنیم:
public function Users() {
return $this->belongsToMany( 'User', 'user_lessons', 'lesson_id', 'user_id' )->withTimestamps();
}
اضافه شدن دستور withTimestamps به انتهای belongsToMany به لاراول می‌گوید که در هنگام ایجاد ارتباط، تاریخ‌های ثبت و به روزرسانی را نیز مانند سایر جدول‌ها به این ارتباط پیوست کند.

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

فیلدهای تاریخ ذخیره شده در این جدول واسط در هنگام مرتب‌سازی و خواندن اطلاعات به صورت زیر در دسترس خواهند بود:

$users = $class->Users()->latest( 'pivot_created_at' )->get();

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

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

طراحی فروشگاه اینترنتی با جوملا

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

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

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

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

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

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

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

طراحی فروشگاه اینترنتی با وردپرس

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

روش دانلود از گوگل پلی

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

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

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

برای دانلود از گوگل پلی می‌توانید به سایت https://apps.evozi.com/apk-downloader مراجعه کنید. این سایت فایل‌های APK شما را از گوگل پلی روی سرورهای خود دانلود می‌کند و سپس لینک مستقیم آن را در اختیار شما قرار می‌دهد.

به دلیل محدودیت دانلود در روز، این سایت حداکثر روزانه ۱۴۰۰ برنامه را می‌تواند دانلود کند. البته بیشتر برنامه‌های پرکاربرد روی سرورهای این سایت به مدت ۱۵ روز نگهداری می‌شوند تا تعداد مراجعات آن به گوگل پلی به حداقل برسد.

به همین دلیل حداکثر ممکن است برنامه‌ای که دانلود می‌کنید مربوط به ۱۵ روز گذشته باشد.

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

دانلود ویدئو از یوتیوب

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

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

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

افزونه FlashGot

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

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

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

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

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