Setup and Manage Azure CI/CD Pipelines
Setting up your Azure DevOps Pipeline is the major step towards automating your Continuous Integration and Continuous Deployment process. Azure DevOps offers a very user...
Azure DevOps
Azure DevOps provides tools and services needed to manage the process of software development that involves collaborative efforts between various stakeholders such as project managers,...
JDK Vs .NET SDK – Nuts and Bolts
JDK JDK (V22 as of July 2024 , Java V22) is the basic developer kit for developing and running Java applications. It includes the Java compiler (javac that compiles...
Towards Blazor
Need for Single Page Apps Before we delve into what Blazor is and how you can use it for your potential development needs, it will...
Server and Client rendered Web application development frameworks
Background The current full-stack web development era is filled with a plethora of front-end and back-end frameworks. Understanding the difference between server and client rendered...
Building Razor Page Web app. in .NetCore
ASP.NETCore Razor pages and ASP.NETCore MVC are both server rendered / server based frameworks for building web apps with .NET. In both techniques/approaches, we use...
Containerization with Docker
Docker is one of the leading providers of containerization tools and technology platform that helps software developers to easily build, run and manage containerized applications/software,...
Containerization
One of the challenges that software engineers wanted to solve is to reduce the amount of time and effort put into establishing and maintaining a...
Importance of Software Architecture
Architecture is the blueprint of any physical structure. It defines the basic design principle or building style used for construction based on the need, cost,...
DevOps
DevOps is one of the important transformation stage that the software development has been into in the present information age. We all know the early...
Azure Containers and Kubernetes for creating microservice-based applications
VMs and thus Azure VMs, in particular, allow you to abstract hardware offering an easy way to spin up a machine environment with a unique...
Advanced Function and Operator Overloading in C++
The following are the main point to keep in mind while dealing with Function and Operator Overloading in C++ – must differ in the type,...
Dynamic Allocation in C++
C++ provides allocation and deallocation functions ‘new’ and ‘delete’ similar to the malloc() and free() function in C. The main advantage of dynamic allocation is...
C++ References
A reference is essentially an implicit pointer that acts as another name for an object. One important use for a reference is to allow you...
Arrays, Pointers and References in C++
C++ supports implementation of array of objects. Below is a simple implementation of array of objects – Note that we polymorphic constructors that acts upon...
Static Class Members in C++
Static data members are used when only one copy of the variable exists and all the objects of that class share that variable. It is...
Inline Functions in C++
Inline functions are small functions defined with the inline keyword. The advantage of using inline functions are – They do not involve the usual stack...
Friend Classes and Functions in C++
When a function is declared as friend, it is not a member of any class. But it could access the private and protected parts of...
C++ Classes and Structures
Structure is similar to Class except for the fact that in structure declaration, all the members are public otherwise specified as private. For example –...
C++ Keywords
C++ provides a wide range of Keywords and much extensive than C programming offers. Below are the commonly used Keywords (reserved). alignas Used to precisely...
Unions and Classes in C++
C++ also supports unions as in C. They are functionally similar to that of a class but has the following limitations: All members are public...
Constructors & Destructors in C++
Constructor and Destructor functions are used in a class so as to automatically perform certain operations when an object of that class type is created...
Inheritance in C++
Inheritance is the property of representing a base class and its derived classes as a hierarchy of classes with the most general functions of the...
Operator Overloading in C++
C++ provides options to overload an operator with more than one function. For eg: C++ overloads the operators << and >> with functions of performing...
Function Overloading in C++
The principle of function overloading helps to implement polymorphism in C++ in which two or more functions share the same name (overloaded functions) and perform...
Classes and Objects in C++
Classes are logical abstractions while Objects are instances of the classes that physical existence in the memory. Syntax for class declaration – We could use...
C++ – The classic Object Oriented Programming Language
C++ is/was and will be one of the classic and ever-green object oriented programming language built for the pure purpose of creating strongly typed, object...
Ada – The Veteran Programming Language
Ada, a descendent programming language mainly of Pascal, is a statically and strong typed, structured and imperative programming language that inherently supports pure object oriented...
Software Metrics and Models
Software metrics refers to measuring the software qualitatively and quantitatively so that we arrive at a perfect assessment of software quality and other attributes of...
Structured Coding Techniques and Perfect Coding Styles
The use of structured coding techniques and styles supports the primary goal of implementation to write quality source code and internal documentation that aid in...
Software Availability
Software Availability is defined as expected fraction of time for which a component or a system is functioning acceptably. If a program has a constant...
Software Reliability Metrics
Software Reliability Metrics relates to measurements made for assessing software reliability. Most of these software reliability metrics evolved from the earlier hardware reliability metrics. The...
Software Faults
Software Faults Software reliability depends heavily on defects in a software product and a repair activity undergone to correct them consequently as an entity to...
Software Reliability
The three of the most important Software product characteristics are – Quality, Cost and Schedule. Quantitative measures exist for cost and schedule. But quantification of...
How to build a web application in the latest .NET platform (.NET 5.0)
As you all know, Microsoft launched the latest version of its .NET platform by unifying all of its .NET flavors/platforms/frameworks. Its actually the 5.0 version...
Fundamental Concepts in Software Design
Fundamental concepts of Software design include Abstraction, Structure, Information hiding, Modularity, Concurrency and Verification. Abstraction – Abstraction is the intellectual tool which enables us to...
Major Activities in Software Design
Software Design is the process of creating the blueprint for the Software system being build. Generally, there are 3 major activities in Software Design –...
Software Cost Estimation
Estimating Software cost is an art. Software Sizing is important since the accuracy of the Software Project Estimation depends on – the extend to which...
Creating a simple MVC based web application in C#/ASP.NETCore 3.1
.NETCore is the widely used cross-platform and open-source developer platform for building web/mobile/desktop/games/IoT/AI/ML apps. The future of .NET itself is set on one single flavor...
Building a simple Web Application in .NET Framework 4.6x and C#
As we all know, .NET is the widely used cross-platform and open-source developer platform for building web/mobile/desktop/games/IoT/AI/ML apps. As it evolved throughout the past few...
Replacing Email with a normal Username in ASP.NETCore UserIdentity
We use ASP.NETCore UserIdentity a lot to implement and manage the User authentication mechanism for your website or application. Many times we don’t want the...
Factors Affecting Software Cost
Its useful for a Software Practitioner to understand the factors affecting Software Cost in order to arrive at close to perfect cost estimates. Most of...
Programming Team Structures
We have seen traditional and recently popular Software Development Team Structures. Now let us discuss on some specific team structures for the Programming or the...
Software Development Team Structures
In this article we will start by reflecting upon some traditional software development team structures. This will help us appreciate where we came from. Some...
Connecting Traditional Water Fall Software Life Cycle Model with Agile Models
This article is written by wearing the traditional hat to appreciate where we came from. Water Fall or Phased approach to Software Development is the...
Managerial Issues of Software Engineering
Software Engineering is the discipline that has historically studied, developed and is continuously improving methods, processes, techniques and frameworks to facilitate the analysis, design, development,...
Factors Affecting Software Quality and Developer Productivity
If you take any Software Development environment, where a piece of code is written to automate a process, we can generalize the factors affecting Software...
Software Engineering
Computer Software or Software is an integral part of this Information Age which enables information collection, storage, processing and management of Information within machines or virtual...
Minimal Spanning Trees and Kruskal’s Algorithm
Given a weighted graph G, it is often desired to generate a spanning tree such that the sum of the weights of the tree edges...
Depth First and Breadth First Traversal
Depth first traversal of a Graph could be used to traverse a directed or un-directed graph and thus creating a spanning tree. Depth first traversal...
Graph Traversals and Spanning Forests
Connected Graph A graph is said to be connected if there is a path between any two of its nodes. Cycle A Path from a...
Linked representation of Graphs in C
There are many in-inadequacies in using the Adjacency Matrix representation of Graphs. Once such inadequacy is the difficulty in adding or deleting nodes while data...
Implementing Ford Fulkerson’s Algorithm in C To Maximize Network Flow
Flow Problem The main objective of a flow problem is to maximize the amount of an item being delivered from one point of a system...
Implementation of Warshal’s Algorithm in C to find Path Matrices of a Graph
Warshal’s Algorithm can be applied to find the Path Matrices and this the TRANSITIVE CLOSURE of a graph given its adj matrix. Warshal’s algorithm is...
Representing Graphs and Networks in C
A Graph is a data structure that consists of a set of nodes interconnected by directed or un-directed arcs. For a DIRECTED Graph, the ordered pair of nodes...
Merge and Radix Sorts
Merge Sort Merge Sort is a process of combining more than one sorted files into a single sorted file. The procedure is to divide a...
Insertion Sort and its implementation in C
Insertion Sort is a simple implementation of the general straight selection sort. A simple routine for insertion sort can be written as below – void insertionsort(int...
Heap Tree Sort and its implementation in C
Heap is an almost complete Binary Tree implemented in a sequential format such that the value at any of the nodes (nd) is >= or <=...
Binary Tree Sort in C
Binary Tree Sort uses a Binary search tree. The various steps involved in such a sort would be – Construct a binary tree with the given...
Selection Sort
A Selection sorting technique uses a general algorithm which uses an ascending or descending priority queue. The idea would be to pre-process input array X[i] into...