With Microsoft now owning GitHub, the technical teams have been integrated, resulting in Azure DevOps and GitHub having the same leadership and personnel. The long-term strategic direction will be GitHub, but there is no plan for Azure DevOps to go into maintenance/sunset; therefore, choosing Azure DevOps is entirely OK in short to (undefined) medium term. Azure DevOps is currently in the early stages of development. When migration tools are needed, Microsoft will give them.
Continue reading End of the Road For Azure DevOps?Category Archives: C#
GitHub Naming Repositories
As part of our customer engagement, we have defined a naming convention for GitHub repositories.
We have ideas around what conventions made sense, although the type of work influences these. As we tend to spend some of your engineering time working with different languages, conventions around naming formats make sense to the engineers. These, of course, might not make sense to individuals in other fields.
Continue reading GitHub Naming Repositoriesgists
GISTS – engage in chat or gossip.
“I need a good friend I can always gist with.”
It is always good to chat with others, which is how we learn from each other. So why don’t project teams chat with each other? In this day and age of working from home, it is becoming more and more critical to form a social network, which helps not only with mental health but also work-related ideas and time.
Continue reading gistsMemory Leaks in .NET
On big enterprise projects, memory leaks are like rodents in a factory. You might not notice when there are a few of them, but you always have to be on guard in case they overpopulate, infesting the factory will cause the closer and failure of the factory.
Continue reading Memory Leaks in .NETILogger in .NET: best practices
If you are like me you will have been using ILogger in DotNet Core for some time, but you’ll have noticed there are many ways to use the logger, I found this useful article by Rico Suter going over some recommendation and best practices.
Continue reading ILogger in .NET: best practicesConvert an enum to a list
Here are various was to convert enums to a lists
Get a List of Enum Members
The idea is to use Enum.GetValues()
method to get an array of the values of the constants in the enum. To get an IEnumerable<T>
of all the values in the enum, call Cast<T>()
on the array. To get a list, call ToList()
after casting.
Circuit Breaker
As defined by Polly “A circuit breaker detects the level of faults in calls placed through it, and prevents calls when a configurable fault threshold is exceeded”.
Continue reading Circuit BreakerFault tolerance using Polly
What is a Resilience Framework?
Polly is classed as a resilience framework. A resilience framework is a set of libraries that help an application to recover from transient or more extended failures in services or infrastructure upon which it depends. When recovery is not possible, the resilience framework will facilitate graceful degradation of your application.
Polly has been around for many years and has been tried and tested in many applications
http://www.thepollyproject.org/
The source code for Polly can be found on GitHub here:
https://github.com/App-vNext/Polly
Continue reading Fault tolerance using PollyThrottling/Rate Limiter for an API
Throttling and rate-limiting allow you to prevent abuse of your API and ensure that your API withstands large numbers of calls (including DoS and accidental loops). With Throttling, you can set a delay on calls after an SLA tier has been exceeded, slowing down the number of requests an API client is making.
Continue reading Throttling/Rate Limiter for an APIASP.NET Core Guidance
I came across a very good article on ASP.NET Core which I needed to bookmark, as it gives a clear and understandable guidance on keeping things working as efficiently as possible.
Continue reading ASP.NET Core Guidance