آرشیو ماهانه: مارس 2011

‫کار با git

درست یک سال پیش که می‌خواستم سورس کنترل شرکت قبلی را از SourceSafe به یک سورس کنترل جدیدتر ارتقا بدهم به شدت بین svn و git دودل بودم. یکی از دلایل این تردید سخت بودن کار با git بود خصوصاً برای کسانی که قبل از آن فقط با SourceSafe کار کرده بودند. اما حالا بعد …

زندگی و فناوری

تعطیلات نوروز و دوری چند روزه از فناوری، برنامه‌نویسی، نرم‌افزار و اینترنت باعث شد باز هم به یکی از موضوعات قدیمی ذهنم فکر کنم. این که فناوری به طور کلی چه تاثیر مثبتی روی زندگی ما می‌گذارند. آیا استفاده روز افزون از تلویزیون، وسایل مخابراتی، موبایل، اس‌ام‌اس، بانکداری اینترنتی، اتوموبیل‌های پیشرفته، چراغ قرمز‌های هوشمند، نرم‌افزارهای …

‫مشکل با EnableSEOPaging

یکی از امکانات کنترل گرید تلریک یعنی RadGrid امکان SEO friendly بودن مکانیزم Paging آن می‌باشد. به این معنی که هر کدام از Pageهای گرید، URL مختص به خودشان را دارند. به عبارت دیگر با وارد کردن URL صفحه می‌توان به همان Page متناظر رسید. این امکان در کنترل استاندارد GridView وجود ندارد. متاسفانه یکی …

نوروز ۱۳۹۰

فرا رسیدن نوروز ۱۳۹۰ را از طرف خودم و خانواده‌ام به همه دوستان، همکاران، خوانندگان این وبلاگ و تمامی اعضای خانواده آنها از جمله: ناصر حاجلو، مسعود رمضانی، وحید نصیری، مجید آواژ (بهساد)، ایمان نعمتی (فراسان)، سید علا سبزپوش، علی اقدم، کاوه یزدی نژاد، سهیل رشیدی (iDevCenter)، هادی اسکندری، کیانوش آل شیخ، امید امیرلو، امیر …

شباهت برنامه‌نویسی و آشپزی در ایران

آیا تفاوت آشپزی ایرانی را با آشپزی غربی (فرنگی) می‌دانید؟ غذاها در ایران با به هم آمیختن مواد و مصالح مختلف درست می‌شوند. معمولاً هم این مواد آنقدر با هم قاطی می‌شوند که دیگر اصل آنها قابل تشخیص نیست. مثلاً به آش رشته، کله پاچه، میرزا قاسمی، حلیم یا حتی قورمه سبزی نگاهی بیندازید تا …

‫مشکلات نوع داده DateTime در NHibernate

در NHibernate فیلدهایی که از نوع DateTime تعریف می‌شوند دارای مشکلاتی هستند. از جمله: ۱- اگر به جای DateTime?‎ (نوع nullable) از DateTime استفاده کنید، به خاطر این که SQL Server Min. DateTime با ‎.Net Min DateTime تفاوت دارد، آبجکت خود به خود dirty شده و احتمالاً یک update اضافه به سیستم تحمیل خواهد شد. …

Entity auditing in CastleActiveRecord

In my Castle ActiveRecord based application I have a base class named ARSuperClass that all my domain entities except than EntityLogger inherit from it instead of inheriting from ActiveRecordBase. I have ModifyDate and CreateDate fields in ARSuperClass that must be updated each time an entity is created or updated. Additionally each creation/updating operations must be …

‫افزایش Performance در NHibernate با استفاده از اپراتورهای Projection

یکی از راه‌های توصیه شده برای افزایش Performance در Queryهای دیتابیس، پرهیز از استفاده‌های بی‌مورد از select * from some_table می‌باشد. راه حل توصیه شده استفاده از projection و برگرداندن صرفاً ستون‌های مورد نیاز از دیتابیس است. مثلاً باید از select col1, col2 from some_table استفاده شود. در همین راستا LINQ-to-NHibernate هم پشتیبانی خوبی از …

‫محدودیت‌های Castle ActiveRecord

Castle ActiveRecord یک کتابخانه مفید برای استفاده از NHibernate است. این کتابخانه هم کار mapping را مشابه Fluent NHibernate ساده می‌کند و هم کار مدیریت session و خیلی کارهای دیگر را خودش مدیریت می‌کند. به طوری که استفاده از NHibernate بسیار ساده‌تر شود. Castle ActiveRecord در واقع پیاده‌سازی Design Patternی به همین نام یعنی Active …

Second Level Cache in Castle ActiveRecord

Second level cache is different than first level cache. It acts on session factory level not each individual session. In order to setup second level cache in a Castle ActiveRecord application consider following points: 1. Settings of second level cache in Castle ActiveRecord is basically as same as NHibernate. 2. In addition of web.config/app.config settings, …