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

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

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

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

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

به روزرسانی خودکار قالب‌ها و افزونه‌های وردپرس

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

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

تشخیص اینکه چه زمانی به‌روزرسانی خودکار به انجام برسد و چه زمانی انجام نشود، بر عهده تیم توسعه‌ی وردپرس است.

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

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

برای به‌روزرسانی تمامی افزونه‌ها به صورت خودکار، کافی است کد زیر را در فایل functions.php قالب خود یا یک افزونه‌ی جدید درج نمایید و آن را فعال کنید:

add_filter( 'auto_update_plugin', '__return_true' );

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

add_filter( 'auto_update_theme', '__return_true' );

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

add_filter( 'auto_update_translation', '__return_false' );
  • امیرمسعود ایرانی

MVC در برنامه نویسی چیست ؟

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

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

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

اگر هر برنامه‌نویس روش‌ها و قوانین خود را دنبال کند، تغییر دادن برنامه‌ها به کاری بسیار دشوار بدل خواهد شد.

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

در مدل MVC کدهای برنامه بر اساس اینکه چه کاری را به انجام می‌رسانند،‌ به سه قسمت تقسیم می‌شوند.

  1. بخش Model یا M
  2. بخش View یا V
  3. بخش Controller یا C

بخش Model وظیفه ذخیره و بازیابی اطلاعات را بر عهده دارد

بخش View کار نمایش اطلاعات به کاربر را بر عهده دارد

بخش Controller سایر وظایف را به انجام می‌رساند

این بخش‌ها با ایجاد ارتباط بین هم، می‌توانند هدف اصلی برنامه را اجرایی کنند.

مزیت استفاده از مدل MVC این است که بسیاری از تغییرات روی برنامه آسان‌تر از قبل به انجام می‌رسد. برای مثال اگر اطلاعات کاربران سیستم در یک View به صورت جدول در یک صفحه وب دیده می‌شود، به آسانی می‌توان یک View جدید ایجاد کرد که همین اطلاعات را به صورت یک فایل اکسل به کاربر تحویل دهد. ایجاد یک View جدید بدون نیاز به انجام تغییرات روی کدهای بخش Controller و Model به انجام می‌رسد.

همچنین اگر بنا باشد که اطلاعات سیستم از زمانی به جای ذخیره شدن در پایگاه MySQL در پایگاه SQL Server یا Oracle به انجام برسد، تنها بخش Model تغییر خواهد کرد و بقیه بخش‌های برنامه به شکل قبل به کار خود ادامه می‌دهند.

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

زبان برنامه‌نویسی سایت دیوار

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

۱- Express.js - به نظر می‌رسد که سایت دیوار در پشت صحنه از فریم‌ورک برنامه‌نویسی Express.js استفاده می‌کند. این فریم‌ورک با استفاده از زبان جاوااسکریپت و روی Node.js فعالیت می‌کند. استفاده از فریم‌ورک‌ها، می‌تواند توسعه‌ی نرم‌افزار را آسان کند و تغییر و رفع مشکلات را در آینده مدیریت نماید.

۲- Python - Django - علاوه بر فریم‌ورک Express، به نظر می‌رسد که در پیاده‌سازی سایت دیوار از زبان برنامه‌نویسی پایتون و فریم‌ورک Django نیز استفاده شده است. شکل استفاده از این دو فریم‌ورک در کنار هم قابل شناسایی دقیق نیست. ولی استفاده از زبان‌های مختلف برای پشتیبانی سایت‌ها موضوع غیرمتداولی نیست. به ویژه هنگامی که یک زبان یا فریم‌ورک برنامه‌نویسی قابلیت‌های خاصی برای مدیریت برخی فعالیت‌ها داشته باشد.

۳- Nginx - وب سرور Nginx ابزاری است که اغلب به عنوان Reverse Proxy مورد استفاده قرار می‌گیرد. به نظر می‌رسد سایت دیوار هم با استفاده از این وب سرور تلاش کرده است تا بار سنگین موجود روی سایت را مدیریت نماید. کار یک Reverse Proxy این است که درخواست‌های رسیده را از نظر امنیتی ارزیابی کند، در صورت تمایل بدون ارسال درخواست به فریم‌ورک، اطلاعات Cache را به مشتری بفرستد و در نهایت، بار سنگین درخواست‌های متعدد را بین چند وب سرور دیگر تقسیم نماید. همچنین یک Reverse Proxy می‌تواند برای رمزگزاری https درخواست‌ها و پاسخ‌ها به کارگیری شود.

۴- React - استفاده از فریم‌ورک‌های سمت مشتری روز به روز در حال افزایش است. سایت دیوار نیز با استفاده از این فریم‌ورک سمت مشتری که توسط شرکت فیسبوک توسعه پیدا کرده است، به دنبال ایجاد یک رابط کاربری کاربرپسند برای مشتریان خود است.

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

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

استفاده از فرصت‌ها در کنار تهدیدها

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

مدتی پیش با یک نفر متخصص در یک رشته خاص برای انجام کار طراحی سایت آشنا شدم ولی همکاری با ایشان انجام نشد. با این حال چون شماره موبایل مرا ذخیره کرده بود، هر از چندگاهی پیام‌های تبلیغاتی در تلگرام یا SMS برای من ارسال می‌کرد و هنوز هم ارسال می‌کند !

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

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

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

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

اگر برایتان سوال پیش آمده که این شماره‌ها به چه کاری می‌آید، با توجه به شغلی که این افراد دارند، الان من شماره تلفن ۲۵۰ نفر را که می‌توانند مشتری بالقوه برای کار طراحی سایت باشند را دارم !

باید یک کمپین تبلیغاتی برای این عزیزان آماده کنم :)


در کنار هر تهدید،‌ ممکن است فرصتی مهم مخفی باشد

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