Building modern web applications using Java and Spring

springavatar53586_0Creating Java web applications using Spring Framework has never been easier. If you’re already familiar with Java and have little to no experience creating web applications, or if you’re worried that all the cool kids abandoned Java in favor of Ruby and Node.js, you want to read this.

My intention is to provide here a practical guide to get up and running quickly on creating modern web applications using Java and Spring.

We’ll be using the latest versions of Java, Spring Framework (4.x), Spring Boot (v1.2.x), Spring Security, Spring Data JPA, Thymeleaf and Maven 3 frameworks.

Continue reading

    Posted in java, productivity, spring | Tagged , , , , | 2 Comments

    Processing Twitter feed using Spring Boot

    Spring Boot SampleIn one of my previous posts I already discussed how to process the Twitter sample feed using Apache Storm, and now we’re going to walk through the steps of creating a sample Spring Boot application that reads messages from Twitter sample feed using the Spring Social Twitter framework and writes data to Neo4J using Spring Data Neo4J.

    The whole project is available on Github at, but we’ll be discussing here each step one-by-one.

    Continue reading

      Posted in java | Tagged , , , , , | 10 Comments

      The 10x Developer Blueprint

      10X Developer

      There’s been a lot of discussions on 10x developers, whether they exist or not (for example, here and here). I believe they do exist and by following a blueprint eventually we can all become one. Based on my 10+ years experience as a software developer I put together a list of actionable guidelines that can help anyone get closer to 10x.    Continue reading

        Posted in productivity | Tagged , | Leave a comment

        How to automatically generate release notes from JIRA

        jiraBeing a lazy developer, I was recently searching for a way to automatically generate release notes instead of manually compiling the list. Fortunately, the maven changes plugin comes to the rescue. It can not only generate the release notes from JIRA tasks, but also email it to a list of email addresses. Continue reading

          Posted in java | Tagged , , | Leave a comment

          7 ways to improve performance of a Hibernate application

          Application response timeHibernate is a great tool for integrating Java web applications with a SQL database, but what should we do when the application’s response times start increasing considerably? What should we do when we’re getting doubts whether the application will scale with the growth of our customer base?

          Before spending a fortune on hosting or rewriting the code, consider analysing and improving these 7 areas of your web application. Continue reading

            Posted in performance tuning | 2 Comments

            Analyzing and optimizing SQL queries in PostgreSQL

            PostgreSQLIn this post I’m going to share my experiences with tuning slow SQL queries in Java web applications. Following these 5 super-easy steps you’ll have a clear understanding on the performance bottlenecks in sql database and the indexes you’ll need to add to improve performance of your queries.

            Continue reading

              Posted in performance tuning | Tagged , , , , , , | 2 Comments

              Switching between environments in Grails

              Grails framework One of the cool things I love about Grails is its out-of-the box support for different environments (dev, test, prod, etc.). I can have separate configuration for them – making life easy when doing deployment – or enable/disable certain features of the application depending on which environment the application is running on. Continue reading

                Posted in grails | Tagged , , , , , | Leave a comment

                How to get started with Storm framework in 5 minutes

                The Storm framework is an open-source distributed and fault-tolerant real-time processing system used by many companies including Groupon, Twitter, Alibaba, Klout, etc. It’s the Hadoop of real-time processing and it can be used for real-time analytics, online machine learning and parsing social media stream, just to name a few. This post will help you getting started with Storm via a sample Java project that you can run on any desktop environment.

                Continue reading

                  Posted in Uncategorized | Tagged , , , , , , , , , , , , , , , , | 17 Comments

                  Feedback needed for our startup

                  Me and a friend of mine recently started working on a startup.
                  Do you wear glasses? If yes, can you spare 2 minutes for this survey? We need your valuable feedback.


                  Continue reading

                    Posted in startup | Tagged , , , | Leave a comment

                    Top 8 Linux commands to boost your productivity

                    Tux, the Linux penguin

                    (Photo credit: Wikipedia)

                    Most of the applications that I’ve worked on as a Software Developer were running in a Linux environment. Using the right tools can boost our productivity and save us a considerable amount of time.

                    Here’s a list of command line tools that I find most convenient when working Linux. Continue reading

                      Posted in linux | Tagged , , , , , , , , , , , , , | Leave a comment