There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.Don’t Make Squirrel Burgers
Your manager comes to you and says “Hey, Joe. Let’s talk. I need to get a new system developed to keep track of our help desk calls. It needs to have a slick user-interface that is easy to navigate, it needs to be fast, and also we need integration with SAP.Generating IDs in C#, 'safely' and efficiently
Recently I needed to find an efficient algorithm for generating unique IDs in a highly concurrent and low latency component. After looking at several options I settled for the algorithm used by the Kestrel HTTP server.Strategy Pattern – Head First Design Patterns – ep 1
This series examines every design pattern in the book "Head First: Design Patterns". This time we look at Strategy Pattern.? Get the bookhttp://amzn.to/2iFtyAD? Mentioned: Sandi Metz – Nothing is Somethinghttps://youtu.be/OMPfEXIlTVEAsynchronous programming
If you have any I/O-bound needs (such as requesting data from a network or accessing a database), you'll want to utilize asynchronous programming. You could also have CPU-bound code, such as performing an expensive calculation, which is also a good scenario for writing async code.Async/Await - Best Practices in Asynchronous Programming
These days there’s a wealth of information about the new async and await support in the Microsoft .NET Framework 4.5. This article is intended as a “second step” in learning asynchronous programming; I assume that you’ve read at least one introductory article about it.A little trick when working with ConcurrentDictionary
ConcurentDictionary has one specific feature: in some cases it may not behave exactly as you'd expect. Here is a small example.Eyes wide open - Correct Caching is always hard
In my last post I talked about Caching and some of the stuff I've been doing to cache the results of a VERY expensive call to the backend that hosts my podcast. As always, the comments are better than the post! Thanks to you, Dear Reader.Making ConcurrentDictionary GetOrAdd thread safe using Lazy
I was browsing the ASP.NET Core MVC GitHub repo the other day, checking out the new 1.1.0 Preview 1 code, when I spotted a usage of ConcurrentDictionary that I thought was interesting.Dependency Injection revisited - Mark Seemann
Over the last decade, Dependency Injection has moved from obscurity into the realm of something that every library and framework must address. During the same time, functional programming has gathered much interest. Dependency Injection is an attempt to control non-deterministic behaviour, but the w
This Read-It-Later-list is just that, bookmarks of stuff I intend to read or have read. I do not necessarily agree with opinions or statements in the bookmarked articles.
This list is compiled from my Pocket list.