فنی

توسعه نرم افزار و فنی

انتخاب پلتفرم توسعه نرم‌افزار بر اساس وضعیت بازار کار

آیا می‌خواهید یک پروژه نرم‌افزاری انجام دهید؟ آیا می‌خواهید پروژه را به افراد دیگری Outsource کنید؟ آیا می‌خواهید یک تیم برای انجام یک سری پروژه جمع کنید؟ حالا می‌خواهید برای این پروژه یک تکنولوژی و زبان برنامه‌نویسی مناسب انتخاب کنید؟ اگر معیارتان فقط مسائل فنی و امکانات فنی platform مقصد است دسته نگه دارید و …

پایتون، نود یا ریلز؟ کدام یک در شرکت‌های ایرانی بیشتر مورد استفاده قرار می‌گیرند؟

زمان خیلی زیادی است که بازار کار توسعه نرم‌افزار در ایران عمدتاً منحصر به دات‌نت، جاوا و PHP است. با این وجود چند سالی هم هست که این انحصار در حال شکسته شدن است و پلتفرم‌های جدیدتری در حال ورود به شرکت‌های ایرانی و خارجی هستند. عمده این پلتفرم‌ها که گهگاه اسمشان را در ایران …

توجه به بازار کار در انتخاب زبان برنامه‌نویسی جدید

هر برنامه‌نویس حرفه‌ای باید هر از چند گاهی زبان‌های برنامه‌نویسی و سکوهای جدید توسعه نرم‌افزار را بررسی کند و در صورت لزوم از آنها به جای زبان برنامه‌نویسی و platform فعلی خودش استفاده کند. مسلماً اگر این طور نبود هنوز برنامه‌نویس‌ها از اسمبلی، فرترن و C به جای جاوا، C# و PHP استفاده می‌کردند. رایج …

قدم‌های جدید در اوبونتو

نزدیک به هشت ماه است که به طور جدی از اوبونتو به جای ویندوز استفاده می‌کنم. به عنوان یک برنامه‌نویس دات‌نت فعلاً چاره‌ای جز مراجعه به ویژوال استودیو و ویندوز برای انجام امور برنامه‌نویسی ندارم. ولی در عوض هر نوع فعالیت غیر برنامه‌نویسی دات‌نتی را در اوبونتو انجام می‌دهم. هنوز کارایی استفاده از کامپیوتر به …

کار با OWIN

OWIN یک Specification برای حذف وابستگی مستقیم بین برنامه‌های ASP.NET و Web Serverها است. این استاندارد را مایکروسافت به وجود آورده و بر اساس آن تکنولوژی‌های مختلفی مثل Katana و Helios را نیز تولید کرده است. من سعی کردم یک پروژه ASP.NET را صرفاً بر اساس OWIN ایجاد کنم. این نوشته حاوی نکات و اطلاعاتی …

‫سر و کله زدن با WordPress و PHP

  به عنوان یک برنامه‌نویس دات‌نت هیچ وقت با WordPress و PHP سر و کله نزده بودم. چند بار که نیاز به CMS و Blog پیدا کرده بودم از Orchard CMS و BlogEngine.Net استفاده کرده بودم. سر و کله زدن با اونها به‌خصوص Orchard CMS خیلی سخت بود. در مقایسه با WordPress منابع بسیار کمتری …

پیچیدگی در کد نویسی

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

پرهیز از کمال‌گرایی غیر ضروری در توسعه نرم‌افزار

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

‫تجاربی از CI و Automatic Unit Testing با TeamCity

به سلامتی TeamCity را به قصد راه اندازی CI و انجام خودکار Unit Testها راه انداختیم اما مشکلات و مسائل زیادی به وجود آمد. بعضی‌ها حل شدند و بعضی‌ها نه. خلاصه‌ای از نکاتی که به آن برخورد کردم: ۱- نصب خود TeamCity خیلی ساده و سریع بود. ولی تا آنجا که فهمیدم فقط با MSBuild …

‫‫‫Database Unit Testing در Sharp Arch.‎

یکی از روش‌های رایج در Unit Test کدهای مربوط به دیتابیس این است که یک دیتابیس داخل حافظه‌ای ساخته شده و همه تست‌ها روی آن انجام شود. در پروژه‌های NHibernate این کار معمولا طی مراحل زیر انجام می‌شود: ۱- انجام تنظیمات دیتابیس Sqlite به صورت داخل حافظه‌ای۲- ایجاد خودکار دیتابیس از روی mappingها در مرحله …