با
تصور کنید که یک جعبه جادو دارید که میتواند به سرعت یک عدد تولید کند، (مثلا 42). شما میخواهید از این جعبه جادو در یک برنامه استفاده کنید و میخواهید به نظر بیاید که دارید کاری ناهمگام انجام میدهید (مثل انتظار برای مدت طولانی)، حتی اگر نتیجه را فوراً دریافت میکنید. برای اینکار می توانید از Task.FromResult استفاده کنید.
بنابراین، به زبان سادهتر،
این روش برای حفظ ساختار کد هنگام کار با عملیاتهای Sync و Async در#C مفید است.
ممکن است کدی داشته باشید که در صورت درستی شرط عملیات Sync و در حالت دیگر از Async استفاده می کند ولی برای همه متد باید از خروجی Task استفاده کنید.
Task.FromResult
می توانید عملیاتی که همزمان (Sync) انجام میشود به صورت Async جا بزنید!تصور کنید که یک جعبه جادو دارید که میتواند به سرعت یک عدد تولید کند، (مثلا 42). شما میخواهید از این جعبه جادو در یک برنامه استفاده کنید و میخواهید به نظر بیاید که دارید کاری ناهمگام انجام میدهید (مثل انتظار برای مدت طولانی)، حتی اگر نتیجه را فوراً دریافت میکنید. برای اینکار می توانید از Task.FromResult استفاده کنید.
بنابراین، به زبان سادهتر،
Task.FromResult
روشی است برای تظاهر به اینکه چیزی ناهمگام است در حالی که در واقعیت به سرعت و همزمان اتفاق میافتد. این روش برای حفظ ساختار کد هنگام کار با عملیاتهای Sync و Async در#C مفید است.
ممکن است کدی داشته باشید که در صورت درستی شرط عملیات Sync و در حالت دیگر از Async استفاده می کند ولی برای همه متد باید از خروجی Task استفاده کنید.
👍9❤2
کنفرانس سالانه دات نت روز سه شنبه ساعت 19:30 به وقت ایران آغاز میشود.
این رویداد به مدت سه روز برگزار میشود و قرار است از آخرین نسخه دات نت رو نمایی شود.
دات نت 8 به همراه
دات نت 8 پشتیبانی 3 ساله (LTS) دارد و مایکروسافت از همه توسعه دهندگان دات نت درخواست میکند از نسخه قبلی به 8 آپدیت کنند.
https://www.dotnetconf.net
این رویداد به مدت سه روز برگزار میشود و قرار است از آخرین نسخه دات نت رو نمایی شود.
دات نت 8 به همراه
12.0 #C
و ASP.NET Core 8.0
عرضه میشود و نسخه نهایی ابزاری مثل Blazor و MAUI و Entity Framework هم در این بسته قرار دارد.دات نت 8 پشتیبانی 3 ساله (LTS) دارد و مایکروسافت از همه توسعه دهندگان دات نت درخواست میکند از نسخه قبلی به 8 آپدیت کنند.
https://www.dotnetconf.net
👍18🔥9
دات نت از کامپایل just-in-time استفاده میکند، جایی که کدهای
اما موارد زیادی است که استفاده از AOT یک نیاز است چون حجم نهایی برنامه را کاهش داده و پرفورمنس برنامه در زمان اجرا افزایش می یابد. برنامه های موبایل و سرور می توانند از AOT بهره ببرند.
در نسخه 8 دات نت با به کار گیری AOT حجم کانتینر های دات نت تا 8 مگابایت کم شده و حافظه و زمان بارگذاری نیز کاهش یافته است.
#dotnetconf2023
#C
به زبان میانی (IL) کامپایل شده و سپس با JIT-compiler به کد ماشینی در زمان اجرا تبدیل میشوند. به این ترتیب کد برنامه به ماشین نهایی مستقیم وابسته نیست و JIT می تواند بر اساس نوع ماشین خروجی را بهینه کند.اما موارد زیادی است که استفاده از AOT یک نیاز است چون حجم نهایی برنامه را کاهش داده و پرفورمنس برنامه در زمان اجرا افزایش می یابد. برنامه های موبایل و سرور می توانند از AOT بهره ببرند.
در نسخه 8 دات نت با به کار گیری AOT حجم کانتینر های دات نت تا 8 مگابایت کم شده و حافظه و زمان بارگذاری نیز کاهش یافته است.
#dotnetconf2023
👍26🔥6
آشنایی با Stream ها در
▶️https://youtu.be/C7dCtW-juew
#dotnet #csharp #FileStream
#C
- کار با FileStream و روشهای خواندن فایل▶️https://youtu.be/C7dCtW-juew
#dotnet #csharp #FileStream
❤6🔥1
CSnakes یک کدساز و رانتایم برای دات نت است که به شما امکان میدهد کدهای پایتون را با پرفورمنس بالا در پروژههای داتنت اجرا کنید، بدون نیاز به REST، HTTP یا میکروسرویسها.
این ابزار میتواند از روی پایتون کد#C تمیز و خوانا تولید کند که در هر پروژه داتنت قابل استفاده است.
با کمک این ابزار دسترسی به کتابخانه های پایتون به خصوص در بخش هوش مصنوعی در سی شارپ ساده میشود.
در این ویدیو به معرفی این ابزار می پردازیم و یک چت با مدل هوش مصنوعی از روی کدهای ساخته شده پیاده میکنیم.
▶️https://youtu.be/LLN4YgjSwyE
این ابزار میتواند از روی پایتون کد#C تمیز و خوانا تولید کند که در هر پروژه داتنت قابل استفاده است.
با کمک این ابزار دسترسی به کتابخانه های پایتون به خصوص در بخش هوش مصنوعی در سی شارپ ساده میشود.
در این ویدیو به معرفی این ابزار می پردازیم و یک چت با مدل هوش مصنوعی از روی کدهای ساخته شده پیاده میکنیم.
▶️https://youtu.be/LLN4YgjSwyE
👍8❤6🔥4
Forwarded from Code With HSN
ویدئو جدید منتشر شد 🚀
موشکافی dotnet و بررسی 10 ترفند برای مصرف کمتر یا بهتر حافظه؛ از مشکلات خطرناک MemoryStream بگیر تا ترفندهای مخفی LINQ و اسرار ValueTask، همهچیز رو براتون شکافتم! هدف اینه که دست خطی داشته باشید که از مموری کمتر استفاده کنه و آگاهانه از خیلی چیز ها استفاده کنید
🎯 مواردی که یاد میگیرید:
1. بهینهسازی حافظه در #C 🚀
مشکلات MemoryStream و راهحل با RecyclableMemoryStream
جلوگیری از Memory Leak و مدیریت حافظه
2.دو کلاس ValueTask vs Task ⚡️
چه زمانی از ValueTask استفاده کنیم؟
مزایا و معایب هرکدام برای Performance
3. پشتپرده async/await 🔍
نحوه عملکرد IAsyncStateMachine
کلاس Delegateها چه مشکلاتی ایجاد میکنند؟
4. مشکلات Boxing 📦
چه زمانی Structها Boxing میشوند؟
تأثیر آن روی Performance و راههای جلوگیری
5. بهینهسازی LINQ و List 💡
مصرف حافظه در LINQ و راههای کاهش آن
ترفندهای افزایش سرعت در Listها
6. بررسی ObjectPool و Generic 🛠
پیادهسازی ObjectPool برای کاهش تخصیص حافظه
مزایای استفاده از INumber و Genericها
از اینجا مشاهده کنید: https://youtu.be/YM86MO0ohYg?si=qX5ZbHXWQ-6_oqhR
موشکافی dotnet و بررسی 10 ترفند برای مصرف کمتر یا بهتر حافظه؛ از مشکلات خطرناک MemoryStream بگیر تا ترفندهای مخفی LINQ و اسرار ValueTask، همهچیز رو براتون شکافتم! هدف اینه که دست خطی داشته باشید که از مموری کمتر استفاده کنه و آگاهانه از خیلی چیز ها استفاده کنید
🎯 مواردی که یاد میگیرید:
1. بهینهسازی حافظه در #C 🚀
مشکلات MemoryStream و راهحل با RecyclableMemoryStream
جلوگیری از Memory Leak و مدیریت حافظه
2.دو کلاس ValueTask vs Task ⚡️
چه زمانی از ValueTask استفاده کنیم؟
مزایا و معایب هرکدام برای Performance
3. پشتپرده async/await 🔍
نحوه عملکرد IAsyncStateMachine
کلاس Delegateها چه مشکلاتی ایجاد میکنند؟
4. مشکلات Boxing 📦
چه زمانی Structها Boxing میشوند؟
تأثیر آن روی Performance و راههای جلوگیری
5. بهینهسازی LINQ و List 💡
مصرف حافظه در LINQ و راههای کاهش آن
ترفندهای افزایش سرعت در Listها
6. بررسی ObjectPool و Generic 🛠
پیادهسازی ObjectPool برای کاهش تخصیص حافظه
مزایای استفاده از INumber و Genericها
از اینجا مشاهده کنید: https://youtu.be/YM86MO0ohYg?si=qX5ZbHXWQ-6_oqhR
YouTube
10 تکنیک استفاده کمتر از Memory | قسمت دوم |خلاصه کتاب Pro .NET Memory Management
موشکافی dotnet و بررسی 10 ترفند برای مصرف کمتر یا بهتر حافظه؛ از مشکلات خطرناک MemoryStream بگیر تا ترفندهای مخفی LINQ و اسرار ValueTask، همهچیز رو براتون شکافتم! هدف اینه که دست خطی داشته باشید که از مموری کمتر استفاده کنه و آگاهانه از خیلی چیز ها استفاده…
🔥9👍5❤1