Author: dharam

Learning Java the Right Way

Introduction It's been long that I read the Java® Language Specification Java SE 6 Edition but never thought of writing any post on that. Recently I started reading the Java® Language Specification Java SE 7 Edition and here I present my learning. This series is an effort for learning java the right way. directly from the source. It is the best practice, to learn a language from its specification. But most of the time when someone starts with the JLS, they get repelled by the first three chapters of the JLS, which is mostly about the Grammar and Lexical Structure of the Language. It mostly...
Read More

Integrating Database Layer – Shop Smart

Introduction In the previous post Spring Application Setup – Shop Smart we learnt how to setup Spring and JUnit for development environment using Eclipse. Let us now add a data access layer (commonly known as DAO layer) to our application, so that we can easily communicate with the database (HSQL or MySQL or any other database supported by Hibernate). Hibernate - A brief Discussion Hibernate is a huge topic and deserves its own series of posts. Here I would just like to point out few basic stuff about this framework. It all starts with the need of persisting an object. Imagine t...
Read More

Spring Application Setup – Shop Smart

Project Setup Following the previous article, one thing is very clear that our application will deal with users. The users can then be categorized into customers, sellers, operations, administrators and other. But at the core, all of them are users and they will need credentials to access the system. Also, we talked about various modes of authentication, but let us assume that the basic mode of authentication is database or file. So, let us define the user tables as shown below: SS_USER - The User Table We will keep it simple for now with the following columns: [crayon-5a137945c7e65739...
Read More

First Step for Application Development – Shop Smart

Shop Smart - Basic Layout If you are here, then I am sure that you know about the Shop Smart web application, if not then please visit Shop Smart web application. The first step for application development is to finalize the first phase of requirements. A minimal requirement so that at least we can start with something. We will start with the subset of the requirements mentioned here. To give you a feel of the basic layout, here is the wire frame. Few Components of the web application We need to understand the various components in the application, let us mention just three of them fo...
Read More

Shop Smart

Introduction After a lot of queries from friends and followers I am planning to start a tutorial where we will learn to build today's e-commerce web application from scratch. I do not expect any one to know anything other than the basics of Java programming language. It is alright if you do not know any UI programming (CSS, Javascript, JQuery etc). We will learn everything slowly and steadily. By the end of this tutorial the readers will completely understand various aspects of enterprise applications and will be able to build any sort of enterprise application with confidence and witho...
Read More

Combination of Numbers

Introduction I already have one post on this blog which explains the permutations code, now its time for the combinations. The idea behind Combination of Numbers Combination by definition is a concept of discrete mathematics which essentially relates to the act of selecting a list of items from a collection. For e.g. If I have to pick up 3 fruits from a basket of 10 fruits then what all ways are there to pick them up? Combinations is the answer to this question. Let us say that I picked an Apple, a Banana and a Strawberry from the basket, then it really won't matter in what order I pi...
Read More

Interleaving Strings

Problem Statement This is a question from one of the interview experiences. The statement, "Given three strings A, B and C find if C is an interleaving of A and B." Interleaving is defined as below: A string C is said to be an interleaving of two strings A and B if C contains a sub sequence of A and B such that the relative order of characters in A and in B are preserved in C. For e.g. : A - ABCD B - BACDX C - ABACDXBCD The Idea - Interleaving Strings Here I am not giving any solution which is less than O(M*N) solution where M is the length of the shortest string among A and B...
Read More