Unit Testing

Unit Testing is a level of software testing where individual units/ components of a software are tested. The purpose is to validate that each unit of the software performs as designed. A unit is the smallest testable part of any software. It usually has one or a few inputs and usually a single output. Unit Testing... » read more

SOLID principles of object-oriented programming

These were put together by the author Robert Martin, also known as Uncle Bob. S – Single-responsiblity principle O – Open-closed principle L – Liskov substitution principle I – Interface segregation principle D – Dependency Inversion Principle Single Responsibility An object should have one primary responsibility, one reason to exist, and that reason entirely encapsulated within one class. It can... » read more

Dependency Injection

Dependency injection is a technique whereby one object (or static method) supplies the dependencies of another object. A dependency is an object that can be used (a service). It Increases code reusability and improves code maintainability. It allows us to develop loosely coupled code and reduce tight coupling between software components. DI is providing an object what... » read more


Multithreading is the ability of a central processing unit to execute multiple processes or threads concurrently, supported by the operating system. Safety issues: Without proper synchronization a program where the order of execution is important can cause unexpected results with multiple threads.  Multi-threading is best used for situations where you have a lot of asynchronous functions... » read more

Microservices Architecture

A variant of the Service-Oriented Architecture. A software development technique in which an application as a collection of loosely coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight. The benefit of decomposing an application into different smaller services is that it improves modularity. This makes the application easier to understand, develop, test, and become more resilient to architecture... » read more

PowerApps Community Plan Get a free environment for individual use Learn and develop your PowerApps and Microsoft Flow skills Explore and create in a full-featured environment for development Build apps on a single, extensible view of your data with the Common Data Service What’s included? You get a free environment for individual use with functionality including premium... » read more

Using Query Execution Plans

One useful tool that SQL Server offers is the ability to see query execution plans. An execution plan shows you how SQL Server breaks down a query and also identified where issues might exist within the execution plan. Once you have identified statements that take a long time to complete, you can then look at... » read more

Database Caching

SQL Server does not have a “results cache” and the second execution is not “practically free.”SQL Server does have a “buffer cache” and the second execution is “faster, but not free.” The SQL Server buffer cache holds data pages in memory, in the exact form that they reside on disk. The second execution will not have to perform... » read more

Database Replication

SQL Server replication is a technology for copying and distributing data and database objects from one database to another and then synchronizing between databases to maintain consistency and integrity of the data. Article/Publications An article is the basic unit of SQL Server Replication. An article can consist of tables, stored procedures, and views. A Publication... » read more

Transactional Logs and Disk Space

When using the full recovery model backup option, transactional logs will be generated every time there is a transaction being made. The transaction log will keep accumulate until a full, differential, transaction log backup has been made. Only then will the logs be cleared up. In databases where there are high transaction being made, the... » read more