.NET | دات نت – Telegram
.NET | دات نت
286 subscribers
121 photos
7 videos
26 files
165 links
دنیای شگفت انگیز و جذاب دات نت رو زیر ذره‌بین می‌بریم و تجربه ها رو به اشتراک میذاریم

به جمع توسعه دهندگان دات نت خوش اومدی 🥰❤️


گروه: https://news.1rj.ru/str/dndevelopchat
Download Telegram
دوران خوش زندگی...
8
درود بر همه دوستان

در چند بخش می خوایم بریم سراغ یادگیری داکیومنت نویسی، و اهمیت بسیار زیاد ش رو عمیقاً درک کنیم.
بخش اول

🟢 داکیومنت نویسی چیست؟

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

🟡 بدون داکیومنت خوب، بهترین کدها هم غیرقابل استفاده و گنگ هستند.

🟢 ویژگی های داکیومنت مناسب

1️⃣ محتوای و موضوع اصلی پروژه را در بر بگیرد
2️⃣ در زمان بروز مشکل ابهام را رفع کند
3️⃣ از تکرار اطلاعات جلوگیری کند
4️⃣ الگو از تجربیات دیگران
5️⃣ رعایت قواعد نگارشی
6️⃣ طولانی نبودن
7️⃣ توسط افراد ماهر نوشته شود

🟢 نحوه داکیومنت نویسی

📝 شروع با فایل README:
معرفی پروژه - نحوه نصب و اجرا - پیش نیازها - نمونه کد یا خروجی - توضیح ساختار پروژه
✍️ کامنت گذاری درون کدها:
برای توابع، کلاس ها و بخش های پیچیده - کوتاه و دقیق
استفاده از ابزارهای آماده
▶️ مراحل نصب و اجرا:
مراحل نصب - پیکربندی - اجرا و حتی دیباگ کردن به صورت مرحله به مرحله
🆕 بروزرسانی مستندات
2👍2👏1
بخش دوم

🟢 قوانین داکیومنت‌ نویسی

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

🟡 همزمان با توسعه کدها، نکات اصلی را یادداشت کنید:

▫️ کتابخانه‌هایی که استفاده شده
▫️ وب‌ سرویس‌هایی که در برنامه فراخوانی می‌شوند.
▫️ مهم‌ترین اجزای برنامه


🟢 فواید داکیومنت نویسی

💼 بیانگر حرفه‌ای بودن
💰 افزایش سودآوری در کسب‌ و کار
🚀 راهنمایی برای بهبود عملکرد
👍3
کلاس چیه؟ (نقشه ساختمون)

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

نمونه یا Instance چیه؟ (خود ساختمون)

وقتی میگیم "نمونه" یا "Instance" از کلاس درست می‌کنیم، یعنی داریم یک ساختمون واقعی رو بر اساس اون نقشه می‌سازیم. حالا این ساختمون رو می‌تونید ببینید، لمس کنید، و توش زندگی کنید.
تو برنامه‌نویسی، "نمونه" یا "Instance" یعنی یک شیء واقعی که بر اساس اون نقشه (کلاس) ساخته شده. حالا این شیء وجود داره و می‌تونه اطلاعاتی رو نگهداری کنه و کارهایی رو انجام بده.

Joseph Albahari – C# 12 in a Nutshell
👍1👏1
درود دوستان، نظرتون درباره ترجمه این کتاب چیه؟
ترجمه بشه 👍
نشه 👎
👍14
تاریخ سه شنبه ۲۰ آبان NET 10. به صورت رسمی معرفی میشه 🥳
7
این روزا تو شرکت کلی درگیر ریفکتور و ریرایت پروژه ها هستیم. خیلی وقتا داستان اینجوریه که پروژه فقط یه سری CRUD ساده روی چند تا انتیتی داره، ولی نوشتن همین CRUD ها کلی وقت میگیره.

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

یکی از بچه ها ایده جالبی داد و گفت خودمون بنویسیمش😄.

نتیجش شد ابزار FastCrud.

یه زیرساخت مینیمال توی .NET 9 که باهاش فقط کافیه انتیتی و چند تا کانفیگ تعریف کنی، بعد خودش برات کل CRUD رو با Pagination، Filtering، Sorting، Validation و Dto Mapping روی Minimal API بسازه. یه راحتی هم قابل شخصی سازی هست و میتونی کاستومش کنی.

مزیتش چیه؟

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

و اگه اینو نداشته باشی؟ خب باید هر بار از صفر همه چیز رو بنویسی، کلی وقت هدر میره، هر پروژه هم کد خودش رو داره و بعداً ریفکتورش کابوس میشه.

فعلاً این ابزار در حد دموی اولیه ست، ولی کار میکنه و خودم خیلی حال کردم باهاش.
دوست دارم شما هم تستش کنین و نظرتون رو بگین ✌🏻

اگر واسه شما هم جالب بود تو گیت هاب استار بدین.
https://github.com/ashkanRmk/FastCrud


🔗 LinkedIn Post
👍2👏1
دوره Git در Visual Studio رو میتونید از باگتو بصورت رایگان با کد تخفیف git داشته باشید.

https://bugeto.net/courses/git-in-visual-studio
4
مدیریت حافظه
‏⁧(Memory Management)‏


در زبان #C، مدیریت حافظه به‌صورت خودکار توسط زمان اجرای مشترک (Common Language Runtime یا CLR) انجام می‌شود.

به عبارت ساده‌تر: در هنگام اجرای برنامه، یک زباله‌روب (Garbage Collector) وجود دارد که به‌طور خودکار حافظه اشیایی را که دیگر استفاده نمی‌شوند آزاد می‌کند.

این یعنی برنامه‌نویس دیگر نیازی ندارد خودش به‌صورت دستی حافظه اشیاء را آزاد کند — چیزی که در زبان‌هایی مثل ++C ضروری بود.

در ++C اگر فراموش می‌کردید حافظه‌ای را آزاد کنید، یا اشتباه آن را دوباره آزاد می‌کردید، برنامه‌تان با خطاهای خطرناک مثل اشاره‌گرهای نامعتبر (Dangling Pointers) روبه‌رو می‌شد. اما در #C این مشکل به‌طور کامل از بین رفته.

آیا در #C اصلاً اشاره‌گر (Pointer) وجود ندارد؟
خیر، زبان #C اشاره‌گرها را کاملاً حذف نکرده؛ فقط استفاده از آن‌ها را برای اکثر کارها غیر ضروری کرده است.

در برخی موارد خاص که:

✔️ عملکرد (Performance) خیلی حیاتی باشد

✔️ یا نیاز به تعامل با کد های Native یا کتابخانه‌های سطح پایین باشد

می‌توانید از اشاره‌گرها و مدیریت حافظه دستی استفاده کنید — اما فقط در بخش‌هایی از کد که با کلید واژه unsafe علامت‌گذاری شده‌اند.

بنابراین:

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

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

Joseph Albahari – C# 12 in a Nutshell
👍5👏2
@LinkedInLearning_ir - Networking on LinkedIn.pdf
1.9 MB
راهنمای شبکه‌سازی در لینکدین!
.NET | دات نت
درود دوستان، نظرتون درباره ترجمه این کتاب چیه؟ ترجمه بشه 👍 نشه 👎
📘 Task Programming in C# and .NET

یه خبر خوب! 🎉
شروع کردم به ترجمه‌ی این کتاب. که به صورت تخصصی وارد دنیای برنامه‌نویسی Task و async/await در #C و .NET میشه و منبع خیلی خوبی برای درک عمیق این مفاهیمه.
دو فصل هم ترجمه شده

لطفاً حمایت کنید.❤️

🔗 لینک
🔥9👏1
.NET | دات نت pinned «📘 Task Programming in C# and .NET یه خبر خوب! 🎉 شروع کردم به ترجمه‌ی این کتاب. که به صورت تخصصی وارد دنیای برنامه‌نویسی Task و async/await در #C و .NET میشه و منبع خیلی خوبی برای درک عمیق این مفاهیمه. دو فصل هم ترجمه شده لطفاً حمایت کنید.❤️ 🔗 لینک»
گلبم اکلیلی شد 😍😂
ممنونم از حمایت تون ❤️❤️❤️
7
ارائه بازخورد به‌عنوان بازبین 👩‍💻📝

قلدری و آزار در محیط‌های کاری می‌تواند مشکل‌ساز باشد و محیط‌های برنامه‌نویسی نیز از آن مستثنی نیستند. هیچ‌کس برنامه‌نویس مغروری را دوست ندارد که فکر می‌کند همه‌چیز را می‌داند. بنابراین، بازبین باید مهارت‌های نرم (Soft Skills) خوبی داشته باشد و دیپلماتیک باشد. به خاطر داشته باشید که برخی افراد به‌راحتی آزرده می‌شوند و ممکن است نظرات را اشتباه برداشت کنند. بنابراین، بدانید که با چه کسی سر و کار دارید و احتمال واکنش او چگونه است؛ این به شما کمک می‌کند تا روش و کلمات خود را با دقت انتخاب کنید.

به‌عنوان بازبین کد همتایان (Peer Code Reviewer)، مسئول هستید که نیازمندی‌ها را درک کرده و اطمینان حاصل کنید که کد مطابق با آن نیازمندی‌هاست. بنابراین، به دنبال پاسخ به این سوالات باشید:

✔️ آیا قادر به خواندن و درک کد هستید؟

✔️ آیا باگ‌های احتمالی قابل مشاهده است؟

✔️ آیا هرگونه Trade-off انجام شده است؟

✔️ اگر بله، دلیل انجام Trade-off چیست؟

آیا این Trade-off ها Technical Debt ایجاد می‌کنند که در ادامه پروژه باید مدنظر قرار گیرد؟

پس از اتمام بازبینی، سه نوع بازخورد برای انتخاب وجود دارد: مثبت، اختیاری و انتقادی:

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

بازخورد اختیاری 💡: به برنامه‌نویس کمک می‌کند تا مهارت‌های خود را مطابق با دستورالعمل‌های شرکت تقویت کند و کیفیت کلی نرم‌افزار را بهبود دهد.

بازخورد انتقادی ⚠️: برای مشکلات شناسایی‌شده است که باید قبل از پذیرش کد و ارسال به تیم QA رفع شوند. در این نوع بازخورد، باید کلمات خود را با دقت انتخاب کنید و نظرات انتقادی را همراه با دلایل معتبر ارائه دهید.

Clean Code in C# by Jason Alls
👍2👏1
فیلترشکن Proxy Cloud

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

استفاده کنید و از سرعت اش لذت ببرید 👌

https://github.com/code3-dev/ProxyCloud
1👏1