فنی

‫ALT.NET و MSDN Way‫

از زمانی که با NHibernate آشنا شدم متوجه یک جبهه جالب در دنیای دات‌نت شدم. جبهه کسانی که علاقه زیادی به port کردن پروژه‌های معروف جاوا به دات‌نت، استفاده از design patternهای شی‌گرایی و دنیای Open Source داشتند. نمونه بارز این جبهه خود NHibernate است. پروژه‌ای کاملاً open source برای تزریق OOP به کدهای دسترسی …

‫NHibernate session management در محیط‌های مختلف

مهم‌ترین مسئله‌ای که در Session management در NHibernate وجود دارد، مسئله نگهداری session است. به طور معمول سعی می‌شود برای انجام یک کار فقط یک session باز شود نه بیشتر. اگر طی انجام همان کار مجدداً نیاز به session شد از همان session قبلی استفاده می‌شود نه این که یک session جدید open شود. این …

‫راه ابتکاری برای تبدیل تاریخ میلادی به تاریخ شمسی در SQL Server

بعضی وقت‌ها چیزهایی می‌بینم که حیف می‌آید برای دوستانم تعریف نکنم. یکی از این چیزها دیتابیس و سیستمی بود که امروز با چشم‌های خودم دیدم. در دیتابیس فوق‌الذکر برای تبدیل تاریخ میلادی به تاریخ شمسی از یک جدول ۵۱ هزار رکوردی استفاده شده بود. این جدول دو ستون داشت. یکی تاریخ میلادی و دیگری تاریخ …

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

چندین سال قبل کتابی به دستم رسید که بیشتر صفحات آن نیمه خالی بود. در واقع این کتاب چیز زیادی برای خواندن نداشت بلکه بیشتر کتاب تمرین بود. این کتاب به شما کمک می‌کرد علل رنج خود را دریابید و به آن فکر کنید بدون آن که بخواهد راه حلی برای حل مشکلات ارائه دهد. …

‫NHibernate Session Management در Winform و WCF

بحث NHibernate Session Management در برنامه‌های وب اصلاً کار سختی نیست. روتین‌ها و نمونه‌های زیادی هم در مورد آن وجود دارد. اما انجام همین بحث در Winform و WCF کمی کار می‌برد. یکی از بهترین روش‌ها برای مدیریت Session در NHibernate استفاده از الگوی Unit Of Work است. تطبیق این الگو با مدل کاری وب …

‫راه‌هایی برای دینامیک کردن entityهای NHibernate

فرض کنید تعدادی کلاس سی‌شارپ را با استفاده از Reflection.Emit در زمان اجرا (Runtime) ساخته‌اید. این یعنی کلاس‌ها دینامیک بوده و هیچ سورس کدی وجود ندارد، بلکه همه چیز فقط در حافظه وجود دارد یا نهایتاً فایل dll اسمبلی آن را بتوان در دیسک ذخیره کرد. حال می‌خواهیم برای این کلاس‌های دینامیک HBM یا همان …

‫استفاده از Fluent NHibernate

از همان اولین باری که اسم Fluent NHibernate را شنیدم فکر کردم چیز جالبی نیست. نمی‌دانم چرا، شاید به خاطر آن که فکر می‌کردم انعطاف‌پذیری را فدای راحتی کرده یا شاید هم به خاطر غرور low level. طی مدت اخیر که به دنبال راهی برای dynamic کردن entityهای NHibernate بودم خود به خود مجبور شدم …

‫‫C#‎ برای توسعه برنامه‌های dynamic

به غیر از ما، خیلی‌های دیگر هم به فکر توسعه برنامه‌های dynamic با C#‎ و ‎.Net هستند. به عنوان نمونه به تلاش مایکروسافت در نسخه‌های ۳ و بعد از ۳ دات‌نت دقت کنید (LINQ و بقیه) یا به کتاب‌هایی مثل Pro Dynamic .NET 4.0 Applications: Data-Driven Programming for the .NET Framework نگاهی بیندازید. آیا واقعاً …

‫سرویس اشتراک کد gist

آیا شما هم مشکل نمایش سورس کد در وبلاگ دارید؟ آیا شما هم مجبورید به خاطر یک تیکه کد ساده آن را جایی آپلود کنید تا بقیه بتوانند آن را دریافت کنند؟ آیا دوست دارید با همین تیکه کدهای کوچک هم امکان history و fork داشته باشید؟ آیا کامنت دیگران برایتان مهم است؟ آیا…؟ در …

‫فایده فضولی در Object Browser

چند روز است که می‌خواستم با استفاده از کتابخانه SharpZipLib یک فولدر و ساب فولدرهایش را zip کنم اما نمونه کدهای موجود نمی‌توانستند recursive عمل کنند و فقط فایل‌های موجود در فولدر را zip می‌کردند. از طرفی توسعه نمونه کدها هم نیاز به شناخت کامل‌تری از API کتابخانه داشت. خوشبختانه کمی فضولی در اسمبلی ICSharpCode.SharpZipLib …