Posts

Software Deployment and It's Strategies

Image
  Overview In this article, we will discuss about software deployment and different strategies to deploy any software on production Software Deployment Software deployment refers to the process of making a software application or system available for use. It involves a series of tasks and activities that aim to ensure the configuration, testing, and release of software. The deployment process can vary depending on factors such as the type of software, the target platform, and the specific requirements of the organization. Following are the some strategies by using this we can release software on production Big Bang Ramped / Rolling Update Blue Green Deployment Canary Deployment AB Testing Shadow Deployment Strategies Deployment strategies define how software changes are released and made available to users. The choice of a deployment strategy depends on factors such as the nature of the application, user impact tolerance, and the organization's release cycl...

Sonarqube Integration with Visual Studio 2022 and VS Code

Image
Overview This article explains about Sonarqube and its plugins of visual studio. By using plugin, we can detect sonarqube issues on local machine upfront. So that our clean code would be pushed on version control system. Also we can enable Sonar scans on every build which is a part of CI pipeline Sonarqube SonarQube is an open-source platform designed to improve code quality and maintainability in software development projects. It is a static code analysis tool that performs automated code reviews, identifies issues, and provides insights into the health of your codebase. SonarQube is a valuable tool for developers, quality assurance teams, and project managers, helping them ensure the long-term quality and reliability of their software. Key Features: Code Quality Metrics: SonarQube provides a range of metrics, including code complexity, code duplication, and code smells, to assess the overall quality of your code. Issue Detection: It identifies and reports on co...

CAP Theorem

Image
What is CAP Theorem? The CAP theorem, also known as Brewer’s theorem, is a fundamental concept in system design. It was introduced by Eric Brewer in 2000 during a discussion on distributed computing principles at U.C. Berkeley. The CAP theorem states that a distributed system can offer only two out of three properties at the same time: consistency, availability, and partition tolerance. This theorem explains the trade-off between consistency and availability when a network partition occurs. Remember, in the CAP theorem, you can't always have all three things at once (Consistency, Availability, and Partition Tolerance), so you need to choose what's most important for your system. Consistency A system is said to be consistent if all nodes see the same data at the same time. In a consistent system, data updates are instantly visible to all nodes in the system, ensuring that there is no confusion or discrepancy when multiple nodes access the same data simul...

Monolithic vs MicroServices vs Micro Frontends

Image
Monolithic vs MicroServices vs Micro Frontends Overview In this article, We will be looking at different approaches of software development Monolithic MicroServices Micro Frontends Monolithic Monolithic application describes a single-tiered software application in which the user interface and data access code are combined into a single program from a single platform. In simple words, If all the functionalities of a project exists in a single codebase, then that application is known as monolithic application. We all developed monolith applications in our career. To explain about monolithic application in detail, we will take example of travel product as follows: Application UI/ Frontend — responsible for handling HTTP requests and responding with HTML on browser. Business layer — the application’s business logic. This business layer consists of all the travel features like Flight Integration, Hotel Integration, Car Integration and Payment Integration. This makes code dif...

Run And Debug Test Cases Using Jest With Different CLI Options

Welcome file Overview In this article, We will be looking at different ways to run Jest test cases also we will be looking at debugging test case in Jest Jest CLI provides a different options to run unit test cases. We can run Jest test cases as we want. I have described below some of the ways of to run test cases. Run all tests Run tests that are contain in a file Run all tests that are related to changed file Run tests related to path Run tests that match spec name Run only single test Skip test cases Run tests in watch mode Prerequisite You need to have Node installed in order to use npm (node package manager). After installing node we require Jest Package which will be downloaded from NPM package store Jest CLI Options Run all tests By Default Jest runs all tests jest Run tests that are contain in a file Run tests that were specified in file jest testfilename.js jest path/to/testfilename.js Run all tests that are related to changed f...

How To Setup Django Project

Image
How To Setup Django Project Overview Today we will learn how to setup Django project on machine. At the end of this article you will get successful running Django app. Prerequisites: You should have some Python experience and know basic Unix bash commands. If you’ve never used the command line before, please familiarize yourself with the following commands: pwd, cd, rm, and mkdir etc. Steps to create django project: Install python ( Click Here to get pyhton download link) Install virtual wrapper using pip command pip install virtualenvwrapper-win Output of above command is as follows: Create virtual environment to separate current project from other project libraries. It’s common practice to use a virtualenv (virtual environment) for your Python projects in order to create self-contained development environments (also called “sandboxes”). The goal of virtualenv is to prevent different versions of libraries/packages from messing with each other. mkvirtualenv test Ou...