Author Archives: Ajitesh Kumar

Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking.

Spring MVC Web with Google NoSQL Datastore on GAE Cloud

The article represents key aspects of integrating your Spring MVC web application with Google NoSQL Datastore while working on Google App Engine cloud computing platform. Additionally, it presents code samples for you to get started in a quick manner. You may access the sample application talked about in this article on this page, Welcome to GAE World! Following has been discussed: High-level architecture & design Setup NoSQL Data Model (NoSQL data entity vis-a-vis Google Datastore) Implementation including code samples such as following: Controller (HelloController) JSP (hello.jsp) DAOs (GoogleDSCommentDAO) High-level Architecture & Design Following are key technologies used for the implementation discussed in this article: Spring MVC Google Datastore (NoSQL Database) …

Continue reading

Posted in Cloud, Java. Tagged with , .

5 Steps to Get Spring MVC Web Application on Google App Engine

The article represents steps on what you need to do to get your first Spring MVC Hello World web application project on Google App Engine (GAE). As a pre-requisite, we recommend you to check our earlier article on How to get started with Google App Engine. The article would help you to quickly get your started with GAE based web development using Eclipse IDE. We shall work  with our existing Non Spring MVC project (check this page) and convert it into Spring MVC based web application. Step 1: Spring MVC Libraries Get Spring MVC libraries within folder (war/WEB-INF/lib). Also, do not forget to get following two runtime dependent libraries: commons-logging-1.1.3.jar …

Continue reading

Posted in Java. Tagged with .

How to Get Started with Google App Engine Java Project

hello world code samples

The article presents quick tips to get started with your next Java Web Application on Google App Engine (GAE). I was able to create my first web application on Cloud (GAE) named as “The Coders Shop”,  in couple of hours, however, with little hiccups which I have mentioned in this article. Pre-requisites Following are pre-requisites to get started quickly: Create a Google account. This would be used to create an App Engine Id that would represent your web application on the web. For an app engine id, xyz, the web URL of your application will be xyz.appspot.com. You could alternatively create App Engine Id right from within Eclipse shown below. …

Continue reading

Posted in Java. Tagged with .

Java Functional Interface Explained with Code Samples

The article aims to describe functional interface in Java 8 with the help of hello world code samples. What is Functional Interface? Simply speaking, a functional interface is the plain old Java interface with JUST ONE and ONLY ONE abstract method also termed as the functional method. However, that does not stop functional interface to not contain default and static methods. Following is an example of a functional interface: @FunctionalInterface public interface HelloInterface { // Abstract method void sayHello( String name ); // Static method static void sayThanks() { System.out.println( “Thank You!” ); } // Default method default void sayHelloWorld() { System.out.println( “Hello World!” ); } } Observations: In the …

Continue reading

Posted in Java. Tagged with .

What does Interface in Java 8 Look Like?

Before we go into looking at different aspects of interface in Java 8, lets look at some of the definitions found on some of the source-of-truth websites that seem to contradict the definition of Interface in Java by defining it with a generic definition despite the fact that interface got evolved (such as below 🙂 and has got a new definition in Java 8. Whether or not, the evolved interface in Java 8 is a good move, is beyond the scope of this article. However, please feel free to share your comments. Lets look at some of the following definitions of a Java interface I took from the web at the time of …

Continue reading

Posted in Java. Tagged with .

Learn Functional Programming Before Java Lambdas, Functional Interfaces

As Java 8 got out-of-door, I wanted to quickly get on board with understanding and writing Lambda expressions and functional interfaces. But it was not easy like previous Java versions. And, the primary reason is the different programming paradigm one needs to understand in order to make use of Java Lambdas and functional interfaces concepts. And, this programming paradigm is functional programming. In one of the pages on functional programming (FP) I came across, it spoke about the change in thinking/mindset one, especially OOP developer, needs to bring in order to do a great job with functional programming. This is primarily because in OOP world, objects are first class citizens …

Continue reading

Posted in Programming. Tagged with .

Java 8 Lambda Expressions Examples using Calculator Implementation

lambda expressions examples

The article demonstrates the Lambda expressions using Calculator (interface) code samples. It also makes use of Functional interfaces from java.util.function package to demonstrate Calculator implementation using BiFunction and BinaryOperator interfaces. Calculator Implementation Demonstrating Lambda Expressions The Calculator methods implementation would be explained using both, traditional approach and the approach making use of Lambda expressions. Traditional Approach Using traditional approach, many would have gone implementing Calculator add, substract, multiply and divide function based on following: Define a Calculator interface with four methods namely add, subtract, multiply and divide; Another approach could be to create a single method with an operation flag and provide conditional implementation based on flag. Create a CalculatorImpl …

Continue reading

Posted in Java. Tagged with .

Java Unit Testing Interview Questions

ATG interview questions

The article presents some of the frequently asked interview questions in relation with unit testing with Java code. Please suggest other questions tthat you came across and I shall include in the list below. What is unit testing? Which unit testing framework did you use? What are some of the common Java unit testing frameworks? Ans: Read the definition of Unit testing on Wikipedia page for unit testing. Simply speaking, unit testing is about testing a block of code in isolation. There are two popular unit testing framework in Java named as Junit, TestNG.   In SDLC, When is the right time to start writing unit tests? Ans: Test-along if …

Continue reading

Posted in Interview questions, Unit Testing. Tagged with , , .

Gradle War Configuration for Eclipse Spring Web Application Project

The article describes the configuration one would need to create WAR file for an Eclipse-base web application (Dynamic Web) project. Below code represents whats needed to compile your Java Eclipse-based web application project and create WAR file which can be deployed later, on any Java server such as Tomcat. Pay attention to some of the following facts: repositories: “repositories” is referred in a local directory rather than external repository such as MavenCentral etc. sourceSets: sourceSets define the path under which Java source code exists. It MUST BE NOTED that failing to define this would have Gradle look into Maven-based folder such as “src/main/java” for source code that would eventually result …

Continue reading

Posted in Java, Web. Tagged with , , .

Web Application Folder Structure for Spring MVC Web Projects

Dynamic Web Project Folder Structure

The article lists down two most commonly used folder structure for a Spring MVC/Hibernate based web application project. In fact, this folder structure could be used with any other MVC framework like Spring. Following are different two folder structures described later in this article: Eclipse-based Web Application (Dynamic Web Project) Maven-based Web Application Project Eclipse-based Web Application (Dynamic Web Project) As per this Eclipse page, Dynamic web projects contain dynamic Java EE resources such as servlets, JSP files, filters, and associated metadata, in addition to static resources such as images and HTML files. Following is how the folder structure looks like on the disk: src packages (com.orgid.abc) WebContent CSS/JS Folders (Publicly …

Continue reading

Posted in Web. Tagged with .

Gradle Quick Tutorial & Hello World Code Samples

The article aims to briefly describe key concepts of Gradle along with providing code samples for hello world. The intended audience are those inquisitive souls who want to quickly get up and running with Gradle tool. For detailed information, you may want to check out the book, Building & Testing with Gradle. Following is discussed in this article: What is Gradle? Coding Build Files with Groovy DSL Task Definition Closures HelloWorld Code Samples What is Gradle? As defined on http://www.gradle.org/, “Gradle is build automation evolved. Gradle can automate the building, testing, publishing, deployment and more of software packages or other types of projects such as generated static websites, generated documentation or …

Continue reading

Posted in Build Automation. Tagged with , .

Steps to Get Started with Spring MVC 4 & Hibernate 4

The article lists down steps one need to take in order to get up and running with Spring MVC 4 and Hibernate 4. The article will describe following three key aspects: General configurations to setup Java, Eclipse and Tomcat Server Spring MVC 4 configurations & code samples Hibernate 4 configurations & code samples Following are key components/artifacts that would be required to create the web application which makes use of Spring MVC 4 for managing MVC and Hibernate as an ORM framework: Libraries & Tools Configuration files Components Controller Views (JSP pages) Business logic classes Data access classes Key Libraries & Tools Following are key libraries and tools to download …

Continue reading

Posted in Java. Tagged with .

Top 15 Mobility Architect Interview Questions

The article lists down some of the questions I happen to discuss with candidates appearing for mobility architect/lead position. These are mostly architectural level questions and cut across most mobility platforms. Feel free to share questions you came across in your interviews. What are different types of mobile apps? Mention some of the platforms you worked with?Native vs Mobile Web vs Hybrid applications Native Apps, Web Apps, and Hybrid Apps Native, HTML5, or Hybrid: Understanding Your Mobile Application Development Options When develop for native apps and when mobile web? Mobile Website vs. Mobile App (Application): Which is Best for Your Organization? What are key differences in architecting/developing consumer apps and …

Continue reading

Posted in Mobility. Tagged with , .

How to Add Tomcat 8 to Eclipse Kepler

The article represents steps required to configure Tomcat 8 with Eclipse Kepler. Download Tomcat 8 and place it within any local folder. Download Eclipse Java EE Kepler As of date, Tomcat 8 is not supported in Eclipse JaveEE Kepler. However, you could add the Tomcat 8 by doing following: Go to the WTP downloads page, select the latest version (currently 3.6), and download the zip. Here’s the current link. Copy the all of the files in features and plugins directories of the downloaded WTP into the corresponding Eclipse directories in your Eclipse folder (overwriting the existing files). Start Eclipse and click on “Servers” tab in the workbench. Go ahead and …

Continue reading

Posted in Java. Tagged with .

How to Get Started with Bootstrap (UI) & Eclipse

The article represents steps required to get started with Bootstrap (UI) with Eclipse IDE while working with a dynamic web project involving JSP, Servlets etc. Even before we go ahead, you may be wondering on why should you care about adding bootstrap to Eclipse. Why BootStrap? The interesting thing about bootstrap is that it helps you to get started as quickly as possible with cool looking UIs that can be created out-of-box HTML/CSS code snippets. As a matter of fact of fact, I landed up with Bootstrap after I was searching for some rapid Java UI builder for Eclipse using which I could easily build fancy UIs while focusing on …

Continue reading

Posted in Web. Tagged with .

Test-Driven Development (TDD) Shines with Mocking

The article presents a perspective and some code samples on how one could some cool stuff with Test-driven development (TDD) and Mocking. The code samples are done in Java. Lets briefly understand what is TDD and mocking? What is TDD? Test-driven development, simply speaking, is a software development process in which developers write tests first and, then writing enough code to pass those tests. Once all of the tests pass, they do code refactoring to enhance code quality. Following are key advantages of adopting TDD as your development process: Enforces the developers to thoroughly think through various different test cases which could be used to test the functional/business requirements. It, …

Continue reading

Posted in Unit Testing. Tagged with , .