سلام دوستان عزیزم

فیلم آموزشی نحوه استفاده از توابع محک 2017 (CEC2017) در متلب برای ارزیابی الگوریتم بهینه سازی میدان مغناطیسی (Electromagnetic field optimization) برای شما عزیزان تهیه شده.

در این آموزش شما با توابع محک 2017 (CEC2017)، الگوریتم EFO و نکاتی برای انجام آزمایشات آشنا خواهید شد:

1- توابع محک 2017 (CEC2017) شامل 30 تابع ریاضی است که برای ارزیابی عملکرد الگوریتمهای فرااکتشافی در اکثر مقالات معتبر مورد استفاده قرار میگیرد. در این آموزش جزئیات این دیتاست به همراه نحوه استفاده از آن برای الگوریتمهای فرااکتشافی توضیح داده خواهد شد.

2- الگوریتم بهینه سازی میدان مغناطیسی (Electromagnetic field optimization) یا EFO یک الگوریتم مبتنی بر جمعیت است که رفتار الکترومغناطیس­ها با قطبیت­های مختلف و نسبت الهام گرفته از طبیعت (نسبت طلایی) را مدلسازی ریاضی می­کند. در ابتدا، یک جمعیت از ذرات  الکترومغناطیس به طور تصادفی ایجاد می­شوند. در این الگوریتم هر بردار پاسخ، از طریق یک گروه از مغناطیس­ها(ذرات الکترومغناطیس) بیان می­شود. تعداد الکترومغناطیس هر ذره توسط متغیرهای مسئله تعیین می­شود.

در این آموزش علاوه بر فیلم، توضیح کدها و دیتاست به صورت نوشتاری نیز برای شما تهیه شده است. هزینه این آموزش 30 هزار تومان است.

 برای دریافت این آموزش با آدرس torabi.shadi@gmail.com مکاتبه کنید. 

 

درج تاریخ شمسی در بانک اطلاعاتی

سلام دوستای گلم

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

اما روش اضافه کردن افزونه تاریخ به پروژه : یه پروژه جدید ایجاد کن. داخل فضای خالی toolbox راست کلیک کن و گزینه ی Add Tab رو بزن حالا یه اسم واسه این تب جدید انتخاب کن ، در فضای خالی از تب جدید باز راست کلیک کن و این بار گزینه ی choose items رو بزن ، یه پنجره باز میشه که منوی های زیادی داره شما باید COM components رو بزنی و از Browse فایل مربوط به تاریخ که اسمش IRAN_ShamsiDate ( همون که دانلودش کردی) رو واسه اضافه شدن به لیست components انتخاب کنی. اوکی افزونه ی تاریخ شمسی به toolbox اضافه شده و می تونی ازش استفاده کنی .

من اینجا یه مثال دراین باره آماده کردم : فرم عضویت افراد که شامل کد ،نام ، نام خانوادگی و تاریخ عضویت میشه .چون می دونم قسمت های درج مقدار در جدول رو بلدی فقط قسمت تاریخ رو توضیح می دم : واسه تاریخ عضویت یه textbox داریم مثل سه فیلد قبلی ، با این تفاوت که در زمان اجرا خودش مقدار داره و لازم نیست کاربرمقداری وارد کنه این مقدار همون تاریخه! کافیه از toolbox افزونه ی تاریخ شمسی رو به فرم اضافه کنی و در رویداد Load فرم این کد رو بنویسی:

به همین راحتی ، اینم اجراش ..... موفق باشی .........

 

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

 

 

 

 

آموزش ساخت مرورگر در سی شارپ

سلام دوستای گلم 

تو این آموزش می خوام با چند تا مطلب خیلی قشنگ تو سی شارپ آشناتون کنم !

ساخت یه مرورگر ساده :

یه پروژه از نوع windows form application ایجاد کن . داخل toolbox به دنبال شی web Browser بگرد ، آهان .... پیداش کردی ، حالا با کلیک و درگ بگذارش داخل فرمت .

از prop خاصیت Dock رو بگذار روی Bottom و url اونو هر آدرسی که خواستی بده اوکی الان ازش یه اجرا بگیر ( به اینترنت متصل باشیا !! ) اگه صفحه رو بزرگ کنی ارتفاع web Browser خیلی ضایعست پس با کد نویسی درستش می کنیم . روی فرمت کلیک کن و از رویداد ها گزینه ی Resize و حالا :

این عدد از صحیح و خطا بدست می یاد .

برگرد به فرمت و یه textbox و یه Button به نام GO بهش اضافه کن . می خوایم داخل این جعبه متنی آدرسی بنویسیم و با کلیک روی دکمه ی GO بریم به اون آدرس . پس در رویداد دکمه ی GO فقط کافیه از متد navigate استفاده کنیم و چیزی که داخل جعبه متنی رو به عنوان پارامتر بهش بدیم.

اما دیدی داخل مرورگرت آدرس رو کامل نمی نویسی و با اینتر کردن می ری به اون آدرس ؟ ببین منظورم اینه که مثلا به جای نوشتن www.yahoo.com می نویسی yahoo اوکی ؟

بیا اینو پیاده سازی کنیم . روی textbox کلیک کن و از event ها گزینه ی key Down رو انتخاب کن. ما می خوایم کلمه ی yahoo رو بنویسیم و زمانی که کلید های ctrl و enter رو می زنیم آدرس کامل نوشته بشه : www.yahoo.com

این کدشه :

حالا آدرس کامل شد ، من نمی خوام از دکمه ی GO استفاده کنم ، بلکه می خوام فقط enter رو بزنم پس تو همین رویداد این شرط رو می گذاری  :

می خوام عنوان صفحه با عنوان سایت اینترنتی یکی بشه ، یعنی به جای Form 1 مثلا باشه Google یا وقتی می ریم تو صفحه ی yahoo بشه Yahoo ، واسه این کار باید از Timer استفاده کنی ، از جعبه ابزار شی Timer رو انتخاب کن و بگذارش روی فرمت . از منوی prop اولا Interval شو 10000 می کنیم یعنی هر 10000 ثانیه یه بار این کد اجرا بشه و Enabled شو هم فعال می کنیم . روی timer دبل کلیک کن و این کد رو بنویس :

دو تا دکمه هم واسه Back و forward بگذار ، نگران نباش خودش دو تا متد آماده واسه این کار داره : GO Back و GO Forward

یه menu strip هم به فرمت اضافه کن واسه setting و Homepage داخل setting می خوایم امکان ذخیره کردن صفحه رو قرار بدیم ، باز خودش یه متد آماده داره ، Show save as dialog و داخل Homepage از کد Go home استفاده می کنیم .

دیگه ساده تر از این چی می تونه باشه ؟؟؟؟ اصلا یادم رفت از اجراش تصویر بگذارم ! 

دانلود نرم افزار های جانبی Mysql

پاسخ به نظرات خوانندگان

سلام 

نرم افزار های Mysql Admin و Mysql Query  رو واسه دانلود گذاشتم ! شاد و موفق باشین .....

 

دانلود نرم افزارها

 

-----------------------------------------------------------------------------------------------------------------

خدای من
نه آن قدر پاکم که کمکم کنی و نه آن قدر بدم که رهایم کنی
میان این دو گمم
هم خود را و هم تو را آزار میدهم
هر چه قدر تلاش کردم نتوانستم آنی باشم که تو خواستی
و هرگز دوست ندارم آنی باشم که تو رهایم کنی
آنقدر بی تو تنها هستم که بی تو یعنی “ هیچ ” یعنی “ پوچ ”
خدایا هیچ وقت رهایم نکن . . .

دانلود نرم افزار Mysql 5

پاسخ به نظرات خوانندگان

سلام دوست گلم !   

نرم افزار Mysql 5  رو  واسه دانلود گذاشتم ، اگه دوست داشتی دانلودش کن .

دانلود نرم افزار MySql 5

 

-------------------------------------------------------------------------------------------------------

آرزو کن

گوشهای ” خدا ” پر است از آرزو و دستهایش پر از معجزه

شاید بزرگترین آرزوی تو کوچکترین معجزه ی ” خدا ” باشد . . .

.

پیاده سازی عملگر سوبل در سی شارپ

پاسخ به نظرات خوانندگان

سلام  ! 

این پست رو فقط واسه تو نوشتم  zari عزیز ، نمی دونم یادت هست یا نه ؟ پیغامی داده بودی که الگوریتم سوبل رو با سی شارپ پیاده سازی کنم . ایمیل یا وب سایتی بهم معرفی نکرده بودی که باهات در ارتباط باشم . معذرت می خوام یکم دیر شد ، درگیر یه پروژه بودم . 

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

Edge detection in an image using sobel filter in VB.net - C#.net

 

آموزش درج تصویر در JSP

سلام دوستای گلم !! 

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

اول از همه باید بدونی پروژه ی وبی که داری روش کار می کنی کجا ذخیره شده ؟ مثلا تو My Document تو پوشه ی Project Net beans  ها . 

بدو پیداش کن. حالا داخل فولدر پروژه ات یه پوشه هست به نام WEB که شامل تمام صفحات JSP میشه که ساختی و دو تا فولدر WEB-INF و META-INF ، اینجا یه فولدر جدید می سازی به نام مثلا image که شامل تصاویری میشه که دوست داری داخل صفحات JSP داشته باشی . 

وارد Net beans میشی و پروژه تو باز می کنی . صفحه ایی که می خوای تصویر بره داخلش رو open کن ، از pallet سمت راست شی image رو بگیر و بگذارش داخل صفحه . یه پنجره باز میشه ازت می پرسه تصویری که می خوای لود کنی کجاست ؟ می گی داخل فولدر image . بعد تصویر رو انتخاب می کنی و تغییرات رو ذخیره می کنی . الان اگه اجرا بگیری تصویر داخل صفحه ظاهر میشه . تصویرت می تونه هر فرمتی داشته باشه ، png  ، gif , .......

برنامه نویسی جاوا

سلام دوستان عزیز 

در این پست قصد دارم از چند تا مبحث برنامه نویسی پیشرفته جاوا صحبت کنم مثل : inheritance   ، polymorphism ، abstract

البته قبل از مطالعه ی مطالب زیردو نکته وجود داره : اول ، توصیه می کنم فایل آموزش مقدماتی رو از لینک زیر دانلود کنید. دوم ، کد های جاوا در نرم افزار Eclipse نوشته شده .

لینک دانلود آموزش مقدماتی

 

Inheritance یا وراثت: در یک کلام وراثت یعنی کد نویسی کمتر

سیستم دانشگاه رو در نظر بگیر : دانشجو ، استاد ، کارکنان . هر کدوم از اینها یک موجودیت هستند که واسه خودشون نام ، فامیل ، آدرس ، شماره تلفن و .... دارن مثلا 30 خط کد نویسی می خواد. فقط دانشجو یه شماره دانشجویی داره که دو تای دیگه اونو ندارن میشه 31 خط ، استاد یه رتبه ی هیئت علمی داره که دانشجو و کارمند اونو ندارن باز 31 خط و کارمندان یه شماره کارمندی واسه خودشون دارن که باز میشه 31 خط کد نویسی پس این 30 خط بین همه مشترکه .

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

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

ابتدا پروژه جدید به نام sample ایجاد می کنیم . در پکیج پیش فرض سه کلاس به نام های student ،    teacher ، Human  رو ایجاد می کنیم اینها صرفا کلاس هستند یعنی تابع main ندارن . حالا یه کلاس به نام Tester که تابع main داشته باشه تعریف می کنیم .

حالا شروع به کد نویسی می کنیم ( روی اسم کلاس دو بار کلیک کنید خودش باز میشه) اول از کلاس Human شروع می کنیم : یه سری متغیر public داره و یه متد به نام print() که مقادیر رو چاپ می کنه .

کلاس student که مشتق شده از کلاس Human ( کلمه ی کلیدی extends یعنی مشتق شده از) و یه متغییر public  به نام id داره .

کلاس teacher که مشتق شده از کلاس Human و متغییر public  به نام Rank داره .

 

حالا می ریم سراغ Tester ، یه نمونه از کلاس student  می سازیم به نام s1 واسه مقدار دهی اگه ctrl+space  بزنیم یه پنجره باز میشه که می تونی متغییر ها و متد تعریف شده در کلاس Human رو مشاهده کنی علاوه بر اون متغییر تعریفی در student رو هم می بینی . چرا این اتفاق افتاده ؟ خیلی ساده ست  چون student از Human مشتق شده .

از Tester اجرا می گیریم . ( راست کلیک و انتخاب گزینه ی Run Application ، معمولا دفعه ی اول اتفاقی نمی افته پس یه بار دیگه تکرار می کنید.)

همین طور که می بینی اسم و فامیل و آدرس رو چاپ کرد اما شماره دانشجویی رو نه . چرا ؟ چون متد print () تعریف شده داخل کلاس human فقط اسم و فامیل و آدرس رو برای چاپ قرار دادیم. برای حل این مشکل یه متد print() داخل کلاس student تعریف می کنیم که علاوه بر اسم و فامیل و آدرس ، id رو هم چاپ کنه.

حالا زمانی که تو کلاس Tester شی s1 از متد print() استفاده می کنه این متد id رو هم چاپ می کنه. ببینید :

خوب الان یه سوال پیش می آید : مگه قرار نشد برای کد نویسی کمتر از وراثت استفاده کنیم پس حالا چرا باز یه کد اضافه نوشتیم ؟

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

حالا کنار متد print() کلاس student رو که نگاه کنی یه فلش سبز رنگ می بینی روش که کلیک کنی نوشته overrides یعنی متد print() یه شکل دیگه باز نویسی شده .

 

واسه ورود به مبحث بعدی باید چشماتو ببندی و داستانی رو که واست تعریف می کنم رو تصور کنی تو ذهنت : فرض کن یه تیم نرم افزاری داریم شامل 9 نفر ، قراره برای سیستم دانشگاه نرم افزار بنویسن . تو به عنوان مدیر پروژه این 9 نفر رو به 3 تا گروه سه نفری تقسیم می کنی و هرقسمت از نرم افزار را به یه گروه  می دی تا براش کلاس و متد تعریف کنن .حالا امروز یه هفته گذشته و اعضا ی تیم قراره کارشون رو تحویل بدن .

گروه اول متد  ADD داره واسه اضافه کردن ، متد del داره برای حذف و متد update داره . گروه دوم متد insert داره برای اضافه کردن ، متد remove داره و متد edit برای ویرایش . گروه سوم متد ezafe داره برای اضافه کردن ، متد hazfe داره  ، متد verayesh  و متد gozaresh   داره . این متد ها رو هر گروه واسه خودش تعریف کرده همشونم درسته . اما تو به عنوان مدیر پروژه می گی این اسم ها و این مدل تعریف کردن ها رو نمی پسندی پس یه کلاس تعریف می کنی با متد هایی که می خوایی اما این متد ها رو پیاده سازی نمی کنی ، بعد می گی اینم یه استاندارد که همتون باید طبق این استاندارد پیش برین . بنابراین هر گروه از این کلاس استفاده می کنه و متد های اونو پیاده سازی می کنه . به این می گن abstract یا انتزاعی .

شاید تو هزار تا پروژه بنویسی اما یه بار هم از این روش استفاده نکنی چون به درد کار تیمی می خوره .

 خوب بریم سراغ کد نویسی : همون کلاس human رو در نظر بگیر ، بیا یه متد اضافه کنیم بهش به نام add اما این بار جلوی متد سمی کالن بگذار چون نمی خوای داخلش چیزی بنویسی الان بهش ایراد می گیره ، می گه متد وقتی این شکلی تعریف می شه که abstract باشه آیا تو می خوای که این متد abstract باشه ؟ می گی بله . پس کنارش کلمه ی کلیدی abstract اضافه میشه . اما باز ایراد می گیره خوب این بار واسه چی ؟ می گه این متد باید کلاسش هم abstract باشه چرا نیست ،پس کلاس رو هم  abstract می کنی . حالا اگه قرار باشه کلاس student متد add کلاس human را پیاده سازی کنه کنیم . باز ایراد می گیره تو که داری از کلاس abstract استفاده می کنی باید متد های این کلاس رو پیاده سازی کنی ، زود باش کد نویسی کن متد add رو ، تو هم مجبوری این کارو بکنی .( البته بگم می تونی خود کلاس student رو هم abstract تعریف کنی  )