Forwarded from کدهک
چرا یونیتی بجای ++C از سی شارپ استفاده می کند؟
چطور یک وب سرور سریع با سی شارپ بسازیم؟
برنامه نویسی برداری چیست؟
https://goo.gl/5dYn7p
چطور یک وب سرور سریع با سی شارپ بسازیم؟
برنامه نویسی برداری چیست؟
https://goo.gl/5dYn7p
در انتخاب یک زبان برنامه کدام مورد اهمیت بیشتری دارد؟
Anonymous Poll
25%
پشتیبانی توسط غول نرم افزاری
16%
یادگیری سریع و ساده
21%
پرفورمنس بالا
8%
داشتن IDE اختصاصی و حرفه ای
29%
داشتن کاربری های متعدد
در زبان #C اینترفیسی به نام IDisposable وجود دارد که برای خالی کردن منابع مورد استفاده قرار میگیرد. تنها زمانی باید این اینترفیس را پیاده کنید که کلاس شما مستقیما با منابع مدیریت نشده کار می کند.
در دات نت عملیات های زیادی وجود دارد که برای اجرای آنها باید به سیستم عامل مراجعه کرد. مثلا زمانی که نیاز به خواندن یک فایل دارید هرچند یکی از دستورات دات نت را صدا می زنید اما در پس زمینه دات نت یکی از API های ویندوز را اجرا می کند. این API ها معمولا با C یا ++C نوشته شده اند و کد مدیریت شده به حساب نمی آیند.
برای پاکسازی خودکار حافظه ی مدیریت نشده بهترین روش استفاده از بلاک Using است.
وقتی یک منبع مدیریت نشده مثل فایل یا فونت را در محدوده ی Using قرار می دهید در آخر بلاک به دات نت اعلام می کنید که می تواند حافظه این بخش را پاک کند. در این حالت دات نت متد Dispose را صدا می زند و حافظه ی "مدیریت نشده" را مدیریت می کند.
در دات نت عملیات های زیادی وجود دارد که برای اجرای آنها باید به سیستم عامل مراجعه کرد. مثلا زمانی که نیاز به خواندن یک فایل دارید هرچند یکی از دستورات دات نت را صدا می زنید اما در پس زمینه دات نت یکی از API های ویندوز را اجرا می کند. این API ها معمولا با C یا ++C نوشته شده اند و کد مدیریت شده به حساب نمی آیند.
برای پاکسازی خودکار حافظه ی مدیریت نشده بهترین روش استفاده از بلاک Using است.
وقتی یک منبع مدیریت نشده مثل فایل یا فونت را در محدوده ی Using قرار می دهید در آخر بلاک به دات نت اعلام می کنید که می تواند حافظه این بخش را پاک کند. در این حالت دات نت متد Dispose را صدا می زند و حافظه ی "مدیریت نشده" را مدیریت می کند.
Forwarded from برنامه نویس
💰 کد تخفیف 60% ویژه ثبت نام در سطح 3 دوره آموزش ASP.NET Core به مناسبت عید سعید فطر
به مناسبت عید فرخنده فطر، امکان ثبت نام در دوره های آموزشی ویدئویی ASP.NET Core سطح 3 با 60% تخفیف فراهم می باشد.
توجه: سطح 3 دوره آموزش ویدئویی ASP.NET Core در حال برگزاری می باشد و مابقی ویدئوهای دوره تا زمان انقضای کد تخفیف (جمعه 24 خرداد 98) در سایت قرار داده خواهد شد.
کد تخفیف: CoreL3
قابل استفاده برای ثبت نام 30 نفر
تاریخ انقضای کد تخفیف: جمعه 24 خرداد 1398 ساعت 12 شب
تنها محدودیت استفاده از این کد تخفیف این است که کاربران قبل از اقدام به استفاده از این کد تخفیف برای ثبت نام میبایست در حساب کاربری خود شماره موبایل شان را افزوده، و آدرس ایمیل شان را تایید کرده باشند. انجام این مراحل از طریق صفحه "مدیریت حساب کاربری" در کمتر از 1 دقیقه قابل انجام است.
مشخصات و سرفصل ها در صفحات مربوط به دوره ها قابل مشاهده می باشد:
barnamenevis.net/Home/Course/11?آموزش-ویدئویی-ASP.NET-Core-2.2-سطح-3
جهت اطلاع از کدهای تخفیف های بعدی در کانال ویژه سایت آموزش برنامه نویس عضو شوید:
@barnamenevis_net
https://barnamenevis.net
به مناسبت عید فرخنده فطر، امکان ثبت نام در دوره های آموزشی ویدئویی ASP.NET Core سطح 3 با 60% تخفیف فراهم می باشد.
توجه: سطح 3 دوره آموزش ویدئویی ASP.NET Core در حال برگزاری می باشد و مابقی ویدئوهای دوره تا زمان انقضای کد تخفیف (جمعه 24 خرداد 98) در سایت قرار داده خواهد شد.
کد تخفیف: CoreL3
قابل استفاده برای ثبت نام 30 نفر
تاریخ انقضای کد تخفیف: جمعه 24 خرداد 1398 ساعت 12 شب
تنها محدودیت استفاده از این کد تخفیف این است که کاربران قبل از اقدام به استفاده از این کد تخفیف برای ثبت نام میبایست در حساب کاربری خود شماره موبایل شان را افزوده، و آدرس ایمیل شان را تایید کرده باشند. انجام این مراحل از طریق صفحه "مدیریت حساب کاربری" در کمتر از 1 دقیقه قابل انجام است.
مشخصات و سرفصل ها در صفحات مربوط به دوره ها قابل مشاهده می باشد:
barnamenevis.net/Home/Course/11?آموزش-ویدئویی-ASP.NET-Core-2.2-سطح-3
جهت اطلاع از کدهای تخفیف های بعدی در کانال ویژه سایت آموزش برنامه نویس عضو شوید:
@barnamenevis_net
https://barnamenevis.net
برنامه نویس
پکیج آموزش ASP.NET Core - سطح 3
بالاخره رسیدیم به سطح 3 دوره ASP.NET Core !می توان گفت مباحث این دوره تکمیل کننده دانش شما در کار با قابلیت های پیشرفته ASP.NET MVC Core خواهد بود.
Forwarded from کدهک
چرا ASP NET Core را انتخاب کنیم؟
یا ده دلیل برای آنکه برای پروژه ی بعدی از دات نت کور استفاده کنیم.
https://bit.ly/2J69i9R
یا ده دلیل برای آنکه برای پروژه ی بعدی از دات نت کور استفاده کنیم.
https://bit.ly/2J69i9R
فرق Concurrent با Parallel
برنامه نویسی Concurrent :
در این حالت دو یا چند عملیات را به صورت "همزمان" انجام میدهیم. منظور از همزمانی این است که عملیات ها ممکن است با هم شروع شوند و باهم به اتمام برسند اما لزوما در یک لحظه اجرا نمی شوند.
مثلا شما نمی توانید همزمان با غذا خوردن سوت بزنید.اما می توانید این دو کار را کنار هم انجام دهید!
برنامه نویسی Parallel :
در برنامه نویسی "موازی" ما چند کار را به صورت همزمان انجام میدهیم. این نوع برنامه نویسی فقط روی پردازنده های چند هسته ای ممکن است چون هر هسته در هر لحظه فقط می تواند یک خط کد را اجرا کند.
در پردازنده های تک هسته ای فقط امکان اجرای Concurrent وجود دارد.
اگر پردازنده چند هسته ای باشد برنامه ی Concurrent می تواند از هسته های مختلف کمک بگیرد اما لزوما به آنها احتیاج ندارد.
برنامه نویسی Concurrent :
در این حالت دو یا چند عملیات را به صورت "همزمان" انجام میدهیم. منظور از همزمانی این است که عملیات ها ممکن است با هم شروع شوند و باهم به اتمام برسند اما لزوما در یک لحظه اجرا نمی شوند.
مثلا شما نمی توانید همزمان با غذا خوردن سوت بزنید.اما می توانید این دو کار را کنار هم انجام دهید!
برنامه نویسی Parallel :
در برنامه نویسی "موازی" ما چند کار را به صورت همزمان انجام میدهیم. این نوع برنامه نویسی فقط روی پردازنده های چند هسته ای ممکن است چون هر هسته در هر لحظه فقط می تواند یک خط کد را اجرا کند.
در پردازنده های تک هسته ای فقط امکان اجرای Concurrent وجود دارد.
اگر پردازنده چند هسته ای باشد برنامه ی Concurrent می تواند از هسته های مختلف کمک بگیرد اما لزوما به آنها احتیاج ندارد.
آشنایی با LiteDB
دیتابیس LiteDB از سیستم دخیره سازی Document استفاده میکند و به صورت متن باز توسعه داده میشود.
این دیتابیس از نظر دستورات و روش کار شباهت زیادی به MongoDB دارد ولی ساده تر و سبکتر است و بدون نیاز به سرور کار میکند. می توانید از LiteDB به صورت embed استفاده کنید. برای استفاده از این دیتابیس نیاز به Entity Framework یا ORM دیگری ندارید.
یکی از قابلیت های اصلی این دیتابیس امکان ذخیره سازی فایل است. در LiteDB بخش ویژه ای برای آپلود و دانلود فایل گنجانده شده که کار کردن با فایلها را ساده میکند. می توانید از LiteDB در کنار دیتابیس SQL Server برای مدیریت فایلها استفاده کنید.
پروژه دمو مدیریت فایل با LiteDB در ASP NET Core
https://tinyurl.com/cdhks-litedb
دیتابیس LiteDB از سیستم دخیره سازی Document استفاده میکند و به صورت متن باز توسعه داده میشود.
این دیتابیس از نظر دستورات و روش کار شباهت زیادی به MongoDB دارد ولی ساده تر و سبکتر است و بدون نیاز به سرور کار میکند. می توانید از LiteDB به صورت embed استفاده کنید. برای استفاده از این دیتابیس نیاز به Entity Framework یا ORM دیگری ندارید.
یکی از قابلیت های اصلی این دیتابیس امکان ذخیره سازی فایل است. در LiteDB بخش ویژه ای برای آپلود و دانلود فایل گنجانده شده که کار کردن با فایلها را ساده میکند. می توانید از LiteDB در کنار دیتابیس SQL Server برای مدیریت فایلها استفاده کنید.
پروژه دمو مدیریت فایل با LiteDB در ASP NET Core
https://tinyurl.com/cdhks-litedb
Forwarded from برنامه نویس
🔈 ضمن عرض تشکر از استقبال گسترده مخاطبین گرامی از دوره های آموزش ویدئویی ارائه شده توسط برنامه نویس، به اطلاع می رساند ظرفیت ثبت نام با استفاده از کدهای تخفیف قبلی اعلام شده برای دوره های ASP.NET MVC و ASP.NET Core به پایان رسیده است.
به جهت قدردانی از استقبال شما، کد تخفیف 50% جدیدی جهت ثبت نام در دوره های مذکور به شرح زیر تعریف شده و آماده استفاده است:
میزان تخفیف: 50%
کد تخفیف: Khordad98
فرصت استفاده تا: جمعه 31 خرداد 98، ساعت 12 شب
تعداد نفرات مجاز برای ثبت نام: 30 نفر
دوره های قابل ثبت نام با استفاده کد تخفیف فوق به شرح زیر می باشند:
• آموزش ویدئویی ASP.NET Core 2.2 - سطح 1
• آموزش ویدئویی ASP.NET Core 2.2 - سطح 2
• آموزش ویدئویی ASP.NET Core 2.2 - سطح 3
• آموزش ویدئویی ASP.NET MVC - سطح 1
• کیت توسعه نرم افزار (SDK) + آموزش ویدئویی Permission Control System در ASP.NET MVC
#تخفیف
#برنامه_نویس
#دانلود
#پکیج
#ویدئوی_آموزشی
@barnamenevis_net
@barnamenevis_org
به جهت قدردانی از استقبال شما، کد تخفیف 50% جدیدی جهت ثبت نام در دوره های مذکور به شرح زیر تعریف شده و آماده استفاده است:
میزان تخفیف: 50%
کد تخفیف: Khordad98
فرصت استفاده تا: جمعه 31 خرداد 98، ساعت 12 شب
تعداد نفرات مجاز برای ثبت نام: 30 نفر
دوره های قابل ثبت نام با استفاده کد تخفیف فوق به شرح زیر می باشند:
• آموزش ویدئویی ASP.NET Core 2.2 - سطح 1
• آموزش ویدئویی ASP.NET Core 2.2 - سطح 2
• آموزش ویدئویی ASP.NET Core 2.2 - سطح 3
• آموزش ویدئویی ASP.NET MVC - سطح 1
• کیت توسعه نرم افزار (SDK) + آموزش ویدئویی Permission Control System در ASP.NET MVC
#تخفیف
#برنامه_نویس
#دانلود
#پکیج
#ویدئوی_آموزشی
@barnamenevis_net
@barnamenevis_org
در این ویدیو 4 روش مختلف استخراج و فیلتر کردن داده های دیتابیس با استفاده از LINQ و Entity framework بررسی می کنیم و آنها را از نظر کارایی مقایسه می کنیم.
قصد داریم با استفاده از Expression Tree ها و Extension Method ها کدهای بهتری بنویسیم.
https://tinyurl.com/cdhks-linq-q
قصد داریم با استفاده از Expression Tree ها و Extension Method ها کدهای بهتری بنویسیم.
https://tinyurl.com/cdhks-linq-q
دوره آموزشی Threading (رایگان) :
در این دوره ی آموزشی به معرفی Threading می پردازیم و نگاهی به عملیات های I/O Bound و CPU Bound می اندازیم.
قصد داریم انواع عملیاتهای Sync و Async و Parallel را از نظر سرعت و عملکرد باهم مقایسه کنیم.
در انتها به معرفی Event Loop در Node.js می پردازیم و شباهتها و تفاوت هایش را با ASP NET Core بررسی می کنیم.
https://tinyurl.com/cdhks-threading
در این دوره ی آموزشی به معرفی Threading می پردازیم و نگاهی به عملیات های I/O Bound و CPU Bound می اندازیم.
قصد داریم انواع عملیاتهای Sync و Async و Parallel را از نظر سرعت و عملکرد باهم مقایسه کنیم.
در انتها به معرفی Event Loop در Node.js می پردازیم و شباهتها و تفاوت هایش را با ASP NET Core بررسی می کنیم.
https://tinyurl.com/cdhks-threading
فروش ویژه
مرجع کامل آموزش ASP NET Core با 20% تخفیف ویژه تابستان
این دوره با مجموع 29 ساعت آموزش تخصصی ASP NET Core و به همراه یک سال اشتراک ویژه سایت کدهک عرضه میشود.
کد تخفیف : gandom
https://tinyurl.com/cdhks-gandom
مرجع کامل آموزش ASP NET Core با 20% تخفیف ویژه تابستان
این دوره با مجموع 29 ساعت آموزش تخصصی ASP NET Core و به همراه یک سال اشتراک ویژه سایت کدهک عرضه میشود.
کد تخفیف : gandom
https://tinyurl.com/cdhks-gandom
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
✅ نسخه Preview 6 فریمورک های NET Core 3.0. و EF Core و ASP.NET Core منتشر شدند
به زودی تغییرات شون رو بررسی خواهیم کرد✌️
🔰 این نسخه از ASP Core بهبود های زیادی در مورد Blazor و Razor و gRPC و SignalR داشته و قابلیت های جدیدی رو اضافه کرده که بعدا مفصل بررسیشون میکنیم
https://devblogs.microsoft.com/aspnet/asp-net-core-and-blazor-updates-in-net-core-3-0-preview-6/
🔰 این نسخه از EF Core تغییرات پایه ای بسیاری داشته چون ظاهرا تیم EF دارن پیاده سازی جدیدی از LINQ رو برای EF 6 و EF Core تهیه میکنن تا هم یکپارچه بشن این 2تا و هم کارایشون بهبود پیدا کنه ولی الان هنوز کامل نشده و محدودیت ها و نواقض زیادی داره و اصلا پایدار نیست
https://devblogs.microsoft.com/dotnet/announcing-entity-framework-core-3-0-preview-6-and-entity-framework-6-3-preview-6/
🔰 این نسخه از NET Core.بیشتر شامل بهبود های پرفرمنسی بوده بعلاوه کمی فیچر؛ در حال حاضر تیم NET Core. تقریبا تمام فیچر هایی که برای نسخه 3.0 پلن کرده بودند تکمیل شده و اعلام کردند که از این به بعد تمرکزشون رو روی افزایش کیفیت ریلیز ها و رفع باگ های گزارش شده خواهند گذاشت
در ضمن پیشنمایش بعدی یعنی 7 قراره که ماه آینده میلادی (جولای) منتشر بشه
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0-preview-6/
لینک دانلود SKD و Runtime نسخه Preview 6
https://aka.ms/netcore3download
___________
@IranAspMvc
به زودی تغییرات شون رو بررسی خواهیم کرد✌️
🔰 این نسخه از ASP Core بهبود های زیادی در مورد Blazor و Razor و gRPC و SignalR داشته و قابلیت های جدیدی رو اضافه کرده که بعدا مفصل بررسیشون میکنیم
https://devblogs.microsoft.com/aspnet/asp-net-core-and-blazor-updates-in-net-core-3-0-preview-6/
🔰 این نسخه از EF Core تغییرات پایه ای بسیاری داشته چون ظاهرا تیم EF دارن پیاده سازی جدیدی از LINQ رو برای EF 6 و EF Core تهیه میکنن تا هم یکپارچه بشن این 2تا و هم کارایشون بهبود پیدا کنه ولی الان هنوز کامل نشده و محدودیت ها و نواقض زیادی داره و اصلا پایدار نیست
https://devblogs.microsoft.com/dotnet/announcing-entity-framework-core-3-0-preview-6-and-entity-framework-6-3-preview-6/
🔰 این نسخه از NET Core.بیشتر شامل بهبود های پرفرمنسی بوده بعلاوه کمی فیچر؛ در حال حاضر تیم NET Core. تقریبا تمام فیچر هایی که برای نسخه 3.0 پلن کرده بودند تکمیل شده و اعلام کردند که از این به بعد تمرکزشون رو روی افزایش کیفیت ریلیز ها و رفع باگ های گزارش شده خواهند گذاشت
در ضمن پیشنمایش بعدی یعنی 7 قراره که ماه آینده میلادی (جولای) منتشر بشه
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0-preview-6/
لینک دانلود SKD و Runtime نسخه Preview 6
https://aka.ms/netcore3download
___________
@IranAspMvc
.NET Blog
ASP.NET Core and Blazor updates in .NET Core 3.0 Preview 6
.NET Core 3.0 Preview 6 is now available and includes a bunch of new updates to ASP.NET Core and Blazor. Find out what's new in this latest preview release.
آمار دانلود NPM در 2 سال گذشته نشان میدهد :
1- ریکت همچنان محبوبترین فریم ورک فرانت است. اما آمار استفاده از آن در چند ماه گذشته رو به کاهش بوده
2- انگولار در 2 سال گذشته رشدی نداشته و به نظر میرسد نتوانسته کاربران جدیدی به سمت خود جذب کند.
3- آمار Vuejs پیوسته رو به رشد بوده و به زودی از انگولار جلو میزند. هر چند که اختلاف زیادی با ریکت دارد.
به نظر میرسد که تعداد کاربران ریکت در حال ریزش است و این افراد بجای انگولار به سراغ vuejs میروند.
1- ریکت همچنان محبوبترین فریم ورک فرانت است. اما آمار استفاده از آن در چند ماه گذشته رو به کاهش بوده
2- انگولار در 2 سال گذشته رشدی نداشته و به نظر میرسد نتوانسته کاربران جدیدی به سمت خود جذب کند.
3- آمار Vuejs پیوسته رو به رشد بوده و به زودی از انگولار جلو میزند. هر چند که اختلاف زیادی با ریکت دارد.
به نظر میرسد که تعداد کاربران ریکت در حال ریزش است و این افراد بجای انگولار به سراغ vuejs میروند.
سایت Genius گوگل را متهم کرده است بدون در نظر گرفتن قانون کپی رایت محتوای این سایت را در نتایج موتور جستجو نمایش میدهد.
برای اثبات این ادعا سایت Genius بجای کاراکتر آپاستروف از کوت استفاده کرده و بعدا همین محتوا در نتایج جستجوی گوگل دیده میشود.
این چندمین باری است که Genius از گوگل بابت این موضوع شکایت میکند. و به نظر میرسد اینبار دلایل محکمی برای اثبات خود داشته باشد.
برای اثبات این ادعا سایت Genius بجای کاراکتر آپاستروف از کوت استفاده کرده و بعدا همین محتوا در نتایج جستجوی گوگل دیده میشود.
این چندمین باری است که Genius از گوگل بابت این موضوع شکایت میکند. و به نظر میرسد اینبار دلایل محکمی برای اثبات خود داشته باشد.
در آخرین نسخه از پیش نمایش 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 از طریق اضافه کردن رفرنس و تزریق سرویس وجود دارد.
کتابخانه ی 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 کم میشود و پرفورمنس افت می کند.
هر چه تخصیص و پاکسازی حافظه بهینه تر انجام شود از نگاه ناظر بیرونی (کاربر) سایت نرمتر کارمیکند. این موضوع به خصوص در بازی های آنلاین که توقف برنامه آزار دهنده است اهمیت بیشتری پیدا میکند.
هنگام اندازه گیری پرفورمنس در نرم افزارهای تحت وب از اصطلاح 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
https://tinyurl.com/cdhks-span-intro