پاسخ به بازخورد‌های پروژه‌ها
خطا و راهنمایی
یک نکته تکمیلی:
ارجاعی را به اسمبلی «System.Windows.Forms.DataVisualization.dll» که در پوشه bin در ریشه اصلی سورس‌ها هست اضافه کنید. این مورد در مثال‌های برنامه نیاز است.
فایل xml ایی که از قلم افتاده است پیوست شد. بعدا به سورس‌ها اضافه خواهم کرد:
AppManifest.xml

پ.ن.
آخرین سورس
را دریافت کنید. این تغییرات به آن نیز اعمال شد.
نظرات نظرسنجی‌ها
آیا قصد مهاجرت به NET Core. را دارید؟
به نظرم اگه قرار بر استارت پروژه‌ی چند ساله باشه از الان دیگه باید Core انتخاب بشه ، چون طی چند سال آینده ، تا حدود زیادی نسخه‌های قبلی فراموش میشن ... مثه جایگزین شدن Razor به جای aspx ، که البته این سری خیلی خیلی عظیم‌تر هست گستردگی تغییرات ...
نظرات اشتراک‌ها
5 زبان برنامه نویسی که طول عمر آن‌ها به سر رسیده‌است
هدف از ارائه نسخه visual basic ایجاد آشنایی هر چه بیشتر برنامه نویسان زبان‌های دیگر و همچنین به خصوص خود vb6 با مجموعه دات نت بود ولی دیگه الان دلیلی برای اینکه بخواد در این مجموعه قرار داده بشه نمونده.
هر چند visual studio magazine مطلبی تحت نام "وی بی نمرده" ارائه کرده بودند که در نسخه‌های آتی هم خواهد بود و هنوز هم در این زمینه بین علما اختلافه ولی مایکروسافت فعلا نه تنها برنامه ای برای حذفش نداره بلکه داره به شدت روی این زبان هم مانور میده
مورد بعدی دلفی هست که به نظرم بیشتر برنامه نویسان قدیمی یا چندسال پیش توی ایران حداقل تا اونجا که خبر دارم طرفدارش هستند و استفاده چندانی مثل قدیم نداره حتی مراجع آنلاینش هم نسبت به زبان‌های دیگه هم کمتر شده و هم شرکت‌های third party هم مثل devexpress و telerik هم مثل سابق روش مانور چندانی نمیدن یا اینکه من اطلاعاتم در این زمینه کمه و خبر ندارم، چون به هر حال دنبالش نیستم اینطوری برداشت می‌کنم
نظرات مطالب
تنظیمات کش توزیع شده‌ی مبتنی بر SQL Server در ASP.NET Core
- اگر با SQL Server کار کرده باشید، حتما دیده‌اید که سرعت اجرای یک کوئری در بار دوم و پس از آن، بسیار بسیار بیشتر از اجرای اول آن است. یکی از مهم‌ترین دلایل آن، به buffer cache مرتبط می‌شود که کارش کش کردن صفحات اطلاعات مرتبط با داده‌های کوئری‌های انجام شده‌است. هر زمانیکه در SQL Server اطلاعاتی از بانک اطلاعاتی خوانده می‌شود، این اطلاعات در RAM سرور هم کپی می‌شوند. نکته‌ی مهم اینجا است که SQL Server هرچقدر RAM را که بتواند برای این منظور مورد استفاده قرار می‌دهد و در این حالت اگر کسی با این نکته آشنایی نداشته باشد یا تصور می‌کند که SQL Server دچار نشتی حافظه شده‌‌است و یا پس از مدتی با کمبود RAM در سرور مواجه خواهد شد. اطلاعات بیشتر
نظرات مطالب
توسعه برنامه های Cross Platform با Xamarin Forms & Bit Framework - قسمت اول
یه پروژه Xamarin Forms با Xaml و CSharp زده می‌شه. هر میزان با این دو آشنایی داشته باشید بهتره. منتهی مسئله ای که وجود داشت اینه که حتی اگه کسی این دو رو بلد هم می‌بود، باز هم به سختی می‌تونست کار با Xamarin رو شروع کنه و پیش ببره. حالا یا نمی‌دونست چطوری درست نصب کنه، یا نمی‌دونست چجوری Edit & continue راه بندازه که سریع کد بزنه بره جلو یا نمی‌دونست چجوری Performance فرم‌ها رو خوب کنه یا حجم پروژه فایل پابلیش شده اش زیاد نباشه. این‌ها باعث می‌شد افراد نتونن با این ابزار درست کار کنن و فعلا تمرکز این دوره روی حل مشکلات هست، وگرنه تو آموزش Xaml که آموزش‌های خوبی هست. تو CSharp هم همین طور. حالا من اون چه که لازم هست برای شروع رو و نحوه حل مشکلات رو می‌گم، بعد تو قسمت‌های بعدی می‌گم در ادامه چی بخونین بهتره. صد البته که می‌تونید اگه سوالی هم دارید بپرسید و من سعی می‌کنم جواب بدم.
نظرات مطالب
بررسی ویجت Kendo UI File Upload
- «نمایش حداکثر اندازه مجاز فایل قابل آپلود به کاربر، در ASP.Net»  
- اگر قرار هست تعدادی read و write از و به بانک اطلاعاتی به صورت یک atomic operation عمل کنند، باید از تراکنش‌ها به صورت صریح استفاده کنید:
using (var transaction = new TransactionScope(TransactionScopeOption.Required,
 new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted }))
{
    var database = new DatabaseContext();

    // DBC: BEGIN TRANSACTION

    var userA = database.Users.Find(1);
    var userB = database.Users.Find(2);
    userA.Name = "Admin";

    database.SaveChanges();

    userB.Age = 28;
    database.SaveChanges();


    // DBC: COMMIT TRANSACTION

    transaction.Complete();
}
اطلاعات بیشتر
«اصول پایگاه داده - تراکنش ها»
«آشنایی با TransactionScope»  
«مفهوم READ_COMMITTED_SNAPSHOT در EF 6»    
« بررسی Transactions و Locks در SQL Server»  
نظرات مطالب
آشنایی با Saltarelle کامپایلر قدرتمند #C به جاوااسکریپت
با تشکر از نوشتارتون ذکر دو نکته را لازم می‌دونم.
اول اینکه هدف از این مطلب الزام به استفاده یا عدم استفاده از این نوع کامپایلرها نیست و فقط برای آشنایی با این گونه ابزارها بوده که در حال حاضر در بسیاری از نرم افزارهای اینترپراز در حال استفاده اند.
و دوم اینکه تفاوت ساختاری و ماهیتی سی شارپ و جاوا اسکریپت اونقدر واضح هست که نباید از این دو انتظار یکسان داشت. و مهمترین عامل به وجود اومدن چنین کامپایلرهایی استفاده از سینتکس سی شارپ بوده و نه قدرت دات نت فریم ورک. بنا براین فکر می‌کنم لزومی به وجود مبدل هایی از زبان میانی وجود ندارد و همچنین واضح است کلاس هایی از قبیل Random و غیره که نه توانایی زبان سی شارپ بلکه امکانات درونی دات نت فریم ورک است برای همچین ابزاری بی معناست.
و فکر می‌کنم برای چنین کامپایلری لازم نیست جاوا اسکریپت همه امکانات سی شارپ را داشته باشد. و اینکه سی شارپ بتواند قسمت زیادی از امکانات جاوا اسکریپت را در اختیار برنامه ساز قرار دهد کافیست.
باز هم تشکر می‌کنم
نظرات مطالب
آموزش MDX Query - قسمت ششم – شروع کار با دستورات MDX
در قسمت اول این مجموعه توضیحات لازم را در خصوص مقدمات کار و مفاهیم اولیه خدمتتان ارایه کردم. برای آشنایی با ساخت Data Warehouse لطفا مراجعه کنید به قسمت (مدل داده‌ای رابطه‌ای (Relational) وچند بعدی (Multidimensional) ) در سری اول.
در خصوص ایجاد ابعاد ی مانند بعد تاریخ و بعد سن باید عرض کنم که این ابعاد امکان ارایه انواع گزارشات مختلف را به شما خواهند داد و مطلقا OLAP را از حالت دینامیک خارج نمیکند.
در خصوص نحوه‌ی تحلیل و طراحی DW ، امیدوارم به زودی بتوانم مقاله ای را انتشار بدهم.
در خصوص عملگر‌های تقسیم و ... و توابع جمعی به زودی در قسمت‌های بعدی اطلاعات کاملی را خدمتتان ارایه خواهم کرد. به طور خلاصه اینکه OLAP برای ایجاد گزارشات مدیریتی می‌باشد و قطعا این موارد شما در ادامه پوشش  داده خواهد شد.(شما به راحتی می‌توانید سرجمع یک بازه‌ی تاریخی یا سنی را برای یک Measure خاص بدست آورید.)
نظرات مطالب
Senior Developer به چه کسی گفته می شود؟
اصولا بهترین روش برای تشخیص اینکه شما در کدام سطح قرار دارید این است که خودتون به مسیری که طی کردید تا به جایگاه فعلی برسید یک نگاه دقیق داشته باشید. اصولا اکثر برنامه نویسانی که در شرکت‌های نرم افزاری مشغول به کار هستند در سطح Junior یا Mid Level هستند. در این پست تمرکز اصلی برای تشریح سطح برنامه نویس ارشد بود. متاسفانه در اکثر آگهی‌های استخدام شاهد این هستیم که برنامه نویس باید با انبوهی از تکنولوژی‌های آشنایی داشته باشد. مثلا حتما در آگهی‌ها دیده اید که برنامه نویس Asp.Net MVC مسلط به JQuery و HTML و CSS و JavaScript و EF و.... بعنی باید برنامه نویس هم در لایه‌های سطح پایین نظیر Business  و سرویس برنامه نویسی کند و هم به عنوان یک Front- End کار.
به صورت معمول زمانی که برنامه نویسان خودشون را در جایگاه Senior Developer نمی‌بینند از واژه Software Developer استفاده می‌کنند.
نظرات مطالب
EF Code First #2
بهتر است که model یک view با domain model یکی نباشد. هر view ممکن است در عمل  فقط به تعدادی فیلد محدود نیاز داشته باشد. این‌ها با entityهای تعریف شده یکی نیستند و ضرورتی هم ندارد یکی باشند. حتی ممکن است جهت ارائه یک View تعدادی خاصیت جدید را هم تعریف کنید، اما از حاصل محاسباتی خاص بر روی آن‌ها، یک نتیجه را در بانک اطلاعاتی ثبت کنید.
ضمن اینکه تا این سری 15 قسمتی که به عمد با برنامه کنسول جلو رفته رو تموم نکنید، درک صحیحی از اجزای مختلف آن پیدا نخواهید کرد.
هر زمانی هم خواستید مطلبی را در این سطح آموزش دهید با برنامه‌ی کنسول کار کنید چون هدف در اینجا نحوه نمایش آن با سیلورلایت یا asp.net یا winforms و غیره نیست. هدف آشنایی با زیرساخت‌های اصلی یک فناوری است؛ صرفنظر از نحوه نمایش آن به کاربر.
چگونه باید کلاس‌ها را به بانک اطلاعاتی نگاشت کرد. چگونه باید پس از تغییر کلاس‌ها، بانک اطلاعاتی را با برنامه هماهنگ کرد. چطور باید حالت‌های یک به چند و امثال آن‌را تعریف کرد. چطور باید یک Context را صحیح مدیریت کرد و غیره. هدف این سری، این نوع مباحث پایه‌ای بوده نه فناوری نمایش نهایی آن.