کدهک
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
لوگ کردن رویدادها در EF Core 5.0

https://youtu.be/Oe4qN43mk90
ابزار TempData چطور کار میکند؟

https://youtu.be/8qfz6OYyBa4
Forwarded from کدهک
در ویژوال استودیو می توانید محتوای JSON را از کلیپ بورد مستقیما به کلاسهای سی شارپ تبدیل کنید.

برای استفاده ابتدا باید JSON را به کیپبورد کپی کنید و در VS یک کلاس خالی ایجاد کنید سپس Paste کنید.
در ASP NET Core ابزار IoC Container از سه روش Scoped و Transient و Singleton پشتیبانی می کند. در این ویدیو اثر استفاده از هرکدام را بررسی می کنیم

https://youtu.be/OhcYyK-w5Mg
شمارش خودکار ارجاع یا ARC روشی است که در زبانهایی مانند Objective-C و Swift برای مدیریت حافظه استفاده میشود.

در این روش پاکسازی حافظه یک شی زمانی انجام میشود که دیگر هیچ رفرنسی به آن داده نشده باشد.

در GC که #C و Java از آن استفاده میکنند پاکسازی حافظه در بازه های زمانی اتفاق می افتد و باعث مکث در برنامه میشود. همچنین هنگامی که حافظه سیستم پر میشود باید GC در بازه های زمانی کوتاهتر اجرا شود.

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

اما ARC قادر به مدیریت Reference Cycle نیست یعنی زمانی که شی A فقط به شی B وابسته باشد و برعکس تعداد رفرنس ها هیچوقت صفر نمیشود و نیاز به مکانیزم بیرونی برای تشخیص و پاکسازی بوجود می آید در غیر این صورت Memory Leak پیش می آید.

همچنین دفعات زیاد رفرنس دهی یا حذف رفرنس از شی در ARC غیر بهینه عمل میکند. در حالی که در GC تاثیر نمیگذارد.

در iOS از نسخه 5 به بعد از ARC استفاده میشود.
آموزش 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