‫استفاده از 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 داشته باشید؟ آیا کامنت دیگران برایتان مهم است؟ آیا…؟ در …

خلاقیت کور

یکی از مشکلاتی که همیشه به عنوان یک مهندس نرم‌افزار در شرکت‌های مختلف داشته‌ام مبارزه با خلاقیت کور، خلاقیت افسار گسیخته یا خلاقیت بی‌پایه بوده است. امروز بعد از بحثی که در رابطه با «رفتار بر اساس اصول در برابر خلاقیت‌گرایی» در شرکت داشتیم به ذهنم رسید که کمی بیشتر راجع به آن فکر کنم: …

تولید نرم‌افزار یا تحقیق و توسعه؟

خیلی وقت‌ها (نه بعضی وقت‌ها) حس می‌کنم کارم به عنوان یک مهندس نرم‌افزار به جای تولید نرم‌افزار (software development) تبدیل شده به تحقیق و توسعه (R and D). البته فکر می‌کنم این فقط مشکل من نباشد. فقط کافی است به بعضی شرکت‌ها سر زده و نگاهی به مانیتور افراد بیندازید. خیلی‌ها را پیدا می‌کنید که …

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

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

‫سه راه برای ارتباط با سرویس WCF

برای آن که از داخل یک برنامه بتوان از سرویس‌های WCF یک سرور استفاده کرد، یعنی wcf client ایجاد کرد، اقلاً سه راه وجود دارد: ۱- اضافه کردن service reference با کمک ویژوال استودیو: در این روش خود شما فقط url سرویس مورد نظر را به ویژوال استودیو می‌دهید. ویژوال استودیو هم کلاس‌ها و interfaceهای …

‫بهبودهایی در «کارویس»

سیستم کارویس، کار برای برنامه‌‌نویس، را کمی بهبود دادم: ۱- در صفحه «فهرست مشاغل» امکان جستجو بر اساس تگ را هم اضافه کردم. ۲- صفحه‌ی تگ‌ها بر اساس تکرار تگ‌ها سورت گردید. ۳- صفحه تگ‌ها دارای لینک به صفحه فهرست مشاغل است. تا بتوان آگهی‌های مرتبط با هر تگ را مثل این لینک دید. ۴- …

‫‫‫استفاده از الگوی mvp

حتماً تا به حال اسم mvp را چندین و چند بار شنیده و مطالبی را هم راجع به آن خوانده‌اید. mvp یک الگوی طراحی شبیه mvc است که بیشتر برای winform استفاده می‌شود. از جمله مزایای mvp عبارت‌اند از: ۱- Seperation of Concerns (جدا سازی بخش‌های مختلف): یعنی هر بخشی باید کار خودش را انجام …