MVC Design Pattern

An architectural pattern commonly used for developing user interfaces that divides an application into three interconnected parts. This is done to separate internal representations of information from the ways information is presented to and accepted from the user. The MVC design pattern decouples these major components allowing for efficient code reuse and parallel development. A variation is the... » read more

Distributed Design

A distributed system is an application that executes a collection of protocols to coordinate the actions of multiple processes on a network, such that all components cooperate together to perform a single or small set of related tasks. Why build a distributed system? There are lots of advantages including the ability to connect remote users... » read more

Lessons from the pros: How to handle job interviews 1. It is not all about youKurt Gering, director of talent, culture and capability at the San Diego International Airport, likens a job interview to that of a first date where you begin to find out if a potential relationship makes sense. Because of that, you need to focus not just on your talents but... » read more

Visual Studio Community vs Professional Editions

In general, the only difference between the Community and Professional editions of Visual Studio is one of licensing. According to my contacts at Microsoft, there is no operational difference between the two editions. The Community edition (which is a free download) can be used by individual developers and small teams (5 people or less, as... » read more

SQL Server TempDB

TempDB is used for many operations, such as user-created temporary objects, internal temporary objects and version stores and certain features like online re-indexing, multiple active record sets (MARS) and others. Because of all these uses, TempDB should be installed on a fast drive (like SSD) and even set to multiple disk drives. You should also... » read more

Fine Tuning SQL Server Databases

Removing Unnecessary Indexes Index maintenance requires lots of CPU and I/O. Every time we insert data into a database, SQL Server also needs to update the indexes, so it is better to remove them if they are not used. SQL Server Installation And Database Setup When setting up a database, we need to keep data... » read more

ACID of RDBMS Systems

These four principles are referred to as ‘ACID’, and each letter is an acronym for one property of RDBMS systems that is non-negotiable for the sake of the integrity of the system. Atomic(ity) – The principle that each transaction is ‘all-or-nothing’, i.e. it either succeeds or it fails, regardless of external factors such as power... » read more

Optimize Moving Data from One Table to the Another Table

Some best practices for moving data from one table to another table. Use TRUNCATE instead of DELETE If you need to clear the data in a table, use TRUNCATE instead of DELETE. TRUNCATE lock the table instead of at each row. No triggers are activated and no logs are generated resulting in faster performance. Note:... » read more

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