Architecture

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, quality, time, scalability, security, reliability, and risk aversion. Similarly, Software Architecture simply defines the blueprint or the basic design style in which the software is built to satisfy the customer…

DevOps

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 days of software development was largely focused on siloed groups that performed each activities of a water fall software development process. For example, the software analyst team doing the requirements…

Azure

Azure Functions and Serverless Computing

Spinning up and using Azure VMs and containers for your use will incur a usage fee on a daily basis. But, if you strictly want to restrict your billing based on actual code execution, you could use Azure functions. It is most useful in scenarios where your code/application is executed by triggering an event and…

Azure

Azure VM Service

Azure VM service offered under Azure compute service, is Azure IaaS that allows you to quickly spin up platforms with various OSs flavors other development tools and applications within minutes. For example, you can spin up VMs that perform just physical servers or machines for your production, stage, or test server environments. Azure VMs basically…

Azure

Azure Web App. and Azure SQL

Azure offers a treasure house of SaaS, IaaS, and PaaS services. The most popular and basic bread and butter tools for a developer to get to know are the Azure Web App. and Azure SQL. Azure Web App. Azure Web App. is an HTTP-based Azure service that allows the building and hosting of web-based applications…

Azure

Azure in a Nutshell

Azure is Microsoft’s cloud platform, basically built on the good old Virtualization technology surrounding Hypervisor. Hypervisor or Virtual Machine Monitor (VMM) as it is originally called, is a group of software and firmware that helps to emulate the basic computer functions and operating system by providing an abstract layer between the hardware and the operating…

C++

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, number of parameters could not overload a function using a pointer and array as parameters. i.e void f(int *p); //error, *p is same as p[] void f(int p[]); The above…

Linux Server Hardening
All Articles

Linux Server Hardening

Below is an example check list for Linux server hardening – All ports except SSH, http is blocked. On some of the servers, DNS and SMTP ports are open for name resolution and mail sending purposes. We have hardened the kernel to disable all the unnecessary services. This has been done at the kernel level…

Dynamic Allocation in C++
All Articles

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 that it allows us to automatically allocate enough memory to hold an object of the specified type and you don’t need to use the ‘sizeof’ operator. Also, you don’t need…

C++ References
All Articles

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 to create functions that automatically use call-by-reference parameter passing rather than C++’s default call-by-value method. When you create a reference parameter, that parameter automatically refers to (implicitly points to) the…

C++ pointer Arrays
All Articles

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 the array, and one of them acts upon the array index and assign it to the class member ‘i’. Notice that the class object prints 0 when the un-initialized array…

C++ Static members
All Articles

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 mostly used to synchronize various objects accessing a shared variable. Below is a simple C++ program representing this functionality – Static member functions could only access members of a class….

C++ Inline Functions
All Articles

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 operations as with ordinary function calls and returns, thus speeds up execution Usually used within classes which involves a lot of operations (small) on the private data It is professional…

All Articles

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 the class. freind2.cpp below shows a member function of one class declared as a friend of another class – Below are the advantages of using friend functions – in operator…

C++ Keywords
All Articles

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 control the memory alignment of a user defined data/variable alignof returns in the alignment value in bytes of the specified type and bitwise AND operator and_eq equivalent to &= operator…

C++ Unions and Classes
All Articles

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 by default Cannot be a base class to inherit other classes Cannot have virtual functions Cannot include static variable An object using a constructor and destructor cannot be a member…

C++ Constructor and Destructor
All Articles

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 and destroyed. For example, the constructor function named Stack() could be used to automatically initialize stktop = 0 when objects stack1 and stack2 are first executed. Similarly the destructor function…

All Articles

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 class vested at the base or parent class and then specifying added qualities in each derived class. Below is an example of how we can represent a base class and…

All Articles

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 a general action but using different methods or approaches. The overloaded functions must differ in their function/method parameters/signatures and are defined and coded separately. They may or may not differ…