C# performance tips & tricks

Nowadays is common have distributed systems, or some microservices oriented applications.
These have a lot positive points, for example is easy to scale up, partial deploy, isolate behavior and responsibilities.

And yes, it isn’t perfect. We have some concern points, like the challenge to perform integration tests and communication performance (for instance, when we have round-trips between APIs over HTTP protocol communication).

But if you are designing and implementing something like a microservice API, maybe some lean adjustments can be done to improve performance… nothing so much usual, but when you think about an API with a lot of users accessing simultaneously, it can make a significant difference. Continue reading “C# performance tips & tricks”

Taking Advantage of Parallelism in .NET

Microservices, Data stream Processing, Event-Driven Architecture, CQRS… a lot of terms and buzzwords that represents the capacity of run process asynchronously in our softwares.

And they are good, but lets have a little break to think what kind of power we have right in our hands: the modern CPUs.

They usually have more than one physical core, and still manage to emulate more. Continue reading “Taking Advantage of Parallelism in .NET”

.NET, .NET Core and .NET Standard all together

Usually the first image illustrates the context of the post, but specially that one above, explain a lot the things right here.

Do you know what is the difference among .NET, .NET Core and .NET Standard?

Seem to be a big mess, but when you understand it you will realize that all of this is necessary and useful. Continue reading “.NET, .NET Core and .NET Standard all together”

Difference between abstract class and interface with a practical example

Do you know when use an Abstract Class instead of Interface?

What are the differences? How to describe them?

What about a practical example, implementing a repository based on the Dapper example? Continue reading “Difference between abstract class and interface with a practical example”

Getting started with Dapper

Have you heard about ORM? And what about Micro-ORM?

We have a lot of software that needs to store data and the “traditional”, and even natural choice, is adopt some Relational Database. In order to simplify the communication with the database and to “glue” the world of Object Oriented (OO) programming languages with the structural nature of the relational data, developers like to use some¬†Object-relational mapping (ORM) framework. Continue reading “Getting started with Dapper”

Filtering by referenced document property in the MongoDB

Taking advantage of the “1 to N bidirectional relationship in the MongoDB” post, I intend to show you how to “make a cross join” with MongoDB and filter by a¬†referenced document property. Continue reading “Filtering by referenced document property in the MongoDB”