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
یک #نکته - آزاد سازی فضای درایو C با حذف پکیج های Nuget اضافی

وقتی یه پکیچ nuget رو نصب میکنید اون رو توی یه پوشه ای به ازای کاربری جاری سیستم عامل ذخیره میکنه (کش میکنه)
این باعث میشه که دفعات بعدی که اون پکیچ رو لازم دارید دیگه از اینترنت دانلود نکته و از کش شما بخونه. البته اگر ورژن جدید تری اومده باشه که توی پوشه کش شما وجود نداشته باشه اون رو دانلود میکنه و به لیست ورژن های قبلی ایی که داشتین اضافه میکنیه

این عمل خیلی خوبه و باعث میشه معمولا پکیج های اضافه دانلود نکنین و از کش نصب میکنه پس سرعت restore شدن پکیج ها خیلی بالا میره ولی در طولانی مدت باعث میشه حجم خیلی زیادی اشغال کنه. مثلا من که سالی 12 ماه ویندوز عوض نمیکنم و پکیج ها و ورژن های زیادی توی سیستمم ذخیره شده بود یه چند مدتی بود که فضای درایو C ایم کم بیاد و الان که این پوشه رو چک کردم بیش از 10 گیگابایت حجم داشت!

🔰واسه حذف این پکیج ها 2تا راه وجود داره:

1️⃣ مسیر زیر روی توی آدرس بار بزنین و دستی اون پوشه رو حذف کنین
%userprofile%\.nuget\packages
2️⃣ ویژوال استادیو رو باز کنین و از منو Tools به مسیر زیر برین (مانند تصویر)
Tools > NuGet Package Manager > General
و سپس دکمه Clear All NuGet Cache(s) رو بزنین. (ممکنه واسه چند لحظه هنگ کنه برنامه)

🔸این حذف کردن هیچ مشکلی هم براتون به وجود نمیاره فقط اگر پکیج هاتون شناسایی نشد رو Solution راست کلیک کنین و گزینه Restore Nuget Packages رو بزنین یا توسط NET Core CLI. دستور dotnet restore رو پروژه/سلشون تون اجرا کنین (این کار برای بار اول کمی زمان میبره تا همه رو دانلود کنه - یادتون نره یه بارم VS رو باز و بسته کنین)
___________________
@DotNetZoom
🔰 خوشحال میشم بیاین و توی Twitter با هم در ارتباط باشیم 😊 اکانتم اینه :

https://twitter.com/mjebrahimi72

در ضمن برای چند روز آینده یه سری منابع آموزشی نااااب اماده کردم براتون 👌✌️
❇️ سری آموزش #Microservices در NET Core. (بخش اول)

موضوعات #Microservices و Distributed System ها موضوعاتی نیستند که با یک یا چند مقاله جسته و گریخته بتوان آنها را فرا گرفت. اینها موارد بزرگی هستند و نکات، تکنیک ها و ابزار های زیادی دارند که یاد گرفتن آنها نیازمند یک سری آموزش پیوسته و جامع است.

سری آموزش Building Microservices On .NET Core یکی از بهترین منابع برای یادگیری Microservice ها در NET Core. است که به صورت عملی و گام به گام همراه با مثال و سورس آن در گیتهاب منتشر شده است.

1️⃣ Building Microservices On .NET Core – Part 1 The Plan

2️⃣
Building Microservices On .NET Core – Part 2 Shaping microservice internal architecture with CQRS and MediatR

3️⃣ Building Microservices On .NET Core – Part 3 Service Discovery with Eureka

4️⃣ Building Microservices On .NET Core – Part 4 Building API Gateways With Ocelot

5️⃣ Building Microservices On .NET Core – Part 5 Marten An Ideal Repository For Your Domain Aggregates

6️⃣ Building Microservices On .NET Core – Part 6 Real time server client communication with SignalR and RabbitMQ

7️⃣ Building Microservices On .NET Core – Part 7 Transactional Outbox with RabbitMQ

🔰
سورس پروژه آموزشی در گیتهاب
https://github.com/asc-lab/dotnetcore-microservices-poc

🔰 دیگر مقالات مرتبط
🔸Microservices

🔹
From monolith to microservices – to migrate or not to migrate?

🔸UI in Microservices World – Micro Frontends pattern and Web Components

🔹How to create better code using Domain-Driven Design

🔸CQRS and Event Sourcing Intro For Developers
در این سری آموزشی موضوعات زیر پوشش داده است
🏷Microservices 🏷CQRS 🏷EventSourcing 🏷MediatR 🏷Marten 🏷ServiceDiscovery 🏷Eureka 🏷ApiGateway 🏷Ocelot 🏷DDD 🏷RabbitMQ 🏷Dapper 🏷Docker 🏷Container 🏷ASPNETCore
این سری آموزشی رو از دست ندین به زودی چندتا از بهترین منابع دیگه برای این موضوع معرفی میشه
_______________
@DotNetZoom
❇️ سری آموزش #Microservices در NET Core. (بخش دوم)

موضوعات #Microservices و Distributed System ها موضوعاتی نیستند که با یک یا چند مقاله جسته و گریخته بتوان آنها را فرا گرفت. اینها موارد بزرگی هستند و نکات، تکنیک ها و ابزار های زیادی دارند که یاد گرفتن آنها نیازمند یک سری آموزش پیوسته و جامع است.

سری آموزش Building microservices through Event Driven Architecture یکی از بهترین منابع برای یادگیری Microservice ها در NET Core. است که به صورت عملی و گام به گام همراه با مثال و سورس آن در گیتهاب منتشر شده است.

1️⃣ Building microservices through Event Driven Architecture part1 : application specific business rules

2️⃣ Building microservices through Event Driven Architecture part2 : domain objects and business rules

3️⃣ Building microservices through Event Driven Architecture part3: Presenters, Views, and Controllers

4️⃣ Building microservices through Event Driven Architecture part4: repositories

5️⃣ Building microservices through Event Driven Architecture part5: dockerization (Web Api Core and SQL Server Linux)

6️⃣ Building microservices through Event Driven Architecture part7: Implementing EventSourcing on Domain Model

7️⃣ Building microservices through Event Driven Architecture part8: Implementing EventSourcing on Repositories

8️⃣ Building microservices through Event Driven Architecture part9: Implementing EventSourcing on Application

9️⃣ Building microservices through Event Driven Architecture part10: Handling updates

🔟 Building microservices through Event Driven Architecture part11: Run Unit tests inside a docker container

🔰 سورس پروژه آموزشی در گیتهاب
https://github.com/logcorner/LogCorner.EduSync.Speech.Command/
در این سری آموزشی موضوعات زیر پوشش داده است
🏷Microservices 🏷CleanArchitecture 🏷DDD 🏷CQRS 🏷EventSourcing 🏷TDD 🏷Docker 🏷 Container 🏷EFCore 🏷ASPNETCore
این سری آموزشی رو از دست ندین به زودی چندتا از بهترین منابع دیگه برای این موضوع معرفی میشه
_____________________
@DotNetZoom
❇️ سری آموزش ویدئویی #Microservices در NET Core. (بخش سوم)

موضوعات #Microservices و Distributed System ها موضوعاتی نیستند که با یک یا چند مقاله جسته و گریخته بتوان آنها را فرا گرفت. اینها موارد بزرگی هستند و نکات، تکنیک ها و ابزار های زیادی دارند که یاد گرفتن آنها نیازمند یک سری آموزش پیوسته و جامع است.

سری آموزش ویدئویی Distributed .NET Core (DShop) یکی از بهترین منابع برای یادگیری Microservice و Distributed System ها در NET Core. است که به صورت عملی و گام به گام همراه با مثال و سورس آن در گیتهاب منتشر شده است. این آموزش همراه با زیرنویس انگلیسی است (از قسمت Caption در Youtube)

0- Distributed .NET Core (DShop) - Teaser

1- Distributed .NET Core (DShop) - Episode 1 [Intro, HTTP requests flow, Infrastructure with Docker]

2- Distributed .NET Core (DShop) - Episode 2 [CQRS - Write side, Discounts service, MongoDB repository]

3- Distributed .NET Core (DShop) - Episode 3 [Subscribing RabbitMQ messages, API gateway]

4- Distributed .NET Core (DShop) - Episode 4 [Asynchronous microservices integration via events]

5- Distributed .NET Core (DShop) - Episode 5 [CQRS - Read side, Internal HTTP communication]

6- Distributed .NET Core (DShop) - Episode 6 [Service discovery & Load balancing with Consul + Fabio]

7- Distributed .NET Core (DShop) - Episode 7 [Handling asynchronous requests, SignalR, Polly]

8- Distributed .NET Core (DShop) - Episode 8 [Distributed transactions, 2PC, Event Choreography, Saga]

9- Distributed .NET Core (DShop) - Episode 9 [Vault secrets, Seq logging, Jaeger distributed tracing]

10- Distributed .NET Core (DShop) - Episode 10 [Metrics with AppMetrics, InfluxDB, Prometheus, Grafana]

11- Distributed .NET Core (DShop) - Episode 11 [Travis CI pipelines, custom MyGet feeds]

12- Distributed .NET Core (DShop) - Episode 12 [Docker basics, Docker Hub, docker-compose]

13- Distributed .NET Core (DShop) - Episode 13 [Integration tests with xUnit, Web API, Mongo, RabbitMQ]

14- Distributed .NET Core (DShop) - Episode 14 [Consumer-driven contract testing with Pact]

15- Distributed .NET Core (DShop) - Episode 15 [Orchestration with Portainer, Kubernetes and Rancher]

🔰 سورس پروژه آموزشی در گیتهاب
https://github.com/devmentors/DNC-DShop
در این سری آموزشی موضوعات زیر پوشش داده است
🏷Microservices 🏷DistributedSystem 🏷DDD 🏷CQRS 🏷Docker 🏷 Container 🏷ASPNETCore 🏷SqlServer 🏷Redis 🏷NoSql 🏷MongoDb 🏷InfluxDb 🏷SignalR 🏷JWT 🏷RabbitMQ 🏷Grafana 🏷AppMetrics 🏷Prometheus 🏷Jaeger 🏷Seq 🏷ELK 🏷ApiGateway 🏷Consul 🏷Kubernetes

🔸این سری آموزشی رو به هیچ عنوان از دست ندین
🔹بازم منبع خوب هست. تو کامنتا بگین معرفی کنم یا بسه؟!
_____________________
@DotNetZoom
دات نت 5 و 5 ASPNET Core و EFCore 5 پیش نمایش 3 منتشر شد

🔰این آپدیت با چند تغییر کاربردی و مهم همراه بود که الان با هم بررسیشون میکنیم. بقیه تغییراتشون اکثرا بهبود و رفع باگ بوده یا موارد low level و غیر مهم.

1️⃣ مشکل ReferenceLoopHandling مربوط به System.Text.Json حل شد✌️

2️⃣ چند extension متد روی HttpClient اضافه شده که مستقیما خروجی Json رو Deserialize میکنه. 👍
برای استفاده از این متد ها نیازه پکیج زیر رو نصب کنین
System.Net.Http.Json
مثال یه درخواست GET که خروجی Json میده و میخوایم به لیستی از Person ها Deserialize اش کنیم
return await client.GetJsonAsync<List<Person>>("/api/people");


3️⃣ و سرانجام بلاخره قابلیت Filter کردن Include ها به EFCore اضافه شد. (هرچند زودتر باید میشد ولی بازم دمشون گرم خیلی لازم بود✌️)

تا قبل از این نسخه امکان اینکه روی فیلد های چیزی که Include میکنیم شرط بذاریم وجود نداشت. در نتیجه اگه لازم بود فقط 2 رکورد از 100 رکورد موجود رو Include کنیم نمیشد و همش باید از دیتابیس واکشی میشد که این قضیه سرباز بسیار زیادی داشت.
برای حل این مشکل چندین راه حل وجود داشت:
1- استفاده از Projection/Flatening موجود در AutoMapper روی EFCore
2- واکشی اطلاعات به صورت دستی در قالب یه Type دلخواه
3- و بهترین راه اینکه از متد IncludeFilter کتابخونه زیر که مال شرکت ZZZ هست استفاده کنیم
Z.EntityFramework.Plus.EFCore
این کتابخونه رایگانه (با اون یکی نسخه که پولیه اشتباهش نگیرین) و امکانات بسیار خوبی میده و شخصا برای پروژه های واقعی و بزرگ پیشنهادش میکنم. اگه به جا ازش استفاده بشه تاثیر زیادی روی پرفرمنس پروژه میزاره (پیشنهاد میکنم حتما داکیومنتش رو بخونین)

واقعا کمبود این قابلیت خیلی حس میشد تا اینکه بلاخره توی این آپدیت به EFCore اضافه شد و حالا میتونیم براحتی ازش استفاده کنیم
var blogs = context.Blogs
.Include(e => e.Posts.Where(p => p.Title.Contains("Cheese")))
.ToList();


🔸Announcing .NET 5.0 Preview 3
🔹
ASP.NET Core updates in .NET 5 Preview 3
🔸Announcing Entity Framework Core 5.0 Preview 3
___________________
@DotNetZoom
Forwarded from کدهک
آشنایی با ML.NET

فریم ورک ML.NET ابزاری برای Machine Learning در دات نت است که توسط مایکروسافت توسعه داده شده است. در این ویدیو با استفاده از ML.NET شانس زنده ماندن مسافران کشتی تایتانیک را پیش بینی می کنیم.

https://tinyurl.com/cdhk-mlnet
شرط گذاری روی Include ها در EF Core

🔸متداول ترین دلیل کاهش پرفرمنس توی پروژه ها، واکشی دیتای اضافی و کوئری های غیر ضروریه؛ اینو به تجربه توی اکثر پروژه هایی که بررسی کردم دیدم.

🔹حالا یه مقاله کامل نوشتم در مورد اینکه چطوری روی کوئری های Include شرط بذاریم و اونها رو بهینه کنیم.
تو این مقاله روش های مختلف رو مقایسه کردم و از نظر سرعت و میزان memory allocation (تخصیص حافظه) هم بنچمارک گرفتم

🔸توی پروژه هایی که خودتون کار میکنین چقدر به این مورد خوردین و شاید اصلا حواستونم بهش نبوده؟ شاید بد نباشه کداتون رو بررسی کنین و با بهینه کردن کوئری هاتون، پرفرمنس پروژه رو بالا ببرین

https://www.dotnettips.info/post/3190
__________________
@DotNetZoom
Forwarded from کدهک
چگونه یک سرور دانلود بسازیم؟

آموزش مفهوم Range در HTTP
کار با FileResult
بدست آوردن حجم دانلود با Head
دانلود فایل با HttpClient

تماشا در یوتویب :

https://tinyurl.com/cdhks-dwnld-server
#سری_معرفی_وسایت_های_برتر

معرفی 10 سایت های برتر (سری دوم)
در مورد
#C و NET Core. و ASP.NET Core

🔶 اگه
مشتاق به یادگیری و مطالعه هستین این میتونه بهترین پست برای شما باشه. توی این سری پست ها هربار 10 وبسایت که از نظر سطح علمی و کیفیت محتوا، بروز و متنوع بودن بهترین هستند رو معرفی میکنم👌
اینا در واقع منابعی هستند که خودم معمولا دنبالشون میکنم

🔷 یادتون نره واسه رفقاتون بفرستید✌️
1️⃣ https://ardalis.com/blog
2️⃣ https://andrewlock.net/
3️⃣ https://www.stevejgordon.co.uk/
4️⃣ https://rehansaeed.com/
5️⃣ https://davepaquette.com/
6️⃣ https://ayende.com/blog/
7️⃣ https://www.carlrippon.com/
8️⃣ https://hamidmosalla.com/
9️⃣ https://khalidabuhakmeh.com/
🔟 https://www.strathweb.com/
_____________________
@DotNetZoom
تست راحت تر کد های سی شارپ با C# Interactive

خیلی وقتا نیازمون میشه یه کد سی شارپ رو فقط تست کنیم. یه راهش اینه که یه اپ Console بسازیم ولی یه برنامه نویس خوب همیشه از ابزار های مناسب اون کار استفاده میکنه و برای اینکار ابزار های راحت تر و بهتری هم وجود داره، مثل C# Interactive

🔸این ابزار خیلی کار راه بندازه و زمانی که ویژوال استادیو جلوتون بازه بهترین انتخابه
این ابزار بهمون اجازه میده در لحظه یه کدی رو تست کنیم؛ نیاز به ساختن پروژه جدید نداره و لود خیلی سریعی داره؛ میتونیم dll رفرنس بدیم به کدمون یا یه فایل noscript ایی که قبلا نوشتیم رو 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
___________________
@DotNetZoom
تست کد های #C به صورت آنلاین

توی پست قبلی در مورد C# Interactive توضیح داده بودم الان میخوام روش آنلاینش رو بررسی کنیم.
واسه اینکار سایت های زیادی هست که امکان Syntax Highlighter و Run کردن کد رو بهتون میدن. با این ابزار ها میتونین کد سی شارپ تون رو انلاین و راحت تست کنین و یا کدتون رو با بقیه به اشتراک بگذارین

🔸اول از همه بهترینشون و با اختلاف فاحش، سایت SharpLab هست. امکانات فوق العاده ای داره، Intellisense خیلی قوی ایی داره که در نوع خودش واقعا بی نظیره، امکان Decompile کردن کد خروجی به IL و #C و حتی Jit Assembly رو بهتون میده. UX خوب و روون ایی داره و خیلی سریع، در لحظه کد رو اجرا میکنه.
https://sharplab.io/

🔹این سایت برای ویرایشگرش اش از پلاگین جاوااسکریپتی CodeMirror استفاده میکنه که یک Code Editor و Syntax Highlighter قوی هست و از تموم زبان ها پشتیبانی میکنه
مثلا اگه خواستین قابلیت اسکریپت نویسی و اجرای کد داینامیک رو برای پروژه تون اضافه کنین میتونین از این پلاگین استفاده کنین
https://github.com/codemirror/CodeMirror
[Demo] https://codemirror.net/

🔸 این سایت برای اجرای کد ها از Roslyn و برای Decompile کردنشون از ILSpy استاده میکنه که قوی ترین برنامه Decompiler دات نت هست و ابزار های حرفه دیگه از از جمله dnSpy از رو همین ساخته شدن

🔹سازنده این سایت اومده کل پکیج Code Editor سی شارپیش رو که بر روی CodeMirror و Roslyn ساخته شده رو به صورت سورس پاز تو گیتهاب گذاشته
بدین صورت مثلا میتونین یه ویرایشگر کامل سی شارپی به همراه Autocomplete واسه اسکریپت نویسی داینامیک به پروژه تون اضافه کنین
https://github.com/ashmind/mirrorsharp

🔰تنها ایرادی که سایت sharplab.io داره اینه که که امکان اضافه کردن Nuget Package به کد هاتون رو نداره
واسه همین یه سایت دیگه به نام NET Fiddle. هست (که البته به خوبی اون نیست ولی بعضی امکانات اضافه تر مثل همین nuget package داره)
https://dotnetfiddle.net/
____________________
@DotNetZoom
Forwarded from کدهک
آموزش Select با قابلیت جستجو

با استفاده از کتابخانه ی Select2 می توانید در میان گزینه ها جستجو کنید. این قابیلت زمانی که تعداد آیتمهای لیست زیاد باشد مانند اسامی استانها یا شهرها به کار می آید. در این ویدیو نحوه ی فارسی کردن و استفاده از Bootstrap به صورت راست به چپ هم آموزش داده شده است.

https://codehaks.com/go/sel
This media is not supported in your browser
VIEW IN TELEGRAM
❇️ رو نمایی از قابلیت جدید GitHub به نام Codespaces و Discussions

🔸این قابلیت عملا یک IDE مدرن (مشابه VSCode) توی Browser به همراه امکاناتی از جلمه (Intellisense و Run و Debug و Test و...) در اختیارتون میذاره. از این پس واسه توسعه کد ریپازیتوری هاتون میتونین بدون نیاز به Clone کردن، اون رو توی مروگر توسط این IDE توسعه بدین.
این قابلیت که هم اکنون به صورت beta منتشر شده، برای همگان دردسترس نیست و برای استفاده از آن باید درخواست Early Access ثبت کنید

🔹همچنین قابلیت جدید دیگری به نام GitHub Discussions معرفی شده که مشابه Forum یا Q&A بوده محلی برای گفتگو و پرسش و پاسخ حول مسائل فنی مخصوص یک ریپازیتوری هست (که تاکنون این گفتگو ها معمولا توی Issue ها و Pull Request ها به صورت پراکنده و غیر یکپارچه دیده میشد) و به نظر میرسه برای رسیدن به چیزی مشابه StackOverflow ایجاد شده
این قابلییت هم اکنون برای تعداد محدودی از ریپازیتوری ها (مانند react-table) اعمال شده و برای همگان دردسترس نیست .

https://github.com/features/codespaces
___________________
@DotNetZoom
اضافه شدن قابلیت Decompile کد های #C در VSCode

قابلیت Decompilation به افزونه مخصوص سی شارپ (OmniSharp) در VSCode اضافه شد. این امکان به واسطه کتابخانه قدرتمند ILSpy انجام شده

🔰برای فعال سازی اون کافیه

1️⃣ افزونه OmniSharp بروزرسانی بشه (با باز شدن VSCode خودش چک میکنه اگه ورژن جدید داشته باشه Update میکنه - بعدشم باید یه بار باز و بسته کنین VSCode رو)

2️⃣ سپس روی یه کلاسی که سورسش رو ندارین راست کلیک کنین و گزینه "Go to Definition" رو انتخاب کنین (بار اول یه سوال میپرسه که گزینه Yes رو انتخاب کنین)

3️⃣ و تامام، لذت ببرین

🔻در صورتی که براتون کار نکرد از بروز بودن OmniSharp و VSCode مطمئن بشین و شایدم لازم باشه این قابلیت رو دستی فعال کنین
____________________
@DotNetZoom
Forwarded from Software Philosophy
یکی از ابزارهای قدرتمند برای Monitor کردن پروژه‌های .NET ، .NET Core و ASP.NET Core استفاده از Application Insight است. این کتابخانه تمام اطلاعات مورد نیاز برای مانیتور کردن یک برنامه را در اختیار شما قرار می‌دهد. مثلا وقتی که Api مربوط به پرداخت Call می‌شود، درApplication Insights علاوه بر اینکه اطلاعات خود Request ثبت می‌شود اطلاعات عملیات وابسته به این درخواست هم ثبت می‌شود مثل Query های که به دیتایس زده شده یا Request هایی که به درگاه پرداخت فرستاده شده‌اند.

هرچند مشکلی که وجود دارد این است که اطلاعات در Azure ذخیره می‌شوند.

برای حل این مشکل و «استفاده از Appliction Insights بدون داشتن اکانت Azure»، می‌توانید از کتابخانه Microsoft Diagnostics EventFlow استفاده کنید.

این کتابخانه تمام اطلاعات خروجی Application Insight (هم اطلاعات مستقیم و هم اطلاعات وابسه به یک درخواست) را جمع آوری می‌کند و در خروجی‌های مختلفی مثل Elasticsearch ذخیره می‌کند.

این کتابخانه همچین می‌تواند اطلاعات را از Serilog, Log4net, Nlog و... خوانده و در Elasticsearch, Splunk, Sql Server ذخیره کند یا به صورت Json به یک URL که شما مشخص می‌کنید بفرستد.

https://github.com/Azure/diagnostics-eventflow

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

#افشین_علیزاده (http://ow.ly/l7cA30m3OQ9)

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

___
❇️ معرفی برنامه Fiddler Everywhere

به تازگی شرکت Telerik نسخه Cross-Platform برنامه محبوب Fiddler رو تحت عنوان Fiddler Everywhere منتشر کرده
این برنامه خیلی سبک و ساده تر هست و بعضی از امکانات نسخه اصلی رو نداره ولی امکانات اصلی و مهمش رو داره از جمله :

🔸قابلیت Traffic Inspector : امکان مشاهده و بررسی Request ها و Response ها

🔹قابلیت API Composer : امکان ارسال درخواست HTTP با مشخصات و اطلاعات سفارشی

🔸قابلیت Auto Responder : امکان پاسخ دهی خودکار به یه سری درخواست ها با شرایط مشخص (مثلا واسه وقتی خوبه که یه API گرفتین که پیاده کنین ولی هربار نمیخواین به سایت اصلی Request بفرستین؛ با این قابلیت میتونین یه پاسخ ساختگی واسه اون درخواست تعریف کنین و براحتی تست هاتون رو انجام بدین)

🔰لینک دانلود
https://www.telerik.com/download/fiddler/fiddler-everywhere-windows
توضیحات بیشتر
https://www.telerik.com/blogs/from-fiddler-classic-to-fiddler-everywhere
___________________
@DotNetZoom
Forwarded from کدهک
در این ویدیو یک Select با جستجوی افزایشی از طریق AJAX پیاده می کنیم که اطلاعات بیش از 4 میلیون ردیف را فیلتر میکند و سپس پرفورمنس SQL و Redis را مقایسه می کنیم.

https://codehaks.com/go/rds
❇️ معرفی 20 کتاب برتر برای برنامه نویسان NET.

اگه اهل کتابخوندن هستین لیست زیر بهترین و محبوبترین کتابهای برنامه نویسی مناسب برای برنامه نویسان دات نت هست

🔰ASPNET Core
💎
Pro ASP.NET Core MVC 2
💎ASP.NET Core in Action
💎Programming ASP.NET Core
💎C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development

🔰EF Core
💎
Entity Framework Core in Action

🔰C# and .NET
💎
C# in Depth 4th Edition
💎C# 7.0 in a Nutshell
💎CLR via C#, 4th Edition

🔰Testing
💎
The Art of Unit Testing: with examples in C# 2nd Edition
💎Unit Testing Principles, Practices, and Patterns

🔰Software Architecture and Principles
💎
Microsoft .NET - Architecting Applications for the Enterprise
💎Software Architecture with C# 8 and .NET Core 3
💎Dependency Injection Principles, Practices, and Patterns
—————
💎Patterns of Enterprise Application Architecture
💎Refactoring: Improving the Design of Existing Code
💎Head First Design Patterns
💎Soft Skills: The software developer's life manual
💎The Clean Coder
💎Clean Code
💎Clean Architecture

🔰من لینک آمازون کتاب ها رو قرار دادم و بهتره که حامی قانون کپی رایت باشیم هرچند اونایی که میخوان رایگان دانلود کنن به هرحال راهشو بلدن
____________________
@DotNetZoom
چرا نوع های double و float برای محاسبات اعشاری با دقت بالا مناسب نیست

نوع های float و double بر مبنای عدد 2 عمل میکنن و برای محاسبات اعدادی که بر منبای عدد 10 نیاز داریم گزینه مناسبی نیستند
این رفتار نه تنها در سی شارپ بلکه در تمام زبان های برنامه نویسی وجود داره
اطلاعات بیشتر:
▪️Why not use Double or Float to represent currency?
▪️Float or double?

🔰 نتیجه :
🔸از نوع های double و float (معادل کلاس Single) برای محاسبه های اعشاری با دقت بالا استفاده نکنید
🔹همیشه به جای double و float از نوع decimal استفاده کنید مگر خلافش ثابت بشه!
__________________
@DotNetZoom
آموزش معماری تمیز (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
________________
@DotNetZoom