درست یک روز بعد از این که چند نوسان برق در منزل مشاهده شد، هارد کامپیوترم جان به جانآفرین تسلیم کرد. حالا من مونده بودم و اطلاعاتی که از بین رفته بود و زجر نصب مجدد ویندوز، ویژوال استودیو، SQL Server، SVN، Jira و بقیهی خورده ریزهای دیگر. البته مصیبت وارده از ناحیه اطلاعات از …
چند وقت پیش یک پروژه تستی کوچک NHibernateی ایجاد کردم برای ذخیره و بازیابی چند کلاس ساده. یک پروژه تست هم با استفاده NUnit درست کردم برای تست آن. در تست کردن به یک خطای آزار دهنده برخورد کرده بودم. طبق معمول از سر بیدقتی فقط آخر پیغام خطا را میخواندم که گفته بود don’t …
In many applications that have world wide users, there is a need to dealing with UTC. In these applications, time is stored in UTC and then showed backed in local time to users. A good solution is not to bother developers to convert time to universal or local time every time manipulating time related data. …
همیشه وقتی سورس نرمافزارهای Open Source را بررسی میکردم به یک چیز بیمعنی برمیخوردم: استفاده بیمورد از interface. مثلاً کلاسی را پیدا میکردم که پیادهسازی یک اینترفیس خاص بود در حالی که خود آن اینترفیس هم فقط در همان یک جا مورد استفاده قرار گرفته بود. تا جایی که من میدانستم استفاده از interface وقتی …
از همان اولین باری که اسم Mock و Mocking را شنیدم حس کردم چیز گنگی است و تا لازم نشده سراغ آن نروم. اما به تازگی فهمیدم که اولاً با Mocking بعضی unit testهای غیر ممکن، ممکن میشوند، ثانیاً استفاده از آن میتواند تست نرمافزار را خیلی راحتتر و شیرینتر کند. قاعدتاً همه اسم Mocking …
هم Mock و هم Stub در unit testهایی استفاده میشوند که شخص نمیتواند یا نمیخواهد از بعضی objectهای مورد نیاز استفاده نماید. مثلاً قرار است متود ارسال ایمیل به امور فروش در صورت کاهش موجودی برخی کالاها تست شود. فرض کنید موقع تست امکان ارسال ایمیل به علت قطعی اینترنت وجود ندارد. در این حالت …
WF یا همان Window Workflow Foundation فناوری جدیدی است که مایکروسافت از نسخه 3.0 به داتنت اضافه کرده و در نسخه 4.0 حسابی به آن رسیده است. ظاهراً این فناوری برای مایکروسافت خیلی با ارزش است چون سعی دارد این فناوری را مدام توسعه داده و از آن در جاهای مختلف استفاده کند. مثلاً مایکروسافت …
It was a while that I was searching a way increasing version number of a .Net assembly by each build. In the beginning there were very ambiguity for myself that I tried to solve one by one: 1. When to increase assemblies version? Each time that developer builds the project on his (her) machine? Or …
روند طراحی و توسعه نرمافزار طی ده سال گذشته حتی در همین ایران خودمان هم تغییرات زیادی داشته. آن زمان یعنی حدود سال ۷۹ شمسی مردم تازه از شر FoxPro خلاص شده و به دیتابیسهای مدرنتری مثل Access، MS SQL Server و Oracle رو آورده بودند. برنامهنویسی در عصر ویندوز راحتتر و منظمتر شده بود. …
ALM یا Application Lofecycle Management به طور اختصار یعنی مدیریت فرایند تولید نرمافزار با استفاده از ابزارهای کار تیمی مثل Source Control، Issue Tracking، Build Automation و… در واقع با کمک ALM کلیه امور مربوط به توسعه نرمافزار در یک تیم تولید نرمافزار به طور یکپارچه مدیریت و هدایت میشود. در اینجا منظور از امور …