کدهک
1.93K subscribers
1.3K photos
7 videos
1 file
675 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
ذخیره Object سی شارپ به صورت JSON در دیتابیس و بازخوانی آن.

https://www.aparat.com/v/trYp3

https://youtu.be/kNm8rdkoqzU
3
از نسخه EF 7.0 قابلیت های جدیدی برای کار با JSON اضافه شده است. در این ویدیو می بینیم که چطور با EF داده های JSON در دیتابیس ذخیره و بازخوانی میشود.


https://www.aparat.com/v/7QZV0

https://youtu.be/7CHrrAlwMQE
👍54
نگاهی به موتور جستجوگر بینگ و قابلیت جدید چت با هوش مصنوعی

https://aparat.com/v/UWo1P

https://youtu.be/RARjLErAzxI
5
مقایسه جالب انواع مپرهای دات نت

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

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

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

ابزار Mapster از آنجایی که نیاز به هیچ تنظیم یا تزریق وابستگی ندارد ساده ترین ابزار مپر است که پرفورمنس قابل قبولی هم دارد.

نسخه کامل ویدیو:
https://youtu.be/U8gSdQN2jWI
👍274🔥2
میان افزار یا Middleware ابزاری است که در ASP NET Core برای خواندن و نوشتن در مسیر Request و Response استفاده میشود. در این ویدیو به معرفی میان افزارها می پردازیم.

https://youtu.be/JVQWP_6iAMo
👍62
با استفاده از Image Creator در جستجوگر Bing می توانید از هوش مصنوعی درخواست کنید تصویر توصیفی شما را ترسیم کند.
👍10🔥3
اضافه کردن کامپوننت Blazor به پروژه وب در ASPNET Core 7.0

https://youtu.be/vKvqVoD2Rcg
3👍2
Forwarded from کدهک
آنالیز کیفیت کد با ویژوال استودیو

https://youtu.be/4Lc8-7biEbE
👍72🔥1
هایلایت شدن روتها در ASPNET Core 8.0

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

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

این موارد برای Minimal API و Blazor و Web API هم در دسترس خواهند بود.
👍20🔥41
تفاوت بین decimal و double در #C

در #C ، دو نوع داده عددی به نام‌های decimal و double وجود دارند که برای نمایش اعداد اعشاری به کار می‌روند.

اصلی‌ترین تفاوت بین این دو دقت و اندازه آن‌هاست. decimal یک نوع داده ۱۲۸ بیتی است و حدود ۲۸-۲۹ رقم معنادار را با محدوده‌ای حدوداً ±۷٫۹ × ۱۰²⁸ قابل نمایش است. این نوع داده برای محاسبات مالی و پولی که دقت بالا مورد نیاز است، مناسب است. decimal از حساب عددی پایه ۱۰ استفاده می‌کند، بنابراین اعداد اعشاری را نسبت به double می‌تواند دقیق‌تر نمایش دهد.

از سوی دیگر، double یک نوع داده ۶۴ بیتی است که حدود ۱۵-۱۶ رقم معنادار را با محدوده‌ای حدوداً ±۵٫۰ × ۱۰^-³² تا ±۱٫۷ × ۱۰³⁰ قابل نمایش است. این نوع داده برای محاسبات علمی و فنی که سرعت و محدوده بیشتری مورد نیاز است، مناسب است. double از حساب عددی پایه ۲ استفاده می‌کند، بنابراین اعداد اعشاری را نسبت به decimal با دقت کمتری نمایش میدهد.

بطور کلی، اگر به دقت بالا نیاز دارید، decimal را برای محاسبات مالی و پولی استفاده کنید. از double را برای محاسبات علمی و فنی و یا هنگامی که نیاز به اعداد بزرگ با دقت کمتر است استفاده کنید.
👍251
چطور با کمک هوش مصنوعی در Bing کدهای بهتری بنویسیم ؟

آموزش اصلاح و باز نویسی کد با کمک AI در بینگ و اضافه کردن تست واحد.


https://youtu.be/u7nm9DMMfmY
👍7🔥4
سه مزیت اصلی استفاده از http2 در مقایسه با http1.1

سرعت بالاتر: یکی از مزایای اصلی استفاده از HTTP/2، افزایش سرعت بارگیری وب سایت‌ها است. HTTP/2 از یک پروتکل ارتباطی جدید به نام "Multiplexing" برای انتقال بیشتر از یک فایل به صورت همزمان استفاده می کند. این به مرورگرها اجازه می دهد تا دانلود صفحات وب سریع تر و با کمترین تأخیر انجام شود.

بهینه‌سازی پهنای باند: HTTP/2 برای ارسال درخواست ها و پاسخ ها از فشرده سازی هدر و فشرده سازی داده استفاده می کند. این کاهش حجم داده های ارسالی و دریافتی را سبکتر می کند و بهبود پرفورمنس آپلود و دانلود صفحات را به دنبال دارد.

امنیت بالاتر: استفاده از HTTPS در HTTP/2 الزامی است. در واقع، HTTP/2 برای بهبود امنیت انتقال داده ها از SSL / TLS استفاده می کند. این بهبود در امنیت داده ها به معنی کاهش خطرات امنیتی و حفاظت از کاربران است.
👍11🔥2
هوش مصنوعی GPT-4 به طور قابل توجهی بزرگتر از نسخه GPT-3 است و تخمین زده میشود که با بیش از 100 تریلیون پارامتر نسبت به 175 میلیارد پارامتر GPT-3 آموزش دیده باشد. GPT-4 در کارهایی مانند تولید زبان و ترجمه بهتر عمل می کند. در تشخیص صدا و ویدیو و همچنین تولید آن بسیار پیشرفته تر است و به نظر میرسد خیلی از مشاغل و تکنولوژی های امروز را به صورت جدی تحت تاثیر قرار دهد.

نسخه 4 امکان جمع آوری اطلاعات بیشتر و تحلیل بسیار دقیقتری را فراهم می کند. اما برای عموم در دسترس نیست و فقط از طریق یک API مخفی به گروه کوچکی از دانشگاهیان و توسعه دهندگان ارائه میشود.
👍9
چگونه کیفیت کدهای سی شارپ را بالاتر ببریم؟

https://www.aparat.com/v/tdaVX


https://t.me/one_programmer/168
4👍3🔥3
‏WebGPU یک API گرافیکی است که برای دسترسی به قدرت پردازش گرافیکی سیستم‌های در مرورگر طراحی شده است. این API از طریق JavaScript قابل دسترسی است و به توسعه‌دهندگان اجازه می‌دهد تا برنامه‌های گرافیکی پیشرفته را در مرورگرها اجرا کنند.

کتابخانه‌هایی مانند Three.js و Babylon.js از WebGPU پشتیبانی می‌کنند.

به تازگی گوگل در کنفرانس I/O 2023 اعلام کرده است که این قابلیت در کروم فعال شده و پشتیبانی میشود.

در کنفرانس Google I/O اعلام شد که WebGPU به برنامه های وب روی تلفن همراه یا لپتاپ امکان استفاده مستقیم‌تر از نرم افزار های هوش مصنوعی را می‌دهد.

این ارتقاء می تواند در دامنه گسترده ای از برنامه ها و اپ ها مورد استفاده قرار گیرد. مت ودل، رهبر توسعه دهندگان Chrome می گوید که "WebGPU وب را آماده هوش مصنوعی می کند".

اجرای هوش مصنوعی به صورت محلی روی دستگاه هایی مانند تلفن همراه و لپتاپ باعث کم شدن مشکلات پهنای باند شبکه میوشد و کنترل بیشتر بر روی داده ها خصوصی را فراهم میکند.
👍12
‏HTTP/3 پروتکلی است که برای جایگزینی HTTP/2 طراحی شده است. این پروتکل به کمک QUIC اجرا می شود و از پروتکل UDP برای ارسال داده ها استفاده می کند.

سه مزیت اصلی HTTP/3 نسبت به HTTP/2 :

1. کاهش تاخیر در شروع ارتباط:
در HTTP/2، برای شروع هر ارتباط، باید یک دستورالعمل (Handshake) انجام شود که این عمل ممکن است برای برقراری ارتباط اولیه بین کلاینت و سرور زمان زیادی بگیرد. با استفاده از QUIC، تاخیر در شروع ارتباط به صورت قابل توجهی کاهش پیدا می کند.

2. ایمنی و امنیت بیشتر:
‏ HTTP/3 برای ارتباط با TLS 1.3 طراحی شده است و امنیت بیشتری دارد. در این روش فرایند رمزگذاری بهینه تر شده که باعث کاهش تاخیر و افزایش کارایی می شود.

3. ارتباط پایدارتر:
در HTTP/2، اگر بسته هایی هنگام انتقال از بین روند، کلیه بسته های بعدی در صف انتظار قرار می گیرند تا بسته های گمشده دوباره فرستاده شوند. در HTTP/3، از الگوریتم 'retransmission' استفاده می شود که امکان ارسال بسته های گمشده را به صورت همزمان با بسته های دیگر فراهم می کند که باعث بهبود کیفیت ارتباط و کاهش تاخیر در انتقال داده ها می شود.
‌‏
👍20
‏Nginx یک وب سرویس قدرتمند و محبوب است که امکان مقیاس پذیری افقی و عمودی سریع را فراهم می کند.
با توزیع بار، مدیریت توزیع ترافیک و استفاده از پراکسی معکوس، می توانید سایت خود را به راحتی مقیاس پذیر کنید و همچنین بار ترافیک را به صورت موازی بین سرورهای مختلف تقسیم کنید.


https://aparat.com/v/5oQkx
👍6🔥1
بارد یک چت‌بات LLM است که توسط هوش مصنوعی گوگل توسعه یافته است. این مدل بر روی مجموعه داده‌های بزرگی از متون و کدها آموزش دیده است و قادر است متن تولید کند. زبانها را به هم ترجمه کند و انواع مختلفی از محتوای خلاقانه و پاسخ به سوالات تولید کند.

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

در حال حاضر بارد قادر به درک زبان نیست و نمی توانید با زبان فارسی با آن ارتباط برقرار کنید.

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

می توانید از طریق آدرس زیر از بارد استفاده کنید:

https://bard.google.com
👍61
چرا Type-Safety در CLR مهم است؟

یکی از قابلیت های اصلی که Common Language Runtime در دات نت فراهم می کند Type-Safety است.

امنیت نوع یا Type-Safety تضمین می‌کند که متغیرها در خطوط برنامه دارای نوع متغیر همسان یا سازگار باهم باشند. در این حالت CLR در صورت عدم مطابقت بین نوع متغیرها از اجرای برنامه جلوگیری میکند تا با این روش درستی اجرای برنامه را تضمین کند.

امنیت نوع با جلوگیری از دسترسی غیرمجاز یا تغییر خانه های حافظه، به امنیت حافظه کمک می‌کند. در CLR، همه اشیاء به نوع خود مرتبط می‌شوند و در زمان اجرا صحت نوع چک میشود. این کار از خطاهای متداول برنامه‌نویسی مانند سرریز بافر، استثناء null و عدم تطابق نوع جلوگیری می‌کند. هر کدام از این موارد می‌تواند به آسیب‌پذیری‌های امنیتی، کرش‌ها یا رفتار غیرقابل پیش‌بینی ختم شود.

مثلا درحملات type confusion کد مخرب سعی میکند با بهره‌برداری از اشیاء با نوع ضعیف یا نادرست داده های برنامه را دستکاری کند و رفتار آن را تغییر دهد.

با اجرای صحت نوع در CLR امکان این نوع آسیب‌پذیری‌هایی در زبانهای دات نت کمتر میشود.
👍17🔥2
چرا به آن x86 میگویند؟

اصطلاح "x86" از روش نامگذاری استفاده شده برای میکروپرسسورهای اینتل بدست آمده است. میکروپرسسور اینتل 8086 در سال ۱۹۷۸ عرضه شد و اولین میکروپرسسور ۱۶ بیتی در معماری x86 اینتل بود. نسل‌های بعدی پردازنده‌ها، از جمله اینتل 80286 و اینتل 80386 و ... ، همچنان از روش نامگذاری "۸۶" استفاده می‌کردند.

با گذر زمان، اصطلاح "x86" به یک روش معمول برای اشاره به خانواده‌ای از پردازنده‌ها که سازگار با اینتل 8086 اصلی بودند، تبدیل شد. هرچند که معماری از ۱۶ بیتی فراتر رفته و شامل نسخه‌های ۳۲ بیتی (IA-32) و ۶۴ بیتی (x86-64) شده است، اصطلاح "x86" به عنوان اختصاری برای این خانواده‌ از پردازنده‌ها و معماری‌های مرتبط با آن‌ همچنان به کار می‌رود.

اصطلاح "x86" اغلب به طور خاص به نسخه ۳۲ بیتی معماری x86 اشاره دارد. نسخه ۶۴ بیتی این معماری که با نام AMD64 توسط AMD معرفی شد و سپس توسط اینتل با نام Intel 64 پذیرفته شد، به طور معمول به عنوان "x86-64" یا "x64" شناخته می‌شود.
👍254
آدرس فایل در دات نت برای سازگاری با لینوکس و داکر

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

‏1- از Path.Combine استفاده کنید :
هیچوقت آدرس فایل ها را با + ترکیب نکنید. آدرس دهی در ویندوز با \ و در لینوکس با / انجام میشود و تابع Combine در فضای نامی System.IO می تواند بر اساس سیستم عامل جاری جدا کننده درست را در مسیر فایل قرار دهد.

‏2- از آدرس دهی نسبی استفاده کنید:
موقعیت فایل را بر اساس محل قرار گرفتن اپلیکیشن مشخص کنید و از آدرس دهی مطلق که به درایو یا مسیر مشخصی روی سیستم عامل اشاره می کند استفاده نکنید. در ASP.NET Core می توانید از اینترفیس IWebHostEnvironment استفاده کنید.

‏3- برای دسترسی به آدرس فولدرهای خاص از Enviroment Variables استفاده کنید:
‏با کمک Environment.SpecialFolder می توانید به مسیر فولدهایی MyDocuments یا ApplicationData در سیستم عامل ویندوز و لینوکس دسترسی داشته باشید.
👍40🔥3