In the previous part of this series where I tested Umami.Net tracking methods
The Problem
In the previous part I used Moq to give me a Mock<HttpMessageHandler> and return the handler used in...
I'm a relative noob using Moq (yes I'm aware of the controversies) and I was trying to test a new service I'm adding to Umami.Net, UmamiData. This is a service this allows me to pull data from my...
One of the MANY LinkedIn aspects which bugs me is the 'how to interview developers' posts. There's a TON of them and they're in 3 camps:
The 'How would you move Mount Fuji?' approach with logic...
In the previous article, we discussed how to test the UmamiClient using xUnit and Moq. In this article, we will discuss how to test the UmamiBackgroundSender class. The UmamiBackgroundSender is a bit...
This is just a quick post to update everyone on the status of this blog. I started it a little over a month ago and decided to commit to at least one post a day for the first month.
So far I've posted...
Now I have the Umami.Net package out there I of course want to ensure it all works as expected. To do this the best way is to somewhat comprehensively test all the methods and classes. This is where...
In the previous part I showed you how to set up self hosting for Seq using ASP.NET Core . Now that we have it set up it's time to use more of it's features to allow for more complete logging & tracing...
In the previous part in this series, I set up the database for the comments system. In this post, I'll cover how saving the comments are managed client side and in ASP.NET Core.
Add New...
I use Mermaid.js to create the dope diagrams you see in a few posts. Like the one below.
However something that annoyed me is that it wasn't reactive to switching themes (dark/light) and there seemed...
Seq is an application which lets you view and analyse logs. It's a great tool for debugging and monitoring your application. In this post I'll cover how I set up Seq to log my ASP.NET Core...
Now I have the Umami client; I need to package it up and make it available as a Nuget package. This is a pretty simple process but there are a few things to be aware of.
Creating the Nuget...
In an earlier post I sketched out how a Tracking Client for Umami in C# could work.
Well I've finally had a chance to test it extensively and improve it's operation (yes ANOTHER...
One of the key aspects of a blogging site like this is a comments system. So, I decided to build one. This is the first part of a series of posts on how to build a comments system. In this post, I...
In this post I'll be starting adding Unit Testing for this site. This won't be a full tutorial on Unit Testing, but rather a series of posts on how I'm adding Unit Testing to this site.
In this post I...
In previous articles, we have discussed the importance of translation in the context of web applications. We have also explored the use of the EasyNMT library to perform translations in an ASP.NET...
In the previous parts of this series we introduced the concept of full text searching and how it can be used to search for text within a database. In this part we will introduce how to use OpenSearch...
In the previous parts of this series we introduced the concept of full text searching and how it can be used to search for text within a database. In this part we will introduce OpenSearch, a powerful...
In our previous post here we discussed how we can use EasyNMT to translate our .md files into different languages. We also discussed how we can surface this functionality to the user by adding a...
So for a while now I've used EasyNMT to translate my .md files into different languages here. I've wanted to 'surface' this so you can all have a play with it too.
See the second part of this series...
This is a dumb little article because I was a bit confused about how to ensure that my IHostedService was a single instance. I thought it was a bit more complicated than it actually was. So I thought...