DotNetZoom – Telegram
DotNetZoom
2.98K subscribers
342 photos
18 videos
36 files
606 links
DotNetZoom
💎 Everything about .NET

ارتباط با مدیر و تبلیغات آگهی استخدام:
@mjebrahimi

لینک گروه ASPNET Core:
https://news.1rj.ru/str/+ufG25x7lVFgyYTNk
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
❇️ معرفی کد آنالیزر Serilog

همانطور که میدانید Serilog قوی ترین و محبوب ترین کتابخانه Logging در دات نت است. اگر از آن استفاده می کنید پیشنهاد میکنم افزونه و کتابخونه زیر رو هم نصب کنین

ابزار Serilog Analyzer یک آنالیزر roslyn-based برای Serilog بوده و خطا های رایج و اشتباهات متداول به هنگام استفاده از Serilog را گوشزد کرده و اصلاح میکند.

🔰جهت استفاده، افزونه Visual Studio و کتابخانه زیر را نصب کنید
https://marketplace.visualstudio.com/items?itemName=Suchiman.SerilogAnalyzer
https://www.nuget.org/packages/SerilogAnalyzer

ریپازیتوری گیتهاب :
https://github.com/Suchiman/SerilogAnalyzer
___________________
@DotNetZoom
❇️ پروژه ASP.NET Core رزرو بلیط هواپیما مبتی بر DDD و CQRS و Event Sourcing

🔰تکنولوژی های استفاده شده :
✔️ASP .NET Core 2.2
✔️EF Core 2.2
✔️#RESTful API
✔️#Hypermedia API
✔️#DDD
✔️#CQRS
✔️#Event_Sourcing
✔️#MongoDb
✔️#ElasticSearch
✔️#Docker
✔️#Kubernetes
✔️#TDD

https://github.com/twzhangyang/RestAirline
_________________
@DotNetZoom
❇️ ویدئو های رویداد NET Conf. با موضوع Focus on Blazor

دو روز پیش رویداد یک روزه دات نت کانف با محوریت تمرکز بر روی Blazor برگزار شد.
ویدئو های این رویداد که در youtube و channel9 به همراه زیر نویس انگلیسی (گزینه Caption پایین سمت راست) جمع آوری شده و میتونین استفاده کنین

🔸لینک ویدئو ها در channel9
https://channel9.msdn.com/Events/dotnetConf/Focus-on-Blazor

🔹لینک ویدئو ها در youtube
https://www.youtube.com/playlist?list=PLdo4fOcmZ0oWlP1Qpzg7Dwzxr298ewdUQ
___________________
@DotNetZoom
❇️ مهم ترین اخبار رویداد NET Conf. با موضوع Focus on Blazor

دو روز پیش رویداد یک روزه دات نت کانف با محوریت تمرکز بر روی Blazor برگزار شد و اخبار و آموزش های جدید در اون منتشر شد از جمله :

🔶 معرفی امکانات جدید
امکانات جدیدی که قرار است تا ماه May به Blazor WebAssembly (همان Client-Side Blazor سابق) اضافه شود
https://gunnarpeipman.com/focus-on-blazor-announcements/

🔷 معرفی نمونه پروژه ای از ترکیب Blazor + Electron
که امکان ساخت برنامه های مدرن و سریع Desktop ایی به صورت Cross-Platform توسط Blazor و تکنولوژی های Web ایی را فراهم می سازد (توضیحات بیشتر)
ریپازیتوری گیتهاب :
https://aka.ms/blazorelectron

🔶معرفی نمونه پروژه ای از ترکیب Blazor + WebWindow
که امکان ساخت برنامه های مانند پروژه قبلی را فراهم می سازد با این تفاوت که سبک تر است و حجم کمتری دارد. WebWindow یک پروژه (در حال حاضرآزمایشی) است که توسط Steve Sanderson خالق Blazor ساخته شده و جایگزین الکترون برای برنامه‌های NET Core. خواهد شد و نسبت به الکترون سبک تر و کم حجم تر است.
https://aka.ms/webwindow

🔷معرفی پروژه Mobile Blazor Bindings
که امکان ساخت برنامه های Native موبایل را توسط Razor و #C و CSS فراهم می سازد. همچنین به کامپوننت های بومی موبایل مانند GPS و Media دسترسی دارد. در این روش از کامپوننت های مبنی بر Xamarin Forms استفاده می شود
اطلاعات بیشتر و نمونه اپ های ساخته شده
https://devblogs.microsoft.com/aspnet/mobile-blazor-bindings-experiment/
https://docs.microsoft.com/en-us/mobile-blazor-bindings/
https://github.com/xamarin/MobileBlazorBindings

🔶امکان تست نویسی برای Blazor
قابلیت Unit Test نویسی برای کامپوننت های Blazor هم اکنون در حد نمونه اولیه پیاده سازی شده است و به زودی تکمیل می شود
اطلاعات بیشتر و ریپازیتوری کتابخانه مربوطه
https://blog.stevensanderson.com/2019/08/29/blazor-unit-testing-prototype/
https://github.com/egil/razor-components-testing-library

🔷کاهش حجم برنام های Blazor WebAssembly
توسط قابلیت Assembly trimming می توان حجم خروجی برنامه های Blazor WebAssembly را کاهش داد. به طور مثال حجم نسخه پیشفرض فعلی یک اپ Blazor WebAassembly حدود 2 مگابایت است که تیم Blazor وعده داده در انتشار ماه May سال جاری، حجم آن را تا 1.5 مگابایت کاهش دهد.
_______________
@DotNetZoom
❇️ ساخت برنامه های gRPC بدون فایل های proto. در ASP.NET Core

🔰برای ساخت برنامه های gRPC در دات نت، 2 پیاده سازی متفاوت (یکی رسمی و دیگری غیر رسمی) وجود دارد

1️⃣ پیاده سازی grpc-dotnet (یا gRPC for .NET) که کتابخانه رسمی gRPC برای دات نت است
https://github.com/grpc/grpc-dotnet

2️⃣ پیاده سازی protobuf-net.Grpc که کتابخانه غیر رسمی و از توسط Marc Gravell (یکی از برنامه نویسان بزرگ سایت Stackoverflow، و نویسنده کتابخانه های محبوب Dapper و StackExchange.Redis) تهیه شده است
https://github.com/protobuf-net/protobuf-net.Grpc

🔸یکی از تفاوت های این دو کتابخانه این است که در حالت عادی (توسط grpc-dotnet) ساخت فایل های .proto جهت تعریف ساختار API الزامی است ولی توسط کتابخانه protobuf-net.Grpc نیازی به فایل های اضافی .proto نبوده و ساختار متد های سرویس دهنده توسط Interface ها مشخص می شوند.

🔹تفاوت دیگر آن این است که کتابخانه protobuf-net.Grpc تارگت های NETFramework 4.6.1. و NETStandard 2.0. و NETStandard 2.1. را پشتیبانی میکند در حالی که کتابخانه grpc-dotnet فقط NETStandard 2.1. را پشتیبانی میکند در نتیجه بر روی .NET Framework و .NET Core نسخه های قبل از 3.0 قابل اجرا نیست
- البته یک پیاده سازی رسمی دیگر (به نام gRPC for C#) نیز وجود دارد که از نسخه های قدیمی تر مانند NETFramework 4.5. و NETStandard 1.5. و NETStandard 2.0. هم پشتیبانی میکند
https://github.com/grpc/grpc/tree/master/src/csharp

🔸نکته بعدی، تفاوت در سرعت این دو کتابخانه است به صورتی که طبق بنچمارک زیر protobuf-net.Grp کمی کند تر از grpc-dotnet است
https://pawelkmiec.net/2019/11/17/gRPC-performance-benchmark.html

🔹تفاوت بعد آن این است که API های کتابخانه رسمی grpc-dotnet و #gRPC for C شبیه پیاده سازی اصلی grpc گوگل بوده در حالی که کتابخانه protobuf- net.Grpc بیشتر متمایل به Contract های سی شارپی بوده و کار با آن برای برنامه نویسان سی شارپ ساده تر و باب میل تر است


🔰 مشابه قضیه بالا، برای استفاده از protobuf در دات نت نیز 2 کتابخانه وجود دارد

1️⃣ کتابخانه Google.Protobuf : که پیاده سازی و استفاده از آن شبیه نسخه اصلی protobuf است. (ریپازیتوری گیتهاب)

2️⃣ کتابخانه protobuf-net : که پیاده سازی و استفاده از آن شبیه بقیه سریالایزر‌های دات نتی بوده و بیشتر متمایل به سی شارپ است. (ریپازیتوری گیتهاب)

کتابخانه دومی بیشتر باب میل سی شارپی‌ها بوده و نیز ساده تر است. با دیدن مثال هر دو کتابخانه میتوانید بهتر متوجه این تفاوت شوید.
لینک زیر هم به مقایسه این دو کتابخانه پرداخته :
How to choose between protobuf-csharp-port and protobuf-net


آموزش استفاده از protobuf-net.Grpc
✔️Getting Started with protobuf-net.Grpc
✔️Mark Gravell Talking Between Services with gRPC and Other Tricks

آموزش استفاده از grpc-dotnet و #gRPC for C
✔️Introduction to gRPC on .NET Core
✔️gRPC services with C#
✔️
gRPC services with ASP.NET Core
✔️Call gRPC services with the .NET client
✔️Create a gRPC client and server in ASP.NET Core
✔️Trying out gRPC in ASP.NET Core 3

__________________
@DotNetZoom
❇️ مهمترین اخبار اخیر

آپدیت ژانویه 2020 برای NET Core. منتشر شد

🔸بروز رسانی نسخه ها 2.1.15 و 3.0.2 و 3.1.1 به جهت رفع چند باگ امنیتی در مورد (Remote Code Execution و Denial of Service (حمله Dos)) منتشر شدند

🔹اگر از وِیژوال استادیو استفاده می کنید برای استفاده از آخرین بروزرسانیNET Core SDK. ورژن 3.1.x به نسخه Visual Studio 2019 نسخه 16.4.x به بالا نیاز خواهید داشت

دانلود NET Core SDK. نسخه 3.1.1
https://dotnet.microsoft.com/download/dotnet-core/3.1
توضیحات بیشتر
https://devblogs.microsoft.com/dotnet/net-core-january-2020/

پایان پشتیبانی از Windows 7 و. Windows Server 2008 و Windows Server 2008 R2

از این پس ویندوز های قبلی همچنان قابل استفاده خواهند بود ولی دیگر بروز رسانی های امنیتی را دریافت نخواهند کرد و در برابر آسیب پذیری های جدید ایمن نخواهند بود

نسخه نهایی مرورگر Edge مبتنی بر Chromium منتشر شد
ماکروسافت نسخه پایدار Edge جدید را برای سیستم عامل های Windows و Mac منتشر کرد. کاربران به زودی یک آپدیت برای Windwos 10 دریافت خواهند کرد که مرورگر Edge با آن نصب خواهد شد. ماکروسافت مدعی شده این مرورگر از Chrome سبک تر بوده و Memory کمتری مصرف میکند.
لینک دانلود
https://www.microsoft.com/en-us/edge
من که نصب کردم پیشنهاد میکنم شما هم امتحان کنین و نظرتونو بگین 😉✌️
_______________
@DotNetZoom
Forwarded from Software Philosophy
This media is not supported in your browser
VIEW IN TELEGRAM
چگونه یک نیروی جدید به تیم اضافه کنیم.

ویدئویی که می‌بینید یه ایستگاه قطاره که توش یه پیانو گذاشتن که هر کسی خواست بشینه و بزنه.
یه آقایی نشسته و داره پیانو می‌زنه که یه نفر دیگه هم بهش اضافه می‌شه و کمکش می‌کنه و هماهنگی‌شون فوق‌العاده می‌شه.

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

به نظرم این مدل برای تیم‌های نرم‌افزاری و تیم‌های استارتاپی که در حال scale کردن هستن، کاملا الگوی مناسبیه.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.

#مهران_داودی (http://ow.ly/GwIl309lFEm)

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

___
❇️ اگه هنوز براتون سواله که MongoDb یا مثلا SqlServer ❗️

اگه نمیدونین تئوری CAP چیه اول اینجا رو مطالعه کنین

وقتی از نگاه تئوری CAP دیتابیس mongo رو بررسی کنیم
مونگو تو شرایط مختلف trade-off متفاوتی از C و A و P رو فراهم میکنه

🔶 از نگاه Consistency :
مثلا وقتی به صورت Distribute ازش استفاده نشه Strong Consistent هست پس Consistency رو داره
ولی وقتی به صورت Distribute ازش استفاده بشه (مثلا دیتا از replica ها خونده بشه) Eventual Consistent هست پس Consistency رو فدا میکنه

🔷 از نگاه Availability:
وقتی از مونگو به صورت توزیع شده (Replica-Sets) استفاده بشه، high availability خوبی رو فراهم و در صورت دان شدن Primary Node سریعا یک node دیگه جایگزین میشه ولی در این حالت Consistency فدای Availability میشه

🔶 از نگاه Partition Tolerance:
توسط قابلیت Replica-Sets عملا Partition Tolerance فراهم است منتها تا زمانی که "بیش از نیمی" از Node ها به یک دیگر متصل باشند. در این حالت سیستم Primary Node جدید رو انتخاب میکنه
ولی اگر Node های ثانویه به اندازه کافی نباشند همچنان امکان read وجود داره ولی دیگه امکان write وجود نداره. پس دراین حالت Availability برای Consistency فدا میشه

🔰 نتیجه گیری :
✔️ اگر توزیع نشده استفاده بشه : CA
✔️ اگر توزیع شده باشه ولی اکثریت node ها در دسترس باشند : AP
✔️ اگر توزیع شده باشه ولی کمتر از نصف node ها در دسترس باشند : CP



در نهایت ویژگی های خوبی که باعث میشه Mongo انتخاب بهتری نسبت به دیتابیس SQL/Relational باشه ایناس :

1️⃣ شما نیاز به مقیاس پذیری بالا به صورت Horizontal Scaling دارید (توسط قابلیت Replica-Set و Sharding مونگو)
در این حالت معمولا Consistency فدا میشه پس باید دقت داشت که این روش برای دیتا های حساس که به یکپارچگی و ثبات بالا نیاز دارند مناسب نیست، مثل برنامه های حسابداری و بانکی

2️⃣ دیتای شما ساختار (Schema) مشخصی نداره و به انعطاف پذیری بالا نیاز دارید (به خاطر Schema-less بودن مونگو)
در این حالت باید توجه داشت که متفاوت بودن ساختار رکورد (داکیومنت) ها میتونه احتمال خطا توی سیستم رو افزایش بده پس باید در سطح کد نویسی حواسمون بهش باشه

3️⃣ دیتابیس Mongo برای ذخیره سازی و بازیابی دیتا های حجیم و "مرتبط" بسیار مناسبه و پرفرمنس بالایی داره، چون تمام دیتای مرتبط به یک سند داخل خودش ذخیره میشه و نیاز به Join خیلی کمتر احساس میشه

4️⃣ دیتابیس Mongo به خاطر ساختار و سادگی ایی که داره Performance Tuning و Optimization های حرفه ای که نیاز به DBA داشته باشه خیلی کمتر توش احساس میشه پس اگه میخواین خیلی درگیر کار های DBA ایی نشین Mongo گزینه مناسبیه
___________________
@DotNetZoom
❇️ ساخت دیتابیس یکبار مصرف Mongo بدون نیاز به نصب آن!

کتابخانه Mongo2Go یه کتابخونه عالی برای Integration Testing پروژه هایی هست که از MongoDb استفاده میکنند

🔶 توسط این کتابخونه می تونین دیتابیس های MongoDb رو بدون نیاز به نصب اون به صورت یکبار مصرف ایجاد کنین، یعنی یه دیتابیس موقت (توی پوشه Temp سیستم عامل) براتون میسازه و در آخر وقتی کارتون باهاش تموم شد اون رو حذف میکنه. در نتیجه برای Integration Testing بسیار مناسب و کاربردی هست.

🔷 قاعدتا برای استفاده از مونگو باید ورژن متناسب با سیستم عاملتون رو نصب و کانفیگ کنین یا راحت تر اینکه اون رو توسط Docker راه اندازی کنین ولی توسط این کتابخونه دیگه نیازی به نصب اون ندارین چون فایل های باینری MonogDb رو داخل خودش داره (واسه همین یه مقدار حجمش زیاده، 69 مگابایت)

🔰طرز کار باهاش خیلی سادس فقط کافیه ناگتش رو نصب کنین
Install-Package Mongo2Go
و به صورت زیر ازش استفاده کنین
using (var runner = MongoDbRunner.Start())
{
var client = new MongoClient(runner.ConnectionString);
var database = client.GetDatabase("IntegrationTest");
var collection = database.GetCollection<TestDocument>("TestCollection");

//Just use it!
}

ریپازیتوری گیتهاب :
https://github.com/Mongo2Go/Mongo2Go
_________________
@DotNetZoom
❇️ پروژه API نویسی پیشرفته در ASP.NET Core به ورژن 3.1.2 (آخرین نسخه جاری) بروز رسانی شد✌️

🔸مخزن گیتهاب پروژه
https://github.com/dotnetzoom/AspNetCore-WebApi-Course

🔹نسخه قبلی به برنچ AspNetCore2.1 منتقل شد
https://github.com/dotnetzoom/AspNetCore-WebApi-Course/tree/AspNetCore2.1

🔸مشاهده مهم ترین تغییرات این بروز رسانی
https://github.com/dotnetzoom/AspNetCore-WebApi-Course/blob/master/CHANGELOG.md

🔰جهت تهیه آموزش ویدئویی کامل این دوره میتونین از لینک زیر و کد تخفیف dotnetzoom استفاده کنید
http://bit.ly/2Xo6NX2
____________________
@DotNetZoom
Forwarded from 🛑 Iranian🇮🇷Experts 🛑 (𝓓𝓪𝓻𝓲𝓾𝓼𝓱 𝓣𝓪𝓼𝓭𝓲𝓰𝓱𝓲)
Media is too big
VIEW IN TELEGRAM
🔴 𝓘𝓡𝓐𝓝𝓘𝓐𝓝 𝓔𝓧𝓟𝓔𝓡𝓣𝓢 𝓒𝓗𝓐𝓝𝓝𝓔𝓛 🔴

عنوان سخنرانی: آموزش
MOQ
IOC
MS Test
Unit Testing
Test Driven Design
Dependency Injection

سخنرانی: داریوش تصدیقی

انتشار این سند آموزشی بلامانع می‌باشد!

ادمین کانال اصلی:
@Dariush_Tasdighi

نشانی کانال اصلی:
@IranianExperts
❇️ منتشر شد ASP.NET Core 5.0 preview 1 🎉🎉✌️
https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-5-preview-1/

❇️ منتشر شد Entity Framework Core 5.0 preview 1
https://devblogs.microsoft.com/dotnet/announcing-entity-framework-core-5-0-preview-1/

❇️ منتشر شد NET 5.0 preview 1.
https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-1/

❇️ منتشر شد NET Core 3.1.200 SDK.
https://github.com/dotnet/core/blob/master/release-notes/3.1/3.1.2/3.1.200-sdk.md

🔸امروز برای برنامه نویسای دات نت یه جورایی عید محسوب میشد چرا که تیم دات نت خبرای داغی منتشر کرد.
🔹به شخصه که خیلی خوشحالم از این اتفاق و این قطعا آغازی برای یه حرکت بزرگ و امیدوارانه برای آینده دات نت و ما دات نت کار ها هست.
🔸مهمترین این انتشار ها مربوط به EF Core 5.0 هست چون کلی بهبود و امکان جدید معرفی کرده که انشالا به زودی در موردش پست میذارم

🔹نکته : برای اینکه از این نسخه جدید استفاده توی ویژوال استودیو 2019 استفاده کنین باید آخرین نسخه پیش نمایش v16.6 رو نصب داشته باشین ولی اگه از Rider یا VSCode استفاده میکنین نیازی نیست
________________
@DotNetZoom
Forwarded from Software Philosophy
💻 مایکروسافت در دسامبر سال 2019 در کنفرانس بیلد اعلام کرد که NET 5.0. انتشار بزرگ بعدی در خانواده NET . است و در تاریخ نوامبر 2020 وارد بازار می‌شود .

📌در این پست به معرفی اجمالی NET 5. پرداخته می‌شود :

📓 فریم‌ورک NET 5.0. ترکیبی از بهترین ویژگی‌های هسته‌های NET Core, .NET Framework, Xamarin و Mono است .

📓این یکپارچگی بین فریم‌ورک‌های مختلف باعث می‌شود تا برنامه‌نویسان بتوانند تنها با استفاده از یک کد، برنامه‌های خود را بر روی هر پلتفرمی اجرا کنند .

تمامی ویژگی‌های قبلی کماکان وجود دارد:
- متن باز و Community-Oriented بودن در گیت هاب
- پیاده سازی Cross-Platform
- [ادامه ویژگی‌ها به همراه ویژگی‌های جدید ... ] .

📓دلیل جهش مایکروسافت از NET Core 3. به 5 جلوگیری از سردرگم شدن برنامه نویس‌هاست .
به این دلیل که برنامه‌نویسان دات نت فریم‌ورک از ورژن های 4x استفاده می‌کردند و اگر به جای Net 5.0. از Net 4.0. استفاده می‌شد، امکان داشت سر درگمی برای کاربران به وجود آید .بنابراین دات نت Core نسخه‌ی 4 نخواهیم داشت .

📓دو مورد اساسی که در این ورژن اتفاق می‌افتد و باید به آن‌ها اشاره شود:
۱- هماهنگ شدن و تلفیق تیم Unity با دیگر برنامه‌نویسان دات نت.
۲- ارائه نسخه نهایی Blazor .

📎[منبع] 📎[تصویر]
〰️〰️〰️〰️〰️〰️〰️〰️

📓لینک های مرتبط :
📎 Mono: from Xamarin to WebAssembly, Blazor, and .NET 5 - Q&A with Miguel de Icaza
📎Did ASP.NET Web Forms Need to Die?
📎Not planning now to migrate your .NET 4.8 legacy, is certainly a mistake
📎Add Mono to the repository #1912
📎 .NET 5
📎ساماندهی مخازن کد NET Core. برای کار بر روی NET 5.
📎.NET Core master branches have switched to "5.0" #118
📎What Does .NET 5 Mean To You
📎Will .NET 5 include WCF?
📎.NET 5 The Future is Now

〰️〰️〰️〰️〰️〰️

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.

#حامد_حاجیلو (http://bit.ly/2IVjfYD)

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

___
سال نوتون مبارک رفقا 🌸🌺
بهترین هارو براتون آرزو دارم🌹

امیدوارم امسال رو در خونه بمونیم و از این فرصت (توفیق اجباری) بهترین استفاده رو در جهت یادگیری و افزایش سطح علمی مون ببریم 😎✌️
@DotNetZoom
Forwarded from Breakpoint
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Breakpoint
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
❇️ کدنویسی سریع تر و راحت تر در Visual Studio با این ترفند

🔶 توسط این قابلیت دیگه لازم نیس namespace مورد نظر رو اضافه کنین بلکه فقط کدتون رو بنویسید و خودش هم توی IntelliSense کلاس مورد نظر رو براتون میاره و هم اینکه خودش namespace لازم رو using میکنه (شبیه Resharper)

🔷 این قابلیت از قبل به Visual Studio 2019 اضافه شده ولی هنوز به صورت Experimental (آزمایشی) هست و به صورت پیشفرض فعال نیست

🔰 واسه فعال کردنش باید برین توی منوی Tools سپس گزینه Options رو انتخاب کنین و از قسمت زیر (یا سرچ کردن متن IntelliSense توی سرچ باکس)
▶️ TextEditor > C# > IntelliSense
و گزینه زیر رو "تیک کامل" بزنین.
Show items for unimported namespaces (experimental)
___________________
@DotNetZoom
❇️ فعال سازی سطح دوم کش روی EF Core توسط EFCoreSecondLevelCacheInterceptor

قبلا کتابخانه EFSecondLevelCache.Core رو معرفی کرده بودیم
توسط این کتابخانه میتونین کش سطح دوم (second level caching) رو روی EF Core فعال کنین. در واقع میتونین نتیجه کوئری هاتون رو کش کنین تا دفعه بعد، به جای دیتابیس، از کش خونده بشه.
این کتابخانه توسط وحید نصیری عزیز، مدیر سایت dotnettips.info نوشته شده است.

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

🔰مزیت این کتابخونه نسبت به قبلی اینه که :
🔹کار باهاش ساده تره
🔸به دلیل استفاده از Interceptor پرفرمنس بالاتری داره
🔹یه سری از باگ ها و محدودیت هایی که قبلی داشت رو دیگه نداره
🔸و وابستگی به کتابخونه شخص ثالث برای Caching نداره و از Abstract های خود دات نت استفاده میکنه

🔰 نکته :
✔️اکیدا پیشنهاد میکنم اگه از قبلی استفاده میکردین، به پکیج جدید مهاجرت کنین (ضمن اینکه کتابخانه قلبی Archive شده و دیگر توسعه داده نمشه)
✔️کشینگ همیشه ازش به عنوان یه شمشیر "دو لبه" یاد میشه که اگه با علم کافی و به جا ازش استفاده نکنین و حواستون به Invalidate کردن ایتم های کش شده نباشه، سیستم رو دچاره مشکل میکنه
خوبی این کتابخونه اینه که بحث Invalidate کردن رو به صورت خودکار انجام میده و دیگه نگرانیی بابت اون نخواهید داشت، پس افرادی که توی این مبحث واقعا بزرگ (Caching) حرفه ای هم نیستن راحت تر میتونن تو پروژه هاشون ازش استفاده کنن

https://github.com/VahidN/EFCoreSecondLevelCacheInterceptor
___________________
@DotNetZoom
آیا برای شما عدو شده سبب خیر؟!
آیا قرنطینه کرونا باعث شده وقت بیشتری نسبت به قبل صرف مطالعه و یادگیری کنین؟
Anonymous Poll
36%
بلههه خیلیییی 😎
30%
هییی تقریبا 🙂
22%
نههه اصلا ☹️
12%
نمیدونم! جوابو نشون بده 🧐
❇️ آموزش ویدئویی Blazor (همراه با زیرنویس انگلیسی)

🔰 سرفصل ها
1. Build Your First App
2. Getting Started
3. Routing
4. Dependency Injection
5. Forms & Validations
6. JavaScript Interop
7. Razor Components | Re-usability
8. Razor Components | Lifecycle Methods
9. Razor Components Libraries
10. Call REST API | CRUD Methods
11. Authentication | Out of the box
12. Custom AuthenticationStateProvider
13. Layouts | Login Pages
14. HttpClient | Login User
15. IHttpClientFactory | Login User
16. Sending JWT token & Middleware
17. Register User and Generate JWT
18. Role-based Authorization
19. Policy-based Authorization
20. Procedural Logic | Auth in C#
21. Templated Components | Html Table
22. Razor Components | EventCallback
23. Event Handling
24. GridView Header Filter
25. GridView Paging
26. Handling Exceptions

https://www.youtube.com/playlist?list=PL4WEkbdagHIR0RBe_P4bai64UDqZEbQap
__________________
@DotNetZoom
❇️ دو محتوای آموزشی

🔶 سایت Pluralsight بیش از ۷۰۰۰ دوره خودشو رایگان کرد (تا پایان آپریل)
https://www.pluralsight.com/offer/2020/free-april-month

🔷 یه ریپازیتوری تو گیتهاب هست که لیستی از کتابهای رایگان برای زبان های مختلف برنامه نویسی رو گذاشته و من اومدم اوناییش که مرتبط با کارمون هست رو براتون لیست کردم
🔘 .NET Framework
🔘 C Sharp
🔘 ASP.NET
🔘 JavaScript
🔘 TypeScript
🔘 Angular
🔘 React / Redux
🔘 Web Performance
🔘 Security
🔘 SQL Server
🔘 NoSQL
🔘 Bash
🔘 PowerShell
🔘 Professional Development
🔘 Software Architecture
____________________
@DotNetZoom