استفاده از قالب مخصوص Redux Toolkit جهت ایجاد پروژههای React/Redux
استفاده از Redux درون پروژههای React، به روشهای مختلفی قابل انجام است؛ یعنی محدودیتی از لحاظ نحوه چیدمان فایلها، تغییر state و نحوهی dispatch کردن action وجود ندارد. به عبارتی این آزادی عمل را...
View Articleشروع به کار با DNTFrameworkCore - قسمت 7 - ارتقاء به نسخه 4.5.x
بعد از انتشار قسمت 6 به عنوان آخرین قسمتمرتبط با تفکر مبتنیبر CRUD (CRUD-based thinking) قصد دارم پشتیبانی از طراحیApplication Layer مبتنیبر CQRS را نیز به این زیرساخت اضافه کنم.در این مطلب...
View Articleایجاد «خواص الحاقی» با استفاده از امکانات TypeDescriptor و یک...
برای ایجاد «خواص الحاقی» قبلا در سایت مطلب ایجاد «خواص الحاقی» تهیه شدهاست. در این مطلب قصد داریم راه حل ارائه شدهی در مطلب مذکور را با یک TypeDescriptionProvider سفارشی ترکیب کرده تا به صورت یکدست،...
View Articleروش کار با فایلهای پویای ارائه شدهی توسط یک برنامهی ASP.NET Core در...
پس از آشنایی با «روش کار با فایلهای ایستا در برنامههای React»، اکنون اگر این فایلها ایستا نباشند و توسط یک برنامهی ASP.NET Core بازگشت داده شوند، چطور میتوان از آنها در برنامههای React استفاده...
View ArticleFunctional Programming - قسمت چهارم - برخورد با Exception ها
چنانچه قسمتهای قبلی سری آموزش برنامه نویسی تابعی Functional Programming را مطالعه نکردهاید، پیشنهاد میکنم قبلا آنها را (+ و + و +) قبل از شروع بخوانید. در این قسمت قرار است تاثیر استثناءها...
View Articleایدهی ثبت خودکار سرویسها، به همراه تنظیمات؛ بدون نوشتن هیچ کدی در...
خودکارسازی، در قسمتهای مختلف یک پروژه میتواند انجام شود. نمونههای مختلف این خودکارسازیها که اکثرا توسط رفلکشن انجام میشوند شامل نگاشت خودکار Dto به Entity و بالعکس (توسط AutoMapper)، ثبت خودکار...
View Articleروش بهینه نمایش عکس در Xamarin Forms
پیشاپیش از شما دعوت میکنم اگر از سایر روشهای توسعه برنامههای موبایل چون Flutter ،React native و ... استفاده میکنید نیز این مقاله را مطالعه کنید؛ چرا که ایده کلی و نکات مهم آن میتواند برای شما نیز...
View ArticleFunctional Programming - قسمت پنجم - وسواس استفاده از نوع های اولیه
در ادامه سری مقالات مرتبط با برنامه نویسی تابعی ، قصد دارم به استفاده کردن یا نکردن از نوعهای داده اولیه (Primitive Types) را بررسی کنیم. پیشنهاد میکنم در صورتی که قسمتهای قبلی را مطالعه نکرده اید...
View Articleکش خروجی API در ASP.NET Core با Redis
در این مقاله نمیخواهیم به طور عمیقی وارد جزییاتی مثل توضیح Redis یا کش بشویم؛ فرض شدهاست که کاربر با این مفاهیم آشناست. به طور خلاصه کش کردن یعنی همیشه به دیتابیس یا هارددیسک برای گرفتن اطلاعاتی که...
View Articleافزایش سرعت کد نویسی با Resharper - قسمت 01 - معرفی و نصب
در این سری قصد آموزش افزونهی Resharper برای Visual studio را دارم که توسط شرکت Jetbrains برای بهبود امکانات Visual Studio و افزایش سرعت کد نویسی، نوشته شدهاست.این نرم افزار را از لینک زیر میتوانید...
View ArticleHTML5 Web Component - قسمت اول - معرفی و مفاهیم اولیه
Web Components، مجموعهای از تکنولوژیهایی میباشند که امکان ساخت المانهای سفارشی با قابلیت استفادهی مجدد و به همراه کپسولهسازی ساختار، استایل و عاملیت (Functionality) متناظر با المان ایجاد شده را...
View ArticleHTML5 Web Component - قسمت دوم - Custom Elements
Custom Elements، دارای یک چرخه حیات میباشند. در طی این چرخه حیات، میتوان تعدادی متد خاص را به المان سفارشی خود اضافه کرد که به صورت خودکار توسط مرورگر فراخوانی میشوند. به این متدها Life-cycle...
View Articleاضافه کردن OData به پروژههای ASP.NET Core 3.1 با اضافه کردن فقط 20 کلمه به کد!
به مناسبت ارائهی نسخه 7.4 از Microsoft.AspNetCore.OData که دیروز صورت پذیرفت، تصمیم گرفتم آموزش استفاده از OData را در پروژههای ASP.NET Core 3.1 به بالا که دارای endpoint routing هستند (روش توصیه...
View Articleشرط گذاری روی Include ها در EF Core 5x
سناریویی را در نظر بگیرید که میخواهید لیست Blogها را به همراه Post هایشان که شامل کلمهی خاصی است، به کلاینت باز گردانید. در این حالت احتمالا چنین کدی به نظرتان خواهد آمد:// -- FilteredInclude_EFCore5...
View Articleپیاده سازی Full-Text Search با SQLite و EF Core - قسمت اول - ایجاد و به روز...
SQLite به صورت توکار از full-text search پشتیبانی میکند؛ اما اهمیت آن چیست؟ هدف از full-text search، انجام جستجوهای بسیار سریع، در ستونهای متنی یک جدول بانک اطلاعاتی است. بدون وجود یک چنین قابلیتی،...
View Articleراهکار لاگ متناسب با Cloud و On-Premise
Application Insights راهکار ارائه شده توسط Microsoft است که در سه بخش به ما کمک میکند تا سیستم لاگ مؤثر و کارآمدی داشته باشیم:۱- متدهای پایه Log که به صورت دستی فراخوانی میشوند، مانند TrackEvent برای...
View Articleپیاده سازی Full-Text Search با SQLite و EF Core - قسمت دوم - کوئری گرفتن از...
پس ازآشنایی با نحوهی ایجاد و به روز رسانی جدول مجازی FTS، اکنون قصد داریم با روشهای کوئری گرفتن از آن آشنا شویم. برای این منظور در ابتدا نیاز است تعدادی رکورد را در آن ثبت کنیم: private static void...
View Articleجستجوی یک property در model یا object
گاهی نیاز هست در بین propertyهای modelهای مختلفی که از یک مدل base ارث بری کرده اند، جستجویی را انجام دهیم؛ همانند مدل زیر: #region my model [KnownType(typeof(model1))] [KnownType(typeof(model2))]...
View Articleپیاده سازی Full-Text Search با SQLite و EF Core - قسمت سوم - بهبود کیفیت...
فرض کنید کاربری برای جستجوی رکورد زیر:context.Chapters.Add(new Chapter { Title = "آزمایش متن فارسی", Text = "برای نمونه تهیه شدهاست", User = user1.Entity }); بجای «فارسی»، واژهی «فارشی» را وارد کند و...
View Articleایجاد ویژگیهای اعتبارسنجی سفارشی در ASP.NET Core 3.1 به همراه اعتبارسنجی...
اگر بخواهیم یک Attribute سفارشی را برای اعتبارسنجی ایجاد کنیم، معمولا یک کلاس را ایجاد کرده و از ValidationAttribute ارث بری میکنیم و سپس متد IsValid آنرا override میکنیم؛ با توجه به نیازی که به آن...
View Article