or subscribe with
Join 20,300+ readers for one email each week.
Digests » 328
this week's favorite
One of the quickest ways to earn the ire of a DBA is to shrug your shoulders, and tell them you don't know what code created the query that is slowing down their server. Sure, with a little hunting and knowledge of the code base you can generally spot the offending query, but wouldn't it be nice if the query the DBA is looking at had more information to track it down?
Changing code. It’s a minefield. If you’re attempting to abide by the laws of the Open Closed Principle, we want to avoid changing previously written code wherever possible, in favour of extending our codebase with new functionality. This allows us to hopefully minimise the number of bugs we inadvertently introduce to our codebase.
This document aims to help folks who develop applications in .NET with how to think about memory performance analysis and finding the right approaches to perform such analysis if they need to. In this context .NET includes .NET Framework and .NET Core. In order to get the latest memory improvements in both the garbage collector and the rest of the framework I strongly encourage you to be on .NET Core if you are not already, because that’s where the active development happens.
C# 9.0 is supported on .NET 5 and supports features like records, init only setters, top-level statements and many others.
It's straightforward to migrate your WCF services to gRPC using protobuf-net.Grpc. In this blog post, we are going to look at how easy it actually is. Microsoft's official guide for migrating WCF services to gRPC only mentions the Google.Protobuf approach, which can be time consuming if you have a lot of data contracts that need to be migrated to .proto format. However, by using protobuf-net.Grpc we are able to reuse the old WCF data contracts and service contracts with minimal code changes.
We’re looking for experienced C# engineers to help us transform the way finance professionals research and invest. CI/CD is core to our development process, and we believe in continuous improvement and learning when tackling new challenges. We are growing our team and growth at Canalyst means opportunity for career development - we’ll help you get there, and won’t hold you back.