کانال توسعه دهندگان سی شارپ
154 subscribers
32 photos
5 videos
6 files
87 links
اینجا از تجربیاتم توی برنامه نویسی می نویسم🙌
یک عدد دات نت کار
گیت هاب من:
https://github.com/hassanrafatjoo
Download Telegram
هوش مصنوعی deepseek رو احتمالا اسمش شنیدید خوبیش اینه هم رایگان هست هم این که با هزینه های کمتری راه اندازی شده

در حالت Deep think عملکردش خیلی خوبه 👌
👍2👎1
این روزا شدیدا درگیر ثبت نام کارشناسی و... هستم دعا کنید اوکی بشه تولید محتوای کانال رو افزایش میدم😅❤️
1
برای این که راحت تر باشید میتونید مدل های زبانی هوش مصنوعی اونایی که اوپن سورس هستن مثل DeepSeek
میتونید از نرم افزار LM Studio استفاده کنید
و دیتای مربوط به اون رو دانلود کنید تا بتونید روی سیستم تون اجراش کنید(فکر کنم نیاز به اینترنت نخواهد داشت)

لازم به ذکر هست که از cpu سیستم تون هم استفاده خواهد کرد
لینک دانلود :

https://lmstudio.ai/
1
چند تا نکته جدید در سی شارپ متوجه شدم که اون ها رو به زودی در کانال‌خواهم گفت
🤩1
کانال توسعه دهندگان سی شارپ
این روزا شدیدا درگیر ثبت نام کارشناسی و... هستم دعا کنید اوکی بشه تولید محتوای کانال رو افزایش میدم😅❤️
تمام شد.

درس های کارشناسی نرم افزار و ارشد رو هم جدی بگیرید

درس هایی مثل طراحی الگوریتم،مهندسی نرم افزار،معماری کامپیوتر و...


بلد بودنشون حتی اگر در بدترین حالت هم باشه یه دید تحلیلی میده به توسعه دهنده
👍1
خیلی واسم جالبه
دیپ سیک که اون قابلیت deep think خودش رو اضافه کرد
الان که به سایت chatgpt.com هم سر زدم دیدم اونم این قابلیت رو جدید اضافه کرده😄

البته بگم قبلش اون chatgpt فکر کردنش رو نشون میداد ولی اگر شما توجه میکردید مستقیما داشت کدهای پایتونی رو نشون میداد الان دیگه مثل اون دیپ سیک فکر کردن موقع حرف زدن رو به کاربر نشون میده
حجم مطالب یکم زیاده باید طبقه بندی کنم بفرستم در کانال😅❤️
👏1
اول از همه در خصوص مزیت شی گرایی صحبت میکنیم

شی گرایی کارش چیه؟ این که ما بتونیم کدهای خودمون رو ساختارمندتر بنویسیم و از شلوغی کد و بهم ریختگی ها جلوگیری کنیم

تمامی مباحثی که در شی گرایی مورد بحث قرار میگیرن این ها خواهند بود:

کلاس ها و متدها

سازنده(Constructor)

مفهوم ویژگی ها یا property ها

وراثت

چند ریختی ها

کپسوله سازی یا Encapsulation

اینترفیس ها

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

#شی_گرایی
👍1
قبلا در کانال راجع به Don't Repeat yourself یا خودت رو تکرار نکن صحبت کردیم و گفتیم ما باید کدهایی که می نویسیم ساختار مندتر باشه تا از تکرار کد و شلوغ شدن جلوگیری کنیم

دوستان کلا دیزاین پترن این وسط چه معنی میده؟ این همه پیچ و تاب میدن مباحث رو تا بخوان این رو بگن اما دیزاین پترن یا الگوی طراحی ینی این که ما کد هامون رو جوری بنویسیم که اگر بعدا خواستیم تغییری داخلش ایجاد کنیم خواستیم یه بخش جدیدی به برنامه مون به سایتمون اضافه کنیم بدونیم که کجاها رو باید تغییر بدیم و پیچیده نباشه که توی یه برنامه ای با 2هزار خط کد بخش به بخش رو تغییر بدیم که این زمانبر هست

و ضمن این که ما وقتی یه بار ساختار یه کلاس یا متد رو تغییر میدیم،در همه جا این تغییر اعمال میشه و نیازی نیست که ما چندین بار بخوایم کد رو از دوباره بنویسیم
قبل از این که دیزاین پترن بعدی رو توضیح بدم یه نکته خیلی مهم این وسط وجود داره

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


حتی اگر سخت ترین نوع پروژه با ویندوز فرم هم خواستی بزنی چند تا حرکت سم بزن و چیزای پیچیده برای خودت در نظر بگیر یه اپلیکیشن هواشناسی با امکانات بیشتر رو بزن که بتونه از یه سایتی api بگیره و مقایسه کنه آب و هوا رو با چند تا شهر دیگه و در فرم نشون بده. البته چیزی که من گفتم بازم سطح ساده هست😂

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

خودش بشینه فکر کنه ببینه چجوری میتونه این کار رو انجام بده حتی اگر بد کد زدی هیچ عیبی نداره دیگه در مرحله آخر از چت جی پی تی کمک میگیری

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

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

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

وایسا تا پایه سی شارپت قوی بشه اصن 24 ساعته ازش استفاده کن😅😂
حتما تا به حال اسم SOLID به گوش تون خورده اما ممکنه درست متوجه نشده باشید اینجا میخوام با مثال های ساده ای اون ها رو توضیح بدم:
کانال توسعه دهندگان سی شارپ
اول از همه در خصوص مزیت شی گرایی صحبت میکنیم شی گرایی کارش چیه؟ این که ما بتونیم کدهای خودمون رو ساختارمندتر بنویسیم و از شلوغی کد و بهم ریختگی ها جلوگیری کنیم تمامی مباحثی که در شی گرایی مورد بحث قرار میگیرن این ها خواهند بود: کلاس ها و متدها سازنده(Constructor)…
خب بسم الله الرحمن الرحیم شروع میکنم مبحث شی گرایی رو

قبلا اومدیم و تعریف کردیم که شی گرایی اصلا چی هست و قراره چه کمکی به ما کنه

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


اول از همه به معرفی کلاس و متد خواهیم پرداخت

#شی_گرایی
🔥1
کلاس و متد کارشون چیه؟

اول از همه کلاس رو توضیح میدم


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

آیا اون میتونه بدون این که یه طرح کلی از کار داشته باشه کار رو شروع کنه؟ قطعا نه

این که بخواد توی ذهن خودش نگه داره و بگه مثلا اینجا میخوام پنجره بزارم، اینجا میخوام حمام باشه ، اینجا میخوام یدونه اتاق خواب باشه

شاید توی ذهنش اینو داشته باشه ولی آیا به نظرتون اونقدر دقیق اون خونه ساخته میشه؟ قطعا نه

وقتی روی یه کاغذ یا با یه برنامه ای مثل اتوکد و برنامه های اینجوری طرح کلی خونه طراحی بشه در بدترین حالت ممکن،امکان داره یکم از اون طرحی که مد نظرش بوده تفاوت داشته باشه

#شی_گرایی
🔥1
پس کلاس یه طرح کلی یا اصطلاحا blue print به ما میده

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

مثلا فرض کنیم توی یه کارخونه ماشین سازی، میخوان ماشین بسازن. طرح کلی ماشین ها چیه؟ هر ماشین تعدادی درب داره،چند تا چرخ داره،فرمون داره،دنده داره و چیزای مختلف

فرض کنید کارخونه فیات که از معروف ترین کارخونه های ماشین سازی در دنیا هست یه مدل ماشین در نظر گرفته. این مدل ماشین ها همشون یه ساختار یکسان دارن و میخواد از روی همون 50 تا ماشین تولید کنه

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

#شی_گرایی
🔥1
بخوایم مثال عینی تر بزنیم میتونیم بگیم که در یک سایت فروشگاهی بی شک کاربران ثبت نام میکنند در سایت

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

پس ما یک کلاس میسازیم به اسم User یا UserInfo و بعد داخل اون متغیرها و یا property ها که بعدا باهاش آشنا میشیم،قرار میدیم

و حالا هر جا که نیاز بود به اطلاعات کاربر دسترسی داشته باشیم کافیه از اون کلاس ارث بری کنیم ( این هم بعدا باهاش آشنا میشیم)

#شی_گرایی
و اما نحوه تعریف کلاس ها چجوری هست؟

شما میتونید در هر کلاسی که باشید بیاید و یک کلاس جدید بسازید که ساختار کلی کلاس ها به این صورت هست:


accessmodifer class  myclass


اونجایی که نوشته acess modifer شما باید سطوح دسترسی به اون کلاس رو مشخص کنید( سطح های دسترسی فقط مخصوص به کلاس نیست و شما میتونید اون رو برای متغیرهای خودتون،property ها ،متدها،اینترفیس ها و... هم استفاده کنید)

کلمه کلیدی class که مشخص میکنه ما داریم یه کلاس ایجاد میکنیم

و به جای myclassهم میتونید اسم دلخواه خودتون رو بزارید


شما در یک برنامه کنسولی ساده میتونید کلاس رو داخل همون کلاس پیشفرضی که وجود داره (Program.cs) ایجاد کنید ولی خب جدا از این که خیلی شلوغ میشه کدتون

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


پس بهتره چیکار کنیم؟

#شی_گرایی
بیاید و در قسمت Solution Explorer روی اسم پروژه تون کلیک راست کنید و بعد برید به قسمت Add

گزینه های متعددی بهتون نشون میده که رایج ترین اون ها قرار داده شده که Class هم یکی از اون ها هست

اگر خواستید چیزای دیگه ای اضافه کنید روی New Itemکلیک کنید

روی Class کلیک کنید

یه پنجره براتون باز میشه و باید یه اسم براش انتخاب کنید میتونید هر اسمی دوست دارید بزارید بعدا راجع به اسم گذاری ها هم صحبت خواهم کرد

نکته دیگه این که نیازی نیست که حتما پسوند .cs که بار اول خودش میده رو در انتهای اسم بزارید این دیگه خودش به عنوان کلاس شناسایی میکنه

#شی_گرایی
ویندوز ۱۱ مسخره ترین ویندوزی هست که مایکروسافت داده بیرون
بازگشت به سوی وین ۱۰