کانال توسعه دهندگان سی شارپ
154 subscribers
32 photos
5 videos
6 files
87 links
اینجا از تجربیاتم توی برنامه نویسی می نویسم🙌
یک عدد دات نت کار
گیت هاب من:
https://github.com/hassanrafatjoo
Download Telegram
کانال توسعه دهندگان سی شارپ
public class User { public int UserId { get; set; } public string UserName { get; set; } public string FullName { get; set; } public string PhoneNumber { get; set; } }
اینجا ما اول از همه اومدیم یه ساختار مشخص کردیم و گفتیم که آقا ما یه یوزر داریم که این خصوصیت ها رو داره

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

حالا یه کلاس ادمین میسازیم:

public class Admin : User // Admin از User ارث می‌برد
{
public string Department { get; set; }
public bool CanManageUsers { get; set; }
}


برای این که یه کلاس بتونه از کلاس دیگه ارث بری کنه از علامت نقل قول یا ":" استفاده میکنیم

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

توی کلاس ادمین حالا علاوه بر این که هر ادمین یه نام کاربری و نام و نام خانوادگی و شماره تلفن و اینا داره توی خصوصیت(Property) میگیم Department ینی این کاربر مدیر کدوم یک از بخش های سایت هست مثلا مدیر کل یا Administrator یا مدیر بخش مقالات( Blog Manager)

یه مثال کاربردی دوباره میزنم تا بحث دوباره براتون قابل لمس تر بشه
2
   // 1. کلاس پایه (والد) - User
public class User
{
// خصوصیات مشترک همه کاربران
public int UserId { get; set; }
public string UserName { get; set; }
public string FullName { get; set; }
public string PhoneNumber { get; set; }

// متد مشترک
public virtual void DisplayInfo()
{
Console.WriteLine($"👤 User ID: {UserId}");
Console.WriteLine($"📛 Username: {UserName}");
Console.WriteLine($"👨‍💼 Full Name: {FullName}");
Console.WriteLine($"📞 Phone: {PhoneNumber}");
}
}


این کلاس یوزر که شامل چندین تا پراپرتی هست( بعد میگم که اینا چی هستن)

و بعد یک متد ایجاد کردیم که قبلا راجع به متد صحبت کردیم با هشتگ #شی_گرایی میتونید پیداش کنید و گفتیم دیتای کاربر رو در خروجی نشون بده اما بریم ببینیم چجوری میشه پیاده سازیش کرد
3💔1
کانال توسعه دهندگان سی شارپ
// 1. کلاس پایه (والد) - User public class User { // خصوصیات مشترک همه کاربران public int UserId { get; set; } public string UserName { get; set; } public string FullName { get; set; } public string PhoneNumber…
ویدئوها رو به زودی میزارم اینجا تلگرام
فعلا که چند روزیه انقد به سلامتی خودم نرسیدم دارم به فنا میرم
یکم بهتر شم میزارمش
2💔1
به عنوان یک توسعه دهنده خیلی به سلامتی تون اهمیت بدید
شب رو هرگز کار نکنید
تایم بندی داشته باشید
مگر این که نیاز باشه
شب قبل خواب گوشی ممنوع
بعد از هر چند دقیقه آموزش یا پروژه چند دقیقه استراحت کنید

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

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

خلاصه که خیلی حواستون به روح و روان خودتون باشه
👍2💔1
عمده چالش من شبکه های اجتماعی هست که خیلی چک میکنم و مولتی تسکینگ میکنم😂🤦‍♂
خیلی عادت بدیه مولتی تسکینگ و چند کار همزمان انجام دادن
مغز بدبخت یک ترد بیشتر نمیتونه اجرا کنه من میخوام Hyper Threading کنم😅
اینتل که خودش سازنده این نوع تکنولوژی هست برگاش میریزه
💔1
تفریح رو خیلی بهش اهمیت بدید
گاها گیم میزنم اونم Pes😁
البته نه با تیم های بزرگ تیم های کوچیک از دسته های پایین تر هر کشوری برمیدارم قهرمان میکنم

تفریح غیر از گیم هم داشته باشید حتما بیرون برید
👍2💔1
هوش مصنوعی برای تحلیل یه موضوع ؟

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

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

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

ولی فراموش نکنید که Gemini can make mistakes, including about people, so double-check it. و نه تنها جمنای بلکه همه هوش مصنوعی ها میتونن اشتباه هم داشته باشن و این هنوز تفکر انسان رو میطلبه که بعد از دریافت جواب از هوش های مصنوعی یکبار هم خودش با توجه به دانش قبلی خودش بسنجه اون کد یا اون دیزاین پترنی که میخواد استفاده کنه
💔1
یه چیز خیلی جالب کشف کردم
شده تا حالا با نرم افزار IDM یه فایلی رو دانلود کنید ولی به محض این که میزنید روی شروع دانلود در یک لحظه خیلی سریع دانلود میشه؟ ( البته اون پاپ آپ که حجم فایل و محل ذخیره سازی و... رو نشون میده باید مدت زمان زیادی باز بشه)

این یه فلسفه خیلی باحال پشتشه که بدونید بد نیست😁
💔1
دلیل اینکه آن فایل (که معمولاً هم باید حجم کمی داشته باشد) بدون نمایش نوار پیشرفت (Progress Bar) ناگهان تمام می‌شود، به یکی از سه دلیل زیر است:

۱. مکانیزم "Temporary Folder" و پیش‌دانلود
وقتی پاپ‌آپ دانلود باز می‌شود، IDM در همان لحظه ارتباط کوتاهی با سرور برقرار می‌کند تا حجم فایل را بفهمد. در برخی نسخه‌ها یا تنظیمات خاص، IDM به محض اینکه پاپ‌آپ باز می‌ماند، شروع به دریافت تکه‌های بسیار کوچکی از فایل در پس‌زمینه (Background) می‌کند و آن‌ها را در پوشه موقت (Temporary) ذخیره می‌کند. وقتی بعد از دو ساعت روی Start می‌زنی، آن بخش‌هایی که قبلاً گرفته شده، بلافاصله «تأیید» می‌شوند.

۲. پدیده Write Cache در ویندوز
ویندوز از قابلیتی به نام System Write Cache استفاده می‌کند. وقتی فایل کوچکی را دانلود می‌کنی، IDM داده را به سیستم‌عامل می‌دهد تا روی هارد بنویسد. ویندوز برای سرعت بیشتر، این داده را ابتدا در RAM نگه می‌دارد و به نرم‌افزار پیام می‌دهد که «انجام شد!». چون سرعت RAM هزاران برابر هارد یا اینترنت است، IDM فکر می‌کند دانلود در صدم‌ثانیه تمام شده و نوار پیشرفت را حتی فرصت نمی‌کند رندر (Render) کند.

۳. رزرو فضا (Disk Provisioning)
وقتی پاپ‌آپ باز می‌شود، IDM از سیستم‌عامل می‌خواهد که فضایی را روی هارد برای این فایل رزرو کند. اگر در این دو ساعت سیستم شما مشغول نبوده باشد، فایل سیستم (NTFS) فضا را آماده نگه می‌دارد. به محض زدن دکمه Start، اگر فایل کوچک باشد یا سرور پاسخ آنی بدهد، عملیات انتقال از بافر شبکه به فضای رزرو شده روی دیسک چنان سریع رخ می‌دهد که چشم انسان متوجه حرکت نوار نمی‌شود.
💔1
در تدارک این هستم که مثل کانال ICodeNext که دات نت یاد میده میت های آنلاین بزارم
از اون طرفم ویدیوهای آفلاین مزیت خودشون دارن
نظر شما چیه؟
👍2💔1
در حال توسعه یه وبلاگ واسه این کانال😁

از معماری MVC استفاده کردم و کتابخونه های SweetAlert و Jquery و همینطور بوت استرپ برای ظاهر کار
(شاید اصطلاحا Best Practice نباشه اما برای شروع بد نیست (: )

دیگه از این به بعد لینک میت های آنلاین و ویدیوها اونجا قرار داده میشه
2👍1💔1
همیشه یکی از چالش های بک اند کارها این بوده که نشون بدن که تخصص دارن حتما سعی کنید واسه فرانت اگر کسی کنار دستتون نیست بسپاریدش به Ai تا واستون انجام بده و شما درگیر بک اند باشید

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

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

یا یه جای دیگه از این پروژه کاربران باید نحوه تلفظ کلمه ها رو به بریتیش و امریکن گوش میدادن و خب چنین قابلیتی پیشفرض توی افزونه وجود نداشت و من با کمک ai تونستم یه api از معروف ترین دیکشنری آنلاین دنیا یعنی Cambridge Dictionary بگیرم و با اون افزونه کاربران میتونستن تلفظ ها رو گوش بدن


شاید بپرسید چطوری توی یه پروژه فروشگاهی من کیف پول پیاده سازی کنم؟ من که اصن نمیدونم حتی نوع متغیر از نوع چی باشه منو چه به این چیزا؟

الان دیگه با وجود ai میتونید هر مسئله ای رو تحلیلش کنید و از هوش مصنوعی که میپرسید چطور چنین چیزی میشه پیاده سازی کرد کمک تون میکنه

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


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

زیاد کد ببینید تا ذهن تون باز بشه که چطوری و چه شکلی کد بزنید

شِت کد بزنید اوایل هیچ اشکالی نداره بعدش که مطالعه میکنید یاد میگیرید
👍4
گاهی وقتا یه اشتباه کوچیک باعث میشه کل کار خراب شه

فکرشو کن توی یک سایتی بیای ناحیه ادمین ایجاد کنی بعد منطق کار توی سطح روت پروژه باشه😂🤣

کنترلرهای سطح ادمین رو توی کنترلرهای روت پروژه تعریف کرده بودم

هی میدیدم چرا مقاله ای توی دیتابیس ذخیره نمیشه نگو که یکی از مشکلاتش این بوده😂

خلاصه حواستون باشه این چیزا رو

بعد راجع به asp هم توی اون وبلاگه ویدیو و این چیزا میزارم
😁3
سلام دوستان بالاخره من هم بعد از 2 ماه متصل شدم

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

https://ble.ir/csharpdev
درود خدایان مصر بر دات نت کارانپ
🎉2👎1
در طی چند روز گذشته مایکروسافت دات نت 11 رو هم معرفی کرده و در حالت Preview هستش
منی که میدونم توی این مدت قطعی خیلیا وصل بودن ولی نمیتونم ثابت کنم😕😂
👍1
دارم ویژوال استودیو رو آپدیت میکنم برا ماه دسامبر 2025ئه😂