Saturday, December 16, 2017

How to install Maven on Windows: 4 Steps(with Screenshots)

Although Apache Maven could be installed on Windows, Linux, Solaris and Mac OS systems but today we would discuss about how to install Maven on Windows system. Don't worry if you have Unix based system because we would providing some hints, using that one could easily install Maven in their Unix based systems also.

Tuesday, December 12, 2017

Differences between @RequestParam and @PathVariable annotations in Spring MVC?

Have you came across @RequestParam & @PathVariable annotation used in the Spring MVC framework? If your answer is yes, then do you know exactly when, one should use @RequestParam or @PathVariable annotation because both the annotations are used to extract data from the incoming request. If your answer is no, then you must learn/know about these annotations because it's widely used in both the traditional web application development & RESTful Web Services development using Spring.

Table Of Content

1. Introduction
2. Scope
3. When to use which annotations?
4. Where and How of annotations?
5. Conclusion

How to add delay in your program?

Would like to add delay for a couple of seconds in your program written in Java, then Thread's sleep() method comes to our rescue. It suspends/delays the execution of the current thread for a specified period.

Choose the required method from overloaded version of sleep() method:
public static void sleep(long millis) throws InterruptedException
public static void sleep(long millis, int nanos) throws InterruptedException
Note:
  • The sleep time is not guaranteed to be precise, because they are dependent on the facilities provided by the underlying OS.
  • Also, the sleep period can be terminated by interrupts. 
Example: Code snippet showing the use of sleep() method 
package com.anshulsblog;

import java.util.Date;

public class TestSleepMethod {

   public static void main(String[] args) throws InterruptedException {

      System.out.println("Time before calling sleep() method: " + new Date());
      Thread.sleep(5000);  //sleep 5 seconds
      System.out.println("Time after calling sleep() method: " + new Date());
   }
}

Output:
Time before calling sleep() method: Tue Dec 12 10:08:17 IST 2017
Time after calling sleep() method: Tue Dec 12 10:08:22 IST 2017
Look at the main() method, it throws InterruptedException. This is an exception thrown by sleep() method when another thread interrupts the current thread while sleep is active. Since this application has not defined another thread to cause the interrupt, it doesn't bother to catch InterruptedException. But one should catch the InterruptedException exception using try catch block.

References:
https://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html

Sunday, November 19, 2017

Identify security vulnerabilities in software components using OWASP Dependency Check maven plugin

In the last post, we have discussed that it's very important to check potential security vulnerabilities in the 3rd party libraries/components we use while development. Today we would discuss, how to find security vulnerabilities in software components using OWASP Dependency Check maven plugin.


Table Of Content

1. Introduction
2. Scope
3. How to use OWASP Dependency Check utility
4. Action Plan for Security Vulnerabilities
5. Conclusion

Saturday, November 18, 2017

Secure your applications by checking potential security vulnerabilities in 3rd party libraries

Hello Friends, Let's start our today's discussion with short questionnaire session. [Although here, both the quiz masters & contestants role will be played by me but hey you are free to poke me through comments if I am unfair anywhere  ðŸ˜Ž]

Q1: As a developer, do you always put a lot of efforts in developing & making your application secure from any security vulnerabilities?
A: Right, we all do. We not only use the coding conventions, standards, design patterns & OOAD principles but also follow various industry and organization specific best practices adhering to the security standards.

QM: Oh That's great to hear! Next question

Q2: Do you use any 3rd party libraries while development or restrict your self from using it?
A:  Of course, we all use 3rd party libraries while development to either reduce development costs or to meets deadlines like Apache Log4j (logging library), Jackson (JASON parser library), Apache Commons Lang, Hibernate ORM etc.
We can't think about development without using 3rd part libraries and why one would not use 3rd party libraries if there are already available open sources libraries for functionalities we are looking for. Why waste our precious time, effort & energy for solutions that already exist? 😉

QM: You are right, it's good to leverage existing solutions but be careful on what 3rd party component are you using.

Q3: Do you check 3rd party libraries for any known, publicly disclosed, potential security vulnerabilities?
A: As we told earlier in Q1, we have developed our application keeping all the necessary best practices related to security in our minds and yes the thought of having potential security vulnerabilities in 3rd party libraries have crossed our mind but we also thought that since the 3rd party libraries that we have used in our application are developed by very known organizational entities and they would be free from security vulnerabilities.
Truly speaking, for some 3rd party libraries, we would wanted to do the through vulnerability analysis but due to hard deadlines, meetings, last minutes requirement changes in project[world famous excuses 😔],  we ended up not doing that analysis.  

QM: Sorry to say, not checking potential security vulnerabilities in 3rd party libraries is a terrible mistake. Let's fire our next question to understand it's importance.

Q4: Are you aware of OWASP Top 10 list ? 
A: [Majority] Never heard about it. [One or two] We have heard the name but not recollecting it properly. what is it exactly?

QM: OWASP stands for The Open Web Application Security Project (OWASP), which is an international, well known, non-profit organization that produces freely-available articles, methodologies, documentation, tools, and technologies in the field of web application security. They published "The Top Ten" list aims to raise awareness about application security by identifying some of the most critical risks facing organizations. Among this top 10 list, at number 9, we  have "Top 10 2013-A9-Using Components with Known Vulnerabilities".


Now Think, how important is to analyze the potential security vulnerabilities in 3rd part libraries that they have included this in their Top 10 list because no matter how much effort we all put in securing our application if the 3rd party libraries has any known, publicly disclosed, vulnerabilities then our application is not secured.

Also check out the statistics from the whitepaper "The Unfortunate Reality of Insecure Libraries":


Q5: Are you thinking about how will you check for any known, publicly disclosed, vulnerabilities in the 3rd party libraries?
A: Yes, you are reading our mind. 😊 We assume, there must be any list or database which contains all the information about the known, publicly disclosed, vulnerabilities in 3rd party libraries. We just have to find that list or database and check for vulnerabilities in our used 3rd party libraries.

QM: Great! You all are in the right track.  National Vulnerability Database contains known, publicly disclosed, vulnerabilities in 3rd party libraries. There are also many tools available like OWASP Dependency Check to check the vulnerability in 3rd party libraries.

Disclaimer: This questionnaire compilation is based on the analysis done by me among my friends on the topic "Potential Security Vulnerabilities in 3rd Party Libraries". I know, you might be already doing vulnerability analysis on 3rd part libraries before using them.

Sunday, October 8, 2017

How to access applications & websites behind Proxy Server from CLI or browser

In today's world, it's very common, industry standard practice to use proxy servers to safeguard their corporate and institutional security, to control employee internet usages, to balance traffic on the server or for faster speeds and bandwidth saving. Therefore to access the applications, API endpoints, blocked websites like GitLab, GitHub, Facebook, Youtube etc, that are behind a proxy server, one need to use the appropriate proxy server.

Today we would discuss, how to access applications/websites behind proxy server using CLI & browser in Windows and Linux systems? After going through this article, one would have the answers of below questions:
  • Unable to pull the Git repository hosted on GitLab or GitHub using CLI i.e. from command prompt or Git Bash
  • Unable to download packages from internet through CLI using wget, curl, apt-get, yum or pip
  • Unable to access API endpoints, project applications in the development, qa, staging environment from the browser or CLI
  • Unable to access blocked websites (GitLab, GitHub, Facebook, Youtube etc) using browser

Table Of Contents

1. Scope of the article
2. Prerequisites
3. Use Proxy Server while executing commands in the CLI
4. Use Proxy Server in the browser
5. Conclusion

Saturday, September 23, 2017

How to connect to a MySQL database from another system (remotely)

Today we would discuss, how to connect to a MySQL database from another system? After going through this article, one would have the answers of below questions:
  • Unable to connect to a MySQL database from remote system in the same network?
  • Although able to connect to a MySQL database using localhost or 127.0.0.1 but unable to connect it using the IP address of the same machine in which MySQL database is present?

Table Of Contents

1. Prerequisites
2. The MySQL Access Privilege System
3. MySQL Error
4. Resolution
5. Conclusion

Sunday, September 17, 2017

PMD - A Step towards Writing Clean Code

Today I would throw some questions related to writing clean code, automation, static code analysis and see if you are with me in this exciting journey:
  • Is it practically possible to remember each and every code convention rules , best practices, bad practices, basic design principles while writing codes ? 
  • Is it possible for code reviewers to inspect every lines of code to find code flaws ?
  • Is it smart thing for code reviewers to waste their time, effort and energy to find code flaws related to conventions, bad practices, potential bugs, dead code, unused code and so forth when they could do so much more on the front of finding architecture, design, performance related issues ?
  • Is it good to find small bugs in UAT or QA instead of finding at development phase? 
  • Is it not a smart move to use open source tools to automate the process of reports generation based on customized rule sets?   
If the answer to the above question is No then you are on the right tract otherwise you need to think twice as in this Agile world, it's difficult to survive with this mentality because everyone is moving forward and welcoming DevOps culture, Agile, Automation with open arms.

Today we would discuss about PMD, an open source cross language static code analyzer tool.
In this article, we would discuss below points regarding PMD:
1. Overview
2. Configuring PMD for a Maven Project
3. Rule sets Overview
4. Running PMD
5. Example
5. Conclusion

Let's start our journey to explore PMD in some details!!

Saturday, September 16, 2017

A holistic approach towards streamlining the Code Review process with real word Use Case

Recently I have joined a new team and got a new responsibility for doing a code reviews. It's not that I haven't done the code reviews in the past but this time the volumes is large, timeline is tight and it's is a regular responsibility on my shoulder along with other jobs.

Several questions popped into my head (described below) not only because I can't imagine going through each lines of code to find the code flaws but also due to thinking that what would one think if I raise any concerns on their written code as I am new to the team.
  • What are things (parameter) one should practically cover while doing code reviews ?
  • Is there any scope for automation in the code review process?
  • What is the current process and tool sets used for code review process?
  • What should be the approach to share the code review recommendations / suggestions so that no one would get offended in any way? 
  • What are the best practices one should follow while doing the code review ? 

Although I had some knowledge about the answers of the above questions but it didn't stop me from peeping in the internet. As a results of this, I have got a good insight about the process and approach that could be used for Code Reviews. Therefore I am writing this piece today to share the holistic approach towards streamlining the code review process that one could follow.

Let's start our journey!!
  1. Identifying code review parameters
  2. Identifying the scope for automation in code review process
  3. Gap Match Analysis & accordingly taking action
  4. Right Approach of sharing code review recommendation / suggestion
  5. Important Pointer to keep in mind while doing code review
We will discuss each of these below in details.

Thursday, September 7, 2017

Industry Standard Use Cases of Apache HTTP Server

The Apache HTTP Server ("httpd") is an open source, free and most popular HTTP Web Server software that could run on both Unix & Windows type platform. Today we would discuss various industry standard use cases of Apache HTTP Server.

Industry Standard Use Cases of Apache HTTP Server


  • For setting up a common project specific software artifacts repository for all the developers in a team (Onshore & Offshore)
    You will think why one would want to use Apache HTTP Server for hosting software/project related artifacts? To answer this question, I would share my experience that is

    - Due to advent of Agile, DevOps culture in the software industry, people are rapidly opting various IT automation tool, Provisioning tool, Configuration Management tool for automating their Software Delivery pipeline. For example: Use Vagrant for easily and efficiently creating and configuring reproducible, portable development environments. It's becoming standard practice that project specific software artifacts like putty.exe, gradle.zip, jdk-7u51-linux-i586.gz, mysql-5.1.71-1.el6.x86_64.rpm, apache-maven-3.0.5-bin.tar.gz, centos65-x86_64.box etc are hosted in Apache HTTP Server. From this central location, software are downloaded in all the developers machines by using vagrant. In this way, every developers have the identical development environment which is similar to production/staging/qa. No more "It doesn't work on my machine" excuse.

    - Easily download the latest project specific artifacts from central location, no need to send mails to anyone, no follow up, no tension of downloading/having wrong version of artifacts, no more roaming around for finding desired version of software in the internet. 

  • For Load Balancing & Hosting Static Website Content
    While designing the technology stack for the enterprise application, it's most common and adapted practice to have Apache HTTP Server as their Web Layer which not only distribute incoming traffic to multiple Application Servers by using software load balancing techniques but also reduce loads of the Application server by directly serving request for all the static assets.

Here I have described the most widely used use cases of Apache HTTP Server that I have came across and used while my tenure in the IT industry. If you have any other use cases in mind, feel free to share through comments. Happy Learning!! :-)

Wednesday, August 30, 2017

Maven Error: No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

Have you came across below Maven error while running maven install or build command through Eclipse.


The error states that : No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

This error message clearly tells us two things:
  • "No compiler is provided in this environment.": While running maven install or build command for our project, it couldn't detect the required compiler due to some missing/incorrect Eclipse configuration. 
  • "Perhaps you are running on a JRE rather than a JDK?": It states the probable root cause of the issue i.e maybe JRE is added to the build path of the newly created java project. 

This article is a How To Guide to show the steps with screenshots to fix the above issue.

Sunday, August 6, 2017

How To Install kubectl (Kubernetes command-line tool) using Chocolatey

kubectl stands for Kubernetes command-line tool, used for running commands against Kubernetes clusters. In this article, we would discuss how to install kubectl in Windows system using Chocolatey, a Windows package manger. Install Chocolatey if you don't have it in your system.

Install kubectl using Chocolatey



C:\Windows\system32>choco install kubernetes-cli

Verify Your kubctl Installation


C:\Windows\system32>kubectl version
Client Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.2", 
GitCommit:"922a86cfcd65915a9b2f69f3f193b8907d741d9c", GitTreeState:"clean", 
BuildDate:"2017-07-21T08:23:22Z", GoVersion:"go1.8.3", Compiler:"gc", 
Platform:"windows/amd64"}
Unable to connect to the server: dial tcp [::1]:8080: connectex: 
No connection could be made because the target machine actively refused it.
C:\Windows\system32>

Thank you for reading this article. Now you have kubectl in your system to deploy and manage application in Kubernetes and also manage the different Kubernetes resources. Happy Learning!!

Saturday, August 5, 2017

6 Useful Chocolatey Command for Windows Package Management With Examples

In the our previous posts, we have discussed What, Why & How (installation) of Chocolatey, a windows package manger. In this article, we would see Chocolatey in action i.e. different Chocolatey commands with examples.

Although we would discuss the basic Chocolatey commands here, one can easily find more details regarding Chocolatey commands, How To Pass Options / Switches and Default Options and Switches by simply hitting the choco -? command in their command prompt.

Chocolatey Commands

choco list                        // lists remote or local packages
choco search [package_name]      //searches remote or local packages
choco info [package_name]        // retrieves package information 
choco install [package_name]     // installs packages from various sources
choco uninstall [package_name]   // uninstalls a package
choco upgrade [package_name]     // upgrades packages from various sources
choco outdated                  //retrieves packages that are outdated

Chocolatey Installation

In our previous post, we had a discussion regarding What & Why of Chocolatey, a windows package manger. In this article, we would discuss how will we get Chocolatey!😀

System Requirements

  • Windows 7+ / Windows Server 2003+
  • PowerShell v2+
  • .NET Framework 4+

 

Install Chocolatey (Let's get Chocolatey 😀)

  1. Open the Command Prompt as administrator
    Click on the Start button >> Type "cmd" in search bar >> Right-click on the cmd.exe and choose "Run as administrator". Now Command Prompt window would open with C:\Windows\system32>
  2. Copy the below text to your command prompt and hit enter
    @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
    
  3. If No errors in your command prompt then you are ready to use Chocolatey

Verify Your Installation

choco or choco -? 

C:\Windows\system32>choco
Chocolatey v0.10.7
Please run 'choco -?' or 'choco  -?' for help menu.

 Thank you for reading this article. Now you have Chocolatey  in your system! In the next article of this series, we would see how easily one can install/search/ list/upgrade software packages in Windows system using Chocolatey!  Happy Learning!!

Chocolatey: A delightful Windows package manager

If you have worked with Linux based systems then you already know how easily one can install, uninstall, search and update the software packages using package manager utility like apt-get, dpkg, rpm, yum, etc. But can you vouch the same thing for Windows system? Does Windows system provides any similar utility for managing the software application. The answer would be NO. 

Question to the Windows user: Do you really like the traditional way (easy but time & effort taking) of installing, uninstalling, searching and upgrading the software application that generally involves below steps:
  • Search the desired version of software from internet 
  • Download the respective exe or MSI file (wait until it gets downloaded)
  • Install it manually i.e. click, click, click our way through the installation. If we are upgrading /downgrading the software version then uninstall the earlier version
  • Now follow the same process for EVERY piece of software that we want in our system.
In this article, we would discuss the solution of this problem. Now we have Chocolatey at our disposal that takes away all the pain of manually installing/uninstalling/searching/listing and upgrading the software packages in the Windows systems.

Sunday, July 30, 2017

VirtualBox Issue: "Create Virtual Machine" wizard only shows 32 bit guest versions in "Version" dropdown

Recently I have came across very strange problem while creating Virtual Machine(VM) using Oracle VM VirtualBox.I was planning to install the 64 bit CentOS as the Guest OS on my 64 bit Windows Host but the Version drop-down in the Create Virtual Machine wizard didn't have any 64 bit options. Through VirtualBox documentation, I have checked the details of supported Host OS & Guest OS and found that it also supports 64 bit Guest OS. Therefore it's a problem with my system configuration. 


In this "How To" guide, we would discuss how to resolve the above issue so that if you face the similar issue then you could also easily troubleshoot the issue.

Friday, July 21, 2017

VM creation using VirtualBox Issue: "FATAL: No bootable medium found! System halted."

Have you came across below error while trying to start your newly created Virtual Machine (VM) using Oracle VM VirtualBox :


The error states that : FATAL: No bootable medium found! System halted.

This error message tells us two things:
  • No bootable medium found: we haven't specified the Guest OS for our Virtual Machine (VM) while configuring the VM system configurations. 
  • System halted: in absence of an OS, how can any system start, that's why our VM system is halted.
This article is kind of How To Guide to show the steps with screenshots to fix the above issue.

Thursday, July 13, 2017

Error response from daemon: Docker push already in progress

It's relatively common that one would tend to interrupt the current ongoing process of uploading assets on the cloud and try it again when it's taking too much time to upload. With Docker, you might face below issue i.e "Docker push already in progress" if you interrupt the docker push command and try running it again for publishing your image to the Docker repository i.e Docker Hub.


The error states that: Error response from daemon: push <username>/<repository> is already in progress.
From the error message, it's clear that push/upload is still running in the background but we are unable to see it's progress. If one can wait to finish the current docker push then the problem will automatically resolve. 

In this article, we would discuss the circumstances that may leads to the above issue and the resolution of this issue i.e how to get back the docker push progress bar.

Friday, June 30, 2017

A Quick Guide for MySQL Installation on Linux using the MySQL Yum Repository

Hello Guys, today I am writing this piece because, one of my close friend is struggling hard to install MySQL on his CentOS system. Although he was well aware of how to install, update or remove any software package using YUM but still he was out of luck. Someone might also face the same problem. This article would help all those who wants to install MySQL on different Linux distribution whether it is EL5-, EL6-, EL7- based platforms (Oracle Linux, Red Hat Enterprise Linux, CentOS) or Fedora 24 & 25. Depending upon requirement, one might want to install MySQL using a third-party-distributed RPM package but that is out of scope from this article.

Note: While writing this piece, I will be installing the MySQL 5.7 on Red Hat Enterprise Linux (CentOS 6.7).
In this article we would discuss below points:
Why MySQL Yum Repository?
How to add the MySQL Yum Repository to our system's repository list?
Which version of MySQL to install?
How to install MySQL using YUM?
How to start the MySQL Server?
Recap! What we did?

Wednesday, June 28, 2017

How to Remove Comment Box from Static Pages in Blogger

In Blogger, if one enables the commenting functionality then by default comment box would appear below all the posts and static pages. It's recommended and good practice to always hide comment box on static pages like Contact Us, About us etc.

This is "How To" guide for new bloggers showing the steps with screenshots to hide/remove comments box from an existing page or from the new page.

Tuesday, June 27, 2017

How to Resolve YUM Lock Issue : Another app is currently holding the yum lock; waiting for it to exit...

If you are Linux user or System Administrator then you might face below issue while trying to use YUM command for software package management. It's a very common issue.


The error states that :
Existing lock /var/tmp/yum-vagrant-qt0qu8/x86_64/6/yum.pid: another copy is 
running as pid 5025.
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  20 M RSS (310 MB VSZ)
    Started: Mon Jun 26 10:49:35 2017 - 00:14 ago
    State  : Traced/Stopped, pid: 5025
This error message tells us two things:
  • There is another yum instance running by some processes that are holding the lock.
  • The origin of this situation implies that the system does not support YUM concurrent operations.
This is "How To" guide in which we would discuss the solution / workaround of this problem.

Monday, June 26, 2017

YUM Command For Package Management with Examples

It's very common tasks for user or system administrator to install, uninstall, search and update the software packages on Linux systems by using some kind of package manager utility like apt-get, dpkg, rpm, yum, etc.

In this article, we would discuss about one of the software package management utility i.e. YUM. We would discuss different yum commands to search/install/update/remove different software packages.

Points Of Discussion:
What is YUM ?
Different YUM commands
Different Real World Use Cases

Monday, April 17, 2017

How to check whether SELinux is enabled or not?

This is "How To" guide to show us, how one can check the status of SELinux whether it is enabled or not. If you would like to know more about SELinux like what is SELinux, why one should use SELinux and how does it work then click here.

Tuesday, February 28, 2017

How to install EPEL Repository on RHEL/CentOS 7.x/6.x/5.x

This is "How To" guide to show us, how one can configure RHEL/CentOS system to use Extra Packages from EPEL repository. After enabling the EPEL repository, one can easily install standard open source packages and their dependencies by using YUM command.  

In this article, we would discuss below points:
What is EPEL?
Why one should use EPEL repository?
How To enable EPEL repository on RHEL/CentOS 7/6/5?
How To verify if EPEL repository is enabled or not?
How To use EPEL repository?

Friday, February 10, 2017

Is Tomcat a web server or an application server?

Tomcat is a web server (handles HTTP requests/responses) and web container (implements Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies) if we don't consider that we have all the add-ons and plugins made available through open source or commercially with Tomcat. Tomcat doesn't implement the complete Java EE API and doesn't have EJB container. Although we could run some applications in Tomcat(one could easily argue that it is an application server) it will not be considered as a full-fledged application server as it lacks some features of the application server.

Conclusion:
One could develop many applications on top of Tomcat with pluggable services and add-ons. If Tomcat + add-ons + pluggable services then we can call it an Application Server.

Thank you for reading this article. Hope you would like it. If you have any suggestion or have any question do let me know in the comment box. Happy Learning!!😌

Tuesday, January 24, 2017

Why Checked Exception exists in Java when we have Runtime Exception in our bucket?

Have you ever thought Why Checked Exception exists in Java when we have Runtime Exception to convey exceptional cases in our program? There must be a pretty good reason behind it? Have you ever tried to find it out?

Today we would provide you a small overview about Checked Exception then we directly jump on answering our topic of interest today i.e. Why Checked Exception exists in Java?

Friday, January 13, 2017

How to Fix the FeedBurner Email Subcription Error: The publisher has deactivated subscriptions by email

Have you came across below error while trying to subscribe any website or blog using your email address:
 
The errors state that : The publisher has deactivated subscriptions by email and  The feed does not have subscriptions by email enabled.

These error messages tells us two thing about the website or a blog which we are trying to subscribe:
  • The website or blog is using Google's free service i.e. FeedBurner service for their web feed management (i.e. feed subscription)
  • The owner of the website or a blog previously allowed feed subscription by email but now  they have deactivated this service
In this article, I would show you the steps with screenshots to fix the above FeedBurner Email Subscription Error.

Tuesday, January 10, 2017

Introducing Vagrant

Have you ever faced or heard about below problems:
  • Environment setup on multiple systems whether it is development, staging or QA which includes multiple server setup, software and database installation as well as their configuration. We all agree on one point that traditional way of Environment setup is very time consuming and effort taking.
  • The process/scripts for setting up the server / database / software that worked in one system are now failing in another. I am referring to “it does not work on my machine” excuse that developers used to raise for any kind of issues. :-)
  • New member joins the team - you have to again setup the same development environment; you have to recall the complete setup process. Even if you are happy and ready to set up the development environment in traditional way, if it is not properly documented and you miss a minor thing then boom...red flag!  
  • Unable to replicate the issues in your local development environment that's happening in production or in other team members workstation
If yes, then this article/tutorial is a must for you. Vagrant addresses these problems and helps us to create and manage portable, reproducible development environment. If you haven’t faced or heard about above problems or Vagrant, then this is the right time to get acquainted to it. Vagrant is very popular open source project.

In this article, we would discuss:
What is Vagrant?
Why do we need Vagrant?
What are the main features offered by Vagrant?

Friday, January 6, 2017

VirtualBox Overview

Have you ever faced problem in understanding or confused about the terms like VirtualBox ,Virtual Machine. If yes, then this article would clarify all your doubts. Today we would discuss below topics:

What is VirtualBox?
Why one should use VirtualBox?