🔰 #آیا_میدانستید
توی کنسول مروگر میتونین با دستور console.table، آرایه ها و لیست ها تون رو به صورت جدولی نشون بدین؟
مثال های بیشتر:
https://www.telerik.com/blogs/better-visualization-of-console-data-with-tables
__________
@DotNetZoom
توی کنسول مروگر میتونین با دستور console.table، آرایه ها و لیست ها تون رو به صورت جدولی نشون بدین؟
var exampleArray = [
"First item in the array",
"I'm the second item in this array",
"Obviously i'm the last item"
];
console.table(exampleArray);
مثال های بیشتر:
https://www.telerik.com/blogs/better-visualization-of-console-data-with-tables
__________
@DotNetZoom
✅معرفی کتابخانه EFCore.BulkExtensions
در سری #معرفی_اکستنشن_های_کاربردی_EFCore
Entity Framework Core Bulk Batch Extensions for Insert Update Delete and Read (CRUD) operations on SQL Server
خیلی وقتا نیاز میشه یک مرتبه حجم زیادی از رکورد ها رو توسط EFCore ذخیره کنین (مثلا import کردن از یه فایل excel)
در حالت عادی (متد Add و یا AddRange)، رکورد های شما به صورت تکی Insert میشه و سرعت بالایی نداره، بر خلافش اما، در روش Bulk Insert، همه رکورد ها به صورت یکجا Insert میشن و سرعت بسیار بسیار بالایی داره این روش (حتی تا 20 برابر سریع تر!)
این کتابخونه بی نظیر، قابلیت انجام عملیات Bulk و Batch رو در EF Core فراهم میکنه و از async هم پیشتیبانی میکنه :
- Bulk operations (Insert, Update, Delete, Read, Upsert, Sync)
- Batch operations (Delete, Update)
* برای مقایسه پرفرمنس و تفاوت سرعت بین روش عادی و Bulk هم تصویر پست گویای همه چی هست
لینک ریپازیتوری + مثال و توضیحات :
https://github.com/borisdj/EFCore.BulkExtensions
#Bulk #EFCore #Performance
___________________
@DotNetZoom
در سری #معرفی_اکستنشن_های_کاربردی_EFCore
Entity Framework Core Bulk Batch Extensions for Insert Update Delete and Read (CRUD) operations on SQL Server
خیلی وقتا نیاز میشه یک مرتبه حجم زیادی از رکورد ها رو توسط EFCore ذخیره کنین (مثلا import کردن از یه فایل excel)
در حالت عادی (متد Add و یا AddRange)، رکورد های شما به صورت تکی Insert میشه و سرعت بالایی نداره، بر خلافش اما، در روش Bulk Insert، همه رکورد ها به صورت یکجا Insert میشن و سرعت بسیار بسیار بالایی داره این روش (حتی تا 20 برابر سریع تر!)
این کتابخونه بی نظیر، قابلیت انجام عملیات Bulk و Batch رو در EF Core فراهم میکنه و از async هم پیشتیبانی میکنه :
- Bulk operations (Insert, Update, Delete, Read, Upsert, Sync)
- Batch operations (Delete, Update)
* برای مقایسه پرفرمنس و تفاوت سرعت بین روش عادی و Bulk هم تصویر پست گویای همه چی هست
لینک ریپازیتوری + مثال و توضیحات :
https://github.com/borisdj/EFCore.BulkExtensions
#Bulk #EFCore #Performance
___________________
@DotNetZoom
❇️ معرفی Awesome های NET. و NET Core.
پیشنهاد میکنم یه چرخی توش بزنین ببینین چه کتابخونه هایی واسه چه کارایی هست، چیا رو بلد نیستین و... کلا دنیا دست کیه!
https://github.com/quozd/awesome-dotnet
https://github.com/thangchung/awesome-dotnet-core
______________
@DotNetZoom
پیشنهاد میکنم یه چرخی توش بزنین ببینین چه کتابخونه هایی واسه چه کارایی هست، چیا رو بلد نیستین و... کلا دنیا دست کیه!
https://github.com/quozd/awesome-dotnet
https://github.com/thangchung/awesome-dotnet-core
______________
@DotNetZoom
❇️ لیست برترین CMS های سورس باز ASP.NET Core
✔️ مرتب شده بر اساس محبوبیت
🔸1- nopCommerce (e-commerce)
🔹2- OrchardCMS
🔸3- SimplCommerce (e-commerce)
🔹4- Miniblog.Core
🔸5- Squidex (headless CMS)
🔹6- GrandNode (e-commerce)
🔸7- Weapsy
🔹8- Piranha CMS
🔸9- Cofoundry
🔹10- Blogifier
🔸11- Platformus
🔹12- SimpleContent
🔸13- Awesome CMS Core
🔹14- BlogCore (Blazor blog)
🔸15- Lynicon CMS
🔹16- NetCoreCMS
🔸17- VirtoCommerce (e-commerce)
https://dottutorials.net/top-open-source-asp-net-core-cms
_______________
@DotNetZoom
✔️ مرتب شده بر اساس محبوبیت
🔸1- nopCommerce (e-commerce)
🔹2- OrchardCMS
🔸3- SimplCommerce (e-commerce)
🔹4- Miniblog.Core
🔸5- Squidex (headless CMS)
🔹6- GrandNode (e-commerce)
🔸7- Weapsy
🔹8- Piranha CMS
🔸9- Cofoundry
🔹10- Blogifier
🔸11- Platformus
🔹12- SimpleContent
🔸13- Awesome CMS Core
🔹14- BlogCore (Blazor blog)
🔸15- Lynicon CMS
🔹16- NetCoreCMS
🔸17- VirtoCommerce (e-commerce)
https://dottutorials.net/top-open-source-asp-net-core-cms
_______________
@DotNetZoom
DotTutorials
Top Open Source ASP.NET Content Management System (CMS)
Introduction Unlike PHP, ASP.NET Core Developers don’t have many options available when It comes to…
❇️ مقایسه کارآیی روشهای مختلف جایگزین کردن حروف در یک رشته در برنامههای NET.
چند وقت با وحید نصیری dotnettips.info واسه یکی از ریپازیتوری هاش در مورد یه موضوع performance ایی بحث میکردیم و من یه Sample زدم براش
https://github.com/mjebrahimi/Micro-Optimization-Samples/tree/master/Replace-CharArray-Benchmark
🔸حالا وحید عزیز زحمت کشیدند و یه مقاله آموزشی کامل درباره این موضوع تهیه کرده
هرچند که این موضوع micro optimization ایی هست و به درد جونیور یا میدل ها نمیخوره ولی به سنیور ها خوندنشو پیشنهاد میکنم
https://www.dotnettips.info/post/3242
🔹در اینجا از Span برای افزایش سرعت و همچنین کاهش میزان memory allocation استفاده کردم
از این تکنیک جهت کار با رشته ها توی وب سرور Kesterl به شدت استفاده شده و میزان زیادی از پرفرمنسش رو مدیون این تکنیک هست
توی این ریپو برخی نکات micro optimization ایی که بهش برمیخورم و بنچمارک میگیرم رو نگهداری میکنم
دیدن خالی از لطف نیست و نکات جالب و advance ایی توش هست
https://github.com/mjebrahimi/Micro-Optimization-Samples
_______________
@DotNetZoom
چند وقت با وحید نصیری dotnettips.info واسه یکی از ریپازیتوری هاش در مورد یه موضوع performance ایی بحث میکردیم و من یه Sample زدم براش
https://github.com/mjebrahimi/Micro-Optimization-Samples/tree/master/Replace-CharArray-Benchmark
🔸حالا وحید عزیز زحمت کشیدند و یه مقاله آموزشی کامل درباره این موضوع تهیه کرده
هرچند که این موضوع micro optimization ایی هست و به درد جونیور یا میدل ها نمیخوره ولی به سنیور ها خوندنشو پیشنهاد میکنم
https://www.dotnettips.info/post/3242
🔹در اینجا از Span برای افزایش سرعت و همچنین کاهش میزان memory allocation استفاده کردم
از این تکنیک جهت کار با رشته ها توی وب سرور Kesterl به شدت استفاده شده و میزان زیادی از پرفرمنسش رو مدیون این تکنیک هست
توی این ریپو برخی نکات micro optimization ایی که بهش برمیخورم و بنچمارک میگیرم رو نگهداری میکنم
دیدن خالی از لطف نیست و نکات جالب و advance ایی توش هست
https://github.com/mjebrahimi/Micro-Optimization-Samples
_______________
@DotNetZoom
.NET Tips
مقایسه کارآیی روشهای مختلف جایگزین کردن حروف در یک رشته در برنامههای NET.
فرض کنید قصد دارید عملیات نرمال سازی اطلاعات را بر روی یک رشته انجام داده و برای مثال اعداد فارسی و انگلیسی موجود در یک رشته را یکدست کنید. اولین روشی که برای اینکار به ذهن میرسد، استفاده از متد Replace است: private static string toPersianNumbersUs…
❇️ کیفیت پایین یعنی سرعت پایین 👌
کدی پرفرمنس خوبی داره که قطعا کیفیت خوبی داشته باشه (پیچیدگی کم - خوانایی بالا - تست پذیری - توسعه پذیری و...)
🔰 چندتا از بهترین مقالات Code Quality (معیار های کد با کیفیت)
https://www.perforce.com/blog/sca/what-code-quality-and-how-improve-it
https://www.sealights.io/test-metrics/code-quality-metrics-is-your-code-any-good/
https://www.it-cisq.org/standards/code-quality-standards/
_______________
@DotNetZoom
کدی پرفرمنس خوبی داره که قطعا کیفیت خوبی داشته باشه (پیچیدگی کم - خوانایی بالا - تست پذیری - توسعه پذیری و...)
🔰 چندتا از بهترین مقالات Code Quality (معیار های کد با کیفیت)
https://www.perforce.com/blog/sca/what-code-quality-and-how-improve-it
https://www.sealights.io/test-metrics/code-quality-metrics-is-your-code-any-good/
https://www.it-cisq.org/standards/code-quality-standards/
_______________
@DotNetZoom
✅ ابزاری برای اسکن HTTP Headers های امنیتی وبسایت شما
https://securityheaders.com/
_______________
@DotNetZoom
https://securityheaders.com/
_______________
@DotNetZoom
✅ معرفی بهترین ابزار های مستندسازی و تست API
پیشنهاد میکنم حتما ببینینش. ابزار های خوب و کاربردی ایی رو معرفی کرده✌️
https://pronovix.com/blog/free-and-open-source-api-documentation-tools
_______________
@DotNetZoom
پیشنهاد میکنم حتما ببینینش. ابزار های خوب و کاربردی ایی رو معرفی کرده✌️
https://pronovix.com/blog/free-and-open-source-api-documentation-tools
_______________
@DotNetZoom
❇️ معرفی چند ابزار Issue Tracker و Help Desk دات نتی
یکی از دوستان سراغ ابزار Issue Tracker و Help Desk دات نتی گرفت رفتم یه سرچی زدم خوباشو پیدا کردم گفتم با شما هم به اشتراک بذارم
💎این 2تا بهتریناش هستند
https://github.com/InstantASP/Plato
https://github.com/NullDesk/TicketDesk
🔸این 2تا هم معروفن ولی تکنولوژی شون قدیمیه
https://sourceforge.net/projects/bugnet/
https://sourceforge.net/projects/btnet/
___________________
@DotNetZoom
یکی از دوستان سراغ ابزار Issue Tracker و Help Desk دات نتی گرفت رفتم یه سرچی زدم خوباشو پیدا کردم گفتم با شما هم به اشتراک بذارم
💎این 2تا بهتریناش هستند
https://github.com/InstantASP/Plato
https://github.com/NullDesk/TicketDesk
🔸این 2تا هم معروفن ولی تکنولوژی شون قدیمیه
https://sourceforge.net/projects/bugnet/
https://sourceforge.net/projects/btnet/
___________________
@DotNetZoom
🔶 لب هم به رومون بسته شد + راهکار ها
مشابه اتفاقی که قبلا واسه GitHub افتاده بود الان متاسفانه واسه GitLab داره میافته
چند روز پیش گیتلب IP های ایران رو تحریم کرد و از دیروز داره اکانت های ایرانی ها رو مسدود میکنه و در این صورت دیگه دسترسی به کد هاتون نخواهید داشت
🔷 و اما حالا باید چیکار کنیم؟
اگه هنوز اکانتتون مسدود نشده عجله کنید و حتما هرچه سریعتر از Repository هاتون Backup بگیرید. دقت داشته باشین که به هیچ عنوان با IP ایران به گیتلب ریکوئست نزنید (هرچند بزنید هم جواب نمیده ولی احتمال مسدود شدن اکانتتون احتمالا بیشتر میشه)
🔰 راهکار های جایگزین
1️⃣ مهاجرت به Azure DevOps :
اگه به دنبال یه سرور گیت با امکانات خوب واسه پروژه های private تون هستید Azure DevOps یکی از بهترین گزینه هاست (هرچند احتمال تحریم در آینده برای این هم وجود داره ولی فعلا ازاده و مشکلی نداره). تنها محدودیت 5 یوزر به ازای هر پروژه داره
2️⃣ گیت سرور شخصی:
اگه به دنبال راه اندازی self-host روی سرور خودتون هستید هم Azure DevOps (تحت عنوان Azure DevOps Server و اینجا) نسخه قابل نصب داره. همچنین GitLab هم نسخه رایگان Community Edition (یا Gitlab CE) داره و این امکان رو به شما میده که سایت گیت لب رو (با یه سری امکانات محدود) روی سرور خودتون نصب کنین.
3️⃣ گزینه های دیگر:
برنامه های دیگری هم وجود داره که امکان راه اندازی git service به صورت self-hosted رو میدن و بهترینشون Gitea و Gogs هستند.
___________________
@DotNetZoom
مشابه اتفاقی که قبلا واسه GitHub افتاده بود الان متاسفانه واسه GitLab داره میافته
چند روز پیش گیتلب IP های ایران رو تحریم کرد و از دیروز داره اکانت های ایرانی ها رو مسدود میکنه و در این صورت دیگه دسترسی به کد هاتون نخواهید داشت
🔷 و اما حالا باید چیکار کنیم؟
اگه هنوز اکانتتون مسدود نشده عجله کنید و حتما هرچه سریعتر از Repository هاتون Backup بگیرید. دقت داشته باشین که به هیچ عنوان با IP ایران به گیتلب ریکوئست نزنید (هرچند بزنید هم جواب نمیده ولی احتمال مسدود شدن اکانتتون احتمالا بیشتر میشه)
🔰 راهکار های جایگزین
1️⃣ مهاجرت به Azure DevOps :
اگه به دنبال یه سرور گیت با امکانات خوب واسه پروژه های private تون هستید Azure DevOps یکی از بهترین گزینه هاست (هرچند احتمال تحریم در آینده برای این هم وجود داره ولی فعلا ازاده و مشکلی نداره). تنها محدودیت 5 یوزر به ازای هر پروژه داره
2️⃣ گیت سرور شخصی:
اگه به دنبال راه اندازی self-host روی سرور خودتون هستید هم Azure DevOps (تحت عنوان Azure DevOps Server و اینجا) نسخه قابل نصب داره. همچنین GitLab هم نسخه رایگان Community Edition (یا Gitlab CE) داره و این امکان رو به شما میده که سایت گیت لب رو (با یه سری امکانات محدود) روی سرور خودتون نصب کنین.
3️⃣ گزینه های دیگر:
برنامه های دیگری هم وجود داره که امکان راه اندازی git service به صورت self-hosted رو میدن و بهترینشون Gitea و Gogs هستند.
___________________
@DotNetZoom
Telegram
Attach Files
#زنگ_تفریح
"موزیک برای برنامه نویس ها" نام سایتی است که درآن انواع موزیک های مناسب جهت افزایش تمرکز در حین برنامه نویسی وجود دارد
http://musicforprogramming.net/
________________
@DotNetZoom
"موزیک برای برنامه نویس ها" نام سایتی است که درآن انواع موزیک های مناسب جهت افزایش تمرکز در حین برنامه نویسی وجود دارد
http://musicforprogramming.net/
________________
@DotNetZoom
Forwarded from Software Philosophy
سی شارپ 9 و بهبود pattern matching:
یکی از برتری های ویژوال بیسک نسبت به سی شارپ, موضوع pattern matching بود (البته قبل از سی شارپ 8).
از سی شارپ 8 به بعد ماکروسافت تمهیدات خاصی در جهت بهبود pattern matching در سی شارپ در نظر گرفت.👇👇
یکی از جالب ترین (و جذاب ترین) این موارد, بهبود در جملات شرطی است که در سی شارپ 9 به آن پرداخته شده است.
برای اطلاع از دیگر ویژگی های سی شارپ 9 می توانید از این لینک استفاده کنید.
جزئیات بیشتر را میتوانید در لینک زیر مطالعه کنید:
https://blog.miguelbernard.com/c-9-0-improved-pattern-matching/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حامد_حاجیلو (http://bit.ly/2IVjfYD)
کانال تلگرام:
@SoftwarePhilosophy
___
یکی از برتری های ویژوال بیسک نسبت به سی شارپ, موضوع pattern matching بود (البته قبل از سی شارپ 8).
از سی شارپ 8 به بعد ماکروسافت تمهیدات خاصی در جهت بهبود pattern matching در سی شارپ در نظر گرفت.👇👇
یکی از جالب ترین (و جذاب ترین) این موارد, بهبود در جملات شرطی است که در سی شارپ 9 به آن پرداخته شده است.
if(s is not string)خواندن عبارت ابتدایی بسیار آسان تر از عبارت دوم است.
// is way more easier to read than
if(!(s is string))
Person p = new Person();و هچنین نوشتن این عبارات باعث زیباتر و خواناتر شدن کد میشود.
var a = p.Weight switch
{
< 150 => "light"
>= 150 and < 200 => "normal"
not null => "unknown"
null => "error"
};
برای اطلاع از دیگر ویژگی های سی شارپ 9 می توانید از این لینک استفاده کنید.
جزئیات بیشتر را میتوانید در لینک زیر مطالعه کنید:
https://blog.miguelbernard.com/c-9-0-improved-pattern-matching/
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، برروی دکمه «نظرت را بگو» کلیک کنید.
#حامد_حاجیلو (http://bit.ly/2IVjfYD)
کانال تلگرام:
@SoftwarePhilosophy
___
رمزنگاری JWT و افزایش امنیت آن در ASP.NET Core
توکن JWT در حالت عادی به صورت Base64 کدگذاری(Encoding) میشه که این نوع Encoding به راحتی قابل رمزگشایی و خواندنه (امنیت در برابر خوانده شدن نداره).
در این مقاله میخوایم توکن JWT رو رمزنگاری کنیم و اون رو به Json Web Encryption (به اختصار JWE) تبدیل کنیم و امنیتش رو بالا ببریم
https://www.dotnettips.info/post/2992
مثال کامل و قابل اجرا در ریپازیتوری گیتهاب:
https://github.com/mjebrahimi/Jwt-Encryption-AspCore
____________
@DotNetZoom
توکن JWT در حالت عادی به صورت Base64 کدگذاری(Encoding) میشه که این نوع Encoding به راحتی قابل رمزگشایی و خواندنه (امنیت در برابر خوانده شدن نداره).
در این مقاله میخوایم توکن JWT رو رمزنگاری کنیم و اون رو به Json Web Encryption (به اختصار JWE) تبدیل کنیم و امنیتش رو بالا ببریم
https://www.dotnettips.info/post/2992
مثال کامل و قابل اجرا در ریپازیتوری گیتهاب:
https://github.com/mjebrahimi/Jwt-Encryption-AspCore
____________
@DotNetZoom
Forwarded from کدهک
برگزاری کارگاه آموزشی EF Core 5.0
در این دوره مباحث مقدماتی تا پیشرفته در EF Core آموزش داده میشود. دوره به صورت غیر حضوری برگزار میشود و همه قسمتها از پیش ضبط و قابل دانلود می باشد.
سرفصلها :
معرفی قابلیت های جدید
آموزش SQL Server و T-SQL
َشروع به کار با Code First
آموزش Fluent API
طراحی دیتابیس و ایجاد رابطه
خواندن و گزارش گیری از دیتابیس
کار با LINQ به صورت حرفه ای
ایجاد تغییرات در داده ها
کار با تراکنشها
رهگیری تغییرات
لوگ کردن و تست
پیاده سازی الگوی ریپوزیتوری و Unit Of Work
قابلیت های پیشرفته در EF Core
آموزش Dapper
شروع دوره : 1 آبان 99
مدت دوره : 20 ساعت
هزینه دوره : 400 هزارتومان
جهت ثبت نام با آی دی @codehak یا شماره 09380146555 تماس بگیرید.
در این دوره مباحث مقدماتی تا پیشرفته در EF Core آموزش داده میشود. دوره به صورت غیر حضوری برگزار میشود و همه قسمتها از پیش ضبط و قابل دانلود می باشد.
سرفصلها :
معرفی قابلیت های جدید
آموزش SQL Server و T-SQL
َشروع به کار با Code First
آموزش Fluent API
طراحی دیتابیس و ایجاد رابطه
خواندن و گزارش گیری از دیتابیس
کار با LINQ به صورت حرفه ای
ایجاد تغییرات در داده ها
کار با تراکنشها
رهگیری تغییرات
لوگ کردن و تست
پیاده سازی الگوی ریپوزیتوری و Unit Of Work
قابلیت های پیشرفته در EF Core
آموزش Dapper
شروع دوره : 1 آبان 99
مدت دوره : 20 ساعت
هزینه دوره : 400 هزارتومان
جهت ثبت نام با آی دی @codehak یا شماره 09380146555 تماس بگیرید.
❇️ برنامه 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...
🔸سال 93 یه پلاگین بررسی متن و پیشنهاد دهنده سئو واسه ASP MVC نوشتم (مشابه Yoast واسه WordPress) که خیلی باحال بود
🔹چند روز پیش به NETStandard آپدیتش کردم و گذاشتمش گیتهابم
https://github.com/mjebrahimi/DNZ.SEOChecker
🔰پ.ن:
1️⃣ الان دیگه قصد نگهداری و ریفکتورش رو ندارم، فقط گذاشتم بمونه به یادگار و شاید بررسی سورس کدش به درد کسی بخوره
2️⃣ اینو باید همون سالها اوپن سورسش میکردم، من اشتباه کردم، شما این اشتباهو تَکرار نکنین :)
________________
@DotNetZoom
🔹چند روز پیش به NETStandard آپدیتش کردم و گذاشتمش گیتهابم
https://github.com/mjebrahimi/DNZ.SEOChecker
🔰پ.ن:
1️⃣ الان دیگه قصد نگهداری و ریفکتورش رو ندارم، فقط گذاشتم بمونه به یادگار و شاید بررسی سورس کدش به درد کسی بخوره
2️⃣ اینو باید همون سالها اوپن سورسش میکردم، من اشتباه کردم، شما این اشتباهو تَکرار نکنین :)
________________
@DotNetZoom
❇️ معرفی 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
GitHub
GitHub - Cysharp/MagicOnion: Unified Realtime/API framework for .NET platform and Unity.
Unified Realtime/API framework for .NET platform and Unity. - Cysharp/MagicOnion
🔸سال 94 یه مجموعه کامپوننت از روی پلاگین های معروف جاوااسکریپتی برای ASP MVC نوشتم که در اون زمان به خاطر امکاناتش جز شاهکارام محسوب میشد و تو این سال ها هم خیلی کارمو راه انداخت
کامپوننت هاش از جمله:
- Select2
- CKEditor
- DataTables
- iCheck
- DateRangePicker (with jalaali support)
- SweetAlert
- Noty
- Toaster
- And ...
🔹چند روز پیش اون رو به NET Core 3.1 آپدیت کردم و گذاشتمش گیتهابم
https://github.com/mjebrahimi/DNZ.MvcComponents
🔰پ.ن:
1️⃣ الان دیگه قصد نگهداری و ریفکتورش رو ندارم، فقط گذاشتم بمونه به یادگار و شاید بررسی سورس کدش به درد کسی بخوره
2️⃣ اینو باید همون سالها اوپن سورسش میکردم، من اشتباه کردم، شما این اشتباهو تَکرار نکنین :)
________________
@DotNetZoom
کامپوننت هاش از جمله:
- Select2
- CKEditor
- DataTables
- iCheck
- DateRangePicker (with jalaali support)
- SweetAlert
- Noty
- Toaster
- And ...
🔹چند روز پیش اون رو به NET Core 3.1 آپدیت کردم و گذاشتمش گیتهابم
https://github.com/mjebrahimi/DNZ.MvcComponents
🔰پ.ن:
1️⃣ الان دیگه قصد نگهداری و ریفکتورش رو ندارم، فقط گذاشتم بمونه به یادگار و شاید بررسی سورس کدش به درد کسی بخوره
2️⃣ اینو باید همون سالها اوپن سورسش میکردم، من اشتباه کردم، شما این اشتباهو تَکرار نکنین :)
________________
@DotNetZoom