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

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

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

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

۳ مطلب با کلمه‌ی کلیدی «آموزش برنامه نویسی» ثبت شده است

اطلاع از دکمه 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', '' );
} );
  • امیرمسعود ایرانی

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

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

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

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

توابع بازگشتی

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

کاربرد توابع بازگشتی

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

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

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

ورودی‌ها و خروجی‌های توابع

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

روش‌های جدیدتر برای جایگزینی توابع

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

آیا می‌توان یک شبه برنامه نویس یا طراح سایت شد ؟

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

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

  • یک شبه طراح سایت شوید
  • یک ماهه برنامه نویس شوید
  • در عرض یک ساعت سایت خود را طراحی کنید
  • در عرض یک روز سئو را یاد بگیرید

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

به عبارت دیگر بهتر بود، عنوان تبلیغات بالا به شکل زیر تغییر می‌کرد:

  • فوری پول خود را به ما بدهید

یادگیری طراحی سایت و برنامه‌نویسی به چه مقدار زمان نیاز دارد ؟

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

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

بنابراین اگر این بار با تبلیغات مشابه روبرو شدید، مفهوم واقعی پشت این گونه شعارهای تبلیغاتی را در ذهن خود بیاورید.

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

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

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