📣 اطلاعیه
❇️ آدرس این کانال به DotNetZoom تغییر پیدا کرد و نام و آیکون اون هم به زودی تغییر خواهد کرد ❇️
👉 @DotNetZoom 👈 آدرس جدید کانال
❇️ آدرس این کانال به DotNetZoom تغییر پیدا کرد و نام و آیکون اون هم به زودی تغییر خواهد کرد ❇️
👉 @DotNetZoom 👈 آدرس جدید کانال
❇️ برنامه ASP.NET Core مدیریت پارکینگ مبتنی بر DDD و CQRS و Event Sourcing و ...
✔️ ASP.NET Core
✔️ EntityFramework Core
✔️ Domain Driven Design (#DDD)
✔️ #Microservices
✔️ #RabbitMQ
✔️ #Service_Mesh
✔️ #CQRS
✔️ #Event_Sourcing
✔️ #Eventual_Consistency
✔️ #Docker & #Kubernetes Support
🔰مخزن پروژه :
https://github.com/EdwinVW/pitstop
____________________
@DotNetZoom
✔️ ASP.NET Core
✔️ EntityFramework Core
✔️ Domain Driven Design (#DDD)
✔️ #Microservices
✔️ #RabbitMQ
✔️ #Service_Mesh
✔️ #CQRS
✔️ #Event_Sourcing
✔️ #Eventual_Consistency
✔️ #Docker & #Kubernetes Support
🔰مخزن پروژه :
https://github.com/EdwinVW/pitstop
____________________
@DotNetZoom
GitHub
GitHub - EdwinVW/pitstop: This repo contains a sample application based on a Garage Management System for Pitstop - a fictitious…
This repo contains a sample application based on a Garage Management System for Pitstop - a fictitious garage. The primary goal of this sample is to demonstrate several software-architecture concep...
Forwarded from Moien Tajik 💭
نسخه NET Core 3.0 Preview 9 تو حالت Production Ready رفت و میشه برنامه رو بهش Update کرد. ✅
برای اطمینان ، ماکروسافت سایت خودش رو هم روی این نسخه برد ( فوتر سایت ، قسمت Powered By ).
نسخه GA ( General Availability )l اش هم ، در آخر این ماه Release میشه ✌🏻 :
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0-preview-9/
تفاوت سرعت نسخه های 2.1 و 2.2 و 3.0 خیلی محسوسه و از لحاظ Performance ای وقتی برنامه بهش آپدیت بشه ، کاملا قابل احساسه که میتونید این Improvement هارو از اینجا بخونید⚡️ :
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-core-3-0/
برای اطمینان ، ماکروسافت سایت خودش رو هم روی این نسخه برد ( فوتر سایت ، قسمت Powered By ).
نسخه GA ( General Availability )l اش هم ، در آخر این ماه Release میشه ✌🏻 :
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0-preview-9/
تفاوت سرعت نسخه های 2.1 و 2.2 و 3.0 خیلی محسوسه و از لحاظ Performance ای وقتی برنامه بهش آپدیت بشه ، کاملا قابل احساسه که میتونید این Improvement هارو از اینجا بخونید⚡️ :
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-core-3-0/
Microsoft
.NET - Build modern apps and powerful cloud services
.NET is a developer platform with tools and libraries for building any type of app, including web, mobile, desktop, games, IoT, cloud, and microservices.
✅ چند ایراد مهم هنگام کار با EF Core که باید بدانید
شاید فک کنین EF Core بعد از نسخه 2.2 و یا حتی الان که دیگه نسخه 3.0 اش هم داره میاد، دیگه به بلوغ حداقلی رسیده باشه. اگه اینطوریه به چندتا مثال زیر دقت کنین
1️⃣ مشکل Select به هنگام Include
وقتی روی یه کوئری Include میزنین قاعدتا باید یه join به کوئری تون اضافه کنه ولی توی نسخه 2.2 به قبل اگه با Profiler چک کنین به جای یک کوئری میاد و 2تا کوئری میزنه!
این مشکل توی نسخه 3.0 (که در حال حاضر پیشنمایش 9 اش هست) برطرف شده.
2️⃣ مشکل Recursive Select برای جداول Self Refrence
فرض کنین یه جدول Category دارید که به خودش ریلیشن داره (Self Refrence هست) در نتیجه navigation property های Parent و Childs رو داره
اگه لازم باشه یک select به صورت recursive بزنین، یعنی همه Category ها رو به همراه بچه هاشون بیاره، اوضاع جالب میشه
توی نسخه 2.2 اگر Include بزنین روی Childs تا زمانی که شرط Where توی کوئری تون نباشه کار میکنه ولی به محض اینکه شرط Where رو بذارین فقط تا یک سطح Childs ها رو میاره و نه بیشتر.
توی نسخه 3.0 (پیشنمایش 9) کلا همینم نمیاره یعنی وقتی Include میزنین چه Where داشته باشه چه نداشته باشه فقط و فقط تا یک سطح از Childs هارو میاره
3️⃣ مشکل GroupBy
توی نسخه 2.2 به قبل، EF Core دستور کوئری GroupBy رو ساپورت نمیکنه (به دستورات TSql ترجمه نمیشه) و اگر از GroupBy استفاده کنین ، درحالت عادی کل رکورد ها رو واکشی میکنه و توی مموری GroupBy رو انجام میده. (قابلیت ClientEvaluation)
اگر هم قابلیت ClientEvaluation رو غیر فعال کرده باشین خطای InvalidOperationException بهتون میده
توی نسخه 3.0 اما GroupBy کلا هیچ جوره جواب نیمده (لازم به ذکره قابلیت ClientEvaluation کلا غیر فعال شده و نیازه به غیرفعال کردن دستیش نیست)
🔹خب دیدین که EF Core هنوز یه سری ایرادات پایه ای داره پس اولا توی این جور کوئری هایی که مثال زدم مراقب باشید
🔸دوما راه حلش فعلا اینه که تا اونجایی رو که EF Core ساپورت میکنه با خودش انجام بدیم و جا هایی که درست کار نمیده، نیازش رو توی مموری با Linq to Object برطرف کنیم
__________________
@DotNetZoom
شاید فک کنین EF Core بعد از نسخه 2.2 و یا حتی الان که دیگه نسخه 3.0 اش هم داره میاد، دیگه به بلوغ حداقلی رسیده باشه. اگه اینطوریه به چندتا مثال زیر دقت کنین
1️⃣ مشکل Select به هنگام Include
وقتی روی یه کوئری Include میزنین قاعدتا باید یه join به کوئری تون اضافه کنه ولی توی نسخه 2.2 به قبل اگه با Profiler چک کنین به جای یک کوئری میاد و 2تا کوئری میزنه!
این مشکل توی نسخه 3.0 (که در حال حاضر پیشنمایش 9 اش هست) برطرف شده.
2️⃣ مشکل Recursive Select برای جداول Self Refrence
فرض کنین یه جدول Category دارید که به خودش ریلیشن داره (Self Refrence هست) در نتیجه navigation property های Parent و Childs رو داره
اگه لازم باشه یک select به صورت recursive بزنین، یعنی همه Category ها رو به همراه بچه هاشون بیاره، اوضاع جالب میشه
توی نسخه 2.2 اگر Include بزنین روی Childs تا زمانی که شرط Where توی کوئری تون نباشه کار میکنه ولی به محض اینکه شرط Where رو بذارین فقط تا یک سطح Childs ها رو میاره و نه بیشتر.
توی نسخه 3.0 (پیشنمایش 9) کلا همینم نمیاره یعنی وقتی Include میزنین چه Where داشته باشه چه نداشته باشه فقط و فقط تا یک سطح از Childs هارو میاره
3️⃣ مشکل GroupBy
توی نسخه 2.2 به قبل، EF Core دستور کوئری GroupBy رو ساپورت نمیکنه (به دستورات TSql ترجمه نمیشه) و اگر از GroupBy استفاده کنین ، درحالت عادی کل رکورد ها رو واکشی میکنه و توی مموری GroupBy رو انجام میده. (قابلیت ClientEvaluation)
اگر هم قابلیت ClientEvaluation رو غیر فعال کرده باشین خطای InvalidOperationException بهتون میده
توی نسخه 3.0 اما GroupBy کلا هیچ جوره جواب نیمده (لازم به ذکره قابلیت ClientEvaluation کلا غیر فعال شده و نیازه به غیرفعال کردن دستیش نیست)
🔹خب دیدین که EF Core هنوز یه سری ایرادات پایه ای داره پس اولا توی این جور کوئری هایی که مثال زدم مراقب باشید
🔸دوما راه حلش فعلا اینه که تا اونجایی رو که EF Core ساپورت میکنه با خودش انجام بدیم و جا هایی که درست کار نمیده، نیازش رو توی مموری با Linq to Object برطرف کنیم
__________________
@DotNetZoom
Telegram
Attach Files
❇️ گوگل قابلیت Lazy-Load را به صورت native در مرورگر Chrome ورژن 76 اضافه کرد
🔸 توسط این قابلیت میتوان load عکس ها را تا زمانی که کاربر به اون قسمت از صفحه اسکرول میکنه به تعویق انداخت
اینطوری همه تصاویر صفحه همون ابتدا load نمشن و زمانی که کاربر به پایین صفحه اسکرول میکنه، عکس هایی که لازمه دیده بشن به صورت خودکار load میشه.
این قابلیت موجب کاهش مصرف پهنای باند، کاهش مصرف memory و افزایش سرعت سایت می شود.
🔹 قبلا برای این کار باید از کتابخانه های third-party استفاده می شد ولی الان به راحتی با اضافه کردن خاصیت loading="lazy" به تگ های img و iframe میتونین این قابلیت رو بهشون اضافه کنین
https://web.dev/native-lazy-loading
🔰 نکته :
1️⃣ برای اینکه ارتفاع صفحه و در نتیجه آن ارتفاع scroll قبل از load شدن تصاویر به هم نریزه باید حتما width و height تگ های img رو مشخص کنین.
✅ برای بقیه مرورگر ها میتونین از کتابخانه های زیر که محبوب ترین کتابخانه های مخصوص این کار هستند استفاده کنین
https://github.com/aFarkas/lazysizes
https://github.com/tuupola/lazyload
https://github.com/ApoorvSaxena/lozad.js
https://github.com/verlok/lazyload
___________________
@DotNetZoom
🔸 توسط این قابلیت میتوان load عکس ها را تا زمانی که کاربر به اون قسمت از صفحه اسکرول میکنه به تعویق انداخت
اینطوری همه تصاویر صفحه همون ابتدا load نمشن و زمانی که کاربر به پایین صفحه اسکرول میکنه، عکس هایی که لازمه دیده بشن به صورت خودکار load میشه.
این قابلیت موجب کاهش مصرف پهنای باند، کاهش مصرف memory و افزایش سرعت سایت می شود.
🔹 قبلا برای این کار باید از کتابخانه های third-party استفاده می شد ولی الان به راحتی با اضافه کردن خاصیت loading="lazy" به تگ های img و iframe میتونین این قابلیت رو بهشون اضافه کنین
<img src="image.png" loading="lazy" alt="…" width="200" height="200">اطلاعات بیشتر
<iframe src="https://example.com" loading="lazy"></iframe>
https://web.dev/native-lazy-loading
🔰 نکته :
1️⃣ برای اینکه ارتفاع صفحه و در نتیجه آن ارتفاع scroll قبل از load شدن تصاویر به هم نریزه باید حتما width و height تگ های img رو مشخص کنین.
<img src="..." loading="lazy" width="200" height="200">2️⃣ در حال حاضر این قابلیت فقط در مروگر Chrome ورژن 76 به بالا ساپورت میشه (و نه در بقیه مرورگر ها)
<img src="..." loading="lazy" style="height:200px; width:200px;">
✅ برای بقیه مرورگر ها میتونین از کتابخانه های زیر که محبوب ترین کتابخانه های مخصوص این کار هستند استفاده کنین
https://github.com/aFarkas/lazysizes
https://github.com/tuupola/lazyload
https://github.com/ApoorvSaxena/lozad.js
https://github.com/verlok/lazyload
___________________
@DotNetZoom
Telegram
Attach Files
Forwarded from Software Philosophy
نوبتی هم باشه نوبت «واچ پارتیه»! 🎂🍰🥂
قراره دور هم جمع بشیم و کنفرانس #DotNetConf رو در یک Watch Party با هم ببینیم.
همونطور که میدونید (یا شایدم ندونید) دوشنبه ۱ مهر کنفرانس #DotNetConf شروع میشه. داتنتکانف یکی مهمترین کنفرانسهایی هست که مایکروسافت توش تکنولوژیهای جدید برنامهنویسی رو معرفی میکنه.
مایکروسافت امکانی رو فراهم کرده که افراد بتونن در سایت کنفرانس یه Watch Party رجیستر کنن و به طور رسمی دور هم جمع بشن و کنفرانس رو لایو با هم ببینین و در مورد موضوعاتش با هم صحبت کنن. همونطور که در نقشه جهانی سایت کنفرانس میبینید ما تو ایران یه Watch Party ثبت کردیم (فعلا تو ایران فقط یکی هست) تا دور هم جمع بشیم و با هم کنفرانس رو ببینیم و در مورد تکنولوژیها صحبت کنیم.
تو کنفرانس امسال نسخه نهایی .Net Core 3.0 ارائه میشه. همچنین در مورد آخریت تغییرات C# 8.0، ASP.NET Core و سرویسهای هیجانانگیز Azure صحبت میشه. همچنین خبرهای جذابی از Blazor در راهه.
قسمتی از کنفرانس رو که انتخاب کردیم واسش واچپارتی برگزار کنیم در مورد موضوعات بالا صحبت میشه و دوشنبه ۱ مهر، از ساعت ۱۹ تا ۲۳:۵۹ هست!
تو فرصتهای خالی بین سخنرانیهای تیم مایکروسافت، ما هم با هم در مورد تکنولوژیهایی که مطرح شده گپ میزنیم.
تو این پارتی «مهران داودی» هم هست تا از ویژگیهای C# 8.0 بگه و تجربش در معماری محصولات روی Azure رو باهامون به اشتراک بذاره.
«یاسر مرادی» هم هست تا تجربش در ASP.NET Core باهامون به اشتراک بذاره.
«صالح یوسفنژاد» هم در مورد Blazor اطلاعاتش رو باهامون به اشتراک میذاره.
برای ثبتنام تو سایت کنفرانس ایران رو پیدا کنید و تو رویداد ثبتنام کنید:
👉 https://www.dotnetconf.net/local-events 👈
و یا مستقیما از طریق سایت ایوند ثبتنام کنید:
http://evnd.co/NZfCK
⏱ چون فرصت کوتاهه و ظرفیت هم محدود، همین الان رجیستر کنید.
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
قراره دور هم جمع بشیم و کنفرانس #DotNetConf رو در یک Watch Party با هم ببینیم.
همونطور که میدونید (یا شایدم ندونید) دوشنبه ۱ مهر کنفرانس #DotNetConf شروع میشه. داتنتکانف یکی مهمترین کنفرانسهایی هست که مایکروسافت توش تکنولوژیهای جدید برنامهنویسی رو معرفی میکنه.
مایکروسافت امکانی رو فراهم کرده که افراد بتونن در سایت کنفرانس یه Watch Party رجیستر کنن و به طور رسمی دور هم جمع بشن و کنفرانس رو لایو با هم ببینین و در مورد موضوعاتش با هم صحبت کنن. همونطور که در نقشه جهانی سایت کنفرانس میبینید ما تو ایران یه Watch Party ثبت کردیم (فعلا تو ایران فقط یکی هست) تا دور هم جمع بشیم و با هم کنفرانس رو ببینیم و در مورد تکنولوژیها صحبت کنیم.
تو کنفرانس امسال نسخه نهایی .Net Core 3.0 ارائه میشه. همچنین در مورد آخریت تغییرات C# 8.0، ASP.NET Core و سرویسهای هیجانانگیز Azure صحبت میشه. همچنین خبرهای جذابی از Blazor در راهه.
قسمتی از کنفرانس رو که انتخاب کردیم واسش واچپارتی برگزار کنیم در مورد موضوعات بالا صحبت میشه و دوشنبه ۱ مهر، از ساعت ۱۹ تا ۲۳:۵۹ هست!
تو فرصتهای خالی بین سخنرانیهای تیم مایکروسافت، ما هم با هم در مورد تکنولوژیهایی که مطرح شده گپ میزنیم.
تو این پارتی «مهران داودی» هم هست تا از ویژگیهای C# 8.0 بگه و تجربش در معماری محصولات روی Azure رو باهامون به اشتراک بذاره.
«یاسر مرادی» هم هست تا تجربش در ASP.NET Core باهامون به اشتراک بذاره.
«صالح یوسفنژاد» هم در مورد Blazor اطلاعاتش رو باهامون به اشتراک میذاره.
برای ثبتنام تو سایت کنفرانس ایران رو پیدا کنید و تو رویداد ثبتنام کنید:
👉 https://www.dotnetconf.net/local-events 👈
و یا مستقیما از طریق سایت ایوند ثبتنام کنید:
http://evnd.co/NZfCK
⏱ چون فرصت کوتاهه و ظرفیت هم محدود، همین الان رجیستر کنید.
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
www.dotnetconf.net
.NET Conf 2025
Join the .NET Conf 2025 free virtual event November 11-13 to learn about the newest developments across the .NET platform, open source, and dev tools. Mark your calendar!
Forwarded from کدهک
آشنایی با Worker Service در NET Core 3.0
فردا همزمان با NETConf 2019 نسخه ی نهایی NET Core 3.0 منتشر میشود. یکی از موارد جدیدی که در این نسخه اضافه شده است قابلیت Background Service است که از طریق قالب پروژه Worker Service در دسترس است.
از Worker Service برای ایجاد سرویس هایی که قرار است برای مدت طولانی در سیستم عامل اجرا شوند استفاده میشود. این نوع اپ ها رابط کاربری ندارند و معمولا برای لوگ کردن اطلاعات یا نمایش وضعیت کلی سیستم در صفحه Terminal مورد استفاده قرار میگیرند.
کاربرد این نوع اپ ها در مواردی است که قصد دارید یک عملیات در پس زمینه همیشه در حال اجرا باشد .
یکی از کاربردهای Worker Service مدیریت پیامهای RabbitMQ است. یا اگر میخواهید پیامک یا ایمیل ها در ساعت زمانبندی شده خارج از پروسه اصلی سایت اجرا شود مناسب است. همچنین از این ابزار برای مونیتور کردن سلامت سرور و دیتابیس استفاده میشود.
در گذشته از برنامه های کنسول یا TopShelf استفاده میشد اما Worker Service ابزاری اختصاصی برای اجرا عملیاتهای بلند مدت فراهم می کند و به راحتی می توان آن را به صورت Windows Service یا Daemon Linux اجرا کرد.
فردا همزمان با NETConf 2019 نسخه ی نهایی NET Core 3.0 منتشر میشود. یکی از موارد جدیدی که در این نسخه اضافه شده است قابلیت Background Service است که از طریق قالب پروژه Worker Service در دسترس است.
از Worker Service برای ایجاد سرویس هایی که قرار است برای مدت طولانی در سیستم عامل اجرا شوند استفاده میشود. این نوع اپ ها رابط کاربری ندارند و معمولا برای لوگ کردن اطلاعات یا نمایش وضعیت کلی سیستم در صفحه Terminal مورد استفاده قرار میگیرند.
کاربرد این نوع اپ ها در مواردی است که قصد دارید یک عملیات در پس زمینه همیشه در حال اجرا باشد .
یکی از کاربردهای Worker Service مدیریت پیامهای RabbitMQ است. یا اگر میخواهید پیامک یا ایمیل ها در ساعت زمانبندی شده خارج از پروسه اصلی سایت اجرا شود مناسب است. همچنین از این ابزار برای مونیتور کردن سلامت سرور و دیتابیس استفاده میشود.
در گذشته از برنامه های کنسول یا TopShelf استفاده میشد اما Worker Service ابزاری اختصاصی برای اجرا عملیاتهای بلند مدت فراهم می کند و به راحتی می توان آن را به صورت Windows Service یا Daemon Linux اجرا کرد.
✅ نگارش نهایی NET Core 3.0. منتشر شد
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/
✅ تغییرات ASP.NET Core و Blazor در نگارش نهایی NET Core 3.0.
https://devblogs.microsoft.com/aspnet/asp-net-core-and-blazor-updates-in-net-core-3-0/
✅ نگارش نهایی EF Core 3.0 و EF 6.3 منتشر شد
https://devblogs.microsoft.com/dotnet/announcing-ef-core-3-0-and-ef-6-3-general-availability/
🔰 هم اکنون میتونین نسخه جدید رو از لینک زیر دانلود و نصب کنین
حداقل نسخه مورد نیاز Visual Studio 2019 ورژن (v16.3) می باشد
https://dotnet.microsoft.com/download/dotnet-core/3.0
_________________
@DotNetZoom
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/
✅ تغییرات ASP.NET Core و Blazor در نگارش نهایی NET Core 3.0.
https://devblogs.microsoft.com/aspnet/asp-net-core-and-blazor-updates-in-net-core-3-0/
✅ نگارش نهایی EF Core 3.0 و EF 6.3 منتشر شد
https://devblogs.microsoft.com/dotnet/announcing-ef-core-3-0-and-ef-6-3-general-availability/
🔰 هم اکنون میتونین نسخه جدید رو از لینک زیر دانلود و نصب کنین
حداقل نسخه مورد نیاز Visual Studio 2019 ورژن (v16.3) می باشد
https://dotnet.microsoft.com/download/dotnet-core/3.0
_________________
@DotNetZoom
✅ لیست کامل ویدیوهای NET Conf 2019. در Youtube (به همراه زیر نویس انگلیسی)
🔰 اگر موفق به تماشای زنده NET Conf 2019. نشده اید. لیست تمامی ویدئوهای آن در این Playlist اپلود میشود.
این ویدئو ها امکان زیر نویس انگلیسی داره و چون دیگه پخش زنده نیست زیرنویس سینک تری ارائه میده. (از پایین ویدئو گزینه [Subnoscript/captions] میتوانید زیرنویس آن را فعال کنید)
https://www.youtube.com/playlist?list=PLReL099Y5nRd04p81Q7p5TtyjCrj9tz1t
________________
@DotNetZoom
🔰 اگر موفق به تماشای زنده NET Conf 2019. نشده اید. لیست تمامی ویدئوهای آن در این Playlist اپلود میشود.
این ویدئو ها امکان زیر نویس انگلیسی داره و چون دیگه پخش زنده نیست زیرنویس سینک تری ارائه میده. (از پایین ویدئو گزینه [Subnoscript/captions] میتوانید زیرنویس آن را فعال کنید)
https://www.youtube.com/playlist?list=PLReL099Y5nRd04p81Q7p5TtyjCrj9tz1t
________________
@DotNetZoom
❇️ فیلم های رویداد DDD Talks
🔹فیلم ارائه های اولین رویداد DDD Talks ایران به صورت عمومی منتشر شد.
🔸همه ارائه ها بسیار آموزنده و جذاب بودند ولی شخصا پیشنهاد میکنم حتما فیلم های شماره 1 و 3 و 5 رو ببینین.
1️⃣ روحالله دلپاک - جادوی زبان، طلسم پیچیدگی - Ubiquitous Language
https://www.aparat.com/v/EvAYt
2️⃣ سپهر نامدار - BDD (Behaviour Driven Development) + Ubiquitous Language
https://www.aparat.com/v/s9p8o
3️⃣ هادی احمدی - Bounded Context ها و ارتباط بین آنها
https://www.aparat.com/v/cMinG
4️⃣ مسعود بهرامی - جلسات مدل سازی و تکنیک Event Storming
https://www.aparat.com/v/QqO39
5️⃣ یوسف مهرداد - مباحث خیلی خیلی پیشرفته در مهندسی نرمافزار! (چند کلام تجربه آموزنده)
https://www.aparat.com/v/9Yn45
____________________________
@DDD_Iran #DDDTalks
@DotNetZoom
🔹فیلم ارائه های اولین رویداد DDD Talks ایران به صورت عمومی منتشر شد.
🔸همه ارائه ها بسیار آموزنده و جذاب بودند ولی شخصا پیشنهاد میکنم حتما فیلم های شماره 1 و 3 و 5 رو ببینین.
1️⃣ روحالله دلپاک - جادوی زبان، طلسم پیچیدگی - Ubiquitous Language
https://www.aparat.com/v/EvAYt
2️⃣ سپهر نامدار - BDD (Behaviour Driven Development) + Ubiquitous Language
https://www.aparat.com/v/s9p8o
3️⃣ هادی احمدی - Bounded Context ها و ارتباط بین آنها
https://www.aparat.com/v/cMinG
4️⃣ مسعود بهرامی - جلسات مدل سازی و تکنیک Event Storming
https://www.aparat.com/v/QqO39
5️⃣ یوسف مهرداد - مباحث خیلی خیلی پیشرفته در مهندسی نرمافزار! (چند کلام تجربه آموزنده)
https://www.aparat.com/v/9Yn45
____________________________
@DDD_Iran #DDDTalks
@DotNetZoom
Forwarded from انجمن DDD ایران
آغاز ثبتنام در دومین رویداد DDDTalks ایران.
انجمن DDD ایران دومین رویداد DDDTalks خود را با همکاری شرکت «همکاران سیستم» در تاریخ ۲۳ آبان برگزار میکند.
برای ثبتنام و کسب اطلاعات بیشتر میتوانید به لینک زیر مراجعه کنید:
https://evand.com/events/ddd-talks-2/
توجه: چنانچه مصمم به شرکت در این رویداد هستید، بهتر است هر چه سریعتر نسبت به تهیه بلیط اقدام فرمایید. همانند رویداد قبل، ظرفیت پذیرش محدود است و امکان افزایش آن وجود ندارد.
بلیت ثبتنام زودهنگام: ۸۰ هزار تومان و مهلت تهیه آن تا ۱۲ آبان است.
سخنرانان:
• علیرضا رحمانی خلیلی
• روح الله دلپاک
• محمد یگانهفر
• مسعود بهرامی
• هادی احمدی
- انجمن DDD ایران
@DDD_Iran #DDDTalks
انجمن DDD ایران دومین رویداد DDDTalks خود را با همکاری شرکت «همکاران سیستم» در تاریخ ۲۳ آبان برگزار میکند.
برای ثبتنام و کسب اطلاعات بیشتر میتوانید به لینک زیر مراجعه کنید:
https://evand.com/events/ddd-talks-2/
توجه: چنانچه مصمم به شرکت در این رویداد هستید، بهتر است هر چه سریعتر نسبت به تهیه بلیط اقدام فرمایید. همانند رویداد قبل، ظرفیت پذیرش محدود است و امکان افزایش آن وجود ندارد.
بلیت ثبتنام زودهنگام: ۸۰ هزار تومان و مهلت تهیه آن تا ۱۲ آبان است.
سخنرانان:
• علیرضا رحمانی خلیلی
• روح الله دلپاک
• محمد یگانهفر
• مسعود بهرامی
• هادی احمدی
- انجمن DDD ایران
@DDD_Iran #DDDTalks
گفت و گوی تخصصی درباره معماریهای مدرن و کلاسیک نرم افزار، هفته آینده در تهران.
ثبت نام در ایوند: https://evand.com/events/software-arch-panel-98
گروه تلگرامی تاک:
https://news.1rj.ru/str/joinchat/BN0eVEm2h9vaABYaf9zyHQ
ثبت نام در ایوند: https://evand.com/events/software-arch-panel-98
گروه تلگرامی تاک:
https://news.1rj.ru/str/joinchat/BN0eVEm2h9vaABYaf9zyHQ
🔸 اطلاعیه🔸
دومین رویداد DDD Talks فردا بیست و سوم آبان در محل پردیس سینمایی ملت، برگزار خواهد شد.
🔰 فردا منم هستم
از دوستان اگر کسی میاد خوشحال میشم بیاد با هم گپ بزنیم، در مورد کار، زندگی، برنامه نویسی و... :)
🕗 پذیرش شرکتکنندگان از ساعت ۸ شروع و مراسم راس ساعت ۸:۳۰ آغاز خواهد گردید. این رویداد تا ساعت ۱۲:۳۰ ادامه خواهد داشت.
🌱 توجه داشته باشید که نیازی به چاپ بلیت نیست.
📌 آدرس: خیابان ولیعصر(عج)، بزرگراه آیتاله هاشمی رفسنجانی، روبهروی اتوبان کردستان، پردیس سینمایی ملت، سالن ۳
https://www.google.com/maps/search/?api=1&query=35.77648153,51.40749925&zoom=15
🔹 اطلاعات بیشتر :
https://evand.com/events/ddd-talks-2/
_________________
@DDD_iran
@DotNetZoom
دومین رویداد DDD Talks فردا بیست و سوم آبان در محل پردیس سینمایی ملت، برگزار خواهد شد.
🔰 فردا منم هستم
از دوستان اگر کسی میاد خوشحال میشم بیاد با هم گپ بزنیم، در مورد کار، زندگی، برنامه نویسی و... :)
🕗 پذیرش شرکتکنندگان از ساعت ۸ شروع و مراسم راس ساعت ۸:۳۰ آغاز خواهد گردید. این رویداد تا ساعت ۱۲:۳۰ ادامه خواهد داشت.
🌱 توجه داشته باشید که نیازی به چاپ بلیت نیست.
📌 آدرس: خیابان ولیعصر(عج)، بزرگراه آیتاله هاشمی رفسنجانی، روبهروی اتوبان کردستان، پردیس سینمایی ملت، سالن ۳
https://www.google.com/maps/search/?api=1&query=35.77648153,51.40749925&zoom=15
🔹 اطلاعات بیشتر :
https://evand.com/events/ddd-talks-2/
_________________
@DDD_iran
@DotNetZoom
Forwarded from کدهک
نسخه ی نهایی NET Core 3.1 منتشر شد
این نسخه قابلیت جدید خاصی ندارد اما بیش از 150 مورد رفع باگ و بهبود پرفورمنس را شامل میشود که در دو ماه گذشته روی نسخه 3.0 اعمال شده است.
نکته ی مهم پشتیبانی بلند مدت مایکروسافت یا LTS است که به مدت سه سال روی این نسخه اعمال میشود. به این ترتیب هر باگ یا مشکل امنیتی که در این نسخه وجود داشته باشد تا سه سال آینده رفع و در قالب نسخه های مینور آپدیت خواهد شد.
برای استفاده از این نسخه می توانید به سایت dot.net سر بزنید یا نسخه ی جاری VS 2019 خود را آپدیت کنید.
همچنین ASP NET Core 3.1 به همراه Entity Framework 3.1 و EF 6.4 هم به همراه این نسخه منتشر شدند.
ابزار Blazor Web Assembly هنوز در وضعیت Preview قرار دارد اما سازگاری با iOS 13 به آن اضافه شده است.
این نسخه قابلیت جدید خاصی ندارد اما بیش از 150 مورد رفع باگ و بهبود پرفورمنس را شامل میشود که در دو ماه گذشته روی نسخه 3.0 اعمال شده است.
نکته ی مهم پشتیبانی بلند مدت مایکروسافت یا LTS است که به مدت سه سال روی این نسخه اعمال میشود. به این ترتیب هر باگ یا مشکل امنیتی که در این نسخه وجود داشته باشد تا سه سال آینده رفع و در قالب نسخه های مینور آپدیت خواهد شد.
برای استفاده از این نسخه می توانید به سایت dot.net سر بزنید یا نسخه ی جاری VS 2019 خود را آپدیت کنید.
همچنین ASP NET Core 3.1 به همراه Entity Framework 3.1 و EF 6.4 هم به همراه این نسخه منتشر شدند.
ابزار Blazor Web Assembly هنوز در وضعیت Preview قرار دارد اما سازگاری با iOS 13 به آن اضافه شده است.
🔰راه اندازی VPN/Proxy شخصی [قسمت اول]
اگه بگم اینترنت برای ما برنامه نویسا از نون شب واجب تره و مثل اوکسیژن میمونه دروغ نگفتم، توی قطعی اینترنت اخیر خیلی از ما ها واقعا نتونستیم کار کنیم، هرچند که بعضی ها که ساخت VPNشخصی رو بلد بودند یا دسترسی به VPN بقیه داشتند تونستن قسر در برن ولی اونایی بقیه خیلی اذیت شدند و خسارت دیدند.
من این پست رو همون روزا آماده کردم ولی فرصت نشد منتشر کنم و عملا خیلی ها هم نمیتونستن ازش بهره مند بشن. حالا اما بهتره این کار رو یاد بگیرید تا در روز مبادا دستتون تو پوست گردو نمونه!
مواد لازم:
1️⃣ یک عدد VPS یا سرور اختصاصی داخلی (حتما داخل ایران) که به نت "غیر داخلی" هم دسترسی داشته باشه (مثلا گوگل رو بیاره)
هم اکنون بعضی از Data Center ها فیلتر نشدن و همچنان سرور هاشون به اینترنت خارجی دسترسی دارن؛ یکی از اینا لازم دارید، خیلی هم نمیخواد کانفیگ بالایی داشته باشه، نه Ram انچنانی میخواد نه CPU و نه HDD فقط یه پهنای باند خوب میخواد، پس یه VPS فوق ارزون با 1 گیگ رم هم کارتون رو راه میندازه (اگه سرورتون لینوکسی باشه که 512 هم راه داره)
2️⃣ یک عدد برنامه VPN/Proxy ساز
برنامه های زیادی برای اینکار هست مثل SoftEther یا ShadowSocks یا OpenVPN یا روش Proxy over SSH و... که همگی یه طرز کار مشترک دارن؛ باید نسخه سمت Server رو روی سرور نصب کنید و یه اکانت بسازید و نسخه Client شون رو هم روی کلاینت هاتون نصب کنید و با مشخصات همون اکانتی که ساختید بهش وصل بشید.
البته نکته مهم، Protocol استفاده شده هست وگرنه با برنامه های Client ایی مختلفی که اون پروتکل رو ساپورت کنه میشه بهشون وصل شد.
همین کارو اگه با یه سرور خارج از ایران انجام بدین مشکل فیلترینگ و دسترسی به تلگرام اینا هم حل میشه.
پس راهشو یاد بگیرین که خودتون رو VPS/سرور هاتون VPN راه بندازید.
❇️ برنامه SoftEther :
این برنامه یکی از قوی ترین VPN/Proxy ساز های دنیا هست و قابلیت های بسیار زیادی داره.
این برنامه رایگان، Open-Source و Cross-Platform هست و از Protocol های مختلفی مانند L2TP و SSTP و... پشتیبانی میکنه و قابلیت integrate شدن با OpenVPN رو هم داره. همچنین امکانت مدیریت اکانت های تعریف شده و امکان مانیتور کردن وضعیت مصرف و محدود کردن شون رو در قالب یک UI خوب به شما میده.
🔶 دانلود نسخه کلاینت و سرور مخصوص ویندوز
- نسخه سرور SoftEther VPN Server
- نسخه کلاینت SoftEther VPN Client
🔷 آموزش نصب و راه اندازی روی سرور Windows ایی
راستش فرصت نشد خودم یه آموزش خوب واسش بنویسم واسه همین چندتا از آموزش های خوب در این باره رو گلچین کردم براتون.
- ویدئو آموزشی (انگلسیی - زیر نویس دار)
- مقاله آموزشی (فارسی)
- مقاله نصب و پیکربندی (انگلیسی)
- مقاله آموزشی کار با Virtual Hub (انگلیسی)
- مقاله آموزشی مدیریت کاربران و تنظیمات امنیتی (انگلیسی)
🔶 آموزش نصب و راه اندازی روی سرور Linux ایی
- ویدیو آموزش (انگلیسی)
- مقاله اموزشی (انگلیسی)
🔷 روش L2TP : استفاده از این پروتکل خیلی سادس و خوبیش اینه که توسط دیوایس ها به صورت built-in (توکار) پشتیبانی میشه؛ پس نیاز نیست برنامه خاصی روی کلاینت تون نصب کنین.
- آموزش فعال سازی روش L2TP در Server
- آموزش افزودن VPN توسط روش L2TP در کلاینت Windows ایی
- آموزش افزودن VPN توسط روش L2TP در کلاینت Android ایی
🔶 تازه با نصب VPN Gate که یک پلاگین برای SoftEther هست میتونین لیستی از VPN Server های رایگان رو پیدا کنید و بهشون وصل بشید (البته این یعنی ترافیک شما توسط اون سرور قابل رصد شدن هست و تضمینی بر شما امنیت شما وجود نداره)
- دانلود VPN Gate
- آموزش نصب و استفاده از VPN Gate
پ.ن : برای ساخت VPN جهت دورزدن فیلترینگ خارجی، فقط کافیه VPS خارج از ایران باشه.
__________________
@DotNetZoom
اگه بگم اینترنت برای ما برنامه نویسا از نون شب واجب تره و مثل اوکسیژن میمونه دروغ نگفتم، توی قطعی اینترنت اخیر خیلی از ما ها واقعا نتونستیم کار کنیم، هرچند که بعضی ها که ساخت VPNشخصی رو بلد بودند یا دسترسی به VPN بقیه داشتند تونستن قسر در برن ولی اونایی بقیه خیلی اذیت شدند و خسارت دیدند.
من این پست رو همون روزا آماده کردم ولی فرصت نشد منتشر کنم و عملا خیلی ها هم نمیتونستن ازش بهره مند بشن. حالا اما بهتره این کار رو یاد بگیرید تا در روز مبادا دستتون تو پوست گردو نمونه!
مواد لازم:
1️⃣ یک عدد VPS یا سرور اختصاصی داخلی (حتما داخل ایران) که به نت "غیر داخلی" هم دسترسی داشته باشه (مثلا گوگل رو بیاره)
هم اکنون بعضی از Data Center ها فیلتر نشدن و همچنان سرور هاشون به اینترنت خارجی دسترسی دارن؛ یکی از اینا لازم دارید، خیلی هم نمیخواد کانفیگ بالایی داشته باشه، نه Ram انچنانی میخواد نه CPU و نه HDD فقط یه پهنای باند خوب میخواد، پس یه VPS فوق ارزون با 1 گیگ رم هم کارتون رو راه میندازه (اگه سرورتون لینوکسی باشه که 512 هم راه داره)
2️⃣ یک عدد برنامه VPN/Proxy ساز
برنامه های زیادی برای اینکار هست مثل SoftEther یا ShadowSocks یا OpenVPN یا روش Proxy over SSH و... که همگی یه طرز کار مشترک دارن؛ باید نسخه سمت Server رو روی سرور نصب کنید و یه اکانت بسازید و نسخه Client شون رو هم روی کلاینت هاتون نصب کنید و با مشخصات همون اکانتی که ساختید بهش وصل بشید.
البته نکته مهم، Protocol استفاده شده هست وگرنه با برنامه های Client ایی مختلفی که اون پروتکل رو ساپورت کنه میشه بهشون وصل شد.
همین کارو اگه با یه سرور خارج از ایران انجام بدین مشکل فیلترینگ و دسترسی به تلگرام اینا هم حل میشه.
پس راهشو یاد بگیرین که خودتون رو VPS/سرور هاتون VPN راه بندازید.
❇️ برنامه SoftEther :
این برنامه یکی از قوی ترین VPN/Proxy ساز های دنیا هست و قابلیت های بسیار زیادی داره.
این برنامه رایگان، Open-Source و Cross-Platform هست و از Protocol های مختلفی مانند L2TP و SSTP و... پشتیبانی میکنه و قابلیت integrate شدن با OpenVPN رو هم داره. همچنین امکانت مدیریت اکانت های تعریف شده و امکان مانیتور کردن وضعیت مصرف و محدود کردن شون رو در قالب یک UI خوب به شما میده.
🔶 دانلود نسخه کلاینت و سرور مخصوص ویندوز
- نسخه سرور SoftEther VPN Server
- نسخه کلاینت SoftEther VPN Client
🔷 آموزش نصب و راه اندازی روی سرور Windows ایی
راستش فرصت نشد خودم یه آموزش خوب واسش بنویسم واسه همین چندتا از آموزش های خوب در این باره رو گلچین کردم براتون.
- ویدئو آموزشی (انگلسیی - زیر نویس دار)
- مقاله آموزشی (فارسی)
- مقاله نصب و پیکربندی (انگلیسی)
- مقاله آموزشی کار با Virtual Hub (انگلیسی)
- مقاله آموزشی مدیریت کاربران و تنظیمات امنیتی (انگلیسی)
🔶 آموزش نصب و راه اندازی روی سرور Linux ایی
- ویدیو آموزش (انگلیسی)
- مقاله اموزشی (انگلیسی)
🔷 روش L2TP : استفاده از این پروتکل خیلی سادس و خوبیش اینه که توسط دیوایس ها به صورت built-in (توکار) پشتیبانی میشه؛ پس نیاز نیست برنامه خاصی روی کلاینت تون نصب کنین.
- آموزش فعال سازی روش L2TP در Server
- آموزش افزودن VPN توسط روش L2TP در کلاینت Windows ایی
- آموزش افزودن VPN توسط روش L2TP در کلاینت Android ایی
🔶 تازه با نصب VPN Gate که یک پلاگین برای SoftEther هست میتونین لیستی از VPN Server های رایگان رو پیدا کنید و بهشون وصل بشید (البته این یعنی ترافیک شما توسط اون سرور قابل رصد شدن هست و تضمینی بر شما امنیت شما وجود نداره)
- دانلود VPN Gate
- آموزش نصب و استفاده از VPN Gate
پ.ن : برای ساخت VPN جهت دورزدن فیلترینگ خارجی، فقط کافیه VPS خارج از ایران باشه.
__________________
@DotNetZoom
GitHub
GitHub - SoftEtherVPN/SoftEtherVPN: Cross-platform multi-protocol VPN software. Pull requests are welcome. The stable version is…
Cross-platform multi-protocol VPN software. Pull requests are welcome. The stable version is available at https://github.com/SoftEtherVPN/SoftEtherVPN_Stable. - SoftEtherVPN/SoftEtherVPN
Forwarded from کدهک
آشنایی با ML.NET
فریم ورک ML.NET ابزاری برای Machine Learning در دات نت است که توسط مایکروسافت توسعه داده شده است. در این ویدیو با استفاده از ML.NET شانس زنده ماندن مسافران کشتی تایتانیک را پیش بینی می کنیم.
https://tinyurl.com/cdhk-mlnet
فریم ورک ML.NET ابزاری برای Machine Learning در دات نت است که توسط مایکروسافت توسعه داده شده است. در این ویدیو با استفاده از ML.NET شانس زنده ماندن مسافران کشتی تایتانیک را پیش بینی می کنیم.
https://tinyurl.com/cdhk-mlnet
❇️ معرفی MagicOnion : یک فریمورک Realtime مبتنی بر gRPC و MessagePack
این فریمورک با استفاده از قابلیت HTTP/2 Streaming مبتنی بر gRPC و بهره گیری از MessagePack برای Serialization (همراه با LZ4 integration) بستری قدرتمند را برای ارتباطات Realtime فراهم میکند.
🔸یکی از مزایای این فریمورک عدم نیاز به فایلهای .proto مخصوص gRPC است چرا که از interface های سی شارپی برای به اشتراک گذاری امضای Endpointهای موجود بین Server و Client استفاده میکند.
🔹یکی از دیگر مزایای آن پشتیبانی از Swagger و داشتن Json Gateway توکار متبنی بر HTTP/1 است که به کمک آن میتوان به صورت Json/RESTful نیز APIها را فراخوانی کرد.
🔸همچنین این فریمورک از OpenTelemetry پشتیبانی کرده و میتوانید از برنامههای مانیتورینگ مانند Prometheus و StackDriver و Zipkin و... بر روی پروژه خود استفاده کنید و یا توسط Grafana یک داشبورد مانیتورینگ ویژوال و Realtime ایجاد کنید.
🔹این فریمورک ابزار مناسبی جهت ارتباطات بین Microserviceها میباشد.
🔸همچنین جایگزین مناسبی برای سرویسهای API based مانند ASP.NET Core WebAPI و WCF بوده و نیز جایگزین مناسبی برای SignalR و Socket.io جهت ارتباطات Realtime میباشد.
🔰ریپازیتوری MagicOnion
https://github.com/Cysharp/MagicOnion
اطلاعات بیشتر
https://medium.com/@neuecc/magiconion-unified-realtime-api-engine-for-net-core-and-unity-21e02a57a3ff
_______________
@DotNetZoom
این فریمورک با استفاده از قابلیت HTTP/2 Streaming مبتنی بر gRPC و بهره گیری از MessagePack برای Serialization (همراه با LZ4 integration) بستری قدرتمند را برای ارتباطات Realtime فراهم میکند.
🔸یکی از مزایای این فریمورک عدم نیاز به فایلهای .proto مخصوص gRPC است چرا که از interface های سی شارپی برای به اشتراک گذاری امضای Endpointهای موجود بین Server و Client استفاده میکند.
🔹یکی از دیگر مزایای آن پشتیبانی از Swagger و داشتن Json Gateway توکار متبنی بر HTTP/1 است که به کمک آن میتوان به صورت Json/RESTful نیز APIها را فراخوانی کرد.
🔸همچنین این فریمورک از OpenTelemetry پشتیبانی کرده و میتوانید از برنامههای مانیتورینگ مانند Prometheus و StackDriver و Zipkin و... بر روی پروژه خود استفاده کنید و یا توسط Grafana یک داشبورد مانیتورینگ ویژوال و Realtime ایجاد کنید.
🔹این فریمورک ابزار مناسبی جهت ارتباطات بین Microserviceها میباشد.
🔸همچنین جایگزین مناسبی برای سرویسهای API based مانند ASP.NET Core WebAPI و WCF بوده و نیز جایگزین مناسبی برای SignalR و Socket.io جهت ارتباطات Realtime میباشد.
🔰ریپازیتوری MagicOnion
https://github.com/Cysharp/MagicOnion
اطلاعات بیشتر
https://medium.com/@neuecc/magiconion-unified-realtime-api-engine-for-net-core-and-unity-21e02a57a3ff
_______________
@DotNetZoom
Medium
MagicOnion — Unified Realtime/API Engine for .NET Core and Unity
It has been a while. Since my last post, I have been working on and created many things. Now that it is 2019, I would like to start…
❇️ آموزش Best Practice های Async/Await (زبان اصلی زیر نویس دار)
از پایین ویدئو گزینه [Subnoscript/captions] میتوانید زیرنویس آن را فعال کنید
[00:57] - What's the relationship between Xamarin and Azure
[02:25] - HackerNews mobile app demo
[04:06] - async / await under the covers
[08:43] - Benefits for desktop or mobile applications
[09:65] - Refactoring async operations with commands
[12:52] - Don't use .Wait()
[15:41] - Avoiding context switches with ConfigureAwait(false)
[19:45] - Sometimes you don't need to use async / await
[21:22] - Using async / await inside of try/catch and using statement blocks
[23:40] - Summarizing best practices
[25:37] - Use cases for ValueTask
Useful Links
Generalized async return types
Async in Depth
Brandon's code sample repo
____________
@DotNetZoom
از پایین ویدئو گزینه [Subnoscript/captions] میتوانید زیرنویس آن را فعال کنید
[00:57] - What's the relationship between Xamarin and Azure
[02:25] - HackerNews mobile app demo
[04:06] - async / await under the covers
[08:43] - Benefits for desktop or mobile applications
[09:65] - Refactoring async operations with commands
[12:52] - Don't use .Wait()
[15:41] - Avoiding context switches with ConfigureAwait(false)
[19:45] - Sometimes you don't need to use async / await
[21:22] - Using async / await inside of try/catch and using statement blocks
[23:40] - Summarizing best practices
[25:37] - Use cases for ValueTask
Useful Links
Generalized async return types
Async in Depth
Brandon's code sample repo
____________
@DotNetZoom
Docs
Brandon Minnick - Async/Await Best Practices
Whether you're building mobile or web applications, it highly likely that you've come across the async / await keywords in the .NET code you're working on. This combo makes working with asynchronous operations really easy, but can also lead into hard to debug…
🔰معادل توابع شمارشی #C و JavaScript
در ECMAScript 5 توابعی معرفی شد که میتوانیم از آنها بجای loop ها استفاده کنیم.
لیست این توابع را میتوانید در این لینک مشاهده کنید.
🔸مقاله فارسی
https://www.dotnettips.info/post/3149
_________________
@DotNetZoom
در ECMAScript 5 توابعی معرفی شد که میتوانیم از آنها بجای loop ها استفاده کنیم.
لیست این توابع را میتوانید در این لینک مشاهده کنید.
🔸مقاله فارسی
https://www.dotnettips.info/post/3149
_________________
@DotNetZoom
❇️ مقایسه محبوبیت کتابخانه های Nuget
توسط سایت NugetTrends.com می توانید کتابخانه های nuget را از لحاظ تعداد دانلود بر روی نمودار مقایسه کنید.
🔰در تصویر بالا نمودار تعداد دانلود کتابخانه های Serilog و log4net و NLog را طی یک سال اخیر مشاهده میکنید.
https://nugettrends.com/packages?months=12&ids=Serilog&ids=NLog&ids=log4net
مخزن گیتهاب پروژه
https://github.com/NuGetTrends/nuget-trends
______________
@DotNetZoom
توسط سایت NugetTrends.com می توانید کتابخانه های nuget را از لحاظ تعداد دانلود بر روی نمودار مقایسه کنید.
🔰در تصویر بالا نمودار تعداد دانلود کتابخانه های Serilog و log4net و NLog را طی یک سال اخیر مشاهده میکنید.
https://nugettrends.com/packages?months=12&ids=Serilog&ids=NLog&ids=log4net
مخزن گیتهاب پروژه
https://github.com/NuGetTrends/nuget-trends
______________
@DotNetZoom