Forwarded from DotNetZoom (محمد جواد ابراهیمی)
✅ یک #نکته - آزاد سازی فضای درایو 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
وقتی یه پکیچ 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
Telegram
Attach Files
Forwarded from کدهک
بسیاری از پروژه های قدیمی به روش Database First پیاده شده است. در این ویدیو مشاهده می کنید که چطور می توانیم با استفاده از Entity Framework Core 3.0 دیتابیس های موجود را به حالت Code First تبدیل کنیم.
https://tinyurl.com/cdhk-dbtocd
https://tinyurl.com/cdhk-dbtocd
هنگام روی دادن خطا می توان صفحات مشخصی را به کاربر نمایش داد و او را از وضعیت پیش آمده با خبر کرد. در این ویدیو یک صفحه ی کاستوم برای خطای 404 ایجاد می کنیم و با نحوه ی تنظیم محیط پروژه جهت تست حالت Production آشنا می شویم.
https://codehaks.com/go/jnj
https://codehaks.com/go/jnj
با استفاده از اینترفیس IActionResult میتوان در ASP NET Core نوع بازگشتی اختصاصی ایجاد کرد. در این ویدیو می بنیم که چطور یک کاکشن را به صورت فایل CSV در خروجی اکشن تولید کنیم.
https://codehaks.com/go/dyk
https://codehaks.com/go/dyk
Forwarded from 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 اش کنیم
3️⃣ و سرانجام بلاخره قابلیت Filter کردن Include ها به EFCore اضافه شد. (هرچند زودتر باید میشد ولی بازم دمشون گرم خیلی لازم بود✌️)
تا قبل از این نسخه امکان اینکه روی فیلد های چیزی که Include میکنیم شرط بذاریم وجود نداشت. در نتیجه اگه لازم بود فقط 2 رکورد از 100 رکورد موجود رو Include کنیم نمیشد و همش باید از دیتابیس واکشی میشد که این قضیه سرباز بسیار زیادی داشت.
برای حل این مشکل چندین راه حل وجود داشت:
1- استفاده از Projection/Flatening موجود در AutoMapper روی EFCore
2- واکشی اطلاعات به صورت دستی در قالب یه Type دلخواه
3- و بهترین راه اینکه از متد IncludeFilter کتابخونه زیر که مال شرکت ZZZ هست استفاده کنیم
Z.EntityFramework.Plus.EFCore
این کتابخونه رایگانه (با اون یکی نسخه که پولیه اشتباهش نگیرین) و امکانات بسیار خوبی میده و شخصا برای پروژه های واقعی و بزرگ پیشنهادش میکنم. اگه به جا ازش استفاده بشه تاثیر زیادی روی پرفرمنس پروژه میزاره (پیشنهاد میکنم حتما داکیومنتش رو بخونین)
واقعا کمبود این قابلیت خیلی حس میشد تا اینکه بلاخره توی این آپدیت به EFCore اضافه شد و حالا میتونیم براحتی ازش استفاده کنیم
🔸Announcing .NET 5.0 Preview 3
🔹ASP.NET Core updates in .NET 5 Preview 3
🔸Announcing Entity Framework Core 5.0 Preview 3
___________________
@DotNetZoom
🔰این آپدیت با چند تغییر کاربردی و مهم همراه بود که الان با هم بررسیشون میکنیم. بقیه تغییراتشون اکثرا بهبود و رفع باگ بوده یا موارد 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
.NET Blog
Announcing .NET 5.0 Preview 3
Today, we’re releasing .NET 5.0 Preview 3. It contains a set of new features and performance improvements. We’re continuing to work on the bigger features that will define the 5.0 release. The .NET 5.0 Preview 1 post covers what we are planning on building…
Forwarded from کدهک
چگونه یک سرور دانلود بسازیم؟
آموزش مفهوم Range در HTTP
کار با FileResult
بدست آوردن حجم دانلود با Head
دانلود فایل با HttpClient
تماشا در یوتویب :
https://tinyurl.com/cdhks-dwnld-server
آموزش مفهوم Range در HTTP
کار با FileResult
بدست آوردن حجم دانلود با Head
دانلود فایل با HttpClient
تماشا در یوتویب :
https://tinyurl.com/cdhks-dwnld-server
ایرادهای زیادی از بنچمارک تک امپاور گرفته میشود. در این ویدیو به این ایرادات پاسخ میدهیم و بررسی می کنیم چرا تست هایی مثل Plaintext باعث بالارفتن پرفورمنس وب شده است. درباره اسب بخار صحبت می کنیم و میگوییم چرا زبانهایی مثل Erlang یا Nodejs در ابتدای لیست قرار ندارند.
https://codehaks.com/go/tec
https://codehaks.com/go/tec
Forwarded from کدهک
چرا برنامه نویسان دسکتاپ باید به NET Core مهاجرت کنند؟
نسخه ی NET Core 3.0 اولین نسخه ای است که از WinForm و WPF پشتیبانی می کند.
دات نت Core امکان نصب Side-by-Side دارد و میتوان چند نسخه ی NET Core را کنار هم روی یک سیستم عامل نصب کرد.
همچنین می توان برنامه را به صورت self-contained منتشر کرد. در این حالت فایلهای فریم ورک به همراه پروژه منتشر میشود و نیاز به نصب ندارد.
امکان ایجاد فایل یکتا برای کل پروژه وجود دارد و مانند اپ Portable با کپی و پیست تکسیر و بدون نصب اجرا میشود.
کامپایلر جدید امکان حذف کتابخانه های مازاد دات نت را فراهم کرده با این کار حجم بسیار کمتر میشود. دیگر لازم نیست همه فریم ورک NET Core در کنار برنامه ی شما روی سیستم کاربر کپی شود.
حالت WinForm و WPF فقط برای ویندوز است و در لینوکس یا مک اجرا نمیشود. این سیستم عاملها محیط گرافیکی متفاوتی نسبت به ویندوز دارند که پیاده سازی آن روی دات نت کاربردی نیست.
نکته : بخش Form Designer مربوط به WinForm هنوز آماده نشده است و فعلا به صورت Preview و با نصب افزونه قابل استفاده است ولی برای WPF و محیط XAML مشکلی وجود ندارد.
نسخه ی NET Core 3.0 اولین نسخه ای است که از WinForm و WPF پشتیبانی می کند.
دات نت Core امکان نصب Side-by-Side دارد و میتوان چند نسخه ی NET Core را کنار هم روی یک سیستم عامل نصب کرد.
همچنین می توان برنامه را به صورت self-contained منتشر کرد. در این حالت فایلهای فریم ورک به همراه پروژه منتشر میشود و نیاز به نصب ندارد.
امکان ایجاد فایل یکتا برای کل پروژه وجود دارد و مانند اپ Portable با کپی و پیست تکسیر و بدون نصب اجرا میشود.
کامپایلر جدید امکان حذف کتابخانه های مازاد دات نت را فراهم کرده با این کار حجم بسیار کمتر میشود. دیگر لازم نیست همه فریم ورک NET Core در کنار برنامه ی شما روی سیستم کاربر کپی شود.
حالت WinForm و WPF فقط برای ویندوز است و در لینوکس یا مک اجرا نمیشود. این سیستم عاملها محیط گرافیکی متفاوتی نسبت به ویندوز دارند که پیاده سازی آن روی دات نت کاربردی نیست.
نکته : بخش Form Designer مربوط به WinForm هنوز آماده نشده است و فعلا به صورت Preview و با نصب افزونه قابل استفاده است ولی برای WPF و محیط XAML مشکلی وجود ندارد.
Forwarded from کدهک
با Portability Analyzer می توانید سازگاری برنامه های جاری ویندوز فرم و WPF خود را با Core 3.0 چک کنید.
دانلود :
https://bit.ly/2MzKbwZ
دانلود :
https://bit.ly/2MzKbwZ
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
✅ تست راحت تر کد های سی شارپ با 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
___________________
@DotNetZoom
خیلی وقتا نیازمون میشه یه کد سی شارپ رو فقط تست کنیم. یه راهش اینه که یه اپ 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
___________________
@DotNetZoom
Telegram
Attach Files
آموزش Select با قابلیت جستجو
با استفاده از کتابخانه ی Select2 می توانید در میان گزینه ها جستجو کنید. این قابیلت زمانی که تعداد آیتمهای لیست زیاد باشد مانند اسامی استانها یا شهرها به کار می آید. در این ویدیو نحوه ی فارسی کردن و استفاده از Bootstrap به صورت راست به چپ هم آموزش داده شده است.
https://codehaks.com/go/sel
با استفاده از کتابخانه ی Select2 می توانید در میان گزینه ها جستجو کنید. این قابیلت زمانی که تعداد آیتمهای لیست زیاد باشد مانند اسامی استانها یا شهرها به کار می آید. در این ویدیو نحوه ی فارسی کردن و استفاده از Bootstrap به صورت راست به چپ هم آموزش داده شده است.
https://codehaks.com/go/sel
Forwarded from 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
توی پست قبلی در مورد 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
Telegram
Attach Files
Forwarded from کدهک
با استفاده از ابزار Health Checks در ASP NET Core می توانید سلامتی اپلیکیشن خود را به دیگر سرویس ها اطلاع دهید. این ابزار امکان میدهد مواردی مانند اتصال به اینترنت، بالا بودن سرور دیتابیس یا دسترسی به سرویس پیامک و ... را چک کنیم و در صورت وجود مشکل به دیگران اطلاع دهیم.
https://codehaks.com/go/tpk
https://codehaks.com/go/tpk
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
___
هرچند مشکلی که وجود دارد این است که اطلاعات در 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
___
GitHub
GitHub - Azure/diagnostics-eventflow: Microsoft Diagnostics EventFlow
Microsoft Diagnostics EventFlow. Contribute to Azure/diagnostics-eventflow development by creating an account on GitHub.
مقایسه تعداد کلمات کلیدی
از نشانه های پیچیده بودن یک زبان برنامه نویسی تعداد کلمات کلیدی (رزرو شده) آن است.کد نویسی حاصل بکارگیری کلمات کلیدی در Syntax زبان است. هرچقدر تعداد این کلمات بیشتر باشد به خاطر سپاری آنها سخت تر میشود و برای نوشتن یک کد روشهای متنوع تری در اختیار برنامه نویس قرار میگیرد. دادن حق انتخابهای بیشتر به برنامه نویس گاهی باعث سردرگمی میشود در نتیجه توابعی که خروجی یکسان اما کدهای متفاوتی دارند زیاد میشود. این موضوع دیباگ کردن و کار تیمی را مشکلتر میکند.
کلمات کلیدی نشانه ای از قابلیت های یک زبان برنامه نویسی نیز هست. هر چقدر تعداد این کلمات کلیدی بیشتر باشد برنامه نویسی در کد تولید شده توسط کامپایلر کنترل بیشتری دارد.
سی شارپ از جمله زبانهایی است بیشترین تعداد کلمات کلیدی را دارد.
مثلا در سی شارپ کلمات کلیدی While و Do While و For همه برای نوشتن حلقه استفاده میشود. در طرف مقابل زبان Golang اصرار زیادی به محدود نگه داشتن کلمات کلیدی دارد و فقط از کلمه ی کلیدی for برای حلقه استفاده میکند.
از نشانه های پیچیده بودن یک زبان برنامه نویسی تعداد کلمات کلیدی (رزرو شده) آن است.کد نویسی حاصل بکارگیری کلمات کلیدی در Syntax زبان است. هرچقدر تعداد این کلمات بیشتر باشد به خاطر سپاری آنها سخت تر میشود و برای نوشتن یک کد روشهای متنوع تری در اختیار برنامه نویس قرار میگیرد. دادن حق انتخابهای بیشتر به برنامه نویس گاهی باعث سردرگمی میشود در نتیجه توابعی که خروجی یکسان اما کدهای متفاوتی دارند زیاد میشود. این موضوع دیباگ کردن و کار تیمی را مشکلتر میکند.
کلمات کلیدی نشانه ای از قابلیت های یک زبان برنامه نویسی نیز هست. هر چقدر تعداد این کلمات کلیدی بیشتر باشد برنامه نویسی در کد تولید شده توسط کامپایلر کنترل بیشتری دارد.
سی شارپ از جمله زبانهایی است بیشترین تعداد کلمات کلیدی را دارد.
مثلا در سی شارپ کلمات کلیدی While و Do While و For همه برای نوشتن حلقه استفاده میشود. در طرف مقابل زبان Golang اصرار زیادی به محدود نگه داشتن کلمات کلیدی دارد و فقط از کلمه ی کلیدی for برای حلقه استفاده میکند.
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
❇️ معرفی برنامه 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
به تازگی شرکت 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
در این ویدیو یک Select با جستجوی افزایشی از طریق AJAX پیاده می کنیم که اطلاعات بیش از 4 میلیون ردیف را فیلتر میکند و سپس پرفورمنس SQL و Redis را مقایسه می کنیم.
https://codehaks.com/go/rds
https://codehaks.com/go/rds