کلاس چیه؟ (نقشه ساختمون)
تصور کنید "کلاس" مثل نقشه یک ساختمونه. این نقشه به شما میگه که ساختمون قراره چند طبقه باشه، چند تا پنجره داشته باشه، درش کجاست و ... . ولی خود نقشه، ساختمون نیست! شما نمیتونید توی نقشه زندگی کنید.
تو برنامهنویسی، کلاس یک طرح یا قالب برای ساخت چیزهاست. توش مشخص میکنید که این "چیز" قراره چه اطلاعاتی (مثلاً رنگ، اندازه) داشته باشه و چه کارهایی (مثلاً حرکت کردن، صحبت کردن) بتونه انجام بده
نمونه یا Instance چیه؟ (خود ساختمون)
وقتی میگیم "نمونه" یا "Instance" از کلاس درست میکنیم، یعنی داریم یک ساختمون واقعی رو بر اساس اون نقشه میسازیم. حالا این ساختمون رو میتونید ببینید، لمس کنید، و توش زندگی کنید.
تو برنامهنویسی، "نمونه" یا "Instance" یعنی یک شیء واقعی که بر اساس اون نقشه (کلاس) ساخته شده. حالا این شیء وجود داره و میتونه اطلاعاتی رو نگهداری کنه و کارهایی رو انجام بده.
تصور کنید "کلاس" مثل نقشه یک ساختمونه. این نقشه به شما میگه که ساختمون قراره چند طبقه باشه، چند تا پنجره داشته باشه، درش کجاست و ... . ولی خود نقشه، ساختمون نیست! شما نمیتونید توی نقشه زندگی کنید.
تو برنامهنویسی، کلاس یک طرح یا قالب برای ساخت چیزهاست. توش مشخص میکنید که این "چیز" قراره چه اطلاعاتی (مثلاً رنگ، اندازه) داشته باشه و چه کارهایی (مثلاً حرکت کردن، صحبت کردن) بتونه انجام بده
نمونه یا Instance چیه؟ (خود ساختمون)
وقتی میگیم "نمونه" یا "Instance" از کلاس درست میکنیم، یعنی داریم یک ساختمون واقعی رو بر اساس اون نقشه میسازیم. حالا این ساختمون رو میتونید ببینید، لمس کنید، و توش زندگی کنید.
تو برنامهنویسی، "نمونه" یا "Instance" یعنی یک شیء واقعی که بر اساس اون نقشه (کلاس) ساخته شده. حالا این شیء وجود داره و میتونه اطلاعاتی رو نگهداری کنه و کارهایی رو انجام بده.
Joseph Albahari – C# 12 in a Nutshell
👍1👏1
این روزا تو شرکت کلی درگیر ریفکتور و ریرایت پروژه ها هستیم. خیلی وقتا داستان اینجوریه که پروژه فقط یه سری CRUD ساده روی چند تا انتیتی داره، ولی نوشتن همین CRUD ها کلی وقت میگیره.
کلی سرچ کردم و ابزارهای مختلف رو تست کردم ولی یک چیزی که بشه تو دل پروژه های بزرگ استفاده کرد پیدا نکردم.
یکی از بچه ها ایده جالبی داد و گفت خودمون بنویسیمش😄.
نتیجش شد ابزار FastCrud.
یه زیرساخت مینیمال توی .NET 9 که باهاش فقط کافیه انتیتی و چند تا کانفیگ تعریف کنی، بعد خودش برات کل CRUD رو با Pagination، Filtering، Sorting، Validation و Dto Mapping روی Minimal API بسازه. یه راحتی هم قابل شخصی سازی هست و میتونی کاستومش کنی.
و اگه اینو نداشته باشی؟ خب باید هر بار از صفر همه چیز رو بنویسی، کلی وقت هدر میره، هر پروژه هم کد خودش رو داره و بعداً ریفکتورش کابوس میشه.
فعلاً این ابزار در حد دموی اولیه ست، ولی کار میکنه و خودم خیلی حال کردم باهاش.
دوست دارم شما هم تستش کنین و نظرتون رو بگین ✌🏻
اگر واسه شما هم جالب بود تو گیت هاب استار بدین.
🔗 LinkedIn Post
کلی سرچ کردم و ابزارهای مختلف رو تست کردم ولی یک چیزی که بشه تو دل پروژه های بزرگ استفاده کرد پیدا نکردم.
یکی از بچه ها ایده جالبی داد و گفت خودمون بنویسیمش😄.
نتیجش شد ابزار FastCrud.
یه زیرساخت مینیمال توی .NET 9 که باهاش فقط کافیه انتیتی و چند تا کانفیگ تعریف کنی، بعد خودش برات کل CRUD رو با Pagination، Filtering، Sorting، Validation و Dto Mapping روی Minimal API بسازه. یه راحتی هم قابل شخصی سازی هست و میتونی کاستومش کنی.
مزیتش چیه؟
- سرعت توسعه چند برابر میشه.
- کد تکراری و خسته کننده حذف میشه.
- ساختار یکپارچه و قابل توسعه داری.
- فقط دیگه وقتت رو برای بخش های مهم پروژه میزاری.
- از همون اول با Swagger و داکیومنت آماده تحویل میگیری.
و اگه اینو نداشته باشی؟ خب باید هر بار از صفر همه چیز رو بنویسی، کلی وقت هدر میره، هر پروژه هم کد خودش رو داره و بعداً ریفکتورش کابوس میشه.
فعلاً این ابزار در حد دموی اولیه ست، ولی کار میکنه و خودم خیلی حال کردم باهاش.
دوست دارم شما هم تستش کنین و نظرتون رو بگین ✌🏻
اگر واسه شما هم جالب بود تو گیت هاب استار بدین.
https://github.com/ashkanRmk/FastCrud
🔗 LinkedIn Post
GitHub
GitHub - ashkanRmk/FastCrud: Fast and flexible CRUD API generator for .NET 9: minimal API + EF Core with DTOs, FluentValidation…
Fast and flexible CRUD API generator for .NET 9: minimal API + EF Core with DTOs, FluentValidation, paging, filtering, sorting and auto‑Swagger. - ashkanRmk/FastCrud
👍2👏1
PiraIcons
کتابخونه ای با بیش از ۲۵۰۰۰ هزار آیکون مدرن که توسط یکی از دوستان طراحی شده 👌
https://github.com/code3-dev/piraicons
کتابخونه ای با بیش از ۲۵۰۰۰ هزار آیکون مدرن که توسط یکی از دوستان طراحی شده 👌
https://github.com/code3-dev/piraicons
GitHub
GitHub - code3-dev/piraicons: 25,380+ beautifully crafted SVG icons for your modern projects
25,380+ beautifully crafted SVG icons for your modern projects - code3-dev/piraicons
ویژوال استدیو 2022 آپدیت داد... 17.14.13
https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-notes?tabs=allfeatures#17.14.13
#visualstudio #vs #update
https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-notes?tabs=allfeatures#17.14.13
#visualstudio #vs #update
Docs
Visual Studio 2022 version 17.14 Release Notes
Learn about the latest features, bug fixes, and support for Visual Studio 2022. Download today.
دوره Git در Visual Studio رو میتونید از باگتو بصورت رایگان با کد تخفیف git داشته باشید.
https://bugeto.net/courses/git-in-visual-studio
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 امکان نوشتن کد های سطح پایین و بهینه را هم در اختیار شما قرار میدهد — با آگاهی کامل و در محیطی ایزوله.
(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 میشه و منبع خیلی خوبی برای درک عمیق این مفاهیمه.
لطفاً حمایت کنید.❤️
🔗 لینک
یه خبر خوب! 🎉
شروع کردم به ترجمهی این کتاب. که به صورت تخصصی وارد دنیای برنامهنویسی Task و async/await در #C و .NET میشه و منبع خیلی خوبی برای درک عمیق این مفاهیمه.
دو فصل هم ترجمه شده
لطفاً حمایت کنید.❤️
🔗 لینک
GitHub
GitHub - hheydarian/task-programming-in-csharp-dotnet-persian: Persian translation of "Task Programming in C# and .NET" by Vaskaran…
Persian translation of "Task Programming in C# and .NET" by Vaskaran Sarcar. - hheydarian/task-programming-in-csharp-dotnet-persian
🔥9👏1
.NET | دات نت pinned «📘 Task Programming in C# and .NET یه خبر خوب! 🎉 شروع کردم به ترجمهی این کتاب. که به صورت تخصصی وارد دنیای برنامهنویسی Task و async/await در #C و .NET میشه و منبع خیلی خوبی برای درک عمیق این مفاهیمه. دو فصل هم ترجمه شده لطفاً حمایت کنید.❤️ 🔗 لینک»
ارائه بازخورد بهعنوان بازبین 👩💻📝
قلدری و آزار در محیطهای کاری میتواند مشکلساز باشد و محیطهای برنامهنویسی نیز از آن مستثنی نیستند. هیچکس برنامهنویس مغروری را دوست ندارد که فکر میکند همهچیز را میداند. بنابراین، بازبین باید مهارتهای نرم (Soft Skills) خوبی داشته باشد و دیپلماتیک باشد. به خاطر داشته باشید که برخی افراد بهراحتی آزرده میشوند و ممکن است نظرات را اشتباه برداشت کنند. بنابراین، بدانید که با چه کسی سر و کار دارید و احتمال واکنش او چگونه است؛ این به شما کمک میکند تا روش و کلمات خود را با دقت انتخاب کنید.
بهعنوان بازبین کد همتایان (Peer Code Reviewer)، مسئول هستید که نیازمندیها را درک کرده و اطمینان حاصل کنید که کد مطابق با آن نیازمندیهاست. بنابراین، به دنبال پاسخ به این سوالات باشید:
✔️ آیا قادر به خواندن و درک کد هستید؟
✔️ آیا باگهای احتمالی قابل مشاهده است؟
✔️ آیا هرگونه Trade-off انجام شده است؟
✔️ اگر بله، دلیل انجام Trade-off چیست؟
آیا این Trade-off ها Technical Debt ایجاد میکنند که در ادامه پروژه باید مدنظر قرار گیرد؟
پس از اتمام بازبینی، سه نوع بازخورد برای انتخاب وجود دارد: مثبت، اختیاری و انتقادی:
بازخورد مثبت 🎉: شامل تقدیر از کارهای بسیار خوب برنامهنویس است و روحیه تیم را بالا میبرد.
بازخورد اختیاری 💡: به برنامهنویس کمک میکند تا مهارتهای خود را مطابق با دستورالعملهای شرکت تقویت کند و کیفیت کلی نرمافزار را بهبود دهد.
بازخورد انتقادی ⚠️: برای مشکلات شناساییشده است که باید قبل از پذیرش کد و ارسال به تیم QA رفع شوند. در این نوع بازخورد، باید کلمات خود را با دقت انتخاب کنید و نظرات انتقادی را همراه با دلایل معتبر ارائه دهید.
قلدری و آزار در محیطهای کاری میتواند مشکلساز باشد و محیطهای برنامهنویسی نیز از آن مستثنی نیستند. هیچکس برنامهنویس مغروری را دوست ندارد که فکر میکند همهچیز را میداند. بنابراین، بازبین باید مهارتهای نرم (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
توسط یکی از دوستان ساخته شده، کاملا متن باز و برای تمامی دستگاه ها موجود.
استفاده کنید و از سرعت اش لذت ببرید 👌
https://github.com/code3-dev/ProxyCloud
GitHub
GitHub - code3-dev/ProxyCloud: Proxy Cloud is an open-source VPN that’s fast, unlimited, secure, and completely free.
Proxy Cloud is an open-source VPN that’s fast, unlimited, secure, and completely free. - code3-dev/ProxyCloud
❤1👏1
مایکروسافت تازه نسخه RC0 رو ریلیز کرده!
احتمالا بعد از ریلیز دات نت 10 شاهد ریلیز نسخه RTM خواهیم بود...
منبع خبر (بلاگ رسمی مایکروسافت):
https://techcommunity.microsoft.com/blog/sqlserver/announcing-sql-server-2025-release-candidate-0-rc0/4446235
احتمالا بعد از ریلیز دات نت 10 شاهد ریلیز نسخه RTM خواهیم بود...
منبع خبر (بلاگ رسمی مایکروسافت):
https://techcommunity.microsoft.com/blog/sqlserver/announcing-sql-server-2025-release-candidate-0-rc0/4446235
👍1
.NET | دات نت
📘 Task Programming in C# and .NET یه خبر خوب! 🎉 شروع کردم به ترجمهی این کتاب. که به صورت تخصصی وارد دنیای برنامهنویسی Task و async/await در #C و .NET میشه و منبع خیلی خوبی برای درک عمیق این مفاهیمه. دو فصل هم ترجمه شده لطفاً حمایت کنید.❤️ 🔗 لینک
Task Programming in C# and .NET
✅ ترجمه کتاب تموم شد.
✅ ترجمه کتاب تموم شد.
🔥6👏2❤1🐳1
CSnake
اجرای کدهای پایتون در دات نت!
🔗 LinkedIn Post
اجرای کدهای پایتون در دات نت!
اگر امکان اجرای کدهای پایتون در همان پروسس دات نت وجود داشته باشد، یعنی تمام ۱.۵ میلیون مدل هوش مصنوعی که تا به حال روی HuggingFace قرار گرفته را میتوان با همان پرفورمنس و بدون نیاز به کشیدن لایه های REST در دسترس داشت.
پروژه CSnakes در واقع یک Source Generator و Runtime برای #C است که با بهره گیری از Python C-API امکان تولید خودکار کلاس های دات نت از اسکریپت های پایتون رو فراهم میکنه. شما فقط کافیه پکیج CSnakes.Runtime رو از NuGet نصب کنید و اسکریپت های پایتون تون رو به پروژه اضافه کنید تا بدون کوچک ترین overhead یا لایه اضافی، هر تابع پایتون به صورت یک متد native سی شارپ قابل فراخوانی باشه. این رویکرد، سرعت و مقیاس پذیری Enterprise دات نت رو با انعطاف پذیری و اکوسیستم غنی پایتون پیوند میزنه و توسعه اپلیکیشن های هوش مصنوعی و Data Science رو به سطحی جدید میرسونه.
کلکل هایی هم که این دونفر سر زبانهای #سی شارپ و #پایتون میکنن خیلی با مزهس!
ولی جدا از با مزگیش، یه تکنولوژی خیلی خفن به اسم CSnake رو دارن معرفی میکنن که باعث میشه کدهای پایتون به صورت in-process در دات نت ران بشن!
تو این ویدئو Scott Hanselman و Anthony Shaw در موردش صحبت میکنن. پیشنهاد میکنم حتما ببینیدش...
#csharp #python #machine_learning
https://lnkd.in/dtP_chkC
🔗 LinkedIn Post
lnkd.in
LinkedIn
This link will take you to a page that’s not on LinkedIn
❤4