کدهک
1.95K subscribers
1.29K photos
7 videos
1 file
672 links
آموزشگاه تخصصی دات نت

https://codehaks.com

لینکدین :
https://www.linkedin.com/in/codehaks

یوتیوب:
https://www.youtube.com/@codehaksfa

ارتباط با مدیر :
Admin: @codehak
Email: ghods.hakim@hotmail.com
call: 09380146555
Download Telegram
آموزش Collection Binding در ASP NET Core 6.0

https://youtu.be/mx-gvWYAkNg
بررسی مکانیزم Garbage Collection با کمک ابزار پروفایل در ویژوال استودیو

https://youtu.be/2AxqmNTmC-s
ارتباط با اکسل در دات نت Core
https://youtu.be/RrU7KoU7-08
آموزش Collection Binding با Blazor Server و مقایسه آن با Blazor Web Assembly

https://youtu.be/uYT3k0P3rdc
در این ویدیو یک Custom TagHelper Attribute تعریف می کنیم که می تواند تگهای HTML درون ویو را پنهان کند.

https://youtu.be/kYdnCIohbIs
آموزش yield Return در سی شارپ

https://youtu.be/tNcNgPK_61s
مایکروسافت شرکت تولید کننده بازی Activision Blizzard را به قیمت 68.7 میلیارد دلار خریداری می کند.

این خرید به صورت تمام نقدی انجام میشود و پس از آن مایکروسافت را به سومین شرکت تولید کننده بازی های رایانه ای تبدیل می شود.

بازی هایی مثل Call of Duty و Candy Crush و Warcraft از محصولات Activision Blizzard هستند که به مالکیت مایکروسافت منتقل می شوند.

این بزرگترین گام مایکروسافت برای توسعه شاخه بازی و پلتفرم XBox به شمار میرود.
مقایسه حجم دانلود اپلیکیشن های Blazor WebAssembly

اپ هایی که با Blazor WebAssembly پیاده میشوند برای اجرا ابتدا باید به طور کامل روی دستگاه کاربر دانلود شوند. این رفتار مشابه مانند React و Angular است. البته در مورد فریم ورکهای جاوا اسکریپت حجم دانلود به مراتب کمتر است.

حجم فریم ورک دات نت در وب اسمبلی چیزی در حدود 1 مگابایت است.

در حالت Ahead of time compilation که سورس بجای ترجمه در زمان اجرا از قبل کامپایل میشود حجم تا 3 مگابایت افزایش میابد.

استفاده از AOT برای اپ هایی که نیاز به پرفورمنس بالا دارند و CPU-Bound هستند توصیه میشود. مثل بازی ها و برنامه هایی با محاسبات ریاضی سنگین.

استفاده از EF Core حجم اپ های Blazor را به حد چشمگیری افزایش میدهد. پس اگر با دیتابیس کار می کنید (مثل sqlite در مرورگر) کاربر برای استفاده از برنامه شما باید چیزی در حدود 5 مگابایت را دانلود کند. البته این دانلود فقط در اجرای اول نیاز است و در مراحل بعدی کاهش میابید.
آشنایی با LLVM

این پروژه در سال 2000 به عنوان یک تحقیق دانشجویی توس کریس لتنر شروع شد.

در گذشته وقتی میخواستید یک زبان برنامه نویسی جدید بسازید بایدفرآیند خوانش کد و تبدیل آن به زبان ماشین را خودتان پیاده میکردید. مشکل این است که پردازنده های سخت افزاری متعددی در بازار وجود دارد و ساز و کار x86 با ARM و PowerPC و ... متفاوت است.

این مشکلی است که LLVM به خوبی حل می کند. LLVM مجموعه ای از ابزار با API های ماژولار در اختیار شما قرار میدهد تا بتوانید سورس کد را به زبانی میانی یا Intermediate Representation تبدیل کنید. فقط کافی است کدهای مربوط به Front-End را بنویسید و به LLVM ارسال کنید.

این Front-End بخشی از کامپایلر است که وظیفه ی Parse کردن و تشخیص خطاهای Syntax را به عهده دارد. بعد از اینکه کد شما به IR تبدیل شد LLVM می تواند آن را برای انواع مختلف سخت افزار آماده کند و کد ماشین مورد نیاز را تولید کند.

ابزار LLVM کمک کرده فرآیند طراحی زبان های برنامه نویسی جدید آسانتر شود و در نتیجه زبانهایی مثل Kotlin و Rust و Swift در کوتاهترین زمان جای خود را بین برنامه نویسان باز کرده اند.
یک فانکشن در SQL Server تعریف می کنیم و آن را در یک Computed Column استفاده می کنیم و سرعت اجرای آن را با Sub Query در EF Core مقایسه می کنیم.


https://youtu.be/uCASTdXdYMg
با استفاده از Razor Class Library می توانید ویوها و صفحات سایت رو به پروژه ها جدا منتقل کنید.

https://youtu.be/ByHhEebHz1c
معماری WSL2

از نسخه 18917 ویندوز به بعد می توانید از قابلیت Windows Subsystem For Linux نسخه 2 استفاده کنید. معماری این نسخه تغییرات اساسی داشته و پرفورمنس محیط لینکوس را به طول قابل توجهی افزایش میدهد.

به طور کلی WSL به شما امکان میدهد روی ویندوز یک نسخه از لینوکس مثل Ubuntu یا CentOs نصب و اجرا کنید. در مقایسه با ابزاری مثل Virtual Box این کار راحت تر است و به منابع کمتری نیاز دارید.

در WSL1 دستورات Linux باید به Windows ترجمه میشد و بعد اجرا میشد اما در WSL2 هسته لینکوس به طور مجزا روی ویندوز نصب میشود و تنها نیاز به Hypvervisor جهت اجرا دارد که سربار به مراتب کمتری دارد.

با WSL2 می توانید عملا هر نرم افزار Linux را روی ویندوز اجرا کنید و این گزینه برای توسعه دهندگان نرم افزار میتواند ابزار خوبی باشد.

نسخه جدید Docker ویندوز هم روی WSL2 اجرا میشود.
نصب Redis در ویندوز با کمک WSL و Ubuntu

https://youtu.be/ICNSnc3zsVs
با ADO.NET می توایند با دیتابیس ارتباط برقرار کنید و دیتای آن را بخوانید یا تغییر دهید. در این ویدیو نحوه استفاده از ADO.NET در یک پروژه ASP.NET Core آموزش داده میشود و سپس به مقایسه آن با EF Core 5.0 می پردازیم.

https://youtu.be/ik5rTMDsP_c
ارسال ایمیل در پس زمینه با Background Service

https://youtu.be/SV0M_IvKB7o
عمر NET 5.0 تا سه ماه دیگر به پایان میرسد.

طبق اعلام قبلی مایکروسافت عمر نسخه 5.0 دات نت که سال گذشته منتشر شد در تاریخ 8 می 2022 به پایان میرسد و از این تاریخ به بعد هیچ آپدیتی برای آن ارائه نمیشود.

توسعه دهندگانی که از دات نت 5.0 استفاده میکنند بهتر است به دات نت 6.0 آپدیت کنند.

نسخه 6.0 شامل پشتیبانی بلند مدت (سه ساله ) میشود و حتی پس از انتشار نسخه 7.0 هم برای آن آپدیت ارائه میشود.
آموزش استفاده از Concurrent Queue و ارسال ایمیل در پس زمینه

https://youtu.be/1DiunO-m5N0
آموزش استفاده از Task برای ارسال همزمان چند ایمیل

https://youtu.be/uDocx0m7URo
دات نت 20 ساله شد

اولین نسخه دات نت سال 2002 منتشر شد. 20 سال پیش در جریان کنفرانس PDC مایکروسافت برای اولین بار دات نت را معرفی کرد و سی دی آن را به توسعه دهندگان حاضر در جلسه هدیه داد.

دات نت ابتدا فقط برای ویندوز ارائه شد و قرار بود محصولی باشد که کمک کند ویندوز و نرم افزارهایش تا ابد به هم گره بخورند. اما زمانه عوض شد و مایکروسافت هم تغییر کرد.

دات نت امروز متن باز شده و به صورت رایگان قابل نصب و توسعه است. سورس کامل آن را می توانید از گیتهاب دانلود کنید و روند توسعه قابلیت های جدید آن را یک به یک دنبال کنید یا در پیاده سازی آن مشارکت کنید.

با دات نت می توانید بازی، وب سایت یا هوش مصنوعی طراحی کنید و برای موبایل و دسکتاپ اپ توسعه دهید. محیط یکپارچه و ابزار قدرتمندی چون ویژوال استودیو فرآیند پیاده سازی را به ساده ترین شکل پیش میبرد.

امروز بعد از 20 سال همچنان روز خوبی برای یک توسعه دهنده دات نت بودن است.
Forwarded from کدهک
آشنایی با Throughput

هنگام اندازه گیری پرفورمنس در نرم افزارهای تحت وب از اصطلاح throughput استفاده می شود که بر اساس تعداد عملیات تقسیم بر زمان محاسبه می شود.

معمولا مقدار throughput بر اساس دو واحد درخواست بر ثانیه یا کیلوبایت بر ثانیه نماش داده میشود.

بر اساس شرایط پروژه ممکن است یکی از دو عدد اهمیت داشته باشد. پاسخگویی به تعداد زیاد درخواست در زمان کوتاه در شرایطی که حجم درخواست ها بسیار کم است لزوما نشان دهنده پرفورمنس بالا نیست.

در درون سرورهایی که با ASP NET و سی شارپ کار میکنند تخصیص حافظه ارزان و سریع است اما برای پاکسازی نیاز به Garbage Collection داریم.

هنگامی که GC اتفاق می افتد برنامه متوقف میشود در این زمان هیچ داده ای جابجا نمیشود در نتیجه مقدار Throughput کم میشود و پرفورمنس افت می کند.

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