SQL Server Replication provides a comprehensive set of features for synchronising data between SQL Server databases and can be configured to suit many different scenarios. As a business scales and its software requirements change, it’s not uncommon for the data architecture to also change. When this happens there may be a need to move data…
Author: Jonathan Crozier
The SecureString class is a .NET type that provides an increased level of security for sensitive in-memory data. Having said that, the security benefits of SecureString have been widely debated. The general consensus is that SecureString can help to increase application security if used properly, however, the inherent advantages are somewhat limited in scope. Despite…
Sometimes when embarking on a software project you may find yourself wishing that you had a lightweight way of achieving Inversion of Control (IoC) via dependency injection. On the other hand, you might not be very familiar with the principle of IoC, but have heard it can be very beneficial and are looking for a…
InWeb
Most front-end web developers are aware of the developer tools that are built into modern web browsers such as Google Chrome. Many of these developers also use some of the available features to help debug their applications. However, in my experience, not many developers have put in the effort required to learn the full extent…
Software assemblies containing managed code, such as those used by .NET applications can be easily decompiled into readable source code using free decompilation tools. This can present a challenge to application vendors who have a desire to prevent their code from being viewed or changed due to copyright or potential security concerns. For any application…
InWeb
Application Insights is a powerful Azure feature for monitoring web applications. It collects a wide range of useful data that you can analyse either in real-time or by executing queries against logs at a later point in time. The logs that are stored by Application Insights enable you to see how your web requests are…
SQL injection is a common attack vector that remains one of the most prevalent security risks for applications today. One of the reasons SQL injection attacks are so pervasive is the fact that injection vulnerabilities are very easy for attackers to discover and exploit, sometimes with devastating consequences. On the other hand, mitigating SQL injection…
Tuples are a very useful feature of the C# language; they allow more than one value to be grouped and passed back and forth without needing to define additional types. As we’ll discover later in this article, tuples are particularly convenient for returning more than one value from a method, avoiding the need for ugly…
InNoSQL
In my previous two posts, I covered how to set up a MongoDB development environment and then followed this up with how to get started with MongoDB queries. While it’s great to have a development environment set up and know how to run queries from the command line, ultimately you’ll need to figure out how…
InNoSQL
As a document-oriented database, MongoDB is very different from relational databases such as SQL Server or PostgreSQL. This is particularly true in regards to database queries since MongoDB features its own unique query API that is completely different from using a traditional query language like SQL. Working with MongoDB can sometimes seem like wizardry to…