همیشه نیازمندیهای ما باعث انتخاب نوع طراحی و پیاده سازی ما میشوند و لزوما چیزی که برای ما جذابتر و پیچیدهتر است، باعث موفقیت سیستمی که طراحی میکنیم نمیشود. چه بسا که یک انتخاب نادرست و نادیده گرفتن یک یا چند نیازمندی، باعث شود هیچ یک از مواردی که شما برای انتخاب آن نوع طراحی در نظر گرفته بودید، محقق نشوند. هدف من از ارائه این بخش، معرفی مهمترین فاکتورهایی است که شما میتوانید با استفاده از آنها تصمیم بگیرید که آیا باید سیستم خود را بص ...
قبل از شروع به بحث در مورد سیستمهای توزیع شده، بهتر است ابتدا به سوالی اساسی که اساس بوجود آمدن سیستمهای توزیع شده است، پاسخ دهیم:
چرا یک سخت افزار به تنهایی پاسخگوی همه نیازهای ما نیست؟
همه میدانیم که در یک هستهی از پردازنده، چیزی بعنوان پردازش موازی وجود ندارد. هر هسته در هر لحظه میتواند یک پردازش را انجام دهد و این سرعت بالای در پردازش عملیات جاری و سوئیچ کردن بین دیگر عملیات است که حس موازی اجرا شدن آن ...
اگر به سورسهای ASP.NET Identity نگارشهای 2 و 3 دقت کنیم، این تفاوت به وضوح قابل مشاهدهاست: در نگارش 2 public virtual DateTime? LockoutEndDateUtc { get; set; } در نگارش 3 public virtual DateTimeOffset? LockoutEnd { get; set; }
و در کل، در طراحی تمام قسمتها و اجزای NET Core. بجای استفادهی از DateTime متداول، شاهد استفادهی گستردهای از DateTimeOffset هستیم که از زمان ارائهی NET 3.5. معرفی شدهاست. چرا؟
...
در حوزه کاری ما همیشه نیازمندیهای جدید باعث پیشرفت، ارتقاء و پیچیدهتر شدن سیستمهای سخت افزاری و نرم افزاری میشوند. بطور مثال زمانیکه نیاز شد چندین سیستم از دادههای مشترکی استفاده کنند، در معماری Single Tier قسمت Database از سایر قسمتها جدا شد و در سخت افزار دیگری قرار گرفت. به این صورت این معماری تبدیل به Two Tier شد و سپس برای اینکه تغییرات، کمترین تاثیر را در سیستم ما داشته باشد و با کمترین هزینه به Platformهای دیگر نیز سرویس بدهی ...
چرا برنامه نویسی موبایل؟ با افزایش روزافزون SmartPhone ها و تبلتها، بازار تکنولوژی به
این سمت سوق پیدا کردهاست. از این رو شرکتهای ارائه دهنده نرم افزاری، از این موقعیت استفاده
کرده و هر کدام پلتفرم متفاوتی را برای برنامه نویسی بر روی این اسمارت فونها ارائه
دادهاند. یکی از بزرگترین دغدغههای امروزه شرکتهای برنامه نویسی و توسعه نرم افزار
موبایل، انتخاب درست پلتفرم برای توسعه نرم افزار میباشد. در این مقاله قصد دارم
...
هنوز تا Entity framework Core 1.1، مفهوم interceptors موجود در EF 6.x پیاده سازی نشدهاست. اما شبیه به مفاهیم « ارتقاء به ASP.NET Core 1.0 - قسمت 17 - بررسی فریم ورک Logging »، در EF Core نیز زیرساختی جهت مشاهدهی SQL نهایی تولیدی وجود دارد.
ایجاد یک ثبت کنندهی وقایع EF Core
مرحلهی اول مشاهدهی خروجیهای نهایی EF Core، پیاده سازی اینترفیس ILoggerProvider است که در آن قرار است وهلهی از نوع ILogger بازگشت داده شود ...
مدیریت پردازش آپلود فایلها در ASP.NET Core نسبت به ASP.NET MVC 5.x به طور کامل تغییر کردهاست و اینبار بجای ذکر نوع System.Web.HttpPostedFileBase باید از اینترفیس جدید IFormFile واقع در فضای نام Microsoft.AspNetCore.Http کمک گرفت.
مراحل فعال سازی آپلود فایلها در ASP.NET Core
مرحلهی اول فعال سازی آپلود فایلها در ASP.NET Core، شامل افزودن ویژگی "enctype="multipart/form-data به یک فرم تعریف شدهاست: <form m ...
در نگارشهای دیگر ASP.NET، برای دسترسی به اطلاعات درخواست وب جاری، میتوان از خاصیت استاتیک System.Web.HttpContext.Current استفاده کرد. با حذف شدن System.Web از ASP.NET Core و همچنین بهبود طراحی آن جهت سازگاری کامل با مفاهیم تزریق وابستگیها، دیگر روش استفادهی مستقیم از خواص استاتیک توصیه نشده و بجای آن تزریق اینترفیس ویژهی IHttpContextAccessor توصیه میشود.
دسترسی به اطلاعات درخواست وب جاری در ASP.NET Core
برای ...
Options یا Maybe در یک زبان تابعی مثل #F، نشان دهندهی این است که شیء (Object) ممکن است وجود نداشته باشد(Null Reference) که یکی از مهمترین ویژگیهای یک زبان شیءگرا مثل #C و یا Java محسوب میشود . ما برنامه نویسها (اغلب) از هرچیزی که باعث کرش برنامه میشود، بیزاریم و برای اینکه برنامه کرش نکند، مجبور میشویم تمام کدهای خود را از Null Reference محافظت کنیم. تمام این مشکلات توسط Tony Hoare مخترع ALOGL است
که تنها دل ...
فرض کنید در سرویسهای خود، در حال استفاده از OData هستید. حال کافیست که metadata$ مربوط به سرویستان را برای استفادهی کلاینتهای دیگر، در اختیار آنها قرار دهید. وقتی از Odata استفاده میکنید، به صورت خودکار metadataی از سرویسها و مدلهای شما ساخته میشود و میتوان از آن به عنوان یک documentation کامل نام برد و حتی افرادی که استانداردهای Odata را نمیشناسند، به راحتی میتوانند آن را مطالعه و در صورت اجازهی شما، از امکانات آن سرویسها، در نرم ...