Forwarded from Software Philosophy
درک انواع دادهها در سیشارپ
#csharp_for_beginners
در دنیای C#، درک تفاوتهای بین انواع دادهها برای برنامهنویسی مؤثر بسیار مهم است. این مقاله به بررسی تفاوتهای بین انواع دادههای decimal، double و float میپردازد و بر دقت، صحت و تأثیرات عملکردی آنها تمرکز میکند.
دقت (Precision): به نزدیکی اندازهگیریها اشاره دارد. به عنوان مثال، اگر یک مقدار را چندین بار اندازهگیری کنیم و نتیجه یکسانی بگیریم، نشاندهنده دقت بالا است.
صحت (Accuracy): نشاندهنده نزدیکی یک اندازهگیری به یک استاندارد شناخته شده است. یک اندازهگیری که از مقدار واقعی دور است، نادرست تلقی میشود.
دقت حسابی (Arithmetic Precision): به تعداد ارقام استفاده شده برای نمایش یک عدد اشاره دارد. ارقام بیشتر به معنای دقت بالاتر است.
تایپ decimal
دقت: دقت بالا (28-29 رقم معنادار).
موارد استفاده: ایدهآل برای محاسبات مالی که در آن دقت بسیار مهم است.
عملکرد: به دلیل نمایندگی پایه 10، کندتر از double و float است.
تایپ double
دقت: دقت متوسط (15-16 رقم معنادار).
موارد استفاده: مناسب برای محاسبات علمی که در آن عملکرد مهمتر از دقت است.
عملکرد: به دلیل نمایندگی پایه 2، سریعتر از decimal است.
تایپ float
دقت: دقت پایین (7 رقم معنادار).
موارد استفاده: در برنامههایی که صرفهجویی در حافظه مهمتر از دقت است، مانند گرافیک، استفاده میشود.
عملکرد: مشابه double است اما با دقت کمتر.
مقایسه عملکرد
هنگام مقایسه عملکرد این انواع داده، مشخص میشود که:
تایپ Double سریعترین است و برای برنامههایی که به محاسبات سریع نیاز دارند، مناسب است.
تایپ Decimal کندترین است اما بالاترین دقت را ارائه میدهد و برای برنامههای مالی ایدهآل است.
تایپ Float تعادلی بین سرعت و استفاده از حافظه ارائه میدهد اما دقت را فدای آن میکند.
🔗 ویدئو را از اینجا میتوانید ببیند.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
کانال تلگرام:
@SoftwarePhilosophy
______
#csharp_for_beginners
در دنیای C#، درک تفاوتهای بین انواع دادهها برای برنامهنویسی مؤثر بسیار مهم است. این مقاله به بررسی تفاوتهای بین انواع دادههای decimal، double و float میپردازد و بر دقت، صحت و تأثیرات عملکردی آنها تمرکز میکند.
دقت (Precision): به نزدیکی اندازهگیریها اشاره دارد. به عنوان مثال، اگر یک مقدار را چندین بار اندازهگیری کنیم و نتیجه یکسانی بگیریم، نشاندهنده دقت بالا است.
صحت (Accuracy): نشاندهنده نزدیکی یک اندازهگیری به یک استاندارد شناخته شده است. یک اندازهگیری که از مقدار واقعی دور است، نادرست تلقی میشود.
دقت حسابی (Arithmetic Precision): به تعداد ارقام استفاده شده برای نمایش یک عدد اشاره دارد. ارقام بیشتر به معنای دقت بالاتر است.
تایپ decimal
دقت: دقت بالا (28-29 رقم معنادار).
موارد استفاده: ایدهآل برای محاسبات مالی که در آن دقت بسیار مهم است.
عملکرد: به دلیل نمایندگی پایه 10، کندتر از double و float است.
تایپ double
دقت: دقت متوسط (15-16 رقم معنادار).
موارد استفاده: مناسب برای محاسبات علمی که در آن عملکرد مهمتر از دقت است.
عملکرد: به دلیل نمایندگی پایه 2، سریعتر از decimal است.
تایپ float
دقت: دقت پایین (7 رقم معنادار).
موارد استفاده: در برنامههایی که صرفهجویی در حافظه مهمتر از دقت است، مانند گرافیک، استفاده میشود.
عملکرد: مشابه double است اما با دقت کمتر.
مقایسه عملکرد
هنگام مقایسه عملکرد این انواع داده، مشخص میشود که:
تایپ Double سریعترین است و برای برنامههایی که به محاسبات سریع نیاز دارند، مناسب است.
تایپ Decimal کندترین است اما بالاترین دقت را ارائه میدهد و برای برنامههای مالی ایدهآل است.
تایپ Float تعادلی بین سرعت و استفاده از حافظه ارائه میدهد اما دقت را فدای آن میکند.
🔗 ویدئو را از اینجا میتوانید ببیند.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
کانال تلگرام:
@SoftwarePhilosophy
______
YouTube
Difference between double, float and decimal data types | C#
In this video, we analyze the difference between double, float and decimal data types in C#.
👍3❤1🔥1👏1
Forwarded from DotNet | دات نت
آینده تستنویسی در .NET؛ وقتی هوش مصنوعی خودش را قضاوت میکند!
اگر در اکوسیستم داتنت فعالیت میکنید، حتماً میدانید که ورود AI به اپلیکیشنها، مدلهای سنتی تستنویسی را به چالش کشیده است. دیگر صرفاً چک کردن یک خروجی ثابت کافی نیست؛ ما با مدلهای زبانی (LLM) سر و کار داریم که پاسخهایشان متغیر است.
مایکروسافت با معرفی کتابخانههای Microsoft.Extensions.AI.Evaluation و ابزارهای جدید در Visual Studio 2026، پازل تستنویسی هوشمند را کامل کرده است.
💡 نکات کلیدی ویدیو (AI-Powered Testing in VS):
در ویدیوی جدید کانال داتنت، مککنا بارلو (PM تیم ابزارهای داتنت) نکات بسیار مهمی را مطرح کرد:
1️⃣ تستنویسی خودکار با Copilot: حالا GitHub Copilot میتواند برای کل Solution شما بهصورت یکجا Unit Testهای باکیفیت بنویسد. این یعنی دیگر لازم نیست ساعتها وقت صرف نوشتن کدهای تکراری تست کنید.
2️⃣ ترکیب Code Coverage و AI: ابزار Code Coverage در ویژوال استودیو حالا هوشمندتر شده؛ نقاطی از کد که تست نشدهاند را شناسایی کرده و مستقیماً به Copilot پیشنهاد میدهد تا برای همان بخشهای پرریسک، تست تولید کند.
3️⃣ گزارشهای بصری (AI Eval Reporting): با ابزار جدید dotnet aieval میتوانید گزارشهای گرافیکی دقیقی در مرورگر ببینید که نشان میدهد مدل هوش مصنوعی شما در چه بخشهایی (مثلاً در Groundedness یا صحت اطلاعات) ضعف داشته است.
4️⃣ فراتر از Black Box: هدف این ابزارها این است که خروجی AI دیگر یک "جعبه سیاه" نباشد. شما میتوانید دقیقاً بفهمید چرا یک مدل امتیاز پایینی گرفته و با چه منطقی پاسخ داده است.
🛠 کتابخانه Microsoft.Extensions.AI.Evaluation شامل چیست؟
این پکیجها فرآیند ارزیابی را به چهار لایه تقسیم میکنند:
✅ ارزیابی کیفی (Quality): سنجش میزان مرتبط بودن (Relevance) و انسجام (Coherence) پاسخها.
✅ ارزیابی ایمنی (Safety): شناسایی خودکار محتوای سمی، نفرتپراکنی یا کدهای مخرب تولید شده توسط AI.
✅ ارزیابی مستند بودن (Groundedness): حیاتیترین بخش برای جلوگیری از توهم (Hallucination)؛ چک میکند که آیا AI بر اساس دیتای واقعی شما حرف میزند یا از خودش داستان میسازد!
✅ ارزیابی کلاسیک (NLP): استفاده از معیارهای BLEU و F1 برای سنجش شباهت متنی با پاسخهای مرجع.
چرا این موضوع مهم است؟
در دنیای واقعی، ما نمیتوانیم به خروجی مدلهای هوش مصنوعی اعتماد صددرصدی داشته باشیم. این کتابخانهها به ما "اعتماد سیستماتیک" میدهند. یعنی قبل از اینکه کاربر نهایی با یک پاسخ اشتباه روبرو شود، سیستم تست شما آن را شکار میکند.
📌 ویژگی طلایی: تمام این فرآیندها دارای سیستم Caching هستند؛ یعنی اگر یک تست را دوباره اجرا کنید و ورودی تغییری نکرده باشد، هزینهای برای API پرداخت نمیکنید و نتیجه بلافاصله نمایش داده میشود.
📺 مشاهده ویدیو کامل در یوتیوب:
🔗 https://youtu.be/Bkn78klGhtc?si=c5dBLw1y7ituLTFH
📖 مطالعه مستندات رسمی:
🔗 https://learn.microsoft.com/en-us/dotnet/ai/evaluation/libraries
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
#dotnet #csharp #VisualStudio2026 #AI #Testing #GitHubCopilot #Programming #SoftwareEngineering #هوش_مصنوعی #برنامه_نویسی
اگر در اکوسیستم داتنت فعالیت میکنید، حتماً میدانید که ورود AI به اپلیکیشنها، مدلهای سنتی تستنویسی را به چالش کشیده است. دیگر صرفاً چک کردن یک خروجی ثابت کافی نیست؛ ما با مدلهای زبانی (LLM) سر و کار داریم که پاسخهایشان متغیر است.
مایکروسافت با معرفی کتابخانههای Microsoft.Extensions.AI.Evaluation و ابزارهای جدید در Visual Studio 2026، پازل تستنویسی هوشمند را کامل کرده است.
💡 نکات کلیدی ویدیو (AI-Powered Testing in VS):
در ویدیوی جدید کانال داتنت، مککنا بارلو (PM تیم ابزارهای داتنت) نکات بسیار مهمی را مطرح کرد:
1️⃣ تستنویسی خودکار با Copilot: حالا GitHub Copilot میتواند برای کل Solution شما بهصورت یکجا Unit Testهای باکیفیت بنویسد. این یعنی دیگر لازم نیست ساعتها وقت صرف نوشتن کدهای تکراری تست کنید.
2️⃣ ترکیب Code Coverage و AI: ابزار Code Coverage در ویژوال استودیو حالا هوشمندتر شده؛ نقاطی از کد که تست نشدهاند را شناسایی کرده و مستقیماً به Copilot پیشنهاد میدهد تا برای همان بخشهای پرریسک، تست تولید کند.
3️⃣ گزارشهای بصری (AI Eval Reporting): با ابزار جدید dotnet aieval میتوانید گزارشهای گرافیکی دقیقی در مرورگر ببینید که نشان میدهد مدل هوش مصنوعی شما در چه بخشهایی (مثلاً در Groundedness یا صحت اطلاعات) ضعف داشته است.
4️⃣ فراتر از Black Box: هدف این ابزارها این است که خروجی AI دیگر یک "جعبه سیاه" نباشد. شما میتوانید دقیقاً بفهمید چرا یک مدل امتیاز پایینی گرفته و با چه منطقی پاسخ داده است.
🛠 کتابخانه Microsoft.Extensions.AI.Evaluation شامل چیست؟
این پکیجها فرآیند ارزیابی را به چهار لایه تقسیم میکنند:
✅ ارزیابی کیفی (Quality): سنجش میزان مرتبط بودن (Relevance) و انسجام (Coherence) پاسخها.
✅ ارزیابی ایمنی (Safety): شناسایی خودکار محتوای سمی، نفرتپراکنی یا کدهای مخرب تولید شده توسط AI.
✅ ارزیابی مستند بودن (Groundedness): حیاتیترین بخش برای جلوگیری از توهم (Hallucination)؛ چک میکند که آیا AI بر اساس دیتای واقعی شما حرف میزند یا از خودش داستان میسازد!
✅ ارزیابی کلاسیک (NLP): استفاده از معیارهای BLEU و F1 برای سنجش شباهت متنی با پاسخهای مرجع.
چرا این موضوع مهم است؟
در دنیای واقعی، ما نمیتوانیم به خروجی مدلهای هوش مصنوعی اعتماد صددرصدی داشته باشیم. این کتابخانهها به ما "اعتماد سیستماتیک" میدهند. یعنی قبل از اینکه کاربر نهایی با یک پاسخ اشتباه روبرو شود، سیستم تست شما آن را شکار میکند.
📌 ویژگی طلایی: تمام این فرآیندها دارای سیستم Caching هستند؛ یعنی اگر یک تست را دوباره اجرا کنید و ورودی تغییری نکرده باشد، هزینهای برای API پرداخت نمیکنید و نتیجه بلافاصله نمایش داده میشود.
📺 مشاهده ویدیو کامل در یوتیوب:
🔗 https://youtu.be/Bkn78klGhtc?si=c5dBLw1y7ituLTFH
📖 مطالعه مستندات رسمی:
🔗 https://learn.microsoft.com/en-us/dotnet/ai/evaluation/libraries
📚💻 @dotnetcode
#dotnet #csharp #VisualStudio2026 #AI #Testing #GitHubCopilot #Programming #SoftwareEngineering #هوش_مصنوعی #برنامه_نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
AI-Powered Testing in Visual Studio
Artificial intelligence is transforming how we approach testing and quality assurance. This session explores new AI-powered testing capabilities in Visual Studio that help you write better tests, identify edge cases, generate test data, and improve test coverage.…
❤6👍3🔥2