#266 – July 07, 2019
C# Developers are in demand on Vettery
Vettery is an online hiring marketplace that's changing the way people hire and get hired. Ready for a bold career move? Make a free profile, name your salary, and connect with hiring managers from top employers today.
In this article, I describe the best practices of using exceptions well as the implementation of Roslyn analyzers for detecting issues with the exception usage.
Versioning limitations in .NET
This is a blog post I’ve intended to write for a very long time. (Other blog posts in that category include a recipe for tiramisu ice cream, and “knights and allies”.) It’s one of those things that’s grown in my mind over time, becoming harder and harder to start. However, there have been three recent incidents that have brought it back into focus.
How we sped up random forest processing, lots of common performance patterns
In the previous article we outlined our problem, the major constraints we must adhere to and wrote a straightforward implementation of a random forest evaluator. We proved the correctness of the implementation and then we set up a naive benchmark to test how much time it was going to take to run 5,000 samples through 1,000 trees, each of a maximum depth of 5 decision nodes. This currently runs in about 320 ms and we need it to run in about 25 ms.
A Repository mediates between the domain and data mapping layers (like Entity Framework). It allows you to pull a record or number of records out of datasets, and then have those records to work on acting like an in-memory domain object collection, and you can also update or delete records within those data set, and the mapping code encapsulated by the Repository will carry out the appropriate operations behind the scenes.
Even though C# 8.0 is still months away, planning has begun for C# 8.x. Some of these features are new, while others were previously considered for C# 8. And as always, this list is subject to change.