نظرات مطالب
پَرباد - آموزش پیاده‌سازی پرداخت آنلاین در دات نت - آموزش پیشرفته
ممنون از راهنمایی تون
می خواستم اطلاعات ارتباط بین جدول پرداخت و سفارش داشته باشم و به کاربر بابت هر سفارش پرداختی داره گزارش ارائه بدم
یعنی اینکه یک سفارش ممکن چندین پرداختی داشته باشه
و بابت هر سفارش تاریخچه پرداختی هاش باشه
و اینکه نام جدول و ساختارش با ساختار دیتابیس خودم یکی باشه و تمام قوانین Performance  در ساختار SQL رعایت بشه مثل انتخاب نوع datatype ها
و از جمله قوانین نامگذاری فیلدها
نظرات مطالب
طبقه بندی Bad Code Smell ها
می‌تونید راه حل بهتری در مورد این دو سطر ارائه بدید (چون به عنوان code smell نامبرده شدن)؟
«استفاده از constant‌ها برای کد کردن اطلاعات مانند USER_ADMIN_ROLE = 1 
استفاده از constant‌های رشته‌ای به عنوان نام فیلدها در آرایه‌های داده»
در کل توصیه شده بجای استفاده از magic numbers از ثوابت استفاده بشه. مثلا بجای نوشتن if(role==1) بهتر هست نوشته بشه if(role==UserAdminRole) که از هر لحاظ خوانایی بهتری داره نسبت به ذکر عدد 1 که مشخص نیست چی هست. بعلاوه مشکل تغییر این اعداد هم در کل پروژه صرفا با تغییر محل اصلی اون‌ها قابل حل است و نگهداری رو ساده‌تر می‌کنند.
نظرات مطالب
OpenCVSharp #18
چند نکته اینجا هست:
- این سری برای OpenCvSharp2 تهیه شد که نصب آن به صورت زیر است:
PM> Install-Package OpenCvSharp-AnyCPU
- هر چند OpenCvSharp3 مدتی هست که ارائه شده‌است، اما فاقد یکسری از قابلیت‌های OpenCvSharp 2 مانند مباحث contrib آن است (اطلاعات بیشتر و بحث بیشتر).
البته من مخزن کدهای این سری را به نگارش 3 به روز رسانی کرده‌ام (تمام مثال‌ها را)، ولی چون هنوز اصل نگارش 3 این کتابخانه تکمیل نشده‌است، یک سری از مثال‌های آن قابل اجرا نیست. اگر علاقمند بودید که تغییرات رخ داده را بررسی کنید، مراجعه کنید به لیست commits این پروژه.

خلاصه‌ی کلام
- ابتدا نگارش 2 را نصب کنید.
- سپس کدها را مطابق مطلب فوق یا پیش از commit آخر که مربوط به نگارش 2 است، اجرا کنید. مشکلی نخواهد بود.
نظرات مطالب
استفاده از چند فرم در کنار هم در ASP.NET MVC
سپاس, در لینک گفته شده است:

حین فراخوانی متد Html.Action، یک متد در یک کنترلر فراخوانی خواهد شد (که شامل ارائه درخواست و طی سیکل کامل پردازشی آن کنترلر نیز خواهد بود). سپس آن متد با بازگشت دادن یک PartialView، اطلاعات پردازش شده یک partial view را به فراخوان بازگشت می‌دهد 
دقیقا همین مورد در این اموزش اجرا شده است
 return PartialView("_Contact", model);
ولی اگر بخواهیم بعد انجام عملیات, اکشن دیگری اجرا بشه چه کار باید کرد؟
من از RedirectToAction استفاده کردم ولی متاسفانه error داد...
 if (this.ModelState.IsValid)
            {
                
                return RedirectToAction(actionName: "show", controllerName:"Posts", routeValues: new { id });
            }
پیغام:
Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'. 
 

Child actions are not allowed to perform redirect actions. 

نظرات مطالب
نگاهی به Latent Semantic Indexing
سلام دوست عزیز. از اونجایی که این روش سالهای زیادی است معرفی شده و مورد استفاده قرار گرفته (از اواخر دهه 90 میلادی) مقالات و منابع زیادی تو این حوزه منتشر شده تا بحال و بر روی اینترنت هم موجود است. ولی برای شروع می‌تونید سری به این لینک‌ها بزنید :

لینک زیر بطور آکادمیک توضیحاتی را در مورد Latent Semantic Analysis ارائه میده:
این لینک مربوط به دانشگاه استندفورد هستش و واقعا یه مرجع  عالی در مورد روش‌های مختلف بازیابی اطلاعات (Information Retrieval) هستش که اگر علاقه به سایر حوزه‌ها تو این زمینه دارید می‌تونید بعنوان یه مرجع خوب ازش استفاده کنید :
اگر هم شرحی عامیانه‌تر از این مقوله می‌خواهید می‌تونید به این لینک سری بزنید :
نظرات مطالب
نحوه کاهش مصرف حافظه EF Code first حین گزارشگیری از اطلاعات

سلام؛ ممنون از پاسختون. من تمام برنامه‌های گزارش سازی را که میشناختم (Telerik, Fastreport, ReportViewer, DevExpress) همه را بررسی کردم . اما هیچ کدام چنین پراپرتی و یا مشابه اون و نداشتند. یعنی هرکسی می‌خواد گزارش بگیرد یک دفعه کل اطلاعات و از بانک می‌خونه! هرچقدر هم با فیلترهای مختلف گزارش و با فیلترهای مختلف مثلا تاریخ یا شماره رکورد محدود کنیم اما در کل کاربر در هر لحظه یک صفحه را که بیشتر نمی‌تواند ببیند. مباحث مذکور به خوبی در انواع گرید و کنترل‌های مختلف پیاده سازی شده و شرکت‌های مختلف راه حل‌های مختلفی همانند مواردی که شما ذکر کردید ارائه کرده اند اما برای گزارش خیر !

نظرات مطالب
نحوه کاهش مصرف حافظه EF Code first حین گزارشگیری از اطلاعات
مورد مدنظر شما اصطلاحا paging نام دارد و در گزارش گیری‌های خصوصا برنامه‌های تحت وب که گرید نهایی را برنامه نویس با کدنویسی و ارائه منبع داده مناسبی طراحی و پیاده سازی می‌کند، بسیار مرسوم است (یک Take و Skip است در سمت کوئری LINQ نوشته شده). مثلا:
«واکشی اطلاعات به صورت chunk chunk (تکه تکه) و نمایش در ListView»
این قابلیت اگر در نرم افزارهای گزارشگیری یاد شده، پیاده سازی شده‌‌است (مانند مثال یاد شده MaximumRows و StartRowIndex را هربار در اختیار برنامه نویس قرار می‌دهند)، آنگاه قابل استفاده و پیاده سازی خواهد بود. در غیراینصورت، کار خاصی را نمی‌توان انجام داد و باید مطابق نیاز تجاری آن‌ها رفتار کرد.
نظرات مطالب
مفاهیم برنامه نویسی ـ مروری بر فیلدها، متدها و ساخت اشیاء
ممنون بابت مطلب آموزشی تون،
تاکیدتان بر استفاده از قرار دادهای نامگذاری، تاکید مثبتی است و واقعا مهم، 
کتاب Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries در این زمینه اطلاعات کاملتر و دقیقتری در بر داره.
یکی از روش هایی که در رعایت استاندارهای کد نویسی تاثیر مفیدی داره این هستش که در قطعه کد هایی که به عنوان مثال در آموزش‌ها ارائه می‌شه تا حد امکان سعی بشه این اصول رعایت بشه تا به صورت تدریجی این روش کد نویسی جزئی از عادات برنامه نویسی ما بشود.
نظرات مطالب
حذف هدرهای مربوط به وب سرور از طریق برنامه نویسی
- برای فایل‌های جاوا اسکریپت توصیه من این است:
الف) اگر از Web forms استفاده می‌کنید: استفاده از Script manager (^ و ^)
ب) اگر از MVC استفاده می‌کنید: استفاده از Bundling & minification
در هر دو حالت نحوه ارائه اسکریپت‌ها تحت کنترل برنامه ASP.NET در خواهد آمد و مستقیما و بدون دخالت ASP.NET، توسط IIS توزیع نمی‌شوند.
- برای مپ کردن فایل‌های استاتیک به موتور ASP.NET می‌شود از StaticFileHandler استفاده کرد. اگر کش کردن اطلاعات استاتیک در سمت سرور فعال شود، این مساله بار اضافه‌ای را به سرور تحمیل نخواهد کرد.
<system.web>
   <httpHandlers>
      <add path="*.js" verb="*" type="System.Web.StaticFileHandler" />
   </httpHandlers>
نظرات مطالب
استفاده از DbProviderFactory
سلام
با تشکر از توصیه شما
تا حدودی با نظر شما موافق هستم، اگر بخواهیم با امکانات جدید مایکروسافت نرم افزاری ایجاد نماییم. قطعا، روش بیان شده ضرورتی ندارد، اما برای پروژه هایی که با امکانات قدیمی‌تر نوشته شده اند و بدلایلی امکان بازنویسی آنها وجود، ندارد، و از طرفی میبایست با دیتابیس‌های مختلف نیز کار کند، روش فوق می‌تواند مفید باشد،
در مورد اینکه دیتابیس‌ها با هم متفاوت می‌باشند، نیز با شما موافقم، حتی معتقدم که Provider ی را که مایکروسافت برای Oracle ارائه داده است،در مقایسه با Provider شرکت Oracle بسیار ضعیف‌تر عمل می‌نماید، به عنون مثال در جاهایی که مدت زمان درج اطلاعات زیادی بصورت Batch بسیار اهمیت دارد،Provider، شرکت Oracle  برای دیتابیس Oracle سازگارتر و کاراتر میباشد.