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
Forwarded from کدهک
آشنایی با InfluxDb
دیتابیس InfluxDb یک دیتابیس از نوع سری زمانی است که اطلاعات را درون کلیدی از جنس زمان با دقت نانو ثانیه ذخیره میکند.
در این ویدیو با استفاده از ASP NET Core اطلاعاتی را درون این دیتابیس ذخیره می کنیم و سپس با استفاده از Grafana به صورت گراف نمایش میدهیم.
https://tinyurl.com/cdhk-influx
دیتابیس InfluxDb یک دیتابیس از نوع سری زمانی است که اطلاعات را درون کلیدی از جنس زمان با دقت نانو ثانیه ذخیره میکند.
در این ویدیو با استفاده از ASP NET Core اطلاعاتی را درون این دیتابیس ذخیره می کنیم و سپس با استفاده از Grafana به صورت گراف نمایش میدهیم.
https://tinyurl.com/cdhk-influx
❇️ در مورد متد ConfigureAwait بیشتر بدانید
این مورد توضیحش کمی پیچیدس و نیاز داره یه سری موارد رو قبلش بدونین مثل SynchronizationContext و TaskScheduler ولی خیلی ساده بخوام توضیح بدم اینکه وقتی متد async ایی رو فراخوانی میکنید اون تکه کد داخل متد async ایی توسط یک Thread دیگه [ترد ثانویه] (متفاوت از ترد [اصلی] - ترد فراخوانی کننده متد) اجرا میشه (البته نه الزاما ولی در متد های async IO bound بله)
حالا اگه داخل اون متد async ایی نیاز به دسترسی به اشیایی از Context ترد اصلی نیاز داشته باشید، باید [ترد ثانویه] برگرده به Context ترد اصلی [اصلی] تا بتونه به اشیا اون دسترسی داشته باشه وگرنه خطا میده که "یک ترد نمیتونه به اشیا ترد دیگه دسترسی داشته باشه"
مثلا توی WinForm بخواید مقدار یک کنترل UI مثل
به طور پیشفرض وقتی ما یک متد async رو به صورت عادی await میکنیم، پس از اتمام Task مربوطه، ترد ثانویه برمیگرده به Context ترد اصلی و ما بدون هیچ مشکلی میتونیم به اشیا Context ترد اصلی دسترسی پیدا کنیم ولی این قضیه یه سرباری رو داره تحمیل میکنه که بعضی وقتا بهش نیازی نیست
مثلا وقتی که ما یک کد general-purpose (غیر وابسته به Context خاصی) رو مینویسیم (مثلا کدی که به
در مقابل وقتی ما داریم یک کد application-level (وابسته به Context خاص) رو مینویسیم (مثلا کدی که به UI Control ها توی WinForm یا HttpContext.Current توی ASPNET MVC نیاز داره) باید این قابلیت رو داشته باشیم حتما وگرنه به مشکل میخوریم (خطای "یک ترد نمیتونه به اشیا ترد دیگه دسترسی داشته باشه")
واسه غیر فعال کردن این امکان باید بر روی متد های async مون از متد ConfigureAwait با مقدار (false) استفاده کنیم . مثال
🔸وقتی که کد general-purpose مینویسید بهتره از متد ConfigureAwait با مقدار (false) استفاده کنید.
🔹ولی وقتی که کد application-level مینویسید به هیچ وجه این کارو نکنید.
🔰نکته :
1️⃣ توی ASPNET Core چون به صورت پیشفرض SynchronizationContext خاص خودش رو نداره فرقی هم نمیکنه از ConfigureAwait استفاده بکنین یا نه (البته تا مادامی که به صورت دستی SynchronizationContext ایی ست نکرده باشین)
2️⃣ متد هایی که توسط Task.Run هم اجرا میشن نیازی به ConfigureAwait ندارن چون Task.Run به صورت ضمنی TaskScheduler.Default استفاده میکنه پس SynchronizationContext ترد اجرا کننده null میشه. (اینم تا مادامی که به صورت دستی SynchronizationContext ایی ست نکرده باشین)
🔰در مقاله زیر به سوالات زیر هم پاسخ داده شده :
https://devblogs.microsoft.com/dotnet/configureawait-faq/
_______________
@DotNetZoom
این مورد توضیحش کمی پیچیدس و نیاز داره یه سری موارد رو قبلش بدونین مثل SynchronizationContext و TaskScheduler ولی خیلی ساده بخوام توضیح بدم اینکه وقتی متد async ایی رو فراخوانی میکنید اون تکه کد داخل متد async ایی توسط یک Thread دیگه [ترد ثانویه] (متفاوت از ترد [اصلی] - ترد فراخوانی کننده متد) اجرا میشه (البته نه الزاما ولی در متد های async IO bound بله)
حالا اگه داخل اون متد async ایی نیاز به دسترسی به اشیایی از Context ترد اصلی نیاز داشته باشید، باید [ترد ثانویه] برگرده به Context ترد اصلی [اصلی] تا بتونه به اشیا اون دسترسی داشته باشه وگرنه خطا میده که "یک ترد نمیتونه به اشیا ترد دیگه دسترسی داشته باشه"
مثلا توی WinForm بخواید مقدار یک کنترل UI مثل
TextBox رو بخونید/عوض کنید یا مثلا توی ASPNET MVC (به جز ASP Core چون قضیه اش فرق داره) مثلا بخواهد یه چیزی رو از HttpContext.Current بخونید/تغییر بدید. چون این اشیایی که گفتم مال ترد اصلی هست، ترد ثانویه نمیتونه به اون دسترسی پیدا کنه.به طور پیشفرض وقتی ما یک متد async رو به صورت عادی await میکنیم، پس از اتمام Task مربوطه، ترد ثانویه برمیگرده به Context ترد اصلی و ما بدون هیچ مشکلی میتونیم به اشیا Context ترد اصلی دسترسی پیدا کنیم ولی این قضیه یه سرباری رو داره تحمیل میکنه که بعضی وقتا بهش نیازی نیست
مثلا وقتی که ما یک کد general-purpose (غیر وابسته به Context خاصی) رو مینویسیم (مثلا کدی که به
UI Control ها توی WinForm یا HttpContext.Current توی ASPNET MVC نیازی نداره) مثل یک کد دانلود یک فایل از اینترنت یا انجام عملیات با دیتابیس؛ توی این موارد میتونیم با غیر فعال کردن "بحث Sync شدن Context ها" از این سربار اضافی راحت بشیمدر مقابل وقتی ما داریم یک کد application-level (وابسته به Context خاص) رو مینویسیم (مثلا کدی که به UI Control ها توی WinForm یا HttpContext.Current توی ASPNET MVC نیاز داره) باید این قابلیت رو داشته باشیم حتما وگرنه به مشکل میخوریم (خطای "یک ترد نمیتونه به اشیا ترد دیگه دسترسی داشته باشه")
واسه غیر فعال کردن این امکان باید بر روی متد های async مون از متد ConfigureAwait با مقدار (false) استفاده کنیم . مثال
await httpClient.GetAsync(url).ConfigureAwait(false)
این مورد از dead-lock هم جلوگیری کنه در مواقتی که متد async ایی رو به صورت sync فراخوانی میکنید. مثلا :asyncMethod.Wait(); یا
asyncMethod.Result; یا
asyncMethod.GetAwaiter().GetResult();
🔰 نتیجه :🔸وقتی که کد general-purpose مینویسید بهتره از متد ConfigureAwait با مقدار (false) استفاده کنید.
🔹ولی وقتی که کد application-level مینویسید به هیچ وجه این کارو نکنید.
🔰نکته :
1️⃣ توی ASPNET Core چون به صورت پیشفرض SynchronizationContext خاص خودش رو نداره فرقی هم نمیکنه از ConfigureAwait استفاده بکنین یا نه (البته تا مادامی که به صورت دستی SynchronizationContext ایی ست نکرده باشین)
2️⃣ متد هایی که توسط Task.Run هم اجرا میشن نیازی به ConfigureAwait ندارن چون Task.Run به صورت ضمنی TaskScheduler.Default استفاده میکنه پس SynchronizationContext ترد اجرا کننده null میشه. (اینم تا مادامی که به صورت دستی SynchronizationContext ایی ست نکرده باشین)
🔰در مقاله زیر به سوالات زیر هم پاسخ داده شده :
- What is a SynchronizationContext?
- What is a TaskScheduler?
- What does ConfigureAwait(false) do?
- Why would I want to use ConfigureAwait(false)?
- Why would I want to use ConfigureAwait(true)?
- When should I use ConfigureAwait(false)?
- ...
اطلاعات بیشتر :https://devblogs.microsoft.com/dotnet/configureawait-faq/
_______________
@DotNetZoom
Microsoft News
ConfigureAwait FAQ
.NET added async/await to the languages and libraries over seven years ago. In that time, it’s caught on like wildfire, not only across the .NET ecosystem, but also being replicated in a myriad of other languages and frameworks. It’s also seen a ton of improvements…
Forwarded from کدهک
فروش ویژه
مرجع کامل آموزش ASP NET Core با 50% تخفیف ویژه یلدا
این دوره با مجموع 34 ساعت آموزش تخصصی ASP NET Core و به همراه یک سال اشتراک ویژه سایت کدهک عرضه میشود.
کد تخفیف : yalda
https://tinyurl.com/cdhk-yalda98
امکان خرید از طریق درگاه آنلاین یا کارت به کارت وجود دارد.
کد تخفیف 24 ساعت دیگر تمدید شد.
مرجع کامل آموزش ASP NET Core با 50% تخفیف ویژه یلدا
این دوره با مجموع 34 ساعت آموزش تخصصی ASP NET Core و به همراه یک سال اشتراک ویژه سایت کدهک عرضه میشود.
کد تخفیف : yalda
https://tinyurl.com/cdhk-yalda98
امکان خرید از طریق درگاه آنلاین یا کارت به کارت وجود دارد.
کد تخفیف 24 ساعت دیگر تمدید شد.
Forwarded from کدهک
پادکست کدهک - قسمت اول
در این قسمت می شنوید :
1-دردسرهای کریسمس برای مایکروسافت
2- آینده برنامه نویسی به کجا میرود؟
در این قسمت می شنوید :
1-دردسرهای کریسمس برای مایکروسافت
2- آینده برنامه نویسی به کجا میرود؟
✅ آپلود فایل های بسیار حجیم در ASP.NET Core
واسه فایل های نه چندان حجیم (مثلا تا 200 الی 300 مگابایت) میتونین از 2 آموزش زیر استفاده کنین که ترفنداشو بهتون میگه
http://www.binaryintellect.net/articles/612cf2d1-5b3d-40eb-a5ff-924005955a62.aspx
https://www.talkingdotnet.com/how-to-increase-file-upload-size-asp-net-core/
🔰 ولی اگه فایل هاتون خیلی حجیم هست (مثلا 500 مگ به بالا تاااااا چندین گیگابایت)
بهتره از روش Chunk (خرد کردن فایل حجیم به تکه های کوچیک تر و سپس آپلود این تیکه ها و نهایتا جمع کردنش سمت سرور) استفاده کنین
🔸سمپل زیر این قابلیت رو به خوبی پیاده سازی کرده
واسه این روش باید هم سمت سرور کدشو بنویسین و هم سمت کلاینت، از پلاگینی استفاده کنین که کار Chunk کردن رو براتون انجام بده (البته دستی هم میشه ولی با پلاگین راحت تره) مثلا این سمپل از پلاگین Resumable.js استفاده کرده
https://github.com/edsoncunha/chunked-file-upload-csharp
نکته : واسه اجرا حتما برنامه رو روی Kestrel اجرا کنین وگرنه در حالت IISExpress محدودیت هایی داره
_______________
@DotNetZoom
واسه فایل های نه چندان حجیم (مثلا تا 200 الی 300 مگابایت) میتونین از 2 آموزش زیر استفاده کنین که ترفنداشو بهتون میگه
http://www.binaryintellect.net/articles/612cf2d1-5b3d-40eb-a5ff-924005955a62.aspx
https://www.talkingdotnet.com/how-to-increase-file-upload-size-asp-net-core/
🔰 ولی اگه فایل هاتون خیلی حجیم هست (مثلا 500 مگ به بالا تاااااا چندین گیگابایت)
بهتره از روش Chunk (خرد کردن فایل حجیم به تکه های کوچیک تر و سپس آپلود این تیکه ها و نهایتا جمع کردنش سمت سرور) استفاده کنین
🔸سمپل زیر این قابلیت رو به خوبی پیاده سازی کرده
واسه این روش باید هم سمت سرور کدشو بنویسین و هم سمت کلاینت، از پلاگینی استفاده کنین که کار Chunk کردن رو براتون انجام بده (البته دستی هم میشه ولی با پلاگین راحت تره) مثلا این سمپل از پلاگین Resumable.js استفاده کرده
https://github.com/edsoncunha/chunked-file-upload-csharp
نکته : واسه اجرا حتما برنامه رو روی Kestrel اجرا کنین وگرنه در حالت IISExpress محدودیت هایی داره
_______________
@DotNetZoom
Telegram
Attach Files
❇️ آموزش ساخت برنامه های توزیع شده (Distributed) توسط Akka.NET (زبان اصلی زیر نویس دار)
از پایین ویدئو گزینه [Subnoscript/captions] میتوانید زیرنویس آن را فعال کنید
مدل Actor به عنوان یک مدل Messaging برای برنامهنویسی توزیع شده و همزمان در مقابل استفاده از Thread ها به حساب میآید.
فریمورک Akka برای استفاده از مدل Actor در زبان Java طراحی شده و Akka.NET فریمورک Port شده آن برای دات نت است.
(اطلاعات بیشتر : Repository - Document)
توسط این فریمورک میتوان برنامه هایی با پرفرمنس و همزمانی بالا را بدون اینکه صراحتا درگیر مدیریت تردها و قفل گذاری شوید بنویسید
[01:35] - Implementations and uses of the actor model
[03:13] - What is an actor?
[10:04] - Actors in the cloud
[12:05] - Running Akka .NET on premise or in cloud
[14:31] - Use cases for Akka .NET
[17:25] - Supported versions of .NET
[18:45] - Running Akka .NET in containers
Useful Links
Petabridge - (Repository)
Akka .NET on GitHub
Akka .NET Bootcamp
Akka .NET Code Samples
____________
@DotNetZoom
از پایین ویدئو گزینه [Subnoscript/captions] میتوانید زیرنویس آن را فعال کنید
مدل Actor به عنوان یک مدل Messaging برای برنامهنویسی توزیع شده و همزمان در مقابل استفاده از Thread ها به حساب میآید.
فریمورک Akka برای استفاده از مدل Actor در زبان Java طراحی شده و Akka.NET فریمورک Port شده آن برای دات نت است.
(اطلاعات بیشتر : Repository - Document)
توسط این فریمورک میتوان برنامه هایی با پرفرمنس و همزمانی بالا را بدون اینکه صراحتا درگیر مدیریت تردها و قفل گذاری شوید بنویسید
[01:35] - Implementations and uses of the actor model
[03:13] - What is an actor?
[10:04] - Actors in the cloud
[12:05] - Running Akka .NET on premise or in cloud
[14:31] - Use cases for Akka .NET
[17:25] - Supported versions of .NET
[18:45] - Running Akka .NET in containers
Useful Links
Petabridge - (Repository)
Akka .NET on GitHub
Akka .NET Bootcamp
Akka .NET Code Samples
____________
@DotNetZoom
Docs
Building distributed applications with Akka.NET
In this episode, Aaron Stannard (@Aaronontheweb) comes on to talk about his open source project, Akka.NET. This is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET and Mono.[01:35] - Implementations…
Forwarded from انجمن DDD ایران
🔸دعوت از علاقهمندان به سخنرانی در سومین رویداد DDDTalks ایران🔸
انجمن DDD ایران سومین رویداد DDD Talks خود را (رویداد زمستانه) در تاریخ ۱۷ بهمنماه برگزار میکند.
لذا از صاحبنظران و علاقهمندان به سخنرانی در این رویداد دعوت میشود تا با مراجعه به سایت انجمن، موضوع مدنظر خود برای سخنرانی را حداکثر تا تاریخ ۱۰ دی ماه، اطلاع دهند.
https://dddiran.com/call-for-paper/
- ۱ دی ماه ۱۳۹۸
@DDD_IRAN
انجمن DDD ایران سومین رویداد DDD Talks خود را (رویداد زمستانه) در تاریخ ۱۷ بهمنماه برگزار میکند.
لذا از صاحبنظران و علاقهمندان به سخنرانی در این رویداد دعوت میشود تا با مراجعه به سایت انجمن، موضوع مدنظر خود برای سخنرانی را حداکثر تا تاریخ ۱۰ دی ماه، اطلاع دهند.
https://dddiran.com/call-for-paper/
- ۱ دی ماه ۱۳۹۸
@DDD_IRAN
❇️ یک پروژه FullStack سورس باز SPA با Angular 8 و Asp.Net Core 3.1
🔰 تکنولوژی ها و امکانات :
✔️ASP.NET Core 3.1
✔️Entity Framework Core 3.1
✔️Both Sql Server and Sql lite databases are supported
✔️Identity Server 4
✔️Angular 8
✔️Angular CLI 8
✔️Secure - with CSP and custom security headers
✔️SignalR
✔️SASS
✔️Best practices for Angular code organisation.
✔️Clean Architecture for ASP.Net Core code.
✔️PWA support
✔️SSR (Server side rendering)
✔️Fast Unit Testing with Jest.
✔️E2E testing with Protractor.l
✔️Compodoc for Angular documentation
✔️Login and Registration using Identity Server implicit flow
✔️Extensible User/Role identity implementation
✔️Social logins support with token based authentication
✔️Swagger as Api explorer
🔸 مخزن گیتهاب
https://github.com/asadsahi/AspNetCoreSpa
_____________________
@DotNetZoom
🔰 تکنولوژی ها و امکانات :
✔️ASP.NET Core 3.1
✔️Entity Framework Core 3.1
✔️Both Sql Server and Sql lite databases are supported
✔️Identity Server 4
✔️Angular 8
✔️Angular CLI 8
✔️Secure - with CSP and custom security headers
✔️SignalR
✔️SASS
✔️Best practices for Angular code organisation.
✔️Clean Architecture for ASP.Net Core code.
✔️PWA support
✔️SSR (Server side rendering)
✔️Fast Unit Testing with Jest.
✔️E2E testing with Protractor.l
✔️Compodoc for Angular documentation
✔️Login and Registration using Identity Server implicit flow
✔️Extensible User/Role identity implementation
✔️Social logins support with token based authentication
✔️Swagger as Api explorer
🔸 مخزن گیتهاب
https://github.com/asadsahi/AspNetCoreSpa
_____________________
@DotNetZoom
GitHub
GitHub - fullstackproltd/AspNetCoreSpa: Asp.Net 7.0 & Angular 15 SPA Fullstack application with plenty of examples. Live demo:
Asp.Net 7.0 & Angular 15 SPA Fullstack application with plenty of examples. Live demo: - GitHub - fullstackproltd/AspNetCoreSpa: Asp.Net 7.0 & Angular 15 SPA Fullstack application ...
Podcast - Episode2
Codehaks
پادکست کدهک - قسمت دوم
در این شماره می شنوید :
1- رکورد بازی سوپر ماریو
2- محیط کاری گیتهاب
3- برنامه نویسی چند زبانه
4- پیشنهاد سه زبان برای یادگرفتن در 2020
در این شماره می شنوید :
1- رکورد بازی سوپر ماریو
2- محیط کاری گیتهاب
3- برنامه نویسی چند زبانه
4- پیشنهاد سه زبان برای یادگرفتن در 2020
Forwarded from Breakpoint
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Moien Tajik 💭
خلاصه ای از Garbage Collector در #C - قسمت سوم: تاریخچه ای از GC و معرفی GC Flavor ها ⚙️ :
• Server GC
• Concurrent Workstation GC
• Non-Concurrent Workstation GC
[ Moien.dev ] : https://moien.dev/posts/2020-01-10-gc-part-3/
[ .NET Tips ] : https://www.dotnettips.info/post/3165
• Server GC
• Concurrent Workstation GC
• Non-Concurrent Workstation GC
[ Moien.dev ] : https://moien.dev/posts/2020-01-10-gc-part-3/
[ .NET Tips ] : https://www.dotnettips.info/post/3165
Moien Tajik
C# Garbage Collector - Part 3 - Moien Tajik
In this series of articles, we aim to dive into Memory Management in C#, acquaint ourselves with the Garbage Collector, and gain an overall understanding of how it operates.
⚫️ با نهایت تاسف، Scott Allen یکی از مدرسین عالی Pluralsight مرحوم شدند
ایشون یکی از مدرسین پیش کسوت NET. بودن
با آموزش هاشون حق گردن خیلی از ماها داشتن، همچنین مطالب خوبی در وبسایتشون https://odetocode.com/ به اشتراک میگذاشتن
خدا رحمتشون کنه
__________________
@DotNetZoom
ایشون یکی از مدرسین پیش کسوت NET. بودن
با آموزش هاشون حق گردن خیلی از ماها داشتن، همچنین مطالب خوبی در وبسایتشون https://odetocode.com/ به اشتراک میگذاشتن
خدا رحمتشون کنه
__________________
@DotNetZoom
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
همانطور که میدانید 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
🔰تکنولوژی های استفاده شده :
✔️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
GitHub
GitHub - twzhangyang/RestAirline: DDD+CQRS+EventSourcing+Hypermedia API+ASP.NET Core 3.1+Masstransit+terraform+docker+k8s
DDD+CQRS+EventSourcing+Hypermedia API+ASP.NET Core 3.1+Masstransit+terraform+docker+k8s - twzhangyang/RestAirline