DotNet | دات نت


Kanal geosi va tili: Eron, Forscha


تو این روزا بهتره که همیشه علم خودمون رو بالا ببریم و بتونیم با سریع ترین راه ممکن خودمونو بروز نگه داریم.
- سعی کنیم از کمترین امکانات بیشترین بهره رو ببریم
منتظرت هستیم😉
دنیا رو جای بهتری برای یادگیری کنیم 🌹
#course #book
🆔 @dotnetcode

Связанные каналы  |  Похожие каналы

Kanal geosi va tili
Eron, Forscha
Statistika
Postlar filtri


Software Philosophy dan repost
برسی متدهای جدید LINQ در دات نت ۹

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

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

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

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

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

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

۱. مثال متد CountBy

فرض کنید لیستی از افراد داریم که شامل نام و سن آن‌هاست و می‌خواهیم تعداد افراد را بر اساس سن آن‌ها شمارش کنیم.
var people = new List
{
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
{
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 { "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

_______


Software Philosophy dan repost
ورک شاپ TDD OpenAI with Semantic Kernel and skUnit

برنامه‌نویسی چت‌بات‌های هوش‌مصنوعی بر پایه LLM در دات‌نت هیچ وقت انقدر شیرین و لذت‌بخش نبوده!
در این ورک‌شاپ مهران داودی یک چت‌بات رو از صفر می‌سازه و نشون می‌ده چطور می‌شه برای این copilot ها تست‌های اتوماتیک نوشت که بتونه از طریق خود LLM تست‌های معنایی انجام بده (Semantic Assert).

این ورک‌شاپ قبلا به صورت لایو در لینکدین برگزار شده بود و الان ویدئوش در یوتیوب آپلود شده.

https://www.youtube.com/watch?v=JVyLLD5bgoE&t=9s


یه تشکر ویژه از مسعود عزیز، Co-Founder پلتفرم Refhub بابت ارسال کتاب فوق‌العاده "Design Driven Domain Learning." کتاب خیلی خوبی است و مفاهیم DDD را خیلی روان و ساده توضیح می‌دهد.

خوشحالم که Refhub همچین پلتفرمی را ساخته که می‌توانیم هم کتاب‌ها را دانلود کنیم و هم خلاصه‌شان را بگیریم.

بزن بریم برای شروع یه کتاب خوب و تجربه یه چیز جدید! اگر دنبال منابع خوب هستید، حتماً به Refhub سر بزنید و با کد تخفیف "welcome" از تخفیف هم بهره‌مند شوید.

کد تخفیف: welcome

https://refhub.ir/fa/


Software Philosophy dan repost
شمشیر دو لبه IEnumerable و yield return در C# : راهکارهایی برای بهینه‌سازی و جلوگیری از افت عملکرد

در زبان C#، وقتی می‌خواهیم با مجموعه‌ای از داده‌ها یا توالی‌ها کار کنیم، معمولاً از ساختارهای داده‌ای مثل لیست‌ها یا آرایه‌ها استفاده می‌کنیم. اما گاهی نیاز داریم داده‌ها را به صورت تنبل (Lazy) پردازش کنیم، یعنی فقط زمانی داده‌ها تولید شوند که واقعاً به آن‌ها نیاز داریم. اینجاست که IEnumerable و yield return وارد میدان می‌شوند و می‌توانند کار ما را بسیار ساده‌تر و بهینه‌تر کنند.

ابزار IEnumerable این امکان را به ما می‌دهد که به طور مؤثر بر روی مجموعه‌ای از داده‌ها پیمایش کنیم، بدون اینکه نیاز باشد تمام داده‌ها را یکجا در حافظه بارگذاری کنیم. از طرف دیگر، yield return به ما اجازه می‌دهد که یک توالی از داده‌ها را مرحله به مرحله و در طول زمان تولید کنیم، به جای اینکه همه‌چیز یکجا آماده شود.

اما مشکل از آنجا شروع می‌شود که استفاده نادرست از این قابلیت‌ها می‌تواند منجر به کاهش کارایی برنامه شود. مثلاً فرض کنید در حال استفاده از yield return هستید و هر بار که از داده‌های تولید شده استفاده می‌کنید، محاسبات سنگینی برای تولید آن داده‌ها انجام می‌شود. اگر این محاسبات هر بار تکرار شوند، زمان اجرای برنامه افزایش می‌یابد و منابع سیستم بی‌مورد مصرف می‌شوند. یا در مواقعی که منابعی مثل فایل‌ها یا دیتابیس را در دسترس داریم، استفاده نادرست از IEnumerable و اجرای به تعویق افتاده (Deferred Execution) ممکن است باعث خطاهایی در مدیریت منابع شود.

در این پست، ما دقیقاً به این مشکلات می‌پردازیم و نشان می‌دهیم که چطور می‌توانیم با آگاهی و استفاده صحیح از IEnumerable و yield return هم از مزایای آنها بهره‌مند شویم و هم از بروز مشکلات و افت عملکرد جلوگیری کنیم. همچنین چند مثال عملی از جمله کار با دیتابیس، فایل‌ها، و لیست‌های داده ارائه می‌دهیم که به شما کمک می‌کند این ابزارها را به درستی به کار بگیرید.

🔗 نسخه کامل مقاله را می‌توانید اینجا مطالعه کنید.

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

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

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

_______


Software Philosophy dan repost
چگونه با Scrutor و Autofac تزریق وابستگی را در .NET به سطح بعدی ببریم؟

در توسعه پروژه‌های بزرگ .NET، مدیریت تزریق وابستگی (Dependency Injection) به یکی از مهم‌ترین بخش‌های معماری نرم‌افزار تبدیل می‌شود. هنگامی که تعداد سرویس‌ها و ریپازیتوری‌ها افزایش پیدا می‌کند، ثبت دستی هر یک از آن‌ها می‌تواند نه تنها زمان‌بر، بلکه منجر به بروز اشتباهات و پیچیدگی‌های غیرضروری شود. اینجاست که ابزارهای قدرتمندی مثل Scrutor و Autofac به کمک ما می‌آیند.

ابزار Scrutor یک کتابخانه سبک برای DI پیش‌فرض .NET است که امکان اسکن خودکار اسمبلی‌ها و ثبت سرویس‌ها را با چند خط کد فراهم می‌کند. شما می‌توانید کلاس‌ها و اینترفیس‌ها را به سادگی بر اساس namespace یا الگوهای دیگر شناسایی و به عنوان وابستگی‌ها در پروژه تزریق کنید. این روش نه تنها کد شما را تمیزتر و منظم‌تر می‌کند، بلکه از بروز مشکلات ناشی از ثبت دستی جلوگیری می‌کند.

از طرف دیگر، Autofac یک کانتینر IoC بسیار قدرتمند است که کنترل و انعطاف بیشتری در تزریق وابستگی‌ها به شما می‌دهد. با استفاده از Autofac، شما می‌توانید وابستگی‌ها را به صورت ماژولار مدیریت کنید، لایف‌تایم دقیق هر سرویس را تنظیم کرده و حتی از امکانات پیشرفته‌ای مانند AOP (Aspect-Oriented Programming) بهره‌مند شوید. با این ابزارها، شما نه تنها کارهای تکراری را حذف می‌کنید، بلکه معماری پروژه خود را حرفه‌ای‌تر و مقیاس‌پذیرتر می‌سازید.

🔗 نسخه کامل مقاله را میتوانید در اینجا مطالعه نمایید.

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

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

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

______


CodeLodge dan repost
✅دومین دورهمی CodeLodge

همین سه شنبه 1 آبان پذیرای شما عزیزان در دومین دورهمی حضوری مون خواهیم بود.
میهمان این هفته ی ما #احمد_اقبال عزیز خواهد بود، کوفاندر Finca.ir و با هم در باره مسیرش از توسعه دهنده ارشد نرم افزار به توسعه ی بیزنس خودش و مسیر کارآفرینیش حرف خواهیم زد.
برای خیلی از ما، کارآفرینی ممکنه یک آپشن، هدف یا آرزو باشه، تجربه ی موفق احمد میتونه برای ما خیلی ارزشمند باشه، به خصوص که بعد از صحبت هاش، فرصت پرسش و پاسخ رو هم با احمد عزیز خواهیم داشت.

نکته : در زمان ثبت نام یک پکیج پذیرایی انتخاب میکنید، که هزینه ای هم که در ایوند پرداخت میکنید، مستقیم به کافه بابت خدمات و سفارش های انتخابی شما پرداخت خواهد شد.

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

تاریخ : 1 آبان ماه ساعت 19 تا 21
مکان : سال کافه
لینک ثبت نام : https://evand.com/events/code-lobby-2


Software Philosophy dan repost
انتقال Git Stashes بین دستگاه‌ها

ابزار Git stashes ابزاری قدرتمند برای ذخیره موقت تغییرات است. اما اگر نیاز دارید این stashes را به دستگاه دیگری منتقل کنید، چطور؟ در این پست، نحوه انتقال Git stashes را باهم برسی می‌کنیم تا هیچ کدام از تغییرات در حال انجام را از دست ندهید.

پیش‌نیازها :
ابتدا Git را طوری تنظیم کنیم که شامل فایل‌های غیر ردیابی (Untracked) شده را هم در stash‌هایمان نیز باشد:

git config stash.showIncludeUntracked true

این تنظیمات تضمین می‌کند که وقتی یک stash می‌سازیم، تمام تغییرات از جمله فایل‌های غیر ردیابی شده شامل شوند.

گام 1: ایجاد یک Stash
روی دستگاه فعلی خود، تغییرات را stash کنید:

git stash push -u

پارامتر -u فایل‌های غیر ردیابی شده را هم در stash شامل می‌شود.

گام 2: ایجاد یک فایل Patch
حالا یک فایل patch از stash ایجاد کنید:

git stash show "stash@{0}" -p > changes.patch

این فرمان یک فایل با نام changes.patch ایجاد می‌کند که شامل تمام تغییرات در آخرین stash شماست.

گام 3: انتقال فایل Patch
فایل changes.patch را به دستگاه دیگر خود منتقل کنید.

گام 4: اعمال Patch در دستگاه جدید
روی دستگاه جدید، به مخزن Git خود بروید و patch را اعمال کنید:

git apply changes.patch

این فرمان تغییرات را از فایل patch به پوشه کاری شما اعمال می‌کند.

نکته : می‌توانید برای stash‌های مختلف، فایل‌های patch مجزا ایجاد کنید (مثلاً stash@{1}, stash@{2}).

با دنبال کردن این مراحل، می‌توانید بدون توجه به جایی که در حال کار هستید به راحتی Git stashes خود را بین دستگاه‌ها منتقل کنید و پیوستگی جریان کاری خود را حفظ کنید.

🔗 نسخه کامل مقاله را میتوانید در اینجا مطالعه نمایید.

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

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

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

______




شرکت TwoX.ir در حال جذب Technical Leafd با شرایط زیر هست:
حوزه کاری شرکت: ارز دیجیتال
محل شرکت: محدوده غرب تهران (پیامبر شرقی)
نحوه همکاری: تمام وقت و حضوری (امکان یک روز دورکاری وجود داره)

Job Responsibilities:
• Leading a cross-functional technology team including backend, frontend and QA engineers.
• Owning software delivery of TwoX products
• Owning performance management cycle for team members
• Taking responsibility for incoming tasks based on the comprehensiveness of the tasks and business needs
• Making effective communication with the product, business and infrastructure stakeholders
• Committed to software quality and improving software quality attributes
• Leading to attaining the best software design and architecture emergent in the team
• Making sure their team is aligned with the technology chapter vision
• Having a high capability to maintain a feedback loop in the team
• Contributing to the hiring procedure
• Being responsible for the development of people in their team
• Holding 1:1 session with their team members
• In the case of technical dependency, Tech Lead needs to look for a long-term solution in order to unblock the team.
• Contributing to the business strategy, roadmap and staff planning for the team

Requirements
• Deep knowledge and experience in .Net Core
• Experience in Microservices Architecture and Distributed System Technologies
• Experience in leading technical teams
• Business Orientation
• Familiarity with Kubernetes
• Having design thinking, problem solving and critical thinking skills
• Conflict management skills
• Agile Mindset

اگر تمایل به بررسی این فرصت شغلی رو دارید، خوشحال میشم رزومه تون رو از طریق آدرس ایمیل زیر دریافت کنم Farzaneh.Termeh@gmail.com


شرکت TwoX.ir در حال جذب Senior Backend Developer با شرایط زیر هست:
حوزه کاری شرکت: ارز دیجیتال
محل شرکت: محدوده غرب تهران (پیامبر شرقی)
نحوه همکاری: تمام وقت و حضوری (امکان یک روز دورکاری وجود داره)


• Over 3 years of in-depth development experience with C#/.NET
• Work experience with ASP.NET (WebApi, MVC), ASP.NET Core
• Deep understanding of OOP
• Good knowledge of enterprise applications Design patterns
• Experience with Elastic Search
• Working experience with databases in both RDBMSs (MSSQL) and NoSQL
• Experience in developing multi-threaded applications with an understanding of concepts such as threads, concurrency and locking
• Experience in Blockchain development is a big plus!
• Working with DevOps and CI/CD tools is a plus!


اگر خودتون تمایل به بررسی این فرصت شغلی رو دارید، خوشحال میشم رزومه ها رو از طریق آدرس ایمیل زیر دریافت کنم Farzaneh.Termeh@gmail.com

سپاس 🙂


Be a .NET Hero dan repost
موضوع، موضوع جذابی هست.

بزودی میت (هاش) رو ست میکنم. 😍
@thisisnabi_dev


DTX_LEARNING_EF_CORE dan repost
Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
🔴 به بهانه! دوره جامع EF Core 8

❤️ سلام دوستان عزیزم ❤️

جلسه چهارم

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


🟢 برای دریافت کلیه سورس‌کدها و نیز مشاهده همه فیلم‌های آموزشی این دوره، باید ابتدا ثبت‌نام نمایید!

🟢 برای آشنایی دانش‌پژوهان گرامی با روش تدریس، صرفا تعدادی از جلسات این دوره، به صورت رایگان منتشر می‌گردد!

✅ انتشار این فیلم، با ذکر منبع، بلامانع می‌باشد ✅

☘️ سورس‌کد پروژه:

🔴 نکته مهم: سورس‌کدهای این دوره، هنوز منتشر نشده است! ولی انشاءالله، بعد از انتشار سورس‌کدها، می‌توانید آن‌ها را در آدرس ذیل دریافت نمایید:

https://github.com/Dariush-Tasdighi/Learning-EF-Core-8

#EFCore #EF_CORE #NEW_LEARNING_EF_CORE_004

🆔 @Dariush_Tasdighi
🆔 @IranianExper
ts
🆔 @DT_PYTHON_LARNING
.


Software Philosophy dan repost
بروزرسانی ReSharper 2023.3: انقلابی در کدنویسی دات‌نت

ابزار ReSharper، ابزاری قدرتمند برای توسعه‌دهندگان دات‌نت است که با ارائه طیف گسترده‌ای از ویژگی‌ها و قابلیت‌ها، به توسعه‌دهندگان کمک می‌کند تا کد خود را با کیفیت بالاتر و سرعت بیشتری تولید کنند. نسخه 2023.3 ReSharper، با ویژگی‌های جدید و بهبودیافته خود، تجربه کدنویسی دات‌نت را به طور اساسی تغییر می‌دهد.

ویژگی‌های جدید و بهبودیافته:

🟣قابلیت Code Analysis:
🟣شناسایی مشکلات جدیدی مانند استفاده از کدهای ناکارآمد، احتمال حملات امنیتی، و مشکلات عملکردی

🟣بهبود دقت شناسایی مشکلات

🟣ارائه پیشنهادات عملی برای رفع مشکلات

مثال عملی: فرض کنید کد زیر را می‌نویسیم:

public class MyClass
{
public void MyMethod()
{
// این کد ناکارآمد است
for (int i = 0; i < 1000000; i++)
{
Console.WriteLine("i = " + i);
}
}
}

با استفاده از Code Analysis ReSharper 2023.3، می‌توان این خطا را شناسایی کرد:

[ReSharper] 'MyClass.MyMethod()' is inefficient: it uses a for loop with a large number of iterations.

🟢قابلیت Code Completion:

🟢ارائه پیشنهادات دقیق‌تر و مرتبط‌تر با context کد

🟢جلوگیری از تکمیل کدهای ناامن

🟢پشتیبانی از کدنویسی با استفاده از زبان‌های طبیعی

مثال عملی: فرض کنید کد زیر را می‌نویسیم:

public class MyClass
{
public void MyMethod()
{
// این کد ناامن است
var password = "my-password";
// ...
}
}

با استفاده از Code Completion ReSharper 2023.3، می‌توان این خطا را شناسایی کرد:

[ReSharper] 'password' is a hard-coded password. This can lead to security vulnerabilities.

🟣قابلیت Refactoring:

🔵پشتیبانی از تغییرات پیچیده‌تر مانند تغییر ساختار کد

🔵جلوگیری از بروز خطاهای احتمالی در هنگام انجام تغییرات

🔵ارائه گزارش‌های دقیق‌تر از تغییرات انجام‌شده

مثال عملی: فرض کنید کد زیر را می‌نویسیم:

public class MyClass
{
public void MyMethod()
{
// این کد می‌تواند با استفاده از refactoring بهینه شود
var list = new List();
for (int i = 0; i < 100; i++)
{
list.Add(i);
}
// ...
}
}

با استفاده از Refactoring ReSharper 2023.3، می‌توان این کد را بهینه کرد:
public class MyClass
{
public void MyMethod()
{
var list = new List(Enumerable.Range(0, 100));
// ...
}
}

🟢قابلیت جدید در Entity Framework:

در ReSharper 2023.3، به‌روزرسانی‌هایی در Entity Framework ارائه شده است که به توسعه‌دهندگان کمک می‌کند تا کد Entity Framework خود را با کیفیت بالاتر و سرعت بیشتری تولید کنند.

ویژگی‌های جدید و بهبودیافته:

🟢مشاهده روابط Entity Framework (ERD): ReSharper 2023.3، ابزار جدیدی برای ویرایش و مشاهده Entity Relationship Diagrams (ERDs) ارائه می‌دهد. این ابزار به توسعه‌دهندگان کمک می‌کند تا روابط بین جدول‌های Entity Framework را به‌طور واضح‌تری درک کنند.

🟢تجزیه و تحلیل و بازرسی کوئری‌های Entity Framework: ReSharper 2023.3، قابلیت‌های جدیدی برای تجزیه و تحلیل و بازرسی کوئری‌های Entity Framework ارائه می‌دهد. این قابلیت‌ها می‌توانند به توسعه‌دهندگان در شناسایی و رفع مشکلات احتمالی در کوئری‌های خود کمک کنند.

مثال‌هایی از نحوه استفاده از ویژگی‌های جدید:

🟢مشاهده روابط Entity Framework (ERD): فرض کنید یک پروژه Entity Framework داریم که شامل دو جدول به نام‌های Customer و Order است. با استفاده از ابزار Visualize Entity Framework Relationships ReSharper 2023.3، می‌توانیم ERD زیر را ایجاد کنیم:

Customer
|
|_ Order

🟢تجزیه و تحلیل و بازرسی کوئری‌های Entity Framework: فرض کنید یک کوئری Entity Framework داریم که به صورت زیر است:
var customers = context.Customers.Where(c => c.Name.Contains("John"));

با استفاده از قابلیت‌های جدید ReSharper 2023.3، می‌توانیم مشکلات احتمالی در این کوئری را شناسایی کنیم. به عنوان مثال، ReSharper می‌تواند به ما هشدار دهد که این کوئری ممکن است کند باشد.

🔗 نسخه کامل مقاله به همراه نمونه کد را می‌توانید در اینجا مطالعه نمایید.

___________

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

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

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

_____


Iranian Experts - 𝓓𝓪𝓻𝓲𝓾𝓼𝓱 𝓣𝓪𝓼𝓭𝓲𝓰𝓱𝓲 dan repost
Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
🔴 آموزش تولید یک برنامه Anti Malware کاملا بومی و ایرانی، به صورت Free و Open Source، با زبان برنامه‌نویسی سی‌شارپ و دات‌نت ۸!

Persian Anti Malware

🔤🔤🔤🔤🔤🅰️🔤
🅰️🔤🔤🔤 🔤🅰️🔤🔤🅰️🔤🔤

🟢 جلسه دوم

Cheat Sheet:

- فعلا کمتر قصه تعریف می‌کنم و به سلامتی، توی این قسمت وارد برنامه و سورس‌کد می‌شویم!

❤️ سلام دوستان عزیزم ❤️

🔴 نکته مهم: مشاهده این مجموعه آموزشی را به همه کاربران اینترنت، تیم‌های برنامه‌نویسی، خصوصا تیم‌های توسعه‌دهنده Backend، تیم‌های امنیتی شرکت‌ها و سازمان‌ها، قویا توصیه می‌کنم!

🔴 انشاءالله لینک‌های مربوط به سایت (سامانه) و سورس‌کدهای موجود در سایت Github، تا تاریخ پانزدهم دی‌ماه ۱۴۰۲ فعال خواهد گردید!

- Site:
https://PersianAntiMalware.ir

- Source Code:

https://github.com/Dariush-Tasdighi/Persian-Anti-Malware

#ANTI_VIRUS #ANTI_MALWARE #ANTI_MALWARE_002 #WINDOWS_FORMS

🆔 @Dariush_Tasdighi
🆔 @IranianExper
ts
🆔 @DT_PYTHON_LARNING
.


Software Philosophy dan repost
از Angular به Blazor: آزاد کردن جادوی C#!

در سفری از Angular به کامپوننت Blazor، یک ماجراجویی هیجان‌انگیز، جادوی C# را آزاد کنید! این سفر نه تنها یک تغییر در نحوه نوشتاری را به همراه دارد بلکه یک شیفت تحولی در رویکرد شما نسبت به توسعه وب را به ارمغان می‌آورد. وقتی که به دنیای Blazor وارد می‌شوید، قدرتمندی C# و اکوسیستم گسترده .NET نه تنها کد را انتقال می‌دهید بلکه به دنیای امکاناتی وارد می‌شوید که به طور سحرآمیز منطبق بر منطق کاربری است و سمت سرور به یکدیگر می‌پیوندد.

هیجان ترجمه شاهکار Angular خود را به یک جواهر Blazor تصور کنید، جایی که آشنایی با نوآوری همراه می‌شود و دقت C# سمفونی وب‌اپلیکیشن شما را ارجاع می‌دهد. این مهاجرت تنها یک گذار فنی نیست؛ بلکه فرصتی است برای بهره‌مندی از طیف کامل قابلیت‌های .NET، از دیتابایندینگ دقیق تا زیبایی پردازش رویدادها با C#.

پس کمربند خود را ببندید و آماده شوید تا ادغام پویایی Angular با استعداد C# Blazor را شاهد شوید. در این راهنمای هیجان‌انگیز، از هر مرحله‌ای از فرآیند مهاجرت عبور خواهیم کرد و جادویی را که هنگام ادغام بهترین‌های دو دنیا اتفاق می‌افتد، برملا خواهیم کرد. برای یک ماجرای کدزنی آماده شوید که نه تنها مهارت‌های شما را ارتقا می‌دهد، بلکه شور و هیجان به سفر توسعه شما تزریق می‌کند. اجازه دهید مهاجرت آغاز شود!

🔗 نسخه کامل مقاله به همراه نمونه کد را میتوانید در اینجا مطالعه نمایید.

___________

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

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

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

_____


Iranian Experts - 𝓓𝓪𝓻𝓲𝓾𝓼𝓱 𝓣𝓪𝓼𝓭𝓲𝓰𝓱𝓲 dan repost
Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
🔴 آموزش تولید یک برنامه Anti Malware کاملا بومی و ایرانی، به صورت Free و Open Source، با زبان برنامه‌نویسی سی‌شارپ و دات‌نت ۸!

Persian Anti Malware

🔤🔤🔤🔤🔤🅰️🔤
🅰️🔤🔤🔤 🔤🅰️🔤🔤🅰️🔤🔤

🟢 جلسه اول

Cheat Sheet:

- آموزش نکاتی در خصوص امنیت، برای کاربران، شرکت‌ها و سازمان‌ها

❤️ سلام دوستان عزیزم ❤️

🔴 نکته مهم: مشاهده این مجموعه آموزشی را به همه کاربران اینترنت، تیم‌های برنامه‌نویسی، خصوصا تیم‌های توسعه‌دهنده Backend، تیم‌های امنیتی شرکت‌ها و سازمان‌ها، قویا توصیه می‌کنم!

🔴 انشاءالله لینک‌های مربوط به سایت (سامانه) و سورس‌کدهای موجود در سایت Github، تا تاریخ پانزدهم دی‌ماه ۱۴۰۲ فعال خواهد گردید!

- Site:
https://PersianAntiMalware.ir

- Source Code:

https://github.com/Dariush-Tasdighi/Persian-Anti-Malware

#ANTI_VIRUS #ANTI_MALWARE #ANTI_MALWARE_001 #WINDOWS_FORMS

🆔 @Dariush_Tasdighi
🆔 @IranianExper
ts
🆔 @DT_PYTHON_LARNING
.


Software Philosophy dan repost
EXACT INSTRUCTIONS

پیشنهاد می‌کنم اول فیلم رو ببنید بعد بقیه مطلب رو بخونید.

https://www.youtube.com/watch?reload=9&v=Ct-lOOUqmyY

خیلی جالب بود و در نگاه اول هیچ ربطی به نرم‌افزار و دنیای نرم‌افزار نداره. ولی وقتی یه خورده عمیق بشیم خیلی جالب میشه.

یکی از مهم‌ترین کارهایی که باید توی شرکت‌های نرم‌افزاری به درستی انجام بشه، داکیومنت کردن است. (داکیومنت به معنی کامنت گذاشتن داخل کد اصلا منظورم نیست، کد باید خودش به قدری خوانا باشه که نیاز به کامنت نداشته باشه یا به اصطلاح Self-Document باشه.)
داکیومنت کردن رو نباید به عنوان یه کار اضافه دید و سرسری انجامش داد.
تمام مراحل انتقال دانش باید به وسیله داکیومنت انجام بشه. نه به صورت نقل قول و سینه به سینه.

اتفاقی که برای خودم افتاد رو براتون تعریف می‌کنم:
در شرکت کرانه ادمین TFS بودم، و یکی از کارهایی که باید انجام می‌دادم و داکیومنت می‌کردم Disaster Recovery خود TFSبود. ۱ روز کامل وقت گذاشتم و Recovery رو انجام دادم و داکیومنتش رو نوشتم، کاری که مدیرمون کرد خیلی خوب بود. داکیومنت رو داد به یکی دیگه گفت TFS رو بیار بالا. حدس می‌زنید چی شد؟ نتونست، چون داکیومنتی که نوشته بودم به درد خودم می‌خورد.
و حرفی که به من زد این بود «داکیومنت باید طوری باشه که اگه دست یه نفر رو از توی خیابون گرفتم و این داکیومنت رو بهش دادم بتونه TFS رو بیاره بالا». بعد از ۳ بار داکیومنت نوشتن بالاخره موفق شدم داکیومنتی بنویستم که به هر کی بدمش فقط با Back up دیتا بیس بتونه TFS رو بالا بیاره.

به نظر من داکیومنت باید طوری باشه تا تمام کسانی که می‌خوننش، همشون یک برداشت رو داشته باشن، داکیومنت نباید وابسته به Context ذهن ما باشه.

خوشحال می‌شم نظر شما رو هم بدونم.

#افشین_علیزاده (http://ow.ly/l7cA30m3OQ9)

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

___


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

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

https://survey.porsline.ir/s/WTLZEnBf


#اطلاع_رسانی🔔

➡️ Deep Dive into async/await: How to Unlock the Full Potential of C# Concurrency👈

اسم ورکشاپی هست که مهران داودی با هدف آموزش مفاهیم همزمانی برگزار می کنه.
در این ورکشاپ در مورد مفاهیم Threading و Concurrency صحبت میشه.

⬅️ لینک اولین جلسه

⬅️ لینک دومین جلسه

⬅️ جلسه سوم این ورکشاپ در تاریخ ۲۱ آبان ماه ساعت ۱۷ برگزار میشه. از همه‌ی دوستان دعوت می‌کنم همراه ما باشند.

😀 نکته: برای اینکه به خوبی بتونین از این ورکشاپ استفاده کنین لطفا ویدیوی جلسات قبل رو مشاهده کنین.


DevTwitter | توییت برنامه نویسی dan repost
آرشیو تمام منابع رایگان آموزش برنامه نویسی به زبان فارسی
برای اینکه هیچکس به خاطر نداشتن پول از آموزش عقب نمونه
https://github.com/barnamenevisi/free-resources

@DevTwitter |

20 ta oxirgi post ko‘rsatilgan.