‫۱۱ سال قبل، یکشنبه ۳۱ شهریور ۱۳۹۲، ساعت ۱۸:۲۵
یک نکته تکمیلی در مورد نصب از روی PPA
اگر یک برنامه جدید را در monodevelop شروع کردید و به خطای کامپایل ذیل برخوردید:
Error: A dependency of a referenced assembly may be missing, or you may be referencing an 
assembly created with a newer CLR version. See the compilation output for more details. (Test1)
به این معنا است که mono تنظیم شده در مسیرهای لینوکس، به آخرین نگارش تنظیم نیست. برای رفع این مشکل دستورات ذیل را صادر و بعد monodevelop را اجرا کنید:
export PATH=/opt/mono-3/bin:$PATH
export PKG_CONFIG_PATH=/opt/mono-3/lib/pkgconfig:$PKG_CONFIG_PATH
mono -V
بسته PPA، نگارش 3.2.1 را در مسیر opt/mono-3 نصب می‌کند.
‫۱۱ سال قبل، یکشنبه ۳۱ شهریور ۱۳۹۲، ساعت ۱۷:۱۹
- اگر پروژه خودتون هست، از اینترفیس استفاده کنید. تغییرات آن و نگارش‌های بعدی آن تحت کنترل خودتان است و build دیگران را تحت تاثیر قرار نمی‌دهد.
- در پروژه‌های سورس باز دات نت، عموما از ترکیب این دو استفاده می‌شود. مواردی که قرار است در اختیار عموم باشند حتی دو لایه هم می‌شوند. مثلا در MVC یک اینترفیس IController هست و بعد یک کلاس Abstract به نام Controller، که این اینترفیس را پیاده سازی کرده برای ورژن پذیری بعدی و کنترلرهای پروژه‌های عمومی MVC از این کلاس Abstract مشتق می‌شوند یا در پروژه RavenDB از کلاس‌های Abstract زیاد استفاده شده، مانند AbstractIndexCreationTask و AbstractMultiMapIndexCreationTask و غیره.
‫۱۱ سال قبل، یکشنبه ۳۱ شهریور ۱۳۹۲، ساعت ۱۶:۲۱
تفاوت مهمی نداره؛ فقط اینترفیس ورژن پذیر نیست. یعنی اگر در این بین متدی رو به تعاریف اینترفیس خودتون اضافه کردید، تمام استفاده کننده‌ها مجبور هستند اون رو پیاده سازی کنند. اما کلاس Abstract می‌تونه شامل یک پیاده سازی پیش فرض متد خاصی هم باشه و به همین جهت ورژن پذیری بهتری داره.
بنابراین کلاس Abstact یک اینترفیس است که می‌تواند پیاده سازی هم داشته باشد.
همین مساله خاص نگارش پذیری، در طراحی ASP.NET MVC به کار گرفته شده: (^ )
برای من نوعی شاید این مساله اهمیتی نداشته باشه. اگر من قرارداد اینترفیس کتابخانه خودم را تغییر دادم، بالاخره شما با یک حداقل نق زدن مجبور به به روز رسانی کار خودتان خواهید شد. اما اگر مایکروسافت چنین کاری را انجام دهد، هزاران نفر شروع خواهند کرد به بد گفتن از نحوه مدیریت پروژه تیم‌های مایکروسافت و اینکه چرا پروژه جدید آن‌ها با یک نگارش جدید MVC کامپایل نمی‌شود. بنابراین انتخاب بین این دو بستگی دارد به تعداد کاربر پروژه شما و استراتژی ورژن پذیری قرار دادهای کتابخانه‌ای که ارائه می‌دهید.
‫۱۱ سال قبل، شنبه ۳۰ شهریور ۱۳۹۲، ساعت ۰۳:۵۲
- مجبور نیستید 100 درصد در لینوکس برنامه نویسی کنید. در ویندوز با VS.NET کار کنید. نتیجه قرار است در لینوکس اجرا شود یا هاست شود.
- نمی‌دونم. من اصلا مشتری دولتی ندارم. (ضمن اینکه به نظر خیلی‌ها اصل خبر رو درست نخوندند و بد تفسیر کردند)
- یک سری اما و اگر داره. اگر از API ویندوز استفاده نکرده باشید، اگر از WPF استفاده نکرده باشید برنامه شما به احتمال زیاد قابل اجرا و انتقال خواهد بود.
‫۱۱ سال قبل، شنبه ۳۰ شهریور ۱۳۹۲، ساعت ۰۱:۵۰
اینکار رو انجام ندید. نصب MonoDevelop از طریق مرکز نرم افزار آن یا صدور فرمان sudo apt-get install monodevelop نگارش 3 این برنامه را نصب خواهد کرد (نگارش جاری آن تا این تاریخ 4 است) و همچنین مونوی قدیمی را هم به اجبار اضافه می‌کند (مونوی نگارش 2).
‫۱۱ سال و ۱ ماه قبل، دوشنبه ۲۵ شهریور ۱۳۹۲، ساعت ۱۵:۳۷
matcher یک callback جاوا اسکریپتی است. بنابراین در سمت کلاینت باید پیاده سازی شود (چیزی شبیه به مقدار دهی source پویای مثال آخر بحث).
$('.typeahead').typeahead({
    matcher: function(item) {
        // آیتم مقداری است که باید برای تطابق بررسی شود
        //  this.query کوئری جاری را بر می‌گرداند.
        return true // اگر آیتم تطابق داشته است
    }
})
مثلا:
matcher: function (item) {
    if (item.toLowerCase().indexOf(this.query.trim().toLowerCase()) != -1) {
        return true;
    }
}
از matcher برای سفارشی سازی و بررسی اینکه آیا عبارت تایپ شده توسط کاربر با list دریافتی تطابق دارد یا خیر، استفاده می‌شود. حالت پیش فرض، تطابق دقیق لیست دریافتی با متن ورودی کاربر است. با استفاده از matcher در سمت کلاینت می‌توانید نحوه نمایش لیست دریافتی از سرور را سفارشی سازی کنید.
‫۱۱ سال و ۱ ماه قبل، یکشنبه ۲۴ شهریور ۱۳۹۲، ساعت ۲۲:۴۶
- سوئیچ ModelType رو ذکر نکردید. مثالش هست در متن (... ModelType Task - ...) 
- خطاهایی رو هم که دریافت می‌کنید، اینجا به نویسنده اصلی گزارش بدید (به صورت کامل البته؛ نه اینکه صرفا عنوان کنید کار نمی‌کند).
‫۱۱ سال و ۱ ماه قبل، شنبه ۲۳ شهریور ۱۳۹۲، ساعت ۲۱:۰۵
قسمت سوم این بحث  به سفارشی سازی scaffolding پرداخته. اگر از پیش فرض‌های آن راضی نیستید یا هر تغییر خاصی را علاقمند بودید که به کلاس‌ها یا فایل‌های پیش فرض آن اعمال کنید، با سفارشی سازی قابل انجام است.
‫۱۱ سال و ۱ ماه قبل، شنبه ۲۳ شهریور ۱۳۹۲، ساعت ۲۱:۰۰
- لینک مطلب «پیاده سازی generic repository یک ضد الگو است » را براشون ارسال کنید تا مطالعه کنند.
- در متن عنوان شده « ModelType: برای ذکر صریح کلاس مورد استفاده در تشکیل کنترلر بکار می‌رود. اگر ذکر نشود، از نام کنترلر حدس زده خواهد شد.» ModelType دقیقا مانند نحوه مقدار دهی نوع مدل در صفحه دیالوگ استاندارد اضافه کردن یک View در VS.NET مقدار دهی می‌شود؛ یک fully qualified name است. با این شرط که اسمبلی مربوطه به پروژه اصلی ارجاع دارد و یکبار هم کل پروژه Build شده.