ماه: می 2011

آیا نرم‌افزار تجارت کثیفی است؟

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

‫‫‫رابطه یک به یک در NHibernate و Castle ActiveRecord

بین دو Entity می‌توان رابطه یک به یک برقرار کرد. یعنی به ازای یک instance (رکورد) از یکی، فقط و فقط یک instance (رکورد) در دیگری وجود داشته باشد. هر چند که NH این نوع رابطه را نشانه طراحی بد می‌داند، اما دو راه برای پیاده‌سازی آن مهیا کرده است: ۱- روش primary key associations: …

‫فیلم شبکه اجتماعی (فیس بوک)

مسعود کاری کرد که تا سه نصفه شب بیدار باشم. اون منو وسوسه کرد به دیدن فیلم شبکه اجتماعی (فیس‌بوک). فیلمی درباره فیس‌بوک، مارک زوکربرگ، شرکا و رقبای اون و دادگاهی که علیه مارک تشکیل شده بود. مارک خیلی تند تند حرف می‌زد طوری که حتی با داشتن زیرنویس هم مجبور بودم فیلمو پشت سر …

Unique foreign key associations in Castle ActiveRecord

NHibernate have 2 varieties of one-to-one association, primary key associations and unique foreign key associations. Castle ActiveRecord documentation describes just first varity, primary key associations. But how about second variety, unique foreign key associations? Well, it can be implemented as follow. Please notice sample:     [ActiveRecord(Lazy = true)]    public class User : ActiveRecordBase    {        [PrimaryKey]        …

‫نرم‌افزارهای UI Mocking

قبل از شروع به پیاده‌سازی UI یک برنامه و حتی در حین تحلیل و طراحی آن می‌توان UI آن را با کمک یک سری ابزارها مدل کرد. منظور از مدل کردن، در آوردن نمایی کلی از UI و عناصر آن بدون پیاده‌سازی مستقیم آن است. این مدل کمک خوبی به اعضای تیم توسعه و مشتری …

مرگ و تولد دوباره مونو

Novell Mono رسماً تعطیل شد. Attachmate هیچ ابراز علاقه‌ای به نگهداری مونو نکرده است. اما مطابق رسم Open Source، یک انشعاب (fork) جدید در راه است. Miguel de Icaza بنیان گذار مونو یک شرکت جدید به نام زامارین (Xamarin) تاسیس کرده است. زامارین هم مثل مونوی ناول تمرکزش روی پیشنهادات تجاری ‎.NET برای iOS و …

‫انواع فراخوانی سرویس در WCF

هر سرویسی در WCF شامل تعدادی متود است. سرویس‌ها با ServiceContract و متودها با OperationContract مشخص می‌شوند. فراخوانی Operationها در WCF به چهار روش امکان پذیر است: ۱- Request-Reply: این روش سنتی استفاده از سرویس‌هاست. در این روش کلاینت یکی از Operationهای سرویس را صدا می‌زند. تا زمانی که اجرای این سرویس به اتمام نرسد، …

‫پیغام خطاهای معروف NHibernate – قسمت اول

یکی از معروف‌ترین خطاهای NHibernate خطای زیر است: No row with the given identifier exists[EntityName#rec_id] به جای EntityName نام کامل entity و به جای ‎#rec_id شماره رکورد قرار می‌گیرد. این خطا همان طور که پیغامش اشاره می‌کند وقتی به وقوع می‌پیوندد که NH در دیتابیس به دنبال رکورد خاصی می‌گشته ولی آن رکورد در دیتابیس …

‫شرکت‌های «الف» و «ب»

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

WCF Throttling

فرض کنید که یک سرویس WCF دارید که می‌تواند به ۱۰۰ نفر به طور همزمان خدمات دهد. حال اگر این ۱۰۰ نفر به ۱۱۰ نفر افزایش پیدا کند چه اتفاقی می‌افتد؟ به احتمال زیاد سیستم از کار افتاده، کل ۱۱۰ نفر از خدمات محروم می‌شوند، نیاز به restart سرویس مربوطه پیدا می‌کنید و در نهایت …