الگوی Chain of Responsibility، یک زنجیر، از اشیاء متصل شدهی به هم را فراهم میکند که یکی از آنها میتواند درخواست رسیده را راضی کند؛ به عبارتی دیگر به محض دریافت درخواست، آن را پردازش میکند. این الگو اساسا یک جستجوی خطی ( linear search )، برای یک شیء میباشد که میتواند یک درخواست ویژه را handle کند. الگوی chain-of-responsibility، ارتباط با الگوی Chaining دارد که به دفعات در جاوا اسکریپت استفاده شدهاست (jQuery استفادهی گسترد ...
در ابتدا اجازه بدهید تعریف درستی از این دو واژه، ارائه کنیم. DTO (Data Transfer Object) به بیان خیلی ساده، DTOها برای انتقال اطلاعات استفاده میشوند؛ پس هیچ منطق و رفتاری در این اشیاء تعریف نمیشود .اگر در DTO منطقی پیاده سازی شود، دیگر به آن DTO گفته نمیشود. اجازه بدید منظورمان را از منطق یا رفتار مشخص کنیم. منطق یا رفتار، همان متدهایی هستند که در نوع داده خود تعریف میکنیم. در #C، یک DTO تنها از خصوصیتها (Properties) ...
Micro Frontend چیست؟ micro frontend یک الگوی معماری ( architecture pattern ) میباشد؛ جایی که یک front-end app، به چند app کوچکتر تقسیم میشود و هر کدام از آنها به صورت مستقل توسعه داده و تست میشوند. مفهومی شبیه به مایکروسرویسها است؛ اما برای سورس کدهای یکپارچهی سمت کلاینت. چرا؟ خیلی سخت است که بخواهیم روی سورس کدهای یکپارچه سمت کلاینت تست نویسی، بهروز رسانی و هم چنین نگهداری کنیم. این در ح ...
در این مقاله قصد دارم روشی را برای محاسبهی تعداد کاربران لاگین شدهی فعال در یک پروژهی Asp.net Core، توضیح دهم. در این روش، کاربرانی را آنلاین در نظر گرفتهایم که در 10 دقیقهی گذشته، فعالیتی روی سامانه داشتهاند. البته این زمان را میتوانید تغییر دهید. برای اینکار ابتدا یک Middleware را به صورت زیر طراحی میکنیم : public class OnlineUserMiddleWare
{
private readonly RequestDelegate _next;
private reado ...
یکی از سؤالاتی که ممکن است در مصاحبهها با آن روبرو شوید، عنوان این مطلب است. در این مقاله قصد داریم تفاوت بین این دو را بررسی کنیم. در علم کامپیوتر، یک call stack، یک ساختار دادهای پشته میباشد که اطلاعات جزئی را راجع به زیرروالهای فعال یک برنامه، ذخیره میکند. این نوع پشته با اسامی مختلفی از جمله Execution Stack (ES)، Program Stack (PS)، Control Stack، Runtime Stack یا Machine Stack شناخته میشود و یا اینکه به صورت کلی به آن T ...
در بخش اول، با کتابخانه Gridify آشنا شدیم و در بخش دوم، متدهای الحاقی آن را بررسی کردیم؛ در این بخش به بررسی GridifyMapper میپردازیم. GridifyMapper : کتابخانه Gridify به صورت خودکار از یک Mapper توکار برای برقراری ارتباط بین نام فیلد (string) وارد شده و پراپرتی که قرار است شرطها بر روی آن اعمال شود، استفاده میکند. به همین جهت اگر در فیلتر خود عبارتی مانند "Name==Ali,Age>32" داشته باشید، در کلاس مقصد به دنبال پراپرتیه ...
در بخش قبل ، به چند نمونه کلی از امکانات کتابخانه Gridify اشاره کردیم. در این مقاله به معرفی کلاسها و متدهای این کتابخانه میپردازیم. GridifyQuery از این کلاس برای اعمال تنظیمات مورد نیاز در متدهای ارائه شده توسط Gridify استفاده میشود. در ادامه به خصیصه (پراپرتی)های این کلاس میپردازیم. Filter : یک پراپرتی از نوع string است که درصورت مقداردهی آن، بر روی لیست خروجی ما عملیات فیلترینگ اعمال میشود. مثال : Filter = ...
Gridify چیست ؟ به طور خلاصه Gridify یک کتابخانه ساده و سریع است که عملیاتهای Filtering , Pagination و Sorting را با استفاده از شرطهای متنی (string based) امکان پذیر میکند. به طور مثال فرض کنید که یک API را برای دریافت لیست کاربران با نام UsersList نوشتهاید. مثال: [HttpGet("[action]")]
public async Task<IActionResult> UsersList()
{
var users = await _dbContext.Users.AsNoTracking().ToListAsync();
...
اگر به تکنولوژیهای شرکت مایکروسافت علاقمند باشید و اخبار آن را دنبال کرده باشید قطعا در جریان هستید که علاوه بر تکنولوژیهای قدیمی (WPF, UWP, Xamarin) تکنولوژیهای جدیدی (Project Reunion, Maui, WinUI, Uno, Xaml Island) نیز بصورت همزمان در حال توسعه هستند. اکثر این تکنولوژیها شبیه و نزدیک به هم هستند و برای کسی که تازه کار باشد ممکن است دچار سردرگمی شود و چون بصورت همزمان در حال توسعه میباشند ممکن سوالاتی برای شما پیش بیاید. در این مطلب ...
هنگامی که دربارهی علم و یادگیری ماشینی فکر میکنیم، دو زبان برنامهنویسی بلافاصله به ذهن متبادر میشوند: پایتون و R. این دو زبان به شکل عمومی از بسیاری از الگوریتمهای یادگیری ماشین رایج، تکنیکهای پیشپردازش دادهها و خیلی بیشتر از اینها پشتیبانی میکنند؛ بنابراین برای -تقریباً- هر مسالهی یادگیری ماشینی مورد استفاده قرار میگیرند. با اینحال، گاهی فرد یا شرکتی نمیتواند از پایتون یا R استفاده کند که میتواند به یکی از دل ...