Guice Modules for Play apps


As a former Java / Spring developer I liked the concept of configuration classes (i.e. Java classes annotated with the Spring @Configuration annotation). I recently started to work with Play 2.3.x and Guice and one smell that I immediately found was the duplication in creating RedisClient objects. Basically each Dao was reading the configuration and … Continue reading Guice Modules for Play apps

Given When Then – How To


Expressing tests in a Given When Then style is the core practice of the Behavior Driven Development (BDD) methodology. Details about BDD can be found here. Writing tests in a GWT style can become tricky when there is no clear understanding / definition of what the actual test and preconditions are. As explained in Martin … Continue reading Given When Then – How To

Git for impatients


Clone a project: git clone git@github.com:nemo83/webservices.git Commit a change git commit -am “comment” Push (to remote) a change git push Retrieve changes for the current branch (it’s actually more but you’re impatient!) git pull –rebase Create a branch git branch branch_name Switch to a branch git checkout branch_name Switch and Branch in one go git … Continue reading Git for impatients

Equals and hashcode how to for Hibernate and JPA in general


This morning I was manually writing a Hibernate bean and, when I got to question myself whether or not implementing equals and hashcode, I stumbled upon quite a few dilemmas: shall I create them at all? (well yeah coz you want to use them in collections and the comparison between two objects should rely upon … Continue reading Equals and hashcode how to for Hibernate and JPA in general

The Kanban recipe to success


Recently I’ve read the illuminating book “Kanban” of David J. Anderson. One of the chapter that impressed me the most is “A Recipe for Success”. I’ve been working for the past few years in Agile teams and individuating ways of improving our work and simplifying the development process, was not an easy and immediate exercise. … Continue reading The Kanban recipe to success

Gist a github feature for sharing language specific formatted code


Finally after months and months I’ve found a neat, clear, formatted and even version controlled way of sharing code snippets. Gist allows you to have language specific formatted code and embed it in any HMTL page or in a free blog like this one. Here below is an example! public class HelloWorld { public static void … Continue reading Gist a github feature for sharing language specific formatted code

REST Payload API Versioning


In the last few days my focus has been on NoSQL DB(s) and REST services. Points I’m more interested into are: Payload API versioning Platform independent Payload serialization and / or compression I found on stackoverflow a very interesting debate on the versioning aspect. Although exposing the API version in the URI gives great readability and control, I’m … Continue reading REST Payload API Versioning

Review process for Test-Driven Development Teams – TDR


In my enterprise we recently introduced Test-Driven Development (TDD) as a programming technique for delivering robust and reliable software. The lifecycle of tasks is the following: To Do In Progress For Review Verified Done The “To Do” and “In Progress” phases are self-explanatory. When a task goes in “For Review” the developer choose, with a … Continue reading Review process for Test-Driven Development Teams – TDR

Be Agile, don’t be frAgile


The last thing you want when you work in an agile environment, is to apply agile’s concepts wrongly or don’t apply them at all. Agile methodologies require the whole organization to act in an agile way where cooperation and continuous feedbacks are the keys of the success. Although it’s easier to give birth to an agile team at … Continue reading Be Agile, don’t be frAgile