Michael's Coding Spot

Dynamic queries expression trees C#

Dynamic Queries with Expressions Trees in C#

In this article, you’ll see how frameworks like Entity Framework and MongoDB C# driver use expressions trees to make that conversion. And you’ll see how to use expression trees yourself to build dynamic queries. Those are queries that you aren’t able to create at compile time because you’ll know how the query should look like only at runtime.

.NET Healthy Memory Management

6 Best Practices to Keep a .NET Application’s Memory Healthy

Memory problems in a big .NET application are a silent killer of sorts. Kind of like high blood pressure. You can eat junk food for a long time ignoring it until one day you face a serious problem. In the case of a .NET program, that serious problem can be high memory consumption, major performance issues, and outright crashes. In this post, you’ll see how to keep our application’s blood pressure at healthy levels.

Self publishing programming book

How I Self-Published a Programming Book and Lived to Tell About It

About a month ago I released my first book. Besides the actual writing, there are a ton of things involved in publishing a book. There’s the book cover, editing, book formatting, publishing to a marketplace, creating a landing page, and promoting the book. I’ll tell you how I did all those things for better or worse.

Visual Studio productivity tips

5 Productivity Tips in Visual Studio That You Should Know

If you’re like me, then you’re addicted to productivity tools. That’s one of the reasons why I love Visual Studio—it has an endless amount of productivity tricks. This post is going to show five such tricks that help in my work every day.

Assembly Loading Binding .NET

Understanding How Assemblies Load in C# .NET

We are constantly dealing with libraries and NuGet packages. These libraries depend on other popular libraries and there are a lot of shared dependencies. With a large enough web of dependencies, you’ll eventually get into conflicts or hard situations. The best way to deal with such issues is to understand how the mechanism works internally.

Memory profilers in .NET using for memory leaks

Demystifying Memory Profilers in C# .NET Part 2: Memory Leaks

Memory leaks are very common, hard to notice, and eventually, lead to devastating consequences. The main tool to detect and fix memory leaks is a Memory Profiler. In fact, I believe the most common usage of memory profilers in .NET is exactly for the purpose of fixing memory leaks. In this article, you’ll see exactly how to use memory profilers to find the leaky objects, why they are still referenced, and how to solve the problem.

Memory Profilers .NET

Demystifying Memory Profilers in C# .NET Part 1: The Principles

Memory leaks and GC Pressure cause pretty inconvenient effects like out-of-memory crashes, performance problems, and high memory consumption. Our primary tools when dealing with those issues are memory profilers. They are one of the most important category of tools in .NET troubleshooting, and in this article, you’ll see how to use them and extract the most information from them.