مهمترین مزیت git از دید من خاصیت Distributed آن است. به این معنی که فرضاً در یک سرور git اینترنتی سورسی وجود دارد که من یک نسخه از آن را در laptop خودم clone کردهام. حالا میخواهم در کامپیوتر منزلم که دسترسی به اینترنت و آن سرور git اینترنتی ندارد هم همین سورس را داشته …
یک بار وقتی که میخواستم سورسهای موجود در Source Safe را به یک سورس کنترل Subversion منتقل کنم متوجه شدم که کار خیلی سختی است. به این علت که ابزارهای خیلی کمی برای این کار وجود داشت. علاوه بر اینها به نظر میرسید history فایلها را نمیتوان به svn منتقل کرد. هیچ کس هم این …
اگر پنجره Output را در ویژوال استودیو به هنگام Debug باز کرده و Show output from را برابر Debug قرار داده باشید میبینید که ویژوال استودیو خیلی از فعالیتهای داخلی برنامه را از جمله Load اسمبلیها یا Exceptionهای برنامه را مدام در آنجا فهرست میکند. همین کار را در مورد فعالیتهای داخلی NHibernate هم میتوان …
موقع فعالسازی Cache در NHibernate متوجه شدم که فراخوانی بعضی Entityها و بعضی از Queryها از دیتابیس شامل چند join است و عملاً از آن چیزی که در Cache ممکن است موجود باشد استفادهای نمیشود. به عنوان مثال فرض کنید کلاس Teacher و Student موجود باشد به نحوی که از کلاس Student یک Association به …
در رابطه با NHibernate رایج است که هر جا حس کردیم NHibernate یا مهارت خودمان در استفاده از آن دچار محدودیت است فوراً دست به کار شده و ضمن دور زدن مکانیزم NHibernate session managment مستقیماً از SQL در برنامهمان استفاده کنیم. مثلاً وقتی که نمیتوانیم از eventهای مرتبط با Save/Update در NHibernate به درستی …
اگر عادت کنید به استفاده از LINQ بعداً میتوانید از یکی از مزایای مفید آن استفاده کنید. مدتی پیش مجبور شدم یک سری بهینهسازیهایی روی دسترسی به دیتابیس انجام دهم. یکی از موارد رایجی که برای بهینهسازی پیدا کردم entityهایی بودند که با یک query لینک از دیتابیس فراخوانی میشدند. این entityها تعداد رکورد محدودی …
درست یک سال پیش که میخواستم سورس کنترل شرکت قبلی را از SourceSafe به یک سورس کنترل جدیدتر ارتقا بدهم به شدت بین svn و git دودل بودم. یکی از دلایل این تردید سخت بودن کار با git بود خصوصاً برای کسانی که قبل از آن فقط با SourceSafe کار کرده بودند. اما حالا بعد …
یکی از امکانات کنترل گرید تلریک یعنی RadGrid امکان SEO friendly بودن مکانیزم Paging آن میباشد. به این معنی که هر کدام از Pageهای گرید، URL مختص به خودشان را دارند. به عبارت دیگر با وارد کردن URL صفحه میتوان به همان Page متناظر رسید. این امکان در کنترل استاندارد GridView وجود ندارد. متاسفانه یکی …
در NHibernate فیلدهایی که از نوع DateTime تعریف میشوند دارای مشکلاتی هستند. از جمله: ۱- اگر به جای DateTime? (نوع nullable) از DateTime استفاده کنید، به خاطر این که SQL Server Min. DateTime با .Net Min DateTime تفاوت دارد، آبجکت خود به خود dirty شده و احتمالاً یک update اضافه به سیستم تحمیل خواهد شد. …
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 …