C# SQL Database pagination using Dapper ORM Nov 11, 2019 Database Pagination is something I have coded at every employer I have worked at. My approach has changed over the years, here is a look at how I would go about it now. The requirements for this incarnation: One database query should go across the wire, and we should both the Total Row Count as well as the Rows of the current page. Only the rows on a page should be returned from the database. ...
OAuth with Azure Active Directory to a Function App Jan 31, 2019 This article is about adding Azure Active Directory to a Function App. The same principles could be applied to an Azure Web App as this concept is for any Azure App Service. In addition to securing a Function App via OAuth, I have the requirement that the secured Function App be called from another Function App. This means the calling Function App will need to run as an application identity, instead of as a user’s identity. ...
Automated Deployment of Azure Functions - Azure DevOps Release Pipelines Jun 15, 2018 This is the second article around automating deployments of Azure Functions. The first article can be found here. This article focuses on deploying from Azure DevOps (formerly VSTS). It will address the second and third requirements discussed in the previous post, to recap: The Function App should be created and maintained by the release pipeline. The Function app must stay online whilst code is being deployed. Strangely this requirement took a considerable amount of research to resolve, maybe this was because Azure Functions were still in preview as I was researching. ...
Automated Deployment of Azure Functions - ARM Templates May 27, 2018 Whilst working with Azure Functions I found it difficult to find good documentation on best practices with Continuous Integration & Continuous Delivery. This two part article aims to summarise my learnings in the hope it helps someone in a similar position. My requirements were straight forward: Utilise an ‘Infrastructure as Code’ approach: all azure resources required are created via versionable definition files rather than using manually clicking through the Azure Portal. ...
Enum.IsDefined() Feb 06, 2018 Did you know that you can assign any integral type value to an enum even if it is not part of the enum values? Consider the following int based enum. public enum FunRunDistances { FiveKilometers = 5, TenKilometers = 10, HalfMarathon = 21, Marathon = 42 } Although 5, 10, 21 and 42 have been explicitly added as values of the FunRunDistances enum, the following code does not produce an error: ...
Hosting free blog using Netlify & Hugo Jan 05, 2018 This is the second article detailing my exploits to build a free blog. The first attempt, failures and learning can be found in Part 1. In case you din’t read the first article, I am trying to create a blog to solve the following problems: Host a blog cheaply as possible - ideally for free. Simplicity is king - particularly when it comes to authoring and publishing. Realised after first attempt: Solution needs to work cross platform - as I use both Windows and OSX. ...
Hosting free blog using Wyam Dec 29, 2017 I am trying to create a blog to solve the following problems: Host a blog cheaply as possible - ideally for free. Simplicity is king - particularly when it comes to authoring and publishing. This article explains my first approach, my failures and learning before moving to Netlify which is covered in Part 2 - Netlify. The approach Wyam Static content generator Being a .NET developer I tried out https://wyam. ...
But it worked in SSMS? Jun 03, 2017 Every year, towards the end of May, hundreds of thousands of people across the world start their virtual journey around the Global Challenge. This creates my team’s peak load on our website and has happened every year for well over a decade. Each year we spend significant resources to ensure we have a performant system when under peak load. In May 2017 we were somewhat surprised when we encountered some performance bottlenecks that we had previously not seen before. ...
Minimising Azure Bills with App Service and Traffic Manager Mar 06, 2016 Our team works on high scale website available at globalchallenge.virginpulse.com. Historically we have used Cloud Services and over the last year we have migrated to Azure App Service specifically Web Apps. We choose to migrate to Web Apps for a variety of reasons such making deployments and operational overheads more efficient. A quick note on Azure terminology: A Web App is a type of app intended for hosting websites and web applications. ...
A different take on database standards documentation Feb 11, 2016 In my opinion the two biggest drawbacks of technical documentation for developers are: It is rare to find technical documentation that not up to date. Teams rarely treat documentation as a living document, and without a concerted effort by the team to keep it up to date goes out of date. The documentation is not in front of developers when they need it most. For instance a new starter might read the database standards documentation in their first week, and not when they create something in the database. ...