کدهک
1.93K subscribers
1.3K photos
7 videos
1 file
676 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
در آخرین نسخه از پیش نمایش NET Core 3.0 وابستگی به کتابخانه ی JSON.NET حذف شده است و بجای آن از کتابخانه ی جدید System.Text.Json استفاده میشود.

کتابخانه ی Newton.Json سالهاست که برای پردازش اطلاعات JSON در دات نت مورد استفاده قرار میگیرد اما توسط تیمی خارج از مایکروسافت و به صورت متن باز توسعه داده میشود. چند ماه قبل این محصول زیر پرچم NET Foundation آمد و توسط مایکروسافت حمایت و پشتیبانی میشد اما در نسخه ی جدید قرار است به طور کلی از فریم ورک ASP NET Core حذف شود. این تصمیم در راستای یکپارچه کردن محیط ASP NET گرفته شده است. و قرار است تمام کتابخانه های Third-party این فریم ورک جایگزین یا حذف شوند.

کتابخانه ی جدید JSON در حدود 1.3 تا 5 برابر سریعتر عمل میکند.

در این مرحله هدف مایکروسافت این است که یک کتابخانه ی سبک و سریع برای کار با JSON در اختیار توسعه دهندگان قرار دهد و هنوز همه ی امکانات کتابخانه ی قدیمی در نسخه ی جدید پیاده نشده است. به همین دلیل امکان بازگشت به JSON NET از طریق اضافه کردن رفرنس و تزریق سرویس وجود دارد.
آشنایی با Throughput

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

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

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

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

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

هر چه تخصیص و پاکسازی حافظه بهینه تر انجام شود از نگاه ناظر بیرونی (کاربر) سایت نرمتر کارمیکند. این موضوع به خصوص در بازی های آنلاین که توقف برنامه آزار دهنده است اهمیت بیشتری پیدا میکند.
زبان Rust در سال 2019 به عنوان محبوبترین زبان برنامه نویسی Stackoverflow انتخاب شده،انتخاب شما چیست؟
Anonymous Poll
26%
علاقمند به یادگیری Rust هستم
65%
قصد یادگیری زبان جدید ندارم
9%
زبان Golang را انتخاب میکنم
در این ویدیو نگاهی به Span در سی شارپ 7.3 می اندازیم و این قابلیت جدید که در دات نت core 2.1 به بعد قابل استفاده است را بررسی می کنیم.


https://tinyurl.com/cdhks-span-intro
مقایسه ‍پرفورمنس JSON API‌در دات نت Core 3.0‌ و JSON.NET که در نسخه های قبلی استفاده میشد.

تخصیص حافظه در نسخه ی جدید به مراتب کمتر شده است.
آشنایی با ref struct

از نسخه های اول #C امکان استفاده از struct وجود داشت. struct شباهت زیادی به کلاس دارد با این تفاوت که یک Value Type است و محتوای آن در Stack نگه داری میشود. اما همیشه اینطور نیست. اگر Struct درون کلاس به صورت Property تعریف شود یا به عنوان پارامتر Generic در List قرار گیرد عملیات Boxing اتفاق می افتد و حافظه ی Struct به Heap منتقل میشود.

پاکسازی Heap توسط Garbage Collection صورت میگیرد و می تواند باعث افت پرفورمنس شود.

در سی شارپ 7.2 قابلیت ref struct معرفی شد که نوع خاصی از struct است و فقط می تواند در Stack نگه داری شود.

خواندن از Stack سریعتر از Heap است اما از نظرحجم محدودیت دارد. به همین دلیل نمی توان دادهای زیادی درون ref struct قرار داد.

همچنین استفاده از ref struct کاربردهای محدودی دارد. از آنجا که به صورت Property درون کلاس قابل استفاده نیست، Box نمی شود و در List هم قرار نمیگیرد موارد کمی است که به کارتان می آید.

در عوض زمانی که میشود از Ref struct استفاده کرد پرفورمنس بالایی دارد که قبلا نمونه ی آن را در Span دیدیم.
Forwarded from کدهک
عمل Boxing در سی شارپ زمانی اتفاق می افتد که یک Value Type را به Reference Type تبدیل می کنید.

معمولا در پی هر Boxing نیاز به Unboxing وجود دارد که در آن اطلاعات درون Heap به Stack منتقل میشود.

این عمل باعث میشود بخشی از حافظه ی Heap برای نگه داری اطلاعات Stack مورد استفاده قرار گیرد و در نتیجه پرفورمنس را پایین می آورد.
آشنایی با ref return در سی شارپ

https://tinyurl.com/cdhks-ref-return
Forwarded from کدهک
ساخت وب سرور سریع قسمت 3
چرا در کسترل از Struct بجای کلاس استفاده میشود؟

https://goo.gl/vGUHQh
دوره آموزشی برنامه نویسی Async در ASP NET Core - بخش اول

http://tinyurl.com/cdhks-async-crs
چرا باید به فروم های برنامه نویسی برگردیم؟

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

البته این مشکل قبلا تحت عنوان "فروم" یا "تالار گفتگو" حل شده و ...

http://tinyurl.com/cdhks-forums
پایان عمر dotnet core 1.0 و 1.1

نسخه های دات نت Core با ورژن 1.0 و 1.1 امروز رسما از پشتیبانی مایکروسافت خارج شدند و هیچ آپدیت جدیدی برای آنها ارائه نمیشود.
مقایسه Nodejs و dotnet core از نظر پرفورمنس در یک مجموعه ویدیوی سه قسمتی - یویتوب

https://tinyurl.com/cdhks-dotnet-node
آموزش ASP NET Core MVC

درس اول 12 قسمت در یوتیوب

https://tinyurl.com/cdhks-first-lesson
آموزش Async & Await در ASP NET Core

مدت : 48 دقیقه
تعداد : 18 ویدیو

https://tinyurl.com/cdhks-async-p2
وقتی RegEx اینترنت را از کار انداخت!

هفته ی گذشته هزاران سایت مربوط به شرکتهای بزرگ و معتبر از دسترس خارج شدند. سرویس هایی مثل AT & T و Discord از کار افتادند و به نظر میرسید حمله ی DDos در مقیاس جهانی روی داده داست. اما ظاهرا مشکل مربوط به باگ در سرویس CloudFlare میشد.

سرویس ClouldFlare یک CDN و Proxy است و به عنوان فایروال جلوی حملات DDos را میگیرد. سایتهای زیادی از این سرویس استفاده می کنند.

حالا تیم فنی CloudFlare اعلام کرده است که علت مشکل بوجود آمده یک RegEx بوده که باعث میشده مصرف CPU تا صد در صد پر شود و سرور را از کار بیاندازد.

در واقع نبود تست های کافی و مناسب باعث شده هنگام پابلیش باگ کشف نشود و این ضربه ی سنگین را به اعتبار CloudFlare وارد کند.
کلاس تخصصی ASP NET Core برگزار میشود

این دوره با آموزش مباحث پیشرفته در سی شارپ شروع میشود. سپس به آموزش کامل Clean Architecture و نحوه ی پیاده سازی Design Patterns می پردازیم.

می خواهیم با تکنیک های پیشرفته ی Caching و استفاده از Redis آشنا شویم همچنین نحوه ی پیاده سازی میکرو سرویس ها را فرا بگیریم.

همچنین برنامه نویسی Real-time با SignalR و نحوه ی استفاده از Docker در این دوره آموزش داده میشود.

اگر قصد دارید دانش خود را در زمینه ی ASP NET Core ارتقا دهید این دوره مخصوص شماست.

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

ساعت کلاس مطابق با زمان دانشجویان تنظیم میشود.

جهت کسب اطلاعات بیشتر با آی دی @codehak یا شماره 09380146555 تماس بگیرید

شروع کلاس ها از 22 تیرماه
کاربران اشتراک وِیژه و دانشجویان 25 درصد تخفیف
فیلم دوره در پایان قابل دانلود است

مشاهده سرفصلها :

https://tinyurl.com/cdhks-expert
آموزش ASP NET Core MVC

درس اول

قسمت های 13 تا 17 اضافه شد.

https://tinyurl.com/cdhks-first-lesson
Forwarded from کدهک
اپ فال حافظ که در ASP Core با تکنیک PWA پیاده شده:

برنامه به صورت آفلاین هم کار میکنه
به هوم اسکرین گوشی اضافه میشه
بدون مرورگر اجرا میشه

https://codehaks.com/yalda
Forwarded from کدهک
در این ویدیو به معرفی اپ فال حافظ می پردازیم که با تکنیک Progressive web app تهیه شده و می توانید آن را به هوم اسکرین گوشی اضافه کنید و به صورت آفلاین استفاده کنید.

https://goo.gl/fwJd5d