❇️ معرفی Awesome های NET. و NET Core.
پیشنهاد میکنم یه چرخی توش بزنین ببینین چه کتابخونه هایی واسه چه کارایی هست، چیا رو بلد نیستین و... کلا دنیا دست کیه!
https://github.com/quozd/awesome-dotnet
https://github.com/thangchung/awesome-dotnet-core
__
پیشنهاد میکنم یه چرخی توش بزنین ببینین چه کتابخونه هایی واسه چه کارایی هست، چیا رو بلد نیستین و... کلا دنیا دست کیه!
https://github.com/quozd/awesome-dotnet
https://github.com/thangchung/awesome-dotnet-core
__
GitHub
GitHub - quozd/awesome-dotnet: A collection of awesome .NET libraries, tools, frameworks and software
A collection of awesome .NET libraries, tools, frameworks and software - quozd/awesome-dotnet
🔰 نمونه مثالی از ASP.NET Core و Entity Framework Core به همراه معماری DDD و CQRS و Event Sourcing
🔸تکنولوژی ها و کتابخانه های استفاده شده :
- ASP NET Core 2.2 (with .NET Core 2.2)
- ASP NET MVC Core
- ASP NET WebApi Core
- ASP NET #Identity Core
- Entity Framework Core 2.2
- .NET Core Native DI
- #AutoMapper
- #FluentValidator
- #MediatR
- #Swagger UI
🔹معماری و پترن های استفاده شده :
- Full architecture with responsibility separation concerns, #SOLID and #Clean_Code
- #DDD : Domain Driven Design (Layers and Domain Model Pattern)
- #Domain_Events
- #Domain_Notification
- #CQRS (Imediate Consistency)
- #Event_Sourcing
- #UnitofWork
- #Repository and Generic Repository
🔰ریپازیتوری پروژه :
https://github.com/EduardoPires/EquinoxProject
_______
🔸تکنولوژی ها و کتابخانه های استفاده شده :
- ASP NET Core 2.2 (with .NET Core 2.2)
- ASP NET MVC Core
- ASP NET WebApi Core
- ASP NET #Identity Core
- Entity Framework Core 2.2
- .NET Core Native DI
- #AutoMapper
- #FluentValidator
- #MediatR
- #Swagger UI
🔹معماری و پترن های استفاده شده :
- Full architecture with responsibility separation concerns, #SOLID and #Clean_Code
- #DDD : Domain Driven Design (Layers and Domain Model Pattern)
- #Domain_Events
- #Domain_Notification
- #CQRS (Imediate Consistency)
- #Event_Sourcing
- #UnitofWork
- #Repository and Generic Repository
🔰ریپازیتوری پروژه :
https://github.com/EduardoPires/EquinoxProject
_______
GitHub
GitHub - EduardoPires/EquinoxProject: Web Application ASP.NET 9 using Clean Architecture, DDD, CQRS, Event Sourcing and a lot of…
Web Application ASP.NET 9 using Clean Architecture, DDD, CQRS, Event Sourcing and a lot of good practices - EduardoPires/EquinoxProject
دات نت از نگاه آمار
حضور فعال 2 میلیون توسعه دهنده NET Core
محبوب ترین فریم ورک Stackoverflow
جزو 30 پروژه برتر متن باز در GitHub
سی شارپ جزو 5 زبان برتر GitHub
سریعرین فریم ورک در بنچمارک Techempower
دانشجویان و دانش آموزان 40 درصد توسعه دهندگان جدید را تشکیل می دهند.
5 میلیون توسعه دهنده دات نت
200 هزار نفر از توسعه دهندگان دسکتاپ به Core مهاجرت کرده اند
در ماه سپتامبر 230 هزار نفر برای اولین بار از NET Core استفاده کرده اند.
هر ماه 2 میلیون پابلیش از NET Core با هدف Linux انجام میشود.
حضور فعال 2 میلیون توسعه دهنده NET Core
محبوب ترین فریم ورک Stackoverflow
جزو 30 پروژه برتر متن باز در GitHub
سی شارپ جزو 5 زبان برتر GitHub
سریعرین فریم ورک در بنچمارک Techempower
دانشجویان و دانش آموزان 40 درصد توسعه دهندگان جدید را تشکیل می دهند.
5 میلیون توسعه دهنده دات نت
200 هزار نفر از توسعه دهندگان دسکتاپ به Core مهاجرت کرده اند
در ماه سپتامبر 230 هزار نفر برای اولین بار از NET Core استفاده کرده اند.
هر ماه 2 میلیون پابلیش از NET Core با هدف Linux انجام میشود.
خیدو فان روسوم خالق زبان برنامه نویسی پایتون به مایکروسافت پیوست.
فن روسوم 6 ما قبل با اعلام بازنشستگی از Dropbox استعفا کرد. اما امروز در یک پیام تویتری خبر داد در یک چالش جدید به مایکروسافت پیوسته تا روی زبان پایتون و استفاده بهتر از آن کار کند.
Guido van Rossum:
I decided that retirement was boring and have joined the Developer Division at Microsoft. To do what? Too many options to say! But it’ll make using Python better for sure (and not just on Windows :-). There’s lots of open source here. Watch this space.
فن روسوم 6 ما قبل با اعلام بازنشستگی از Dropbox استعفا کرد. اما امروز در یک پیام تویتری خبر داد در یک چالش جدید به مایکروسافت پیوسته تا روی زبان پایتون و استفاده بهتر از آن کار کند.
Guido van Rossum:
I decided that retirement was boring and have joined the Developer Division at Microsoft. To do what? Too many options to say! But it’ll make using Python better for sure (and not just on Windows :-). There’s lots of open source here. Watch this space.
✅ لیست مطالب مهم NET 5.0. و کنفرانس Net Conf.
ببینید دوستان حجم مطالب منتشر شده توی رویداد NET Conf. خیلی زیاده. قبلا هم بخشی از تغییرات رو دوستان به فارسی کار کردند و اگه پیگیر اخبار جدید دنیای دات نت تو این کانال یا کانالهای همکار بوده باشین احتمالا اون ها رو دیدن.
الان اما بهترین کار به نظرم اینه که این آخر هفته ایه رو بذارین و این مقالات رو مطالعه کنین، خودمم میخوام همین کارو بکنم.
واسه همین لیست کامل مطالب مهم دات نت 5.0 رو اماده کردم و امیدوارم براتون مفید واقع بشه (لیست رو هم آپدیت نگه اش میدارم)
انشالا اگه خودم یا بقیه دوستان مطلبی اماده کردیم حتما باهاتون به اشتراک میذارم. شاد و پیروز باشین 🌹
🔰 معرفی ها و Release های جدید
💎 Announcing .NET 5.0
https://devblogs.microsoft.com/dotnet/announcing-net-5-0/
💎 Announcing ASP.NET Core in .NET 5
https://devblogs.microsoft.com/aspnet/announcing-asp-net-core-in-net-5/
💎 Announcing the Release of EF Core 5.0
https://devblogs.microsoft.com/dotnet/announcing-the-release-of-ef-core-5-0/
💎 Visual Studio 2019 v16.8 and v16.9 Preview 1 Release Today
https://devblogs.microsoft.com/visualstudio/visual-studio-2019-v16-8/
💎 Windows Terminal Preview 1.5 Release
https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-5-release/
💎 C# 9.0 on the record
https://devblogs.microsoft.com/dotnet/c-9-0-on-the-record/
🔰 لیست تغییرات جدید
💎 What's new in .NET 5
https://docs.microsoft.com/en-us/dotnet/core/dotnet-five
💎 What's new in ASP.NET Core 5.0
https://docs.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-5.0?view=aspnetcore-5.0
💎 What's New in EF Core 5.0
https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-5.0/whatsnew
🔰 راهنمای مهاجرت و break change ها
💎 Migrate from ASP.NET Core 3.1 to 5.0
https://docs.microsoft.com/en-us/aspnet/core/migration/31-to-50
💎 Breaking changes for migration from version 3.1 to 5.0
https://docs.microsoft.com/en-us/dotnet/core/compatibility/3.1-5.0
🔰 ویدئو های رویداد NET Conf.
💎 .NET Conf 2020 - Day 1/3
https://www.youtube.com/watch?v=mS6ykjdOVRg
💎 .NET Conf 2020 - Day 2/3
https://www.youtube.com/watch?v=Uq4qyHi3sYM
💎برای سی شارپ 9.0 هم قبلا وحید نصیری یه آموزش خیلی کامل تهیه کرده که میتونه حسابی کمکتون کنه
https://www.dotnettips.info/learningpaths/details/101
______________
ببینید دوستان حجم مطالب منتشر شده توی رویداد NET Conf. خیلی زیاده. قبلا هم بخشی از تغییرات رو دوستان به فارسی کار کردند و اگه پیگیر اخبار جدید دنیای دات نت تو این کانال یا کانالهای همکار بوده باشین احتمالا اون ها رو دیدن.
الان اما بهترین کار به نظرم اینه که این آخر هفته ایه رو بذارین و این مقالات رو مطالعه کنین، خودمم میخوام همین کارو بکنم.
واسه همین لیست کامل مطالب مهم دات نت 5.0 رو اماده کردم و امیدوارم براتون مفید واقع بشه (لیست رو هم آپدیت نگه اش میدارم)
انشالا اگه خودم یا بقیه دوستان مطلبی اماده کردیم حتما باهاتون به اشتراک میذارم. شاد و پیروز باشین 🌹
🔰 معرفی ها و Release های جدید
💎 Announcing .NET 5.0
https://devblogs.microsoft.com/dotnet/announcing-net-5-0/
💎 Announcing ASP.NET Core in .NET 5
https://devblogs.microsoft.com/aspnet/announcing-asp-net-core-in-net-5/
💎 Announcing the Release of EF Core 5.0
https://devblogs.microsoft.com/dotnet/announcing-the-release-of-ef-core-5-0/
💎 Visual Studio 2019 v16.8 and v16.9 Preview 1 Release Today
https://devblogs.microsoft.com/visualstudio/visual-studio-2019-v16-8/
💎 Windows Terminal Preview 1.5 Release
https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-5-release/
💎 C# 9.0 on the record
https://devblogs.microsoft.com/dotnet/c-9-0-on-the-record/
🔰 لیست تغییرات جدید
💎 What's new in .NET 5
https://docs.microsoft.com/en-us/dotnet/core/dotnet-five
💎 What's new in ASP.NET Core 5.0
https://docs.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-5.0?view=aspnetcore-5.0
💎 What's New in EF Core 5.0
https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-5.0/whatsnew
🔰 راهنمای مهاجرت و break change ها
💎 Migrate from ASP.NET Core 3.1 to 5.0
https://docs.microsoft.com/en-us/aspnet/core/migration/31-to-50
💎 Breaking changes for migration from version 3.1 to 5.0
https://docs.microsoft.com/en-us/dotnet/core/compatibility/3.1-5.0
🔰 ویدئو های رویداد NET Conf.
💎 .NET Conf 2020 - Day 1/3
https://www.youtube.com/watch?v=mS6ykjdOVRg
💎 .NET Conf 2020 - Day 2/3
https://www.youtube.com/watch?v=Uq4qyHi3sYM
💎برای سی شارپ 9.0 هم قبلا وحید نصیری یه آموزش خیلی کامل تهیه کرده که میتونه حسابی کمکتون کنه
https://www.dotnettips.info/learningpaths/details/101
______________
.NET Blog
Announcing .NET 5.0 - .NET Blog
.NET 5.0 includes many enhancements, including single file applications, more capable JSON APIs, new versions of C
100 online courses from Coursera are $0 now through December 31
لینک 100 کلاسی که تا پایان سال میلادی در coursera رایگان شدهاند.
#coursera #free #online
https://www.businessinsider.com/free-online-coursera-courses?r=US&IR=T&__twitter_impression=true
لینک 100 کلاسی که تا پایان سال میلادی در coursera رایگان شدهاند.
#coursera #free #online
https://www.businessinsider.com/free-online-coursera-courses?r=US&IR=T&__twitter_impression=true
❇️ بلوغ System.Text.Json در دات نت 5.0
کتابخانه Json Serializer داخلی دات نت تحت عنوان System.Text.Json در NET Core 3.0 معرفی شد و به منظور پرفرمنس و یکپارچگی بیشتر، به عنوان سریالایزر پیشفرض ASP.NET Core 3.0 قرار گرفت و نیز برای استفاده از Json.NET که تا قبل از اون، سریالایزر پیشفرض ASP.NET Core بود، یک پکیج جداگانه اضافه شد تا بشه اون رو توی ASP.NET Core تنظیمش کرد.
🔸کتابخونه System.Text.Json اما، یک سری نواقص و مشکلات اساسی داشت که باعث میشد خیلی برای استفاده در محیط Production مناسب نباشه مثلا:
1️⃣ اگه 2تا شی داشته باشین که به هم دیگه دارن رفرنس میدن، موقع سریالایز با خطا مواجه میشدین (که اصطلاحا بهش Reference Loop یا Circular References میگن)
این یک امکان مهم و اساسی لازم برای سریالایز ها هست و متاسفانه نه تنها پشتیبانی نمیکرد بلکه راه حل workaround ایی هم نداشت!
2️⃣ مشکل بعدی اینکه مثلا اگه شما یه پروپرتی عددی به نام Age داشته باشین و سمت کلاینت مقدار json اش رو به صورت رشته ای (string) ارسال کنین به سرور (دقت کنید مقدار عددی داخل "" (Quote) محصور شده.)
3️⃣ مشکل بعدی اینکه اگه کلاس شما سازنده پیشفرض یا بدون پارامتر نداشت موقع Deserialize به خطا میخوردین؛ همچنین از Field ها و non-public Property ها هم پشتیبانی نمیکرد.
🔸خوشبختانه اما، در دات نت 5.0 تمامی این مشکل ها برطرف شده و به سطحی از پختگی و بلوغ رسیده که بشه بدون نگرانی ازش استفاده کرد. همچنین کلی بهبود پرفرمنسی و تعدادی فیچر جدید هم اضافه کرده از جمله:
✅ لیست بهبود ها و فیچر های جدید
✔️ بهبود پرفرمنسی 2.4 برابری در Serialize و 1.5 برابری در Deserialize (بنچمارک ها اینجا و اینجا)
✔️ برطرف شدن مشکل ReferenceLoopHandling (یا همون Circular References) به واسطه اضافه شدن تنظیم جدید
✔️ اضافه شدن پشتیبانی از Serialize و Deserialize مقادیر عددی به صورت string ایی توسط تنظیم جدید
✔️ پشتیبانی از Serialize و Desersialize مقادیر Field ها و non-public Properties توسط تنظیم جدید
✔️ پشتیبانی از Serialize و Desersialize نوع record معرفی شده در سی شارپ 9.0 (نمونه مثال)
✔️ پشتیبانی از immutable struct و اضافه شدن اتریبیوت [JsonConstructor] برای مشخص کردن سازنده پیشفرض جهت نمونه سازی به هنگام Deserializing (نمونه مثال)
✔️ بهبود پشتیبانی از نوع Dictionary<K,V> l برای کلید های غیر string ایی (نمونه مثال)
🔰اطلاعات بیشتر
▪️اگر دنبال مقاله فارسی هستین برای System.Text.Json که اکثر موارد مهم رو پوشش داده باشه، این مقاله رو پیشنهاد میکنم
▪️اینجا هم میتونین لیست Breake-Change های سریالایزر در دات نت 5.0 رو مطالعه کنین
و نهایتا اگه میخواین به زیر و بم System.Text.Json مسلط بشین بدون شک این 2تا لینک بهترین هستند
▪️داکیومنت مهاجرت از Newtonsoft.Json به System.Text.Json
▪️داکیومنت کامل استفاده از System.Text.Json
_______________
کتابخانه Json Serializer داخلی دات نت تحت عنوان System.Text.Json در NET Core 3.0 معرفی شد و به منظور پرفرمنس و یکپارچگی بیشتر، به عنوان سریالایزر پیشفرض ASP.NET Core 3.0 قرار گرفت و نیز برای استفاده از Json.NET که تا قبل از اون، سریالایزر پیشفرض ASP.NET Core بود، یک پکیج جداگانه اضافه شد تا بشه اون رو توی ASP.NET Core تنظیمش کرد.
🔸کتابخونه System.Text.Json اما، یک سری نواقص و مشکلات اساسی داشت که باعث میشد خیلی برای استفاده در محیط Production مناسب نباشه مثلا:
1️⃣ اگه 2تا شی داشته باشین که به هم دیگه دارن رفرنس میدن، موقع سریالایز با خطا مواجه میشدین (که اصطلاحا بهش Reference Loop یا Circular References میگن)
این یک امکان مهم و اساسی لازم برای سریالایز ها هست و متاسفانه نه تنها پشتیبانی نمیکرد بلکه راه حل workaround ایی هم نداشت!
2️⃣ مشکل بعدی اینکه مثلا اگه شما یه پروپرتی عددی به نام Age داشته باشین و سمت کلاینت مقدار json اش رو به صورت رشته ای (string) ارسال کنین به سرور (دقت کنید مقدار عددی داخل "" (Quote) محصور شده.)
{
Age: "27"
}
تا قبل از این با Exception مواجه میشدین چرا که به صورت پیشفرض مقادیر عددی رو فقط میتونست به صورت عددی Serialize و Deserialize کنه. یعنی به این صورت{
Age: 27
}
البته این مشکل، راه حل workaround داشت که اینجا میتونین ببینین ولی به صورت پیشفرض این امکان رو نداشت3️⃣ مشکل بعدی اینکه اگه کلاس شما سازنده پیشفرض یا بدون پارامتر نداشت موقع Deserialize به خطا میخوردین؛ همچنین از Field ها و non-public Property ها هم پشتیبانی نمیکرد.
🔸خوشبختانه اما، در دات نت 5.0 تمامی این مشکل ها برطرف شده و به سطحی از پختگی و بلوغ رسیده که بشه بدون نگرانی ازش استفاده کرد. همچنین کلی بهبود پرفرمنسی و تعدادی فیچر جدید هم اضافه کرده از جمله:
✅ لیست بهبود ها و فیچر های جدید
✔️ بهبود پرفرمنسی 2.4 برابری در Serialize و 1.5 برابری در Deserialize (بنچمارک ها اینجا و اینجا)
✔️ برطرف شدن مشکل ReferenceLoopHandling (یا همون Circular References) به واسطه اضافه شدن تنظیم جدید
ReferenceHandler.Preserve
(مشابه PreserveReferencesHandling.Ignore
در Json.Net) (نمونه مثال)✔️ اضافه شدن پشتیبانی از Serialize و Deserialize مقادیر عددی به صورت string ایی توسط تنظیم جدید
NumberHandling
✔️ پشتیبانی از Serialize و Desersialize مقادیر Field ها و non-public Properties توسط تنظیم جدید
IncludeFields
(نمونه مثال)✔️ پشتیبانی از Serialize و Desersialize نوع record معرفی شده در سی شارپ 9.0 (نمونه مثال)
✔️ پشتیبانی از immutable struct و اضافه شدن اتریبیوت [JsonConstructor] برای مشخص کردن سازنده پیشفرض جهت نمونه سازی به هنگام Deserializing (نمونه مثال)
✔️ بهبود پشتیبانی از نوع Dictionary<K,V> l برای کلید های غیر string ایی (نمونه مثال)
🔰اطلاعات بیشتر
▪️اگر دنبال مقاله فارسی هستین برای System.Text.Json که اکثر موارد مهم رو پوشش داده باشه، این مقاله رو پیشنهاد میکنم
▪️اینجا هم میتونین لیست Breake-Change های سریالایزر در دات نت 5.0 رو مطالعه کنین
و نهایتا اگه میخواین به زیر و بم System.Text.Json مسلط بشین بدون شک این 2تا لینک بهترین هستند
▪️داکیومنت مهاجرت از Newtonsoft.Json به System.Text.Json
▪️داکیومنت کامل استفاده از System.Text.Json
_______________
GitHub
System.Text.Json: (De)serialization support for quoted numbers · Issue #30255 · dotnet/runtime
Original proposal by @NickCraver (click to view) Apologies if this issue exists already...I hunted and couldn't find one. I've been trying to switch a lot of usages over to System.Text.Json...
انگولار ورژن ۱۱ منتشر شد 🥳
میتونید با دستور زیر پروژه خودتون رو
آپدیت کنید.
ng update @angular/cli @angular/core
جزئیات بیشتر در وبلاگ رسمی انگولار
میتونید با دستور زیر پروژه خودتون رو
آپدیت کنید.
ng update @angular/cli @angular/core
جزئیات بیشتر در وبلاگ رسمی انگولار
✅ تست راحت تر کد های سی شارپ با C# Interactive
خیلی وقتا نیازمون میشه یه کد سی شارپ رو فقط تست کنیم. یه راهش اینه که یه اپ Console بسازیم ولی یه برنامه نویس خوب همیشه از ابزار های مناسب اون کار استفاده میکنه و برای اینکار ابزار های راحت تر و بهتری هم وجود داره، مثل C# Interactive
🔸این ابزار خیلی کار راه بندازه و زمانی که ویژوال استادیو جلوتون بازه بهترین انتخابه
این ابزار بهمون اجازه میده در لحظه یه کدی رو تست کنیم؛ نیاز به ساختن پروژه جدید نداره و لود خیلی سریعی داره؛ میتونیم dll رفرنس بدیم به کدمون یا یه فایل script ایی که قبلا نوشتیم رو load و اجرا کنیم و...
به این قابلیت C# REPL یا CSI هم میگن. همچنین توسط کامند csi توی کامند لاین هم قابل استفاده هست.
🔹کلا کار باهاش که خیلی راحته و بعد یه مدت به ابزار روزمره تون تبدیل میشه ولی فقط نکته رو بدونین (هرچند که توی 2تا لینک بالا کامل توضیح داده) اونم اینه که خیلی وقتا لازم میشه یه یه dll ایی رفرنس بدیم که قبلا رفرنس نبوده
مثلا میخواین با کلاس SqlConnection کار کنین، از اونجایی که "System.Data" به صورت پیشفرض رفرنس نشده شما فقط کافیه اونو با r# رفرنس کنین. همین. مثال:
https://dzone.com/articles/c-interactive-in-visual-studio
https://channel9.msdn.com/Events/Visual-Studio/Connect-event-2015/103
خیلی وقتا نیازمون میشه یه کد سی شارپ رو فقط تست کنیم. یه راهش اینه که یه اپ Console بسازیم ولی یه برنامه نویس خوب همیشه از ابزار های مناسب اون کار استفاده میکنه و برای اینکار ابزار های راحت تر و بهتری هم وجود داره، مثل C# Interactive
🔸این ابزار خیلی کار راه بندازه و زمانی که ویژوال استادیو جلوتون بازه بهترین انتخابه
این ابزار بهمون اجازه میده در لحظه یه کدی رو تست کنیم؛ نیاز به ساختن پروژه جدید نداره و لود خیلی سریعی داره؛ میتونیم dll رفرنس بدیم به کدمون یا یه فایل script ایی که قبلا نوشتیم رو load و اجرا کنیم و...
به این قابلیت C# REPL یا CSI هم میگن. همچنین توسط کامند csi توی کامند لاین هم قابل استفاده هست.
🔹کلا کار باهاش که خیلی راحته و بعد یه مدت به ابزار روزمره تون تبدیل میشه ولی فقط نکته رو بدونین (هرچند که توی 2تا لینک بالا کامل توضیح داده) اونم اینه که خیلی وقتا لازم میشه یه یه dll ایی رفرنس بدیم که قبلا رفرنس نبوده
مثلا میخواین با کلاس SqlConnection کار کنین، از اونجایی که "System.Data" به صورت پیشفرض رفرنس نشده شما فقط کافیه اونو با r# رفرنس کنین. همین. مثال:
> #r "System.Data"
> using System.Data.SqlClient;
> var sql = new SqlConnection("myconn");
🔰یه بار این ویدئو یا مقاله زیر رو ببینین تا کامل متوجه طرز کارش بشینhttps://dzone.com/articles/c-interactive-in-visual-studio
https://channel9.msdn.com/Events/Visual-Studio/Connect-event-2015/103
Telegram
Attach Files
❇️ فعال سازی سطح دوم کش روی 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
قبلا کتابخانه EFSecondLevelCache.Core رو معرفی کرده بودیم
توسط این کتابخانه میتونین کش سطح دوم (second level caching) رو روی EF Core فعال کنین. در واقع میتونین نتیجه کوئری هاتون رو کش کنین تا دفعه بعد، به جای دیتابیس، از کش خونده بشه.
این کتابخانه توسط وحید نصیری عزیز، مدیر سایت dotnettips.info نوشته شده است.
اکنون میخوایم کتابخانه جایگزین اون یعنی EFCoreSecondLevelCacheInterceptor رو معرفی کنیم
این کتابخونه هم مشابه قبلی هست و توسط وحید نصیری نوشته
🔰مزیت این کتابخونه نسبت به قبلی اینه که :
🔹کار باهاش ساده تره
🔸به دلیل استفاده از Interceptor پرفرمنس بالاتری داره
🔹یه سری از باگ ها و محدودیت هایی که قبلی داشت رو دیگه نداره
🔸و وابستگی به کتابخونه شخص ثالث برای Caching نداره و از Abstract های خود دات نت استفاده میکنه
🔰 نکته :
✔️اکیدا پیشنهاد میکنم اگه از قبلی استفاده میکردین، به پکیج جدید مهاجرت کنین (ضمن اینکه کتابخانه قلبی Archive شده و دیگر توسعه داده نمشه)
✔️کشینگ همیشه ازش به عنوان یه شمشیر "دو لبه" یاد میشه که اگه با علم کافی و به جا ازش استفاده نکنین و حواستون به Invalidate کردن ایتم های کش شده نباشه، سیستم رو دچاره مشکل میکنه
خوبی این کتابخونه اینه که بحث Invalidate کردن رو به صورت خودکار انجام میده و دیگه نگرانیی بابت اون نخواهید داشت، پس افرادی که توی این مبحث واقعا بزرگ (Caching) حرفه ای هم نیستن راحت تر میتونن تو پروژه هاشون ازش استفاده کنن
https://github.com/VahidN/EFCoreSecondLevelCacheInterceptor
GitHub
GitHub - VahidN/EFCoreSecondLevelCacheInterceptor: EF Core Second Level Cache Interceptor
EF Core Second Level Cache Interceptor. Contribute to VahidN/EFCoreSecondLevelCacheInterceptor development by creating an account on GitHub.
✅ آموزش معماری تمیز (Clean Architecture) + سورس کد بهترین پیاده سازی ها
اکثر مقالاتی که این معماری رو به صورت کلی و انتزاعی توضیح دادند ممکنه برنامه نویس رو به خوبی شیرفهم نکنه مخصوصا وقتی با مفاهیمی آشنا میشن که شاید تا قبل نمیشناختین یا معادلی براش توی ذهنتون ندارین مثل Interactor و Interface Adapters و Drivers!
این موضوع حتی برای منبع اصلی Clean Artchiture یعنی مقاله شخص Robert C Martin (معروف به Uncle Bob) هم صدق میکنه هرچند که خیلی جامع و کامل توضیح داده ولی برای یه برنامه نویس سی شارپی ممکنه مبهم به نظر بیاد، مادامی که پیاده سازی عملی ازش رو نبینه.
همچنین خیلی از مقاله ها با دخیل کردن بیش از حد مورادی چون DDD و CQRS و ...، فهم اصل موضوع Clean Architecture رو برای مخاطب سخت میکنن.
🔸مقاله زیر خیلی ساده و روان و البته مختصر و مفید به توضیح معماری تمیز پرداخته و در آخر هم رفرنس های خوبی رو معرفی میکنه که پیشنهاد میکنم حتما ببینیدشون
https://www.dandoescode.com/blog/clean-architecture-an-introduction/
🔹و اما بریم سر اصل مطلب یعنی پیاده سازی؛ پیاده سازی های مختلفی از این معماری وجود داره توی اینترنت و گیتهاب که هرکس معمولا بنا به فهم و سلیقه خودش اومده یه پروژه ای ساخته که بعضا اشتباه هم هستند و صرفا اسم Clean Architecture رو به دوش میکشند
1️⃣ بهترین پیاده سازی هایی که من دیدم به ترتیب اینا هستند
https://github.com/jasontaylordev/CleanArchitecture
🔰آموزش ویدئویی این مورد توی یوتیوب هم هست که برای درک بهتر خیلی بهتون کمک میکنه
https://www.youtube.com/watch?v=5OtUm1BLmG0
https://jasontaylor.dev/clean-architecture-getting-started/
2️⃣ پیاده سازی بعدی توسط ardalis تهیه شده و ویدئو اش هم توی یوتیوب قرار داده شده
https://github.com/ardalis/CleanArchitecture
3️⃣ پیاده سازی بعدی هم خوبه و توضیحات بیشترش توی wiki خود ریپازیتوری و پست های وبلاگ نویسنده (1 و 2 و 3) + پلی لیست ویدئو هاش تو یوتیوب خود نویسنده قرار داده شده
https://github.com/ivanpaulovich/clean-architecture-manga
4️⃣ و در اخر پیاده سازی زیر که به همراه پست بلاگ نویسنده قرار داده شده
https://github.com/mmacneil/CleanAspNetCoreWebApi
________________
اکثر مقالاتی که این معماری رو به صورت کلی و انتزاعی توضیح دادند ممکنه برنامه نویس رو به خوبی شیرفهم نکنه مخصوصا وقتی با مفاهیمی آشنا میشن که شاید تا قبل نمیشناختین یا معادلی براش توی ذهنتون ندارین مثل Interactor و Interface Adapters و Drivers!
این موضوع حتی برای منبع اصلی Clean Artchiture یعنی مقاله شخص Robert C Martin (معروف به Uncle Bob) هم صدق میکنه هرچند که خیلی جامع و کامل توضیح داده ولی برای یه برنامه نویس سی شارپی ممکنه مبهم به نظر بیاد، مادامی که پیاده سازی عملی ازش رو نبینه.
همچنین خیلی از مقاله ها با دخیل کردن بیش از حد مورادی چون DDD و CQRS و ...، فهم اصل موضوع Clean Architecture رو برای مخاطب سخت میکنن.
🔸مقاله زیر خیلی ساده و روان و البته مختصر و مفید به توضیح معماری تمیز پرداخته و در آخر هم رفرنس های خوبی رو معرفی میکنه که پیشنهاد میکنم حتما ببینیدشون
https://www.dandoescode.com/blog/clean-architecture-an-introduction/
🔹و اما بریم سر اصل مطلب یعنی پیاده سازی؛ پیاده سازی های مختلفی از این معماری وجود داره توی اینترنت و گیتهاب که هرکس معمولا بنا به فهم و سلیقه خودش اومده یه پروژه ای ساخته که بعضا اشتباه هم هستند و صرفا اسم Clean Architecture رو به دوش میکشند
1️⃣ بهترین پیاده سازی هایی که من دیدم به ترتیب اینا هستند
https://github.com/jasontaylordev/CleanArchitecture
🔰آموزش ویدئویی این مورد توی یوتیوب هم هست که برای درک بهتر خیلی بهتون کمک میکنه
https://www.youtube.com/watch?v=5OtUm1BLmG0
https://jasontaylor.dev/clean-architecture-getting-started/
2️⃣ پیاده سازی بعدی توسط ardalis تهیه شده و ویدئو اش هم توی یوتیوب قرار داده شده
https://github.com/ardalis/CleanArchitecture
3️⃣ پیاده سازی بعدی هم خوبه و توضیحات بیشترش توی wiki خود ریپازیتوری و پست های وبلاگ نویسنده (1 و 2 و 3) + پلی لیست ویدئو هاش تو یوتیوب خود نویسنده قرار داده شده
https://github.com/ivanpaulovich/clean-architecture-manga
4️⃣ و در اخر پیاده سازی زیر که به همراه پست بلاگ نویسنده قرار داده شده
https://github.com/mmacneil/CleanAspNetCoreWebApi
________________
❇️ معرفی چندتا از بهترین Workflow Engine های دات نتی
یکی از دوستان سراغ کتابخونه Workflow دات نتی گرفت رفتم یه سرچی زدم خوباشو پیدا کردم گفتم با شما هم به اشتراک بذارم
💎اینا بهتریناشون هستند. همشونم رایگان و اوپن سورس
https://github.com/danielgerlag/workflow-core
https://github.com/UiPath/corewf
https://github.com/aelassas/Wexflow
https://github.com/akarpov89/MicroFlow
🔸این یکی خیلی قویه، یه دیزاینر html ایی هم داره اما پولیه (البته یه پلن رایگان با امکانات محدود تر هم داره)
https://github.com/optimajet/WorkflowEngine.NET
🔹اینم مقایسه محبوبیتشون توی Nuget
https://nugettrends.com/packages?months=12&ids=WorkflowEngine.NET-Core&ids=WorkflowCore&ids=MicroFlow&ids=Wexflow
یکی از دوستان سراغ کتابخونه Workflow دات نتی گرفت رفتم یه سرچی زدم خوباشو پیدا کردم گفتم با شما هم به اشتراک بذارم
💎اینا بهتریناشون هستند. همشونم رایگان و اوپن سورس
https://github.com/danielgerlag/workflow-core
https://github.com/UiPath/corewf
https://github.com/aelassas/Wexflow
https://github.com/akarpov89/MicroFlow
🔸این یکی خیلی قویه، یه دیزاینر html ایی هم داره اما پولیه (البته یه پلن رایگان با امکانات محدود تر هم داره)
https://github.com/optimajet/WorkflowEngine.NET
🔹اینم مقایسه محبوبیتشون توی Nuget
https://nugettrends.com/packages?months=12&ids=WorkflowEngine.NET-Core&ids=WorkflowCore&ids=MicroFlow&ids=Wexflow
Veepn
فیلترشکن پرسرعت و قابل استفاده در تمام دستگاهها
Android iOS MAC Windows Linux Chrome Firefox
۱. برای ثبت نام به این لینک بروید.
https://veepn.com/registration/
۲. پس از ثبت نام و ورود برای وارد کردن کد تخفیف به این ادرس بروید.
https://veepn.com/account/setting/
COMSS
کدتخفیف ۶ ماهه:
فیلترشکن پرسرعت و قابل استفاده در تمام دستگاهها
Android iOS MAC Windows Linux Chrome Firefox
۱. برای ثبت نام به این لینک بروید.
https://veepn.com/registration/
۲. پس از ثبت نام و ورود برای وارد کردن کد تخفیف به این ادرس بروید.
https://veepn.com/account/setting/
COMSS
کدتخفیف ۶ ماهه:
#ربات عالی و کاربردی رایگان
تبدیل فایل های تلگرام به لینک مستقیم
بسیاری از ربات های مشابه محدودیت حجمی دارند و نیاز به تهیه اشتراک.اما این ربات کاملا رایگان است.
همچنین قابلیت دانلود لینک های یوتیوب را دارد.کافیست لینک ویدیو را به ربات بدهید و لینک قابل دانلود آن را دریافت کنید.
(افرادی که آیفون دارند ربات دانلود از یوتیوب utubebot
برای آنها مسدود است که می توانند از این ربات استفاده کنند)
@LinKGenerator_DL_bot
تبدیل فایل های تلگرام به لینک مستقیم
بسیاری از ربات های مشابه محدودیت حجمی دارند و نیاز به تهیه اشتراک.اما این ربات کاملا رایگان است.
همچنین قابلیت دانلود لینک های یوتیوب را دارد.کافیست لینک ویدیو را به ربات بدهید و لینک قابل دانلود آن را دریافت کنید.
(افرادی که آیفون دارند ربات دانلود از یوتیوب utubebot
برای آنها مسدود است که می توانند از این ربات استفاده کنند)
@LinKGenerator_DL_bot
گروه نرم افزاری هوکسی تک از نوآوران طراحی اپلیکیشنهای موبایل، سیستمهای نرم افزاری و استارتاپها در کشور میباشد.
جویای برنامهنویس حرفهای و خلاق با تسلط کامل بهReact هستیم.
نحوه کار به صورت دورکاری
کار به صورت تمام وقت
مهارتهای ضروری:
داشتن نمونه کار مرتبط با React
تسلط کامل و سابقه کار با React
تسلط کامل به GraphQL و apollo client
تسلط کامل به Git
تسلط به TypeScript
مسلط به HTML/CSS و طراحی ریسپانسیو
تسلط کافی به Webpack و babel
مهارتهای امتیازی:
آشنایی با کتابخانههای UI (مانند: Bootstrap، Ant Design)
آشنایی با styled component
انتظارات:
توانایی تحلیل و حل مسئله
در دسترس و پاسخگو بودن
متعهد به انجام کار در حوزه زمانی مشخص شده
علاقه مند به یادگیری و پیشرفت مداوم
با انگیزه و پر انرژی
شرکت در جلسات منظم هفتگی
نوشتن کد تمیز و قابل توسعه در آینده
انجام commitهای منظم در Git
لطفا برای ارسال رزومه با ایمیل [email protected] تماس حاصل فرمایید.
جویای برنامهنویس حرفهای و خلاق با تسلط کامل بهReact هستیم.
نحوه کار به صورت دورکاری
کار به صورت تمام وقت
مهارتهای ضروری:
داشتن نمونه کار مرتبط با React
تسلط کامل و سابقه کار با React
تسلط کامل به GraphQL و apollo client
تسلط کامل به Git
تسلط به TypeScript
مسلط به HTML/CSS و طراحی ریسپانسیو
تسلط کافی به Webpack و babel
مهارتهای امتیازی:
آشنایی با کتابخانههای UI (مانند: Bootstrap، Ant Design)
آشنایی با styled component
انتظارات:
توانایی تحلیل و حل مسئله
در دسترس و پاسخگو بودن
متعهد به انجام کار در حوزه زمانی مشخص شده
علاقه مند به یادگیری و پیشرفت مداوم
با انگیزه و پر انرژی
شرکت در جلسات منظم هفتگی
نوشتن کد تمیز و قابل توسعه در آینده
انجام commitهای منظم در Git
لطفا برای ارسال رزومه با ایمیل [email protected] تماس حاصل فرمایید.