اشتراک‌ها
همه چیز درباره الگوی طراحی Singleton

Singleton design pattern is one of the simplest design patterns: it involves only one class throughout the application which is responsible to instantiate itself, to make sure it creates not more than one instance; in the same time it provides a global point of access to that instance. In this case the same instance can be used from everywhere, being impossible to invoke directly the constructor each time. 

همه چیز درباره الگوی طراحی Singleton
اشتراک‌ها
پیاده سازی ارتباطات همیشه رمزنگاری شده در SQL Server 2016

Always Encrypted is a new feature in SQL Server 2016, which encrypts the data both at rest *and* in motion (and keeps it encrypted in memory). So this protects the data from rogue administrators, backup thieves, and man-in-the-middle attacks. Unlike TDE, as well, Always Encrypted allows you to encrypt only certain columns, rather than the entire database.

پیاده سازی ارتباطات همیشه رمزنگاری شده در SQL Server 2016
نظرات مطالب
اعتبارسنجی مبتنی بر JWT در ASP.NET Core 2.0 بدون استفاده از سیستم Identity
استاندارد آن به این صورت است:
 Its value MUST be a number containing a NumericDate value.
و این NumericDate به نحو زیر باید تعریف شود (Section 2. Terminology):
 A JSON numeric value representing the number of seconds from 1970-01-01T00:00:00Z UTC until the specified UTC date/time, ignoring leap seconds. This is equivalent to the IEEE Std 1003.1, 2013 Edition [POSIX.1] definition "Seconds Since the Epoch", in which each day is accounted for by exactly 86400 seconds, other than that non-integer values can be represented. See RFC 3339 [RFC3339] for details regarding date/times in general and UTC in particular.
نمونه‌ی استفاده‌ی از آن در متد getAccessTokenExpirationDateUtc ارائه شده‌است.  
اشتراک‌ها
ویدیوی آموزشی Angular 2.0 با Typescript

Angular 2.0 will be built using the TypeScript language. It will embrace TypeScript's idioms for working with immersive web experiences in larger applications.

You can get those same benefits by working with TypeScript and Angular together. In this session, you'll learn how Angular and TypeScript work together to create single page applications. You'll see how you can leverage the features of ECMAScript 6, and still support today's browsers. You'll see how adopting TypeScript can be as easy as changing the extensions on your .js files. How you use the TypeScript features is completely in your control. 

ویدیوی آموزشی Angular 2.0 با Typescript
اشتراک‌ها
روش های مدرن برای ثبت خطا در سی شارپ

Logging is a big part of software development for many years now. One can argue that a logging mechanism is a must-have part of any application or library. I would agree with that statement. Logging has a crucial part to play in a scenario where you can’t use interactive debugging (that is, attaching a debugger like Visual Studio). It allows us to investigate errors after the problem already happened. In some cases, like Production Debugging, logs might be the only information you have. 

روش های مدرن برای ثبت خطا در سی شارپ
نظرات مطالب
روش استفاده‌ی صحیح از HttpClient در برنامه‌های دات نت
HttpClient یک کتابخانه‌ی چندسکویی و پرتابل هست و همه‌جا قابل استفاده‌است. بنابراین ارائه‌ی نحوه‌ی استفاده‌ای که سبب تفکر شود، روش مناسبی برای ارائه‌ی مطلب است. همچنین ممکن است کتابخانه‌هایی را تولید کنید بر همین مبنا که بر اساس NET Standard. تهیه شده باشند و در همه جا (در برنامه‌های WPF تا ASP.NET‌های مختلف و غیره) قابل استفاده باشند، به همین جهت یک best practice است که بهتر است رعایت شود.
+ علت‌های استفاده از ConfigureAwait(false):
جلوگیری از deadlock در برنامه‌های async
  بهبود کارآیی برنامه
  1.   با حذف callbackهای فراخوان ترد جاری. هر چقدر تعداد این callbackها کمتر باشد، کارآیی برنامه بیشتر می‌شود. یک مثال
  2.   با اجازه دادن به CLR جهت اجرای این قطعه کد در هر تردی که صلاح می‌داند (و نه اجبار به اجرای نهایی آن در ترد اصلی).

«... زیرا به علت Restore نشدن Sync Context، عملا مواردی مثل HttpContext.Current مقدار درستی را در خط بعد از await نخواهند داشت ...»
اینطور نیست. درست است که سطرهای پس از ConfigureAwait(false) بر روی Thread pool اجرا می‌شوند که با ترد اصلی شروع کننده‌ی پردازش اکشن متد یکی نیست، اما context اصلی ترد جاری از حفظ اطلاعات مرتبط با ASP.NET در آن‌ها اطمینان حاصل می‌کند:

If multiple operations complete at once for the same application, AspNetSynchronizationContext will ensure that they execute one at a time. They may execute on any thread, but that thread will have the identity and culture of the original page

اشتراک‌ها
استفاده مایکروسافت ازElasticSearch در TFS Code-Search

Starting from Team Foundation Server 2017, the Code Search feature that was available for a while in VSTS, gets an on-premise equivalent.
The feature is built on top of a customized version of ElasticSearch. However the integration between the 2 products(TFS and ElasticSearch) is rather limited right now.

استفاده مایکروسافت ازElasticSearch در TFS Code-Search
اشتراک‌ها
کتابخانه MathSharp :انجام سریع محاسبات ریاضی به کمک Vector و Matrix توسط Hardware Intrinsics

MathSharp is a vector and matrix library written in C# using hardware intrinsics. Thanks to hardware acceleration, MathSharp is significantly faster than most mathematics libraries out there, but only supports .NET Core 3.0 and up. 

کتابخانه MathSharp :انجام سریع محاسبات ریاضی به کمک Vector و Matrix توسط Hardware Intrinsics