For many tasks a diagram is required to illustrate a concept or process. This Quarto filter allows PlantUML diagrams to be created directly within Quarto documents. The…
API First is an approach to software development that prioritizes the design and implementation of APIs before building the underlying application or service. This approach…
TypeSpec is a powerful tool for designing and generating APIs. It allows developers to define the structure and behavior of their APIs using a simple and intuitive syntax.…
Been trying for years to loose weight, but this summer I had to stop exercising as I had a sciatic nerve issue, twice, which took some time to recover from. So by september…
Integration Testing Azure Functions
Integration testing of azure functions is essential when demostrating that a service does what its supposed to do, and also responds in the way you expect. This post shows…
 
Data Annotation Vs FluentValidation
I’ve changed my mind, which is not uncommon. Where your class is interfacing with a different system such as being used in a API interface, then you need to convey to the…
 
A class should have one and only one reason to change, meaning that a class should have only one job.
 
How many times do you find yourselves not knowing the type of a object, and wanting to cast it.
 
A web application, also known as a web app, is a software application that runs on web browsers and is accessed over the internet. It is designed to provide interactive and…
 
How to build Cloud components without any Azure Experience
It is a bit of a misnomer; you need people with cloud experience.
 
As of novemebr 2022, Azure Functions have aquired a new trigger, SQL. With some minor changes to a sql database configuration, a Azure Function can capture sql trigger…
 
Azure Event Grid with Topics is a enterprise grade notification engine which mimics Azure Service Bus in many ways, Where it differes from Service Bus is that it is a…
 
Web file uploads within a company has been a neglected space for a while now, as any file the appears on a laptop or via email is scanned by the inbuild Anti Virus software…
 
Service Application Development
For to long there has been little thought about the consequences of changing code that is not strictly associated with the task assigned, this has been made possible by the…
 
User Assigned Managed Identities
A Managed Identity is a Azure resource which comprises two components. * A resource. A resource will create a Identity in Azure AD * An Azure Role
 
Adaptive Cards is a Json structure which describes how to display information in various Microsoft Applications. Currently the standard is at version 1.2, and the definition…
 
If you are trying to use git within a devops pipeline then you will need to enable the pipeline the bility to commit.
 
Azure Functions include a built in ILogger so you can fulfill all your logging needs, There is one issue, if you try to use the Ilogger in any of you subsequent classes the…
 
 
Splitting business rules away for the traffic flow of data has become commonplace in all development for the last few years. It has a lot of advantages as it crystallizes…
 
A while a go I was working on a spreadsheet style applicaiton for the web, and we needed a method to store the 2 dimentional data in a 1 deminentional database. This was the…
 
This started out as a google project, hence the ‘g’, but the gRPC community is keen to distance itself from that. gRPC is quickly becoming a standard that getting wide…
 
Loqate is a service which supplies addresses and geocoding for a given search string. The Loqate service employs a iterative id base system where by, if you supply the id to…
 
 
When you use shared access signatures in your applications, you need to be aware of two potential risks:
 
Documentation is task that is best shared among all the relevant people, each supplying enough information that satisfies there understanding of the issue.
 
Define an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets…
 
Azure Functions Dependency Injection
Azure functions has always been missing the startup sequence enjoyed by other .net core applications. DI is now a first class member and the above post by microsoft explains…
 
Fluent Assertions is a helper library for testing that tries to add better context to your assertions.
 
 
The Mediator pattern is one of the original GOF (Gang Of Four) patterns, that highlight reoccuring designs that appear in code, and the reasons for there use.
 
Getting Secrets from KeyVault in Azure Functions
KeyVault is a central resource where you should be storing all of your applications secrets/connection strings and config. The reason for using KeyVault rather than using a…
 
By default storage accounts are encrypted, and Microsoft holds the keys. The encryption that is used is AES 256 bit, as it is one of the strongest ciphers currently available.
 
The blob container resource is a sub-resource of the storage account. When you create a storage account, you can now specify an array of storages resources. We are then…
 
To convert certificate that is in .pfx to base64 format in PowerShell, you can use .NET namespace available in PowerShell to convert. I had a scenario where I was required…
 
I found a good resource, so I can include bot C4 diagrams and Azure icons within a PlantUML diagram. I’ve done C4 within PlantUml before but it was a bit crude.
 
I’m always looking for ways to simply automate deployments, so I don’t have to hard code, or repeat myself. This blog is looking at Key Vault deployments, and its use.
 
For a full description of WOPI, please follow the link to the project. WOPI Project
 
PlantUML is not directly supported by GitHub, but its still possible. Basically we pass your puml file to PlantUML to generate, and they return a PNG which gets included in…
 
ARM Template Parameter/Variable Setup
For something so simple, arm templates can become complex things, so I prefer to try to set some ground rules before I go to deep. N.B this works for me, and may not suit…
 
Azure Function Managed Service Identities
Azure Function Managed Service Identities
Each component is a separately deploy-able artefact, but we need a coherent single URL to link them all. The normal method would be to deploy out each individual component…
 
Microsoft announced that you can now enable static websites on a storage account. This will generate a new URL for your site, and enable read access to any static html files…