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

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

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

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

پورتال مشتریان چیست ؟

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

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

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

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

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

  1. آموزش در مورد خدمات و محصولات
  2. آموزش بازاریابی
  3. خدمات پس از فروش
  4. ارائه اطلاعات تخصصی در زمینه‌های مدیریت، کسب و کار و نیروی انسانی
  5. سیستم‌های دریافت سفارش و فروش کالا
  6. سیستم‌های تیکتینگ و رفع مشکلات
  7. ارائه مستندات و بروشورها و فیلم‌ها و سایر موارد مربوط به محصولات و خدمات
  8. بخش‌هایی برای همکاری بین نمایندگان جهت تقویت قدرت فروش
  9. ارائه اطلاعات بازار از طرف شرکت و نمایندگان به یکدیگر
مهم‌ترین عملکرد پورتال مشتریان این است که نمایندگان یا مشتریان حس می‌کنند برای شرکت ارزشمند و با اهمیت هستند و احساس می‌کنند چون مشتری شما هستند به این پورتال دسترسی دارند.
این گونه مشتریان متوجه می‌شوند که اگر با رقبای شما وارد داد و ستد شوند، از دسترسی به پورتال ارزشمند شما محروم می‌شوند و این خود عاملی مهم برای نگهداری مشتریان و جلب رضایت آنان خواهد بود.
  • امیرمسعود ایرانی

max_execution_time در php چیست ؟

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

کدهای برنامه‌نویسی که در زبان php یا هر زبان دیگر می‌نویسید برای اجرا به مقداری زمان نیاز دارند. زمان مورد نیاز برای اجرای این کدها معمولا بسیار اندک هستند و به نظر می‌رسد که فوری به پایان می‌رسند. ولی شرایطی نیز وجود دارد که اجرای برخی برنامه‌ها به زمان‌های بیشتری نیاز دارد برای مثال:

  1. هنگامی که برنامه‌ی شما در حال پردازش‌های سنگین روی پایگاه داده با حجم زیاد است
  2. هنگامی که در حال فشرده‌سازی فایل‌ها یا استخراج آن‌ها یا نصب یک بسته روی هاست هستید
  3. هنگامی که در حال دانلود یک فایل از اینترنت هستید
  4. هنگامی که در حال ارتباط با یک وب سرویس بانکی هستید و می‌خواهید تراکنشی انجام دهید
در موارد بالا و بسیاری موارد دیگر، ممکن است اجرای کدهای شما بیش از آن چیزی که در هاست مجاز تعیین شده است بشود و در نتیجه اجرای برنامه با محدودیت زمان متوقف شود.

مدت زمانی که به طور معمول هاست‌ها اجازه می‌دهند تا کدهای php اجرا شوند، ۳۰ ثانیه است و این مقدار با متغیر max_execution_time شناخته می‌شود.

برای تغییر این متغیر ممکن است تنظیماتی در پنل هاست موجود باشد یا لازم باشد درون فایل htaccess دستوراتی را بنویسید یا ممکن است لازم باشد فایلی با نام php.ini در هاست ایجاد کنید و دستورات مربوط را در آن درج کنید.

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

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

اطلاع از دکمه submit انتخاب شده در فرم توسط jQuery

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

اگر در فرم html خود چندین دکمه submit داشته باشیم و در رویداد submit فرم بخواهیم متوجه شویم که کاربر روی کدام دکمه کلیک کرده است، در حال حاضر روش پایدار و مطمئنی که روی تمام مرورگرها به درستی عمل کند وجود ندارد.

در مرورگر فایرفاکس ویژگی explicitOriginalTarget وجود دارد که با کمک آن می‌توان متوجه شد کدام دکمه توسط کاربر انتخاب شده است ولی این ویژگی در مرورگرهای دیگر وجود ندارد.

کارآمدترین و ساده‌ترین راه حل موجود به شکل زیر است:

<form>
<input id="submit1" type="submit" value="دکمه اول">
<input id="submit2" type="submit" value="دکمه دوم">
</form>

قطعه کد بالا فرمی ایجاد می‌کند که دو دکمه submit دارد.

ابتدا یک قطعه کد جاوااسکریپت اضافه می‌کنیم که هنگام کلیک هر دکمه، یک ویژگی به فرم اضافه کند:

$( 'form input[type=submit]' ).on( 'click', function() {
$( this.form ).prop( 'submitId', this.id );
} );

سپس رویداد submit فرم را اضافه می‌کنیم:

$( 'form' ).on( 'submit', function() {
var submitId = $( this ).prop( 'submitId' );

if( submitId == 'submit1' ) {
// دکمه اول
} elseif( submitId == 'submit2' ) {
// دکمه دوم
} else {
// حالت پیش‌فرض - بدون دکمه
}

// پاک کردن مقدار ذخیره شده از فرم
$( this ).prop( 'submitId', '' );
} );
  • امیرمسعود ایرانی

انتخاب یک ردیف از میان هر گروه از ردیف‌ها در MySQL

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

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

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

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

select p1.* from prices p1
left join prices p2
on( p1.product_id = p2.product_id and p1.created_at < p2.created_at )
where p2.created_at is null

در این روش جدول قیمت‌ها را با استفاده از left join به خودش متصل می‌کنیم. اتصال با این شرط است که ردیف‌ها مربوط به یک محصول باشند و تاریخ ثبت قیمت در جدول اول از تاریخ ثبت قیمت در جدول دوم قدیمی‌تر باشد.

سپس روی نتایج به دست آمده شرط می‌گذاریم که ستون تاریخ در جدول دوم NULL باشد.

به عبارت دیگر، در این روش ابتدا ردیف‌هایی که تاریخ جدول اول از تاریخ جدول دوم قدیمی‌تر است پیدا می‌شوند و اگر تاریخ ثبت شده در جدول اول قدیمی‌تر از هیچ تاریخی در جدول دوم نباشد( مساوی جدیدترین تاریخ باشد ) همان ستون با دستور where فیلتر می‌شود

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

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

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

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

  1. وارد سایت internet.ir شوید و به بخش درخواست رفع فیلتر سایت‌های ایرانی مراجعه کنید.
  2. نام دامنه‌ی سایت مورد نظر را وارد کنید و سایر فیلدهای خواسته شده را نیز پر کنید.
  3. درخواست رفع فیلتر را ارسال کنید.
  4. اگر دامنه‌ی مورد نظر فیلتر نباشد، این موضوع در پیامی به شما نشان داده خواهد شد.
  • امیرمسعود ایرانی

روش عکس گرفتن از کل صفحه وب در فایرفاکس

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

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

برای استفاده از این قابلیت در قسمتی دلخواه از صفحه کلیک راست کنید و گزینه‌ی Take a Screenshot را انتخاب نمایید.

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

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

برخی از سایت‌ها ممکن است امکان کلیک راست را مسدود کرده باشند و نتوانید از روش بالا استفاده کنید. برای تصویربرداری این گونه سایت‌ها، از منوی Tools گزینه‌ی Web Developer و سپس Browser Console را انتخاب نمایید. همچنین می‌توانید برای باز کردن این بخش، کلیدهای میانبر Ctrl + Shift + K استفاده نمایید.
هنگامی که این پنجره باز شد، کد زیر را در آن تایپ کنید و کلید Enter را بزنید.
:screenshot --fullpage
دستور فوق از کل صفحه‌ی وب تصویربرداری می‌کند و آن را در یک فایل ذخیره می‌کند. مسیر فایل ذخیره‌شده نیز به شما نمایش داده خواهد شد.
این دستور پارامترهای دیگری نیز دارد که با مراجعه به این صفحه می‌توانید آن‌ها را مشاهده نمایید.
  • امیرمسعود ایرانی

تغییر آدرس سایت از http به https و اثر آن روی سئو

امیرمسعود ایرانی | جمعه, ۱۳ مهر ۱۳۹۷، ۰۵:۱۷ ب.ظ | ۰ نظر
استفاده از آدرس https در نشانی سایت اثر مثبتی روی سئو بر جای می‌گذارد. ولی اگر سایت شما قدیمی باشد و آدرس‌های آن با پروتکل http در گوگل شناسایی شده باشند، تبدیل آدرس قدیمی به آدرس جدید باعث خواهد شد تا رتبه کلمات کلیدی شما در گوگل آسیب ببیند.
این مشکل به این دلیل رخ می‌دهد که گوگل دو پروتکل از یک سایت را مانند دو سایت شناسایی می‌کند.

برای اینکه از مشکل فوق جلوگیری کنیم و به گوگل اعلام نماییم که آدرس جدید با https همان سایت قبلی با آدرس http است، لازم است هنگام تغییر آدرس، از Redirect 301 استفاده کنیم.

روش انجام این کار در وب سرور آپاچی با فایل htaccess به صورت زیر می‌باشد.
به کد 301 در انتهای دستور Redirect توجه کنید:

RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
  • امیرمسعود ایرانی

استخراج بیت‌کوین با افزونه مرورگر

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

ماین کردن ارز دیجیتال چیست ؟

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

سوء استفاده از توان سخت‌افزاری کاربران

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

آیا مرورگرها می‌توانند ابزار مناسبی برای ماینینگ ارز دیجیتال باشند ؟

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

چگونه فریب کلاهبرداران اینترنتی را نخوریم ؟

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

تغییر در بخش معرفی سایت به گوگل

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

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

در تغییرات جدیدی که انجام شده است، امکان مستقیم برای معرفی سایت به گوگل وجود ندارد و برای انجام این کار می‌بایست در Google Search Console مالکیت سایت را تایید نمایید سپس با اضافه کردن نقشه سایت یا استفاده از قسمت Fetch as Google درخواست پیمایش سایت را به گوگل ارسال نمایید.

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

مراحل ورود کالا به کشور

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

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

مراحل لازم به طور خلاصه عبارتند از:

  1. اخذ پروفرما(پیش فاکتور) از فروشنده خارجی / انعقاد قرارداد با فروشنده خارجی
  2. انجام ثبت سفارش نزد وزارت صنعت، معدن، تجارت (کسب اجازه رسمی ورود کالا به کشور)
  3. تخصیص ارز توسط بانک مرکزی پس از درخواست بانک عامل واردکننده (تایید گواهی ثبت آماری)
  4. تامین ارز توسط بانک مرکزی به واسطه بانک عامل یا از طریق سامانه نیما و انتقال ارز به حساب فروشنده خارجی (با استفاده از ابزارهایی همچون حواله، برات یا اعتبار اسنادی)
  5. ارسال کالا توسط فروشنده خارجی به گمرک مقصد (ورود کالا به کشور)
  6. امور گمرکی و ترخیص کالا توسط وارد کننده
  • امیرمسعود ایرانی