کدهک
Открыть в Telegram
آموزشگاه تخصصی دات نت https://codehaks.com لینکدین : https://www.linkedin.com/in/codehaks یوتیوب: https://www.youtube.com/@codehaksfa ارتباط با مدیر : Admin: @codehak Email: ghods.hakim@hotmail.com call: 09380146555
Больше1 797
Подписчики
Нет данных24 часа
-27 дней
-630 день
Архив постов
1 797
اولین نسخه ی Windows Terminal منتشر شد
ابزار Windows Terminal از سال گذشته در وضعیت پیش نمایش بود اما امروز نسخه ی 1.0 آن رسما منتشر شد.
به عنوان یک دولوپر همیشه نیاز به اجرای دستورات در خط فرمان دارید و در گذشته ابزاری مانند CMD و Powershell این امکان را فراهم می کردند. اما Windows Terminal تلاش میکند تمامی نیازمندی های شما را در یک محل جمع کند.
در Windows Terminal می توانید چند تب باز کنید و همزمان روی Ubuntu یا Powershell کار کنید یا یک تب را با استفاده از قابلیت Pane به چند بخش تقسیم کنید.
ویندوز ترمینال برای نمایش متن از GPU استفاده میکند و اینکار سرعت نمایش اطلاعات را بسیار افزایش میدهد همچنین امکان نمایش تصویر و آیکون در محیط ترمینال را فراهم میکند.
1 797
محیط طراحی WinForm برای NET Core
در آپدیت 16.07 که امروز منتشر شد امکان استفاده از محیط طراحی فرم های ویندوز به دات نت Core اضافه شده است.
برای استفاده از این قابلیت باید ابتدا Visual Studio را به آخرین نسخه آپدیت کنید سپس در تنظیمات Tools > Options > Environment > Preview
گزینه ی Use the preview Windows Forms designer for .NET Core apps را تیک بزنید.
1 797
اضافه شدن GUI لینوکس به ویندوز
ابزار Windows Subsystem For Linux به کاربران ویندوز امکان میدهد برنامه های لینوکس را در ویندوز اجرا کنند اما این موضوع فقط محدود به اپلیکیشن هایی بود که رابط کاربری نداشتند و فقط در خط فرمان کار می کردند.
مایکروسافت در بیلد 2020 اعلام کرد به زودی پشتیبانی از رابط کاربری لینوکس هم به WSL اضافه میشود تا امکان استفاده از اپ هایی که رابط کاربری دارند ممکن شود. تصویر نمونه ی اجرای برنامه مدیریت فایل GNOME را در محیط ویندوز 10 نشان میدهد.
همچنین Docker Desktop در نسخه ی بعدی از WSL2 استفاده خواهد کرد که نیاز به Hyper-V را از بین میبرد و سرعت اجرای آن را افزایش میدهد. با این تغییر امکان اجرای Docker در نسخه ی Windows Home هم ممکن میشود.
نسخه ی WSL2 از آپدیت ماه جاری در ویندوز قرار میگیرد.
1 797
آشنایی با Rate Limiting در ASP NET Core
در این ویدیو می بینیم که چطور میشود در ASP NET Core ترافیک ورودی به سایت رو بر اساس یک آی پی خاص محدود کرد و فقط به تعداد مشخصی پاسخ داد.
https://tinyurl.com/cdhk-rate-lmt
1 797
در این ویدیو درباره HttpClient و اینترفیس IHttpClientFactory صحبت می کنیم ، یک برنامه ی مونیتور پورت TCP میسازیم و به این سوال پاسخ میدیم که چرا باید از HttpClientFactory استفاده کنید.
https://codehaks.com/go/tuw
1 797
در این ویدیو یک Select با جستجوی افزایشی از طریق AJAX پیاده می کنیم که اطلاعات بیش از 4 میلیون ردیف را فیلتر میکند و سپس پرفورمنس SQL و Redis را مقایسه می کنیم.
https://codehaks.com/go/rds
1 797
❇️ معرفی برنامه 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
1 797
مقایسه تعداد کلمات کلیدی
از نشانه های پیچیده بودن یک زبان برنامه نویسی تعداد کلمات کلیدی (رزرو شده) آن است.کد نویسی حاصل بکارگیری کلمات کلیدی در Syntax زبان است. هرچقدر تعداد این کلمات بیشتر باشد به خاطر سپاری آنها سخت تر میشود و برای نوشتن یک کد روشهای متنوع تری در اختیار برنامه نویس قرار میگیرد. دادن حق انتخابهای بیشتر به برنامه نویس گاهی باعث سردرگمی میشود در نتیجه توابعی که خروجی یکسان اما کدهای متفاوتی دارند زیاد میشود. این موضوع دیباگ کردن و کار تیمی را مشکلتر میکند.
کلمات کلیدی نشانه ای از قابلیت های یک زبان برنامه نویسی نیز هست. هر چقدر تعداد این کلمات کلیدی بیشتر باشد برنامه نویسی در کد تولید شده توسط کامپایلر کنترل بیشتری دارد.
سی شارپ از جمله زبانهایی است بیشترین تعداد کلمات کلیدی را دارد.
مثلا در سی شارپ کلمات کلیدی While و Do While و For همه برای نوشتن حلقه استفاده میشود. در طرف مقابل زبان Golang اصرار زیادی به محدود نگه داشتن کلمات کلیدی دارد و فقط از کلمه ی کلیدی for برای حلقه استفاده میکند.
1 797
یکی از ابزارهای قدرتمند برای 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
___
1 797
با استفاده از ابزار Health Checks در ASP NET Core می توانید سلامتی اپلیکیشن خود را به دیگر سرویس ها اطلاع دهید. این ابزار امکان میدهد مواردی مانند اتصال به اینترنت، بالا بودن سرور دیتابیس یا دسترسی به سرویس پیامک و ... را چک کنیم و در صورت وجود مشکل به دیگران اطلاع دهیم.
https://codehaks.com/go/tpk
1 797
دوره آموزش کار با Collection ها در سی شارپ و ASP NET Core
پخش در یوتوب :
https://kutt.it/rJvT82
1 797
✅ تست کد های #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
1 797
آموزش Select با قابلیت جستجو
با استفاده از کتابخانه ی Select2 می توانید در میان گزینه ها جستجو کنید. این قابیلت زمانی که تعداد آیتمهای لیست زیاد باشد مانند اسامی استانها یا شهرها به کار می آید. در این ویدیو نحوه ی فارسی کردن و استفاده از Bootstrap به صورت راست به چپ هم آموزش داده شده است.
https://codehaks.com/go/sel
1 797
✅ تست راحت تر کد های سی شارپ با C# Interactive
خیلی وقتا نیازمون میشه یه کد سی شارپ رو فقط تست کنیم. یه راهش اینه که یه اپ 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
___________________
@DotNetZoom1 797
با Portability Analyzer می توانید سازگاری برنامه های جاری ویندوز فرم و WPF خود را با Core 3.0 چک کنید.
دانلود :
https://bit.ly/2MzKbwZ
1 797
چرا برنامه نویسان دسکتاپ باید به 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 مشکلی وجود ندارد.
1 797
ایرادهای زیادی از بنچمارک تک امپاور گرفته میشود. در این ویدیو به این ایرادات پاسخ میدهیم و بررسی می کنیم چرا تست هایی مثل Plaintext باعث بالارفتن پرفورمنس وب شده است. درباره اسب بخار صحبت می کنیم و میگوییم چرا زبانهایی مثل Erlang یا Nodejs در ابتدای لیست قرار ندارند.
https://codehaks.com/go/tec
1 797
چگونه یک سرور دانلود بسازیم؟
آموزش مفهوم Range در HTTP
کار با FileResult
بدست آوردن حجم دانلود با Head
دانلود فایل با HttpClient
تماشا در یوتویب :
https://tinyurl.com/cdhks-dwnld-server
