DotNet | دات نت
1.15K subscribers
667 photos
230 videos
485 files
712 links
تو این روزا بهتره که همیشه علم خودمون رو بالا ببریم و بتونیم با سریع ترین راه ممکن خودمونو بروز نگه داریم.
- سعی کنیم از کمترین امکانات بیشترین بهره رو ببریم
منتظرت هستیم😉
دنیا رو جای بهتری برای یادگیری کنیم 🌹
#course #book


🆔 @dotnetcode
Download Telegram
Forwarded from Software Philosophy
برسی متدهای جدید LINQ در دات نت ۹

دات‌نت ۹، که قرار است در نوامبر ۲۰۲۴ منتشر شود، پیش‌نمایش جدیدی ارائه کرده است که چندین متد LINQ جدید شامل CountBy، AggregateBy و Index را معرفی می‌کند:

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

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

متد Index: این متد یک مجموعه ایندکس شده ایجاد می‌کند، به طوری که هر عنصر با ایندکس خود در مجموعه اصلی همراه است.

این متدهای جدید LINQ در دات‌نت ۹ امکاناتی را برای بهینه‌سازی کد و بهبود عملکرد فراهم کرده‌اند و ابزارهای بیشتری در اختیار توسعه‌دهندگان قرار می‌دهند.

در ادامه، مثال‌هایی از هر یک از متدهای جدید LINQ همراه با خروجی آن‌ها ارائه شده است:

۱. مثال متد CountBy

فرض کنید لیستی از افراد داریم که شامل نام و سن آن‌هاست و می‌خواهیم تعداد افراد را بر اساس سن آن‌ها شمارش کنیم.
var people = new List<Person>
{
new Person { Name = "Ali", Age = 25 },
new Person { Name = "Sara", Age = 30 },
new Person { Name = "Reza", Age = 25 },
new Person { Name = "Maryam", Age = 30 },
new Person { Name = "Nima", Age = 20 }
};

var ageCounts = people.CountBy(p => p.Age);
foreach (var ageCount in ageCounts)
{
Console.WriteLine($"Age: {ageCount.Key}, Count: {ageCount.Value}");
}

خروجی:
Age: 25, Count: 2
Age: 30, Count: 2
Age: 20, Count: 1


۲. مثال متد AggregateBy

در این مثال، ما قصد داریم مجموع سن‌ها را بر اساس گروه‌های سنی (به عنوان مثال زیر ۳۰ و بالای ۳۰) تجمیع کنیم.
var people = new List<Person>
{
new Person { Name = "Ali", Age = 25 },
new Person { Name = "Sara", Age = 30 },
new Person { Name = "Reza", Age = 25 },
new Person { Name = "Maryam", Age = 30 },
new Person { Name = "Nima", Age = 20 }
};

var ageSums = people.AggregateBy(
p => p.Age < 30 ? "Under 30" : "30 and Above",
(key, group) => group.Sum(p => p.Age)
);

foreach (var ageSum in ageSums)
{
Console.WriteLine($"Group: {ageSum.Key}, Sum of Ages: {ageSum.Value}");
}

خروجی:
Group: Under 30, Sum of Ages: 70
Group: 30 and Above, Sum of Ages: 60


۳. مثال متد Index

در این مثال، لیستی از نام‌ها داریم و می‌خواهیم هر نام را همراه با ایندکس آن در لیست نمایش دهیم.
var names = new List<string> { "Ali", "Sara", "Reza", "Maryam", "Nima" };

var indexedNames = names.Index();
foreach (var item in indexedNames)
{
Console.WriteLine($"Index: {item.Index}, Name: {item.Value}");
}

خروجی:
Index: 0, Name: Ali
Index: 1, Name: Sara
Index: 2, Name: Reza
Index: 3, Name: Maryam
Index: 4, Name: Nima


‼️برای دیدن نمونه مثال و مطالعه بیشتر به دو لینک زیر مراجعه کنید:

🔗لینک اول

🔗لینک دوم

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#هوتن_همتی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

_______
👍4
Forwarded from tech-afternoon (Amin Mesbahi)
📽 ویدیو اول از سری آموزشی NET Aspire.

سلام
ویدیو اول از سری آموزشی NET Aspire. که مقدمه و معرفی است روی یوتیوب قرار گرفت.
احتمالا این سری ۳ قسمت داره که قسمت اول، مقدمه، معرفی امکانات و کاربرد و قابلیت‌های Aspire است و ویدیو دوم، گام‌به‌گام به پروژه جدید و پروژه موجود اضافه خواهیم کرد. و ویدیو سوم هم نوشتن component و integration جدید رو خواهیم دید.

📽 لینک یوتیوب

امیدوارم زودتر ویدیو دوم رو آماده و منتشر کنم 🏃‍♂️
♻️🌱 امیدوارم مفید باشه و اگر دوست داشتید به دوستانتون هم معرفی کنید 😊
4👍1
سلام به همه‌ی توسعه‌دهندگان پرانرژی و خلاق! 🌟

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

ما با افتخار دوره‌ی "شروع به کار: افزایش بهره‌وری توسعه‌دهندگان با هوش مصنوعی" را توسط آکادمی Dometrain معرفی می‌کنیم. در این دوره‌ی هیجان‌انگیز، شما یاد می‌گیرید که چگونه با استفاده از GitHub Copilot**، دستیار برنامه‌نویسی هوشمند، بهره‌وری خود را در **Visual Studio به اوج برسانید. 🚀

چرا باید این دوره ببینید؟

- 🔥 شروعی قدرتمند با Copilot: از اولین قدم‌ها تا حرفه‌ای شدن در استفاده از این ابزار شگفت‌انگیز.
- 🎯 استاد مهندسی Prompts شوید: یاد بگیرید چگونه با دستورات دقیق، بهترین نتایج را از هوش مصنوعی بگیرید.
- 🛠 مدیریت استثناها و خطاها: کدهای خود را بدون نگرانی از خطاها بنویسید و به سرعت آن‌ها را برطرف کنید.
- 💡 بازسازی و بهینه‌سازی کدها: کدهای خود را تمیزتر، کارآمدتر و قابل فهم‌تر کنید.

این دوره برای چه کسانی است؟

برای همه‌ی توسعه‌دهندگانی که می‌خواهند با استفاده از تکنولوژی‌های پیشرفته، سرعت و کیفیت کار خود را افزایش دهند و در دنیای پررقابت امروز، یک قدم جلوتر باشند. 😉
Getting Started: Microservices Architecture

Get started with Microservices Architecture with AWS Solution Architect James Eastham

Embark on a journey with 'Getting Started with Microservices Architecture' meticulously crafted by James Eastham, a Solution Architect at AWS. This course is your gateway to mastering the intricacies of microservices architecture, a pivotal skill in today's tech landscape. James, with his extensive real-world experience, delves deep into the fundamentals of microservices, ensuring a solid foundation for learners of all levels. This course is designed not only to impart theoretical knowledge but also to equip you with practical skills, essential for navigating the complexities of modern software development. Whether you're a budding developer, an aspiring architect, or a seasoned professional, this course offers valuable insights into the modular world of microservices. By the end of this course, you'll have a comprehensive understanding of how microservices operate, how they enhance scalability and flexibility, and why they're a preferred choice for contemporary applications. Join James Eastham in this enlightening journey, and unlock the door to a new realm of architectural possibilities.

https://dometrain.com/course/getting-started-microservices-architecture/
👍21
Dive deeper into Microservices Architecture with AWS Solution Architect James Eastham

Microservices Architecture is one of the most popular software architectures. It is the de facto choice for any big company, and knowing how to create a system using it is crucial for any software developer who wants to work at a big company. However, it is a very complex topic with many nuances, edge cases, and caveats. In this course, AWS Solution Architect James Eastham will use the knowledge he gained building microservices for Amazon Web Services to teach you how to create an entire microservices architecture system. This course is both theory and code-heavy, with many diagrams and detailed explanations for every decision made. Join James on this journey and master Microservices Architecture today.

https://dometrain.com/course/deep-dive-microservices-architecture/
Start your .NET Clean Architecture journey

Clean Architecture is one of the most popular software architecture and solution organization approaches out there, and that's for a good reason. It provides a clear path to a robust solution structure with clear guidelines and rules that help you fall into the pit of success immediately. It can, however, be confusing and complicated at first, especially if you don't have an experienced developer explaining the concept and principles to you. That's where Dometrain comes in. In this course, Amichai Mantinband, a Software Engineer at Microsoft, will help you start with Clean Architecture and teach you all the principles and rules in easy-to-digest clips and understandable examples. Start your Clean Architecture journey today on Dometrain!

https://dometrain.com/course/getting-started-clean-architecture-in-dotnet/
👍1
Dive deep into the advanced practices of Clean Architecture in .NET

Clean Architecture is one of the most popular software architecture and solution organization approaches out there, and that's for a good reason. It provides a clear path to a robust solution structure with clear guidelines and rules that help you immediately fall into the pit of success. It can, however, be confusing and complicated at first, especially if you don't have an experienced developer explaining the concept and principles to you. In this course, Amichai Mantinband, a Software Engineer at Microsoft, will help you dive deeper into Clean Architecture and teach you all the advanced principles and rules you need to know in easy-to-digest clips and understandable examples. Continue your Clean Architecture journey today on Dometrain!

https://dometrain.com/course/deep-dive-clean-architecture-in-dotnet/
🎯 Senior .Net Developer

💵 حقوق سالانه: قابل مذاکره

📍محل کار: تهران - حضوری

⚙️ صنعت: تکنولوژی

🌟 مهارت‌های کلیدی:
• مسلط بر توسعه نرم‌افزار با .Net
• تجربه در زمینه ساختار نرم‌افزار
• مهارت حل مسئله

📩 برای ارسال رزومه می‌توانید از طریق این لینک و یا آیدی تلگرام @HRBamboosHeadHunter اقدام نمایید.
-------------
برای اطلاع از آخرین موقعیت‌های شغلی ما را در لینکدین و واتساپ دنبال کنید.

#Senior_DotNET_Developer #DotNET #موقعیت_شغلی #استخدام
🎯 Senior .NET Engineer

💵 حقوق سالانه: ۰.۸ تا ۱ میلیارد تومان


📍محل کار: تهران - نیمه حضوری

⚙️ صنعت: فین‌تک

🌟 مهارت‌های کلیدی:
• مسلط بر توسعه نرم‌افزار با .Net
• مهارت رهبری و مدیریت تیم
• مهارت حل مسئله

📩 برای ارسال رزومه می‌توانید از طریق این لینک و یا آیدی تلگرام @HRBamboosHeadHunter اقدام نمایید.
-------------
برای اطلاع از آخرین موقعیت‌های شغلی ما را در لینکدین و واتساپ دنبال کنید.

#Senior_DotNet_Engineer #DotNet #موقعیت_شغلی #استخدام
👍1
Forwarded from Learning With M (Masoud DaneshPour)
از OOP بگی، از S.O.L.I.D بگی و از Coupling & Cohesion نگی، اشتباه کردی.
هرچه قدر استفاده از S.O.L.I.D توی مصاحبه ها زیاده و فهمش کمتر، Coupling & Cohesion مفهومیه که نه تنها بهش پرداخته نمیشه، بلکه فهمش هم مهمتره به نظرم.

حالا این دو تا بچه چی هستند ؟
Coupling
این مهفوم بسیار جذاب حرفش در مورد اتصال های بی مورد و یا نادرسته، وقتی این مفهوم رو نشناسی کلا نمی بینیش، ولی وقتی باهاش آشنا میشی همه جا میاد جلو چشمت(یه مدت مدیدی من به کاپلینگ می گفتم کوپلینگ!)
حالا حرفش چیه؟ میگه آقا انقدر همه چیز رو به هم اتصال نده، اتصال دادن خوبه ها ولی تهش بدبختیه، هرچی بیشتر وصل باشی مثل ریشه تو خاک یک درخته، بعدا نمی تونی درش بیاری، نکنه نشه، انرژی زیادی می بره.
Coupling انواع مختلفی داره که شامل موارد زیر هست، فقط حواسمون باشه که این موارد از بدتری به بهترین هستند :

Content Coupling: ماژولی مستقیماً در کد داخلی ماژول دیگر تغییر ایجاد می‌کند.
Common Coupling: ماژول‌ها متغیرهای سراسری مشترک دارند.
External Coupling: ماژول‌ها به منبع خارجی یکسانی وابسته‌اند (مثل فایل یا دستگاه مشترک).
Control Coupling: یک ماژول رفتار ماژول دیگر را از طریق پارامترهای کنترلی تعیین می‌کند.
Stamp Coupling: ماژول‌ها ساختار داده پیچیده‌ای را به اشتراک می‌گذارند، اما همیشه به کل آن نیاز ندارند.
Data Coupling: ماژول‌ها تنها داده‌های مورد نیاز را به شکل پارامترهای ساده تبادل می‌کنند (بهترین حالت).



Coupling یه مفهوم خیلی جالبه که بعدا بشتر در مورد انواعش صحبت می کنم و مواردی مثل Afferent و Efferent رو باز می کنم. قول می دم 😉

خب بریم سر وقت بچه بعدی، Cohesion.
حالا این مفهوم چی میگیه؟ میگه دوست من حالا که LSP رو رعایت کردی، بهتر نیست چیزایی که به هم ربط دارن رو کنار هم بزاری ؟ چرا اینو میگه ؟ چون SRP رو بهتر بتونی رعایت کنی. میبینید چطور مفاهیم بهم می تونن پیوند بخورن؟ جالب نیست؟ همینه من مفاهیم پایه ای رو دوست دارم، همشون هوای همیدگه رو دارن.

Coincidental Cohesion: وظایف نامرتبط به‌صورت تصادفی در یک ماژول جمع شده‌اند.
Logical Cohesion: وظایف مشابه از لحاظ نوع (نه هدف) در یک ماژول قرار دارند و با کلیدهای کنترلی انتخاب می‌شوند.
Temporal Cohesion: وظایف مرتبط با یک نقطه زمانی مشترک (مثلاً راه‌اندازی برنامه) در یک ماژول هستند.
Procedural Cohesion: وظایف در یک ترتیب مشخص برای رسیدن به یک هدف کلی اجرا می‌شوند، ولی داده مشترک ندارند.
Communicational Cohesion: وظایف حول یک داده یا داده‌های مرتبط مشترک عمل می‌کنند.
Sequential Cohesion: خروجی یک وظیفه ورودی وظیفه بعدی است، تشکیل زنجیره‌ای معنادار.
Functional Cohesion: تمام وظایف ماژول برای انجام یک کار واحد و مشخص به صورت متمرکز طراحی شده‌اند (بهترین حالت)


حالا شما به من بگید، Functional Cohesion مثل کدوم مفهومی می مونه که تا الان یاد گرفتیم ؟
👍51