نگارش ابتدایی « iTextSharp.LGPLv2.Core » بر اساس کدهای اولیهی iTextSharp بود که مستقیما از جاوا به سیشارپ ترجمه شده بود. این کدها پر بودند از ساختارهای دادهای مانند Hashtable و ArrayList که مرتبط هستند با روزهای آغازین ارائهی دات نت 1؛ پیش از ارائهی Generics. برای مثال نوع Hashtable، همانند ساختار دادهی Dictionary عمل میکند، اما جنریک نیست؛ یعنی شبیه به <Dictionary<object, object عمل میکند و برای کار با آن، باید مدا ...
در قسمت قبل با مفاهیم، اصطلاحات و الگوریتمهای مرتبط با میانافزار جدید Rate limiting مخصوص ASP.NET Core 7 آشنا شدیم که در پشت صحنه از امکانات موجود در فضای نام System.Threading.RateLimiting استفاده میکند. در این قسمت نحوهی استفادهی از آنرا مرور خواهیم کرد. روش افزودن میانافزار RateLimiter به برنامههای ASP.NET Core
شبیه به سایر میانافزارها، جهت فعالسازی میانافزار RateLimiter، ابتدا باید سرویسهای متناظر با آن ...
به ASP.NET Core 7، یک میانافزار جدید به نام Rate limiter اضافه شدهاست که امکان محدود سازی دسترسی به منابع برنامهی ما را میسر میکند. این میانافزار، طراحی جامع و مفصلی را دارد. به همین جهت نیاز است در ابتدا با مفاهیم مرتبط با آن آشنا شد و سپس به سراغ پیاده سازی و استفادهی از آن رفت.
چرا باید میزان دسترسی به منابع یک برنامهی وب را محدود کرد؟
فرض کنید در حال ساخت یک web API هستید که کارش ذخیره سازی لیست وظایف اش ...
بالاخره تفاوت کارآیی بین حلقههای for و foreach در دات نت 7 برطرف شدهاست که این مورد نیز یکی دیگر از دلایل بهبود کارآیی LINQ در دات نت 7 است. در این مطلب به همراه آزمایشی، این مورد را بررسی خواهیم کرد. تدارک یک آزمایش برای بررسی کارآیی حلقههای for و foreach در دات نت 7
یک برنامهی کنسول جدید را ایجاد کرده و سپس کتابخانهی BenchmarkDotNet را با TargetFramework دات نت 7 به صورت زیر به پروژه اضافه میکنیم: <Proj ...
استفادهی از Reflection در زیر ساختهای دات نت و ASP.NET Core، بسیار گستردهاست؛ به همین جهت هرگونه بهبود کارآیی در این زمینه، نه فقط بر روی خود فریمورک، بلکه تمام برنامههایی که از آن استفاده میکنند هم تاثیر گذار است. از این لحاظ دات نت 7 شاهد تغییرات گستردهای است تا حدی که کارآیی برنامههای مبتنی بر دات نت 7 ای که از Reflection استفاده میکنند، نسبت به نگارشهای قبلی دات نت، حداقل 2 برابر شدهاست و این برنامهها تنها کاری را که باید ا ...
LINQ یا همان Language-Integrated Query، یک زبان سادهی کوئری نوشتن یکپارچهی با دات نت است. به کمک آن میتوان اعمال پیچیدهای را بر روی اشیاء، به زبانی ساده بیان کرد و امروزه تقریبا توسط تمام توسعه دهندگان دات نت مورد استفاده قرار میگیرد. اما ... این سادگی، بهایی را نیز به همراه دارد: کمتر بودن سرعت اجرا و همچنین افزایش مصرف حافظه. با توجه به گستردگی استفادهی از LINQ، اگر بهبودی در این زمینه حاصل شود، بر روی کارآیی تمام برنامههای دات نت ...
دات نت 7 به همراه یک Regex Source Generator توکار است که به کمک آن میتوان عبارات باقاعده را تبدیل به کدهای سیشارپ معادل آنها کرد و پیش از اجرای برنامه، آنها را کامپایل و جزئی از خروجی نهایی نمود. این روش نسبت به روش پیشین تولید کدهای معادل عبارات باقاعده در زمان اجرای برنامه، از مزایای زیر برخوردار است:
- اجرای یک عبارت باقاعده سریعتر خواهد شد. در این حالت دیگر نیازی نیست تا در حین اجرای برنامه، منتظر پردازش و تولید کدهای سیش ...
زمانیکه تصمیم میگیریم کدهای زده شده را بهینه کنیم، اکثرا دنبال
راه حلهای جدید نمیگردیم. این مورد کاملا
غریزی است؛ چرا که بهدنبال کمترین انرژی و بیشترین بازدهی هستیم؛ این طبیعت انسان
است. صرفا کدهای قبلی را بازبینی میکنیم و سعی میکنیم نحوهی نوشتن منطقهای موجود را بهینه کنیم. در
همین راستا درک عملکرد Task و ValueTask ها شاید قدمی مهم در مورد بهینه کردن کدها باشد؛ چرا استفاده درست
...
در قسمت اول، درمورد سیستم Cache پیشفرض موجود در Asp.Net Core و مزیتها و معایب آن گفتیم. اگر قسمت اول را نخواندید، قسمت اول مقاله را میتوانید از این لینک بخوانید. در این قسمت میخواهیم یک پکیج محبوب و کاربردی را برای پیاده سازی کش، در Asp.Net Core را بررسی کنیم. در دنیای امروز، برنامه نویسی پکیجها و فریمورکها، نقش بسیار مهمی را ایفا میکنند؛ بطوریکه در بسیاری از این موارد، استفاده از این پکیجها، عمل عاقلانهتری نسبت به دوباره ن ...
امروزه در وبسایتهای شخصی و تجاری، یکی از مهمترین پارامترها، سرعت پاسخگویی درخواستها به وبسایت است. طبق آمار، کاربران آنلاین کنونی که ما با آنها طرفیم، سطح تحملشان به سه ثانیه در یک صفحه میرسد؛ پس ما باید بتوانیم سرعت وبسایتهای خودمان را تا حد ممکن بهبود بخشیم. از طرفی پارامتر سرعت، روی سئو گوگل هم تاثیر بسزایی دارد و Ranking وبسایت شمارا تا حد زیادی افزایش میدهد. قطعا همه میدانید که سرعت وبسایت و برنامه چقدر مهم هست؛ پس زیاده ...