I just released the Master Class of "Learn Spring Security":



>> Why There Is Interface Pollution in Java 8

Great illustration of the different design decisions and trade-offs made in Java 8. The language carries a lot of historical weight, and working around that to craft a coherent lambda solution is nothing short of impressive.

>> Java 8 Friday: No More Need for ORMs

This joins the old discussion (do I need an ORM?) with new and promising tools – have a look at the code samples and be surprised that this is indeed Java code. Very cool.

>> Yet another way to handle exceptions in JUnit: catch-exception

A solid way of handling exceptions in JUnit tests – the BDD catch-exception library. I’m giving it a try now – as it indeed looks very cool.

>> Garbage Collection Optimization for High-Throughput and Low-Latency Java Applications

Good brush up on tuning Java Garbage Collection for a real-world production environment. Goes over most GC concepts, but does so in a pragmatic, optimization-focused manner, which is a nice change from the standard GC articles out there.

>> Maven Git Flow Plugin for Better Releases

Interesting take on the established Maven Release Plugin, making all the goodies of git flow first class citizen.

>> Java 8 language changes

>> JVM concurrency: Java 8 concurrency basics

IBM Developerworks has two new articles on Java 8 – language changes and concurrency.

>> Apache Tomcat 8 Preview

And finally, a nice webinar introducing the upcoming Tomcat 8 server. If you’re working with Tomcat, this is a good resource to keep up to date with what’s coming down the pipe.


>> Project Sagan: zero-downtime deployments

Project Sagan – the new reference Spring app – looks more and more interesting, especially considering that it’s powering spring.io. This article illustrate how the code is deployed – very nice series that I’ll be following closely.

>> Tracking Exceptions – Part 4 – Spring’s Mail Sender

If you’ve read any of my last few weekly reviews, you will have seen earlier articles in this series. This kind of application – making sense of log file data – is something that, one way or another, any decent sized project should solve.

>> CSRF protection in Spring MVC, Thymeleaf, Spring Security application

Short and to the point illustration of how a CSRF attack works and how to protect against it with Spring Security (3.2+). Very nice.


>> TDD Chess Game Part 3: Stumbling and Refactoring

I have talked about this series before – but, perhaps not surprisingly – it is again the read (or watch) of the week. Why do I keep picking it? Simple – it’s one of the few things that has a good shot of getting you over the initial resistance of doing TDD. That took a few years for me, so I know it’s not easy – but the results are huge.

So – straight to the point – if you’re going to only read one article this week, go read this one (actually, reading the first two parts would be better).

>> MongoDB 2.6 is $out

Vlad has a useful overview of the new functionality that came out in MongoDB 2.6.

>> Sync your Timeouts: When Load Balancers Cause Database Deadlocks

This is how you should analyze a production problem – End to End. Well worth a read.

>> Web APIs and n+1 problem

The infamous n+1 problem exists in Web APIs as well. This article has a lot of information to digest – so take your time with it.

>> Security: Heartbleed vulnerability

Yes, Heartbleed was disclosed this week, and yes, there are a host of articles covering it, but I’m assuming you already read some of them, so I’m including a single one out of many – the github report.


>> The Cost of Context Switching

I think that we all overestimate our ability to context switch – and the sooner we accept that switches are developer kryptonite – the sooner we can do something about it. This article is a great reminder of that fact.

>> Usability Testing for Detailed Design Using Mechanical Turk

Using crowd-sourcing and the Amazon Mechanical Turk to test your app is so very cool – have a read to see how the team at Prismatic went about doing this.

I just released the Master Class of "Learn Spring Security" Course: