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

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

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