Jonathan Crozier

Hi, I'm Jonathan Crozier, I write this blog, mentor other programmers and I'm the Head of Software Development at a successful local business.

Jonathan Crozier

Jonathan Crozier

Software Engineer

What I Write About…

Databases

Helpful posts about SQL Server, Merge Replication and how to tune your databases for maximum performance.

Read More

Programming

Mostly focusing on C# and JavaScript but I enjoy exploring other languages such as F# and Python.

Read More

Scripting

Automation is the key to productivity, I cover innovative solutions to everyday problems using automated scripts.

Read More

Web Development

I cover all aspects of web development with a particular focus on application architecture and security.

Read More
InProgramming

Substituting Moq for NSubstitute

In light of the recent controversy surrounding the .NET Moq library, many developers are reconsidering their choice of mocking framework for unit testing. The undisclosed inclusion of the proprietary SponsorLink DLL that reportedly extracts internal developer email addresses and uploads them to a remote server has undoubtedly been alarming to many. Beyond the immediate privacy…
InProgramming

Taming Nullable Reference Types in C#

The term Nullable Reference Types refers to a set of features introduced in C# 8.0 that help us to write cleaner, more robust code that is resistant to unintended null dereferencing. The features that are provided make us aware of possible null reference exceptions that could occur in our applications, reducing the likelihood of encountering…
InWeb

Understanding the Blazor component lifecycle

As a Blazor developer, it is essential to have a solid understanding of the lifecycle events that take place from the moment a Blazor component is created until it is eventually torn down. By gaining an understanding of the Blazor component lifecycle, you will be able to make your components more efficient and reduce the…
InWeb

Implementing Blazor error boundaries

If you’ve been working with Blazor for any length of time, it probably won’t be very long before you encounter the “yellow bar of death” which is displayed at the bottom of the browser window any time an unhandled exception occurs. Whenever this exception bar appears for Blazor Server apps, a page refresh is required…
InWeb

Blazor data binding fundamentals

Data binding is a core feature of practically all front-end SPA (Single-page application) frameworks, including Blazor. Blazor provides lots of useful data-binding features that are enabled by using specific Razor syntax within components. In this article, I will cover the fundamental concepts of data binding with Blazor. After reading the article, you will understand the…
InWeb

Creating your first Blazor component

Components are the fundamental building blocks used to develop interactive web applications with Blazor. At their most basic level, they are reusable UI (User Interface) segments that can be composed together to create complex layouts, usually containing code that enables dynamic behaviour. Blazor components (also known as Razor components) are one of the first things…
Load More (10)