Home » 2012 (page 21)

Yearly Archives: 2012

Let’s turn packages into a module system!

Many projects are divided into modules/subprojects using the build system (Maven, Gradle, SBT …); and writing modular code is generally a Good Thing. Dividing the code into build modules is mainly used for: isolating parts of code (decreasing coupling) api/impl split adding a third-party dependency only to a specific part of code grouping code with similar functionality statically checking that ...

Read More »

Bash’ing your git deployment

Chuck Norris deploys after every commit. Smart men deploy after every successful build on their Continuous Integration server. Educated men, deploy code directly from their distributed version control systems. I, being neither, had to write my deployment script in bash. We’re using git and while doing so I wanted us to: deploy from working copy, but… make sure that you ...

Read More »

My thoughts on Agile

The seeds that you plant at the beginning of an organization’s life influences how the organization grows over time. I think it’s safe to say that you have some macro goals: Predictability: you as managers want to predict what will happen and when it will happen Flexibility: you want to be nimble to satisfy customers and close sales Open Communications: ...

Read More »

Running HTTP/REST Integration Tests efficiently in Eclipse

Lately I had a chance to use the OSGi-JAX-RS-Connector library written by my dear fellow Holger Staudacher. The connector enables you to publish resources easily by registering @Path annotated types as OSGi services – which actually works quite nicely. While it is natural for me to write the service classes test driven using plain JUnit tests it is also very ...

Read More »

Best Must-Read Books for Software Engineers

Here are the CodeBuild selection of must-read software engineering books. Books are grouped according to their content with some description.   Reference Books These Robert C. Martin and Gang of Four books are very fundamental OOP resources for every software engineer.   Coding Perfection These Steve McConnell, Robert C. Martin and Joshua Bloch books are very helpful with increasing your ...

Read More »

Signing Java Code

In a previous post, we discussed how to secure mobile code. One of the measures mentioned was signing code. This post explores how that works for Java programs. Digital Signatures The basis for digital signatures is cryptography, specifically, public key cryptography. We use a set of cryptographic keys: a private and a public key. The private key is used to ...

Read More »

Back to Basics – good comments are targeted comments

I can’t think of a single person who enjoys writing comments in code. I don’t, my friends and colleagues don’t, and I’m pretty sure there isn’t a meetup group for fans of it. Outside of code that I write for blog posts, I can pretty much guarantee there are only place where I write comments is in interfaces. The simple ...

Read More »

Spring MVC Error Handling Example


This post describes the different techniques to perform error handling in Spring MVC 3. The code is available on GitHub in the Spring-MVC-Error-Handling directory. It is based on the Spring MVC With Annotations examples. Handling Exceptions Before Spring 3 Before Spring 3, exceptions were handled with HandlerExceptionResolvers. This interface defines a single method:       ModelAndView resolveException( HttpServletRequest request, HttpServletResponse response, Object ...

Read More »

Investigating Deadlocks – Part 5: Using Explicit Locking

In my last blog I looked at fixing my broken, deadlocking balance transfer sample code using both Java’s traditional synchronized keyword and lock ordering. There is, however, an alternative method known as explicit locking. The idea here of calling a locking mechanism explicit rather than implicit is that the explicit means that it is not part of the Java language and that classes have ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns