Java
>> 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.
Spring
>> 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.
Technical
>> 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.
>> 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.
Musings
>> 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.