نظرات مطالب
ASP.NET MVC #21
یک سری از مجوز‌های سورس باز به این شکل هستند. نمونه دیگر آن LGPL است. مثلا NHibernate مجوز LGPL دارد. به این معنا که مجاز هستید از آن به شکل بایناری (یعنی فایل‌های dll کامپایل شده آن) در هر نوع پروژه تجاری، غیرتجاری، باز، بسته ... بدون محدودیت استفاده کنید. اما اگر سورس آن‌ها را مستقیما به پروژه خود اضافه و کامپایل کنید، نیاز است تا سورس کارتان را هم ارائه دهید.
نظرات مطالب
ASP.NET MVC #3
من خوب متوجه نشدم که این قسمت دوم باید در پوشه کنترلر باشه یا ویوو؟

در پوشه Views، ...همچنین مطابق قرارداد دیگری، اگر نام کنترلر ما مثلا ProductController باشد (با توجه به اینکه نام کلاس آن هم مطابق قرارداد، مختوم به کلمه Controller است)، فایل‌های Viewهای مرتبط با آن در پوشه Views/Product قرار خواهند گرفت.
نظرات مطالب
استفاده از اسمبلی‌های دات نت 2 در یک پروژه دات نت 4
در مورد CHM پیشتر مطلب نوشتم:(+)
برای استفاده از آن در یک برنامه مستقل، تمام این‌کارها از طریق خط فرمان این برنامه (html help workshop) هم قابل انجام است. فقط فایل‌های پروژه و ایندکس و غیره آن‌را برنامه شما باید تولید کرده و به صورت پارامتر خط فرمان به آن ارسال کند.
نظرات مطالب
بررسی دقیق‌تر صفحات آبی ویندوز
برای سهولت کار در ویندوز 7 و فعال سازی ذخیره کردن فایل‌های دامپ، از این فایل reg هم می‌تونید استفاده کنید. پس از دریافت، کلیک راست و انتخاب گزینه‌ی merge جهت افزودن اطلاعات آن به registry ویندوز :
Win7-WinVista-Win2008
نظرات مطالب
بررسی دقیق‌تر صفحات آبی ویندوز
سلام
چون درایوری که در حال دیباگ هست مربوط به مایکروسافت نیست، فایل‌های pdb آن از مایکروسافت دانلود نشده و این اخطار را گرفته‌اید.

مشکل شما احتمالا از درایور کارت شبکه nForce chipset شما است. به دنبال آخرین نگارش این درایور باشید تا مشکل را حل کند. (مهم!)

اگر هم دوست داشتید فایل دامپ خودتون را یک جایی آپلود کنید تا من آن‌را بررسی کنم.
مطالب
استفاده از RequireJs در پروژه های Asp.Net MVC
 در پست قبلی با کلیات RequireJs آشنا شدید. در این به بررسی  و پیاده سازی مثال قبل در قالب یک پروژه Asp.Net MVC می‌پردازم:
ابتدا یک پروژه Asp.Net MVC ایجاد کنید. در فولدر scripts تمام فایل‌های جاوااسکریپ پروژه قرار خواهند داشت. اگر قصد داشته باشیم که فایل‌های جاوااسکریپی سایر فریم ورک‌ها را استفاده نماییم (مثل backbone.js و ExtJs و...) برای طبقه بندی بهتر فایل ها، بهتر است که یک فولدر با نامی مشخص بسازیم و فایل‌های مورد نیاز را در آن قرار دهیم. البته اگر از nuget برای نصب این فریم ورک‌ها استفاده نمایید عموما این کار انجام خواهد شد.
حال با استفاده از Package Manager Console و اجرای دستور زیر، اقدام به نصب requireJs کنید
PM> Install-package requireJs
ساختار فولدر scripts به صورت زیر خواهد شد(دو فایل r.js و require.js به این فولدر اضافه می‌شود)  

 

یک فولدر به نام MyFiles در فولدر Scripts بسازید و فایل‌های purchase.js و product.js و credits.js در پروژه قبل را در آن کپی نمایید. کد فایل‌های پروژه قبل به صورت زیر بوده است:
purchase.js
define(["credits","products"], function(credits,products) {
  console.log("Function : purchaseProduct");
  return {
    purchaseProduct: function() {
      var credit = credits.getCredits();
      if(credit > 0){
        products.reserveProduct();
        alert('purchase done');'
        return true;
 } alert('purchase cancel');   return false; } } });
در کد بالا از یک alert برای نمایش موفقیت یا عدم موفقیت عملیات استفاده کردم.
products.js
define(function(products) {
  return {
    reserveProduct: function() {
      console.log("Function : reserveProduct");
      return true;
    }
  }
});
credits.js
define(function() {
  console.log("Function : getCredits");
  return {
    getCredits: function() {
      var credits = "100";
      return credits;
    }
  }
});
در نتیجه فایل‌های زیر به ساختار فولدر scripts اضافه شده است:


برای قدم بعدی، در متد RegisterBundles فایل bundleConfig پروژه دستور زیر را وارد نمایید:
  bundles.Add( new ScriptBundle( "~/bundles/require" ).Include(
                      "~/Scripts/require.js" ) );
کاملا واضح است که نیاز به تغییر در فایل Layout_  پروژه نیز داریم؛ در نتیجه تغییرات زیر را در فایل اعمال نمایید:



همان طور که مشاهده می‌کنید ابتدا با استفاده از دستور Scripts.Render فایل‌های include شده برای requireJs را در صفحه لود می‌کنید. سپس در تگ scripts که نوشته شده است با استفاده از دستور require.config مکان فایل‌های مورد نیاز را به فریم ورک Require معرفی میکنیم. این بدان معنی است که فریم ورک هر زمان که نیاز به لود یک وابستگی برای فایل‌های جاوااسکریپ داشته باشد، این مکان معرفی شده را جستجو خواهد کرد.
حال برای استفاده و لود ماژول purchase در انتهای فایل Index فولدر Home تغییرات زیر را اعمال نمایید:
@section scripts
{
    <script type="text/javascript">
    require(['purchase'], function (purchase)
    {        
        purchase.purchaseProduct();
    });
</script>
}
در دستورات بالا با کمک دستور require(همان طور که در پست قبلی توضیح داده شد) ماژول purchase را لود می‌کنیم و بعد با فراخوانی تابع purchaseProduct به خروجی مورد نظر خواهیم رسید. در این جا من از دستور alert برای نمایش خروجی استفاده کردم! در نتیجه خروجی به صورت زیر خواهد بود:

 
مطالب
tesseract-ocr و پشتیبانی از زبان عربی

tesseract-ocr، یک OCR سورس باز توسعه یافته توسط شرکت HP در بین سال‌های 1985 تا 1995 است و اکنون شرکت گوگل کار نگهداری و توسعه آن‌را به عهده دارد. کیفیت نویسه خوانی انگلیسی آن فوق‌العاده بالا است. در آخرین نگارش آن پشتیبانی از زبان عربی هم را اضافه کرده است.
برای نصب آن ابتدا نگارش قابل حمل آن‌را دریافت و سپس فایل‌های مرتبط با زبان عربی را نیز باید دریافت کنید. پس از دریافت این‌دو، فایل‌های زبان عربی را در پوشه tessdata کپی کنید.

کار کردن با آن هم به سادگی اجرای فرمان زیر است:

tesseract.exe image.tif file -l ara

پارامتر اول نام تصویر، پارامتر دوم نام فایل متنی خروجی است (خودش یک txt را به صورت خودکار به فایل تولیدی اضافه می‌کند) و در آخر زبان عربی مشخص شده است.
برای نمونه تصویر زیر را


به صورت متن زیر نویسه خوانی کرد:

«برا ی ای ذسث است»

فعلا ابزاری را برای ویرایش فایل‌های مرتبط با تشخیص زبان عربی ارائه نداده‌اند. بنابراین برای استفاده از آن جهت تشخیص متون فارسی مشکل وجود دارد چون «گچ پژ» را نمی‌تواند تشخیص دهد و به اینجا که می‌رسد کلا سیستمش به هم می‌ریزد.
انجمن پرسش و پاسخ آن هم در اینجا قرار دارد.

فایل‌های اجرایی و زبان عربی این برنامه را از آدرس‌های زیر هم می‌توان دریافت کرد:
Mirror: tesseract-ocr-3.01-win32-portable.zip & tesseract-ocr-3.01.ara.tar.gz
مطالب
خلاصه‌ای از آغاز به کار با NHibernate

اگر شش یا هفت قسمت قبل را بخواهیم به صورت سریع مرور کنیم می‌توان به ویدیوی زیر مراجعه کرد:


در طی یک ربع، خیلی سریع به دریافت فایل‌های لازم، ایجاد یک پروژه جدید، افزودن ارجاعات لازم، استفاده از fluent NHibernate برای ساخت نگاشت‌ها و سپس استفاده از LINQ to NHibernate برای کوئری گرفتن از اطلاعات دیتابیس اشاره کرده است (که از این لحاظ کاملا به روز است).


مطالب
لیستی از برگه‌های مرجع

اخیرا سایت dzone ، تعدادی برگه مرجع رایگان (یا همان برگه تقلب سابق!) را منتشر کرده است.
مشاهده صفحه مربوطه

فقط باید عضو شد و به ازای هر فایل pdf یک ایمیل دریافت کرد! که کمی دشوار و وقت گیر است. لیست فایل‌های pdf آن‌را از اینجا می‌توانید دریافت کنید.


موفق باشید
پاسخ به بازخورد‌های پروژه‌ها
مشکل در bundle and minification در هاست
باید بتوانید برنامه را دیباگ کنید:
- فایل‌های خالی، به همراه خطای مرتبط هم هستند: نحوه استفاده از افزونه Firebug برای دیباگ برنامه‌های ASP.NET مبتنی بر jQuery  
- این پروژه برای لاگ خطاهای سمت سرور از ELMAH استفاده می‌کند. لاگ‌های آن‌را بررسی کنید.