Skip to main content

Posts

Java Productivity tools

Here are the list of Java Productivity tools that help in simplifying the daily life of a developer. Eclipse as an IDE simplifies the development life cycle which has a lots of plugins to support different programming languages and frameworks. Some of useful Eclipse plugins are - Sonarlint that helps to do static code analysis and give suggestions as we go along the development life cycle. JDGUI - Is the Eclipse Plugin that supports the decompilation of the Java application within eclipse, this is very handy when debugging and need to look at the out of the box code from a framework/library. JUnit is the unit testing framework that supports Unit Testing of Java Applications. Mockito is the framework that supports the Mock Unit Testing of the Java Application.

Install Open JDK 10 on Mac

Downloading and Installing Open JDK 10 is easy, and does not need to uninstall the existing version of the JDK. Here are the steps to install Open JDK 10 1) Download Open JDK 10 from https://download.java.net/java/GA/jdk10/10.0.2/19aef61b38124481863b1413dce1855f/13/openjdk-10.0.2_osx-x64_bin.tar.gz 2) Go to the downloaded file's parent folder, and extract the JDK using $tar -xvf openjdk-10.0.2_osx-x64_bin.tar.gz     3) Copy the extracted  JDK to the Mac JDK installations folder $sudo cp -R  ~/Downloads/jdk-10.0.2.jdk  /Library/Java/JavaVirtualMachines/ 4) Update, and export JAVA_HOME, PATH in the ~/.bash_profile (or) ~/.bashrc file. JAVA_HOME=" /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home " PATH="$PATH:${JAVA_HOME}/bin" export JAVA_HOME  PATH  5) Source the bash_profile/bashrc file to detect the changes. $ source ~/.bash_profile 6) Open a new Terminal and verify open JDK installation for ja...

Design Patterns using Java

According to Gang of Four(GOF) any software is classified in to one of the three categories. I read so many books about design patterns which provide a lot of information about Design Patterns in a language neutral way or related to a particular programming language. I am trying to complement the great books by providing the precise and concise information that is required in the day to day programming of a Java Developer. Any software can be classified into one of the three categories -Framework, Toolkit, Application. Framework - Framework defines a set of steps to create an application. Framework provides design reuse. Toolkit - Toolkit provides some utility functions to an existing application. Toolkit provides code reuse. Application - Application is some thing that is specific to the project, and is not useful outside the context of the current application. Gang of Four divided the Design Patterns in to 3 types based on their usage. There are 3 types of Gang of Fo...

Twelve Factor app development for Microservices

The Twelve (12) Factor app methodology is a list of principles for any Web Application or Software as a Service, and it is especially useful for microservices. This methodology can be applied to apps written in any programming language that use any combination of backing services(database, queue, memory cache, etc). 1. Code Base  - There should a dedicated code base per app. There should be a dedicated code base for each App, and multiple code bases can not use the same code base. If any code base is required by more than one application, separate that code into a separate repository, and inject that using dependency manager into the dependent apps. The same code base can be used to deploy the application to different environments like develop, stage, and production. 2.  Dependencies  - Explicitly declare and isolate dependencies. All the dependencies need to be explicitly declared, and should be available as part of the build process. The should not depend...