نظرات مطالب
استفاده از Fluent Validation در برنامه‌های ASP.NET Core - قسمت چهارم - اعتبارسنجی Async سمت کلاینت و یا همان Remote Client Side Validation
اعتبارسنجی، یک «cross-cutting concern» هست و نباید با «business logic» مخلوط شود. برای مدیریت «cross-cutting concern»ها عموما از روش‌های AOP استفاده می‌شود؛ مانند قرار دادن یک Attribute بر روی متدی که قرار است پیش از اجرای منطق اصلی این متد، اجرا شود (الگوی decorator). در اینجا هم اجرای اعتبارسنجی‌ها دقیقا به همین صورت است. پیش از رسیدن به متدهای سرویس برنامه، به صورت خودکار، کار اجرای اعتبارسنجی آن‌ها انجام می‌شود.
یک نمونه‌ی از جداسازی‌های «cross-cutting concern»‌ها در مطلب «Validating with a Service Layer» خود مایکروسافت قابل مشاهده‌است. ابتدا با قرار دادن کل منطق اعتبارسنجی در داخل یک سرویس شروع کرده و سپس این منطق را refactor کرده و تبدیل به یک سرویس مجزای قابل استفاده‌ی در یک سرویس و یا کنترلر در آورده. البته آن مطلب عمومی است و هر دوی این‌ها با Fluent validation، چه به صورت اعمال خودکار و یا اجرای دستی، قابل انجام است.
در کل پیاده سازی اعتبارسنجی business logic، توسط specification pattern انجام می‌شود؛ دقیقا مانند تعاریف AbstractValidatorها در Fluent validation (که پیاده سازی specification pattern هستند) و عموما اجرای آن‌ها به دلیل cross-cutting concern بودن، توسط decorator pattern صورت می‌گیرد؛ مانند روش‌های سوم و چهارم اجرای AbstractValidatorها.
نظرات مطالب
آموزش MDX Query - قسمت ششم – شروع کار با دستورات MDX
با سلام خدمت شما، بسیار سپاسگذارم به خاطر این سری مقالات آموزشی که باعث شد با زبان جذاب و فوق العاده‌ی MDX آشنا شوم.
بنده با گزارشات آماری cross tab آشنا هستم، خروجی مثال هایتان دقیقا مشابه با خروجی گزارشات cross tab است (مو نمی‌زنه!)
نوشتن Query‌های pivoting/cross tabulation با این زبان نسبت به زبان SQL واقعا ساده‌تر است. حقیقتا لذت بردم.
فقط خواهشی داشتم، اگر مقدور است به مثال هایی بپردازید که در آنها ستون‌ها یا سطرها در Range‌های مختلف گروه بندی شوند.
مثال:

جدول فوق یک گزارش آماری cross tab است. که مشخص کرده افراد (مرد و زن) در رده‌های سنی مختلف (زیر 10 سال، بین 10 و 20 سال و ...) روزانه چند دقیقه تلوزیون تماشا می‌کنند (کمتر از 20 دقیقه، بین 20 تا 40 دقیقه..). این بازه‌ها را میشه برای داده هایی مثل تاریخ، روزها، هفته ها، ماه‌ها و ... نیز در نظر گرفت.
و سوالی نیز داشتم، آیا می‌توان Query‌های MDX را به T-SQL تبدیل کرد (منظور بصورت خودکار است نه بازنویسی آن) ؟
و درخواست پایانی، لطفا به بحث Reporting هم بپردازید که ببینیم این نتیجه در قالب گزارش تجاری چگونه ظاهر می‌شوند.
نظرات مطالب
قسمت دوم -- نگاهی دقیق تر به اولین پروژه VC++ (درک مفهوم فایلهای سرآیند و فضای نام ، ویژگیهای زبان ++C و برخی قوانین برنامه نویسی در ++C)
با سلام
در جواب : علیرضا.م

در مورد سوال اول  برنامه‌های نوشته شده در ++VC   ،   اینجا   رو ببینید .
میتونید از  IDE‌های دیگه مختص به لینوکس استفاده کنید اینجا   رو ببینید .

در مورد سوال دوم باید بگم خود جاوا رو با C  نوشتن و برای این منظور که شما فرمودین یا به اصطلاح Cross Platform بودن ،  میتونید  اینجا  و   اینجا   رو ببینید .

موفق باشید
نظرات نظرسنجی‌ها
کدامیک از روش‌های زیر را برای تولید App های موبایل ترجیح می‌دهید؟ چرا؟
با توجه به نقاط ضعف و قوت هر کدام بسته به شرایط پروژه باید انتخاب شوند.
 چنانچه برنامه نیازمند تعامل با قسمتهای مختلف موبایل است استفاده از فناوریهای تحت وب انتخابی نادرست است و اگر عرضه عمومی مد نظر است cross platformها انتخابی نادرست هستند . 
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 19 - بومی سازی
راه حل توکاری ندارد؛ چون این فناوری سمت سرور است. حتی Razor هم یک فناوری سمت سرور است. بنابراین یا باید وقت بگذارید این روش‌های قدیمی را به جدید ترجمه کنید:
و یا یک تامین کننده‌ی منابع عمومی اسکریپت‌ها را تعریف کنید:
<script type="text/javascript">
if (!window.resourceProvider) {
    window.resourceProvider = {
        message1: '',
        message2: ''
    };
}
</script>
سپس در View باید این کلیدها را بر اساس سرویس سمت سرور بومی سازی، مقدار دهی کنید:
@using Microsoft.AspNetCore.Mvc.Localization
@inject IViewLocalizer Localizer

@section Scripts
{
  <script type="text/javascript">
    resourceProvider.message1 = '@Localizer["About Title"]';
  </script> 
}
و در آخر به صورت زیر در هر قسمتی قابل استفاده خواهند بود:
<script type="text/javascript">
   alert(resourceProvider.message1); 
</script>
نظرات مطالب
اعتبارسنجی مبتنی بر JWT در ASP.NET Core 2.0 بدون استفاده از سیستم Identity
با سلام و تشکر؛
در یک از متدها از سطر زیر استفاده شده:
var claimsIdentity = this.User.Identity as ClaimsIdentity ;
میخواستم بدونم آبجکت User که دراینجا اشاره شده، چطوری در دسترس قرار داره؟ و آیا همون کلاس User که در Domain  تعریف کردیم هست یا خیر؟
اگر همان User که در Domain تعریف کردیم هست، با فرض اینکه من به اون کلاس User چند مشخصه جدید (مثلا MyCustomId) اضافه کرده باشم، به اون فیلد MyCustomId مثل این سطر که اشاره کردم دسترسی خواهم داشت ؟ یا باید بعد از به دست آوردن شناسه کاربر (userId) آبجکت کاربر رو از پایگاه داده فراخوانی کنم و بعد اون فیلد MyCustomId   رو ازش بردارم.
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 19 - بومی سازی
متشکرم، قبل و بعد از سوال کردن، چندین بار مطالعه کردم.
مساله ای که دارم رو احتمالا نتونستم درست توضیح بدم، تصویر ساختار پروژه رو پایین قرار دادم، تنظیمات استارت آپ دقیقا همین مواردی هست که در این پست توضیح دادید. در اینجا قصدم صرفا استفاده منبع برای annotation‌های مدل هست.

منبعی که با کادر قرمز مشخص کردم، به درستی کار میکنن و مشکلی نداره و از کلاس‌های لایه domain میتونن ازش استفاده کنن. اما خب منطقی نیست برای هر کلاس یک منبع بسازم.

مساله ام، نحوه نامگذاری منبع اشتراکی هست. SharedResource رو هر گونه نامگذاری کردم، domain نتونست اونو بشناسه. صرفا نمیدونم که منبع اشتراکی رو چه نامی بهش بدم. نه نامگذاری تصویر بالا و نه تصویر پایین، هیچکدوم کار نکرد.

متشکرم.

نظرات مطالب
EF Code First #12
ViewModel متناظر است با اشیاء یک View که الزاما تطابق یک به یکی با Domain Model و موجودیت‌های بانک اطلاعاتی ندارند. مثلا یک صفحه تعویض پسورد هست و فقط یک فیلد پسورد داره. اینجا در معرض دید قرار دادن کل موجودیت کاربر در یک برنامه وب MVC اشتباه است چون به سادگی مورد حمله واقع خواهد شد. خلاصه هر دو مورد ViewModel و Domain model نیاز به اعتبارسنجی دارند؛ به هر روشی که صلاح می‌دونید.
نهایتا اطلاعات ViewModel در حالت Post، به اطلاعات Model انتساب داده میشه. یا دستی و یا مثلا توسط AutoMapper ؛ در این حالت هم هر طور که راحت هستید عمل کنید. قانون یا روش بهتری برای این نوع انتساب‌ها وجود نداره.
نظرات مطالب
معماری لایه بندی نرم افزار #1
اگر مقاله فوق رو با دقت بخونید متوجه میشید که MVC و MVVM در لایه UI پیاده سازی میشن. البته در MVC لایه Model رو به Domain Model و Repository در برخی مواقع لایه Controller رو در لایه Presentation قرار میدن. در MVVM نیز لایه Model در Domain Model و Repository و لایه View Model نیز در لایه Presentation قرار میگیره. همچنین View Model‌ها نیز در لایه Service قرار میگیرن.
در مورد ماژول بندی هم اگر در مقاله خونده باشید میتونید لایه‌ها رو از طریق پوشه ها، فضای نام و یا پروژه‌ها از هم جدا کنید
نظرات مطالب
ASP.NET MVC #14
ممنون که جواب دادید
ولی من این 2 تا پست را دیدم که ادعا دارن که با route  می شه این کار رو هندل کرد
http://admsteck.blogspot.com/2010/04/aspnet-mvc-domain-routing-and-areas.html
http://blog.maartenballiauw.be/post/2009/05/20/ASPNET-MVC-Domain-Routing.aspx
ولی من نتونستم درست پیاده سازی کنم ولی از بعضی کامنت ها اینطور معلوم بود که جواب گرفتن

شما نظرتون چیه؟

من در مورد url rewrite تو asp form مطلب دیدم تو mvc نه دیدم و نه میدونم چه فرقی در نحوه کارش داره