نظرات اشتراک‌ها
تبدیل کوئری های sql به LINQ
آیا نرم افرار که  بتواند کوئری  linq  به sql را انجام دهد وجود دارد؟ بر عکس نرم افزار فوق
اشتراک‌ها
نسخه بندی صحیح نرم افزار

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

نسخه بندی صحیح نرم افزار
مطالب
Test Driven Development
نوشتن  تست برای نرم افزار امری ضروریست، چه پس از تولید نرم افزار چه در حین تولید، در کل به وسیله تست می‌توان از به وجود آمدن باگ‌ها در هنگام گسترش دادن برنامه تا حد قابل توجهی جلوگیری کرد.
از معروف ترین روش‌های تست می‌توان عناوین زیر را نام برد:
  • Unit test
  • Integration test
  • Smoke test
  • Regression test
  • Acceptance test

 Test Driven Development  یک پروسه تولید نرم افزار است که برای اولین بار توسط Kent_Beck معرفی شد.
TDD شامل 4 مرحله کلی است:
  1. نوشتن تست قبل از نوشتن کد.
  2. کامپایل کردن کد و اطمینان از Fail شدن کامپایل.
  3. پیاده سازی کد به طوری که تست ما پاس شود.
  4. Refactoring 
مراحل 4 گانه تست باید به صورت متناوب اجرا شوند.
البته بسیاری این 4 مورد را با عبارت  red/green/refactor نیز می‌شناسند.

همانطور که گفته شد در کل نوشتن تست باعث می‌شود که با اضافه شدن کدهای جدید در برنامه از به وجود آمدن باگ تا حدی جلوگیری شود.
اما مزایای TDD:
  • TDD باعث کاهش زمان تولید نرم افزار می‌شود.البته این حرف کمی عجیب است.(در ادامه بیشتر توضیح می‌دهم)
  • اعتماد شما نسبت به کد بالا می‌رود.
  • باگ کمتری تولید می‌شود بتابراین اعتماد مصرف کنندگان نیز نسبت به برنامه شما بالا می‌رود.
  • باعث نظم در کد می‌شود.
  • باعث انعطاف پذیری بیشتر در نرم افزار می‌شود.
  • ریسک تولید نرم افزار به علت باگ کمتر به حداقل می‌سد.
  • ...

البته باید به این نکته نیز اشاره داشت که مایکروسافت تحقیقی انجام داده که بر طبق آن نوشتن کد به روش TDD می‌تواند 15 تا 30 در صد روند تولید نرم افزار را افزایش دهد ولی در عوض بین 40 تا 90 در صد می‌تواند از به وجود آمدن باگ جدید جلوگیری کند.
در بسیاری از محیط‌های برنامه نویسی، نه تنها به این موضوع اهمیت داده نمی‌شود بلکه به طور کلی به اشتباه گرفته شده و حتی در پروژه هایی که تست نوشته می‌شود مفاهیم آن( که در بالا نام برده شده )جابجا شده و به اشتباه نام برده می‌شود.
هدف از نوشتن تست،تست کردن قطعات کوچک کد است,به عنوان مثال نباید تست به گونه ای باشد که یک متد با 300 خط کد را تحت پوشش قرار دهد.ابتدا باید کد به قطعات کوچک شکسته و بعد تست شود.
یک نمونه از متد تست:
        [Test]
        public void TestFullName()
        {
            
            Person person = new Person ();
            person.lname = "Doe";
            person.mname = "Roe";
            person.fname = "John";

            string actual = person.GetFullName();
            string expected = "John Roe Doe";
            Assert.AreEqual(expected, actual, ”The GetFullName returned a different Value”);
        }
هدف از نوشتن این پست مقدمه ای بر شروع سری پست‌های TDD باستفاده از MVC.Net و فریم ورک قدرت مند تست Nunit است. 
نظرات اشتراک‌ها
نگاهی به Sketch Design
ممنون میشم یک نرم افزار خوب برای تهیه Sketch که بشود با آن فرم‌های ترکیبی و پیچیده رو رسم کرد معرفی کنید.
من کمی جستجو انجام دادم اما نرم افزار قابل قبولی پیدا نکردم!
نظرات مطالب
معرفی پروژه Orchard
آیا مقاله ای هست که راجع به معماری این نرم افزار نوشته شده باشد ؟ و اگر نیست میتوان با مهندسی معکوس به معماری این نرم افزار دست یافت ؟
اشتراک‌ها
آموزش الگوهای طراحی

 Design patterns represent the best practices used by experienced object-oriented software developers. Design patterns are solutions to general problems that software developers faced during software development. These solutions were obtained by trial and error by numerous software developers over quite a substantial period of time. 

آموزش الگوهای طراحی
نظرات مطالب
امن سازی برنامه‌های ASP.NET Core توسط IdentityServer 4x - قسمت پنجم - پیاده سازی ورود و خروج از سیستم
  دو نرم افزار از آیدنتیتی سرور استفاده می‌کنند که بر روی دو ساب دامین یک دامنه هاست شده اند. اگر یکی از نرم افزار‌ها را در مرورگر باز کره و لاگین کنیم , سپس در تب دوم نرم افزار دیگر را باز کنیم , در نرم افزار دوم هم به صورت اتوماتیک لاگین هستیم( single sign in ). ولی با لاگ اوت در یکی از نرم افزارها , نرم افزار دیگر همچنان  signin  باقی میماند .  
اشتراک‌ها
دانلود سورس باز نسخه 3.10 Nop Commerce
نرم افزار Nop Commerce
بهترین فروشگاه رایگان! nopCommerce بصورت منبع باز است. یک پروژه با ویژگی‌های جامع است که به سادگی برای هرنوع کسب و کار جدید کارایی دارد ، در عین حال به اندازه کافی قدرتمند است. این یک پلت فرم تجارت الکترونیک امن، مقیاس پذیر و قابل تمدید است.   بسیاری از تکنیک‌های معماری بصورت کامل در این پروژه دیده میشود.  توضیحات:
C# MVC 4.5 (4) - Code First - DDD - Multilayered software architecture 
دانلود سورس باز نسخه 3.10 Nop Commerce