Course – LS – All

Get started with Spring and Spring Boot, through the Learn Spring course:


1. Java and Spring

>> Java 8 Friday: API Designers, be Careful

API design has always been one of the more difficult and forward thinking design exercises – that’s why the elegant Java Collections API is nothing short of spectacular. Java 8 has changed API design for good – and it looks like jOOQ making full use of the new functionality in the JLS. Nice work and a useful read, even if you haven’t yet jumped on the Java 8 bandwagon.

>> Java 8 Friday: Better Exceptions

I caught this one JIT and postponed the publishing of the review a bit to read through it. It details a hypothetical Java 8 enabled JUnit API for checking exceptions – would be a nice addition to the library.

>> Spice up your test code with custom assertions

Custom assertions are the next logical step forward – albeit a compromise between readability and to much code to maintain, and definitely worth taking a look at.

>> Writing Clean Tests – Beware of Magic

“Clean code is easy to read” – I’m sure you’d agree. However, even though this is an oh so simple statement, it has far reaching implications. This article takes a good look at magic numbers, constants and good test design – a good addition to the series.

>> Integration Tests for External Services

Integration testing has an extremely high impact on developer sleep – that is – it lets you sleep at night. So you could make the case that this article will help you sleep better – jump on over and read the thing – it’s quick and useful.

>> Step filtering: Skip certain packages while debugging in Eclipse

Very short post about filtering out packages when debugging in Eclipse. If you have ever stepped through a deep call stack with 10 proxies patting each other on the back – then this is a useful hack to cut out the noise.

>> SpringOne2GX 2013 Replay: Virtualizing and Tuning Large Scale Java Platforms

Haven’t had the time to look at this one (it’s on my view list for this weekend) but it looked quite interesting.

Let’s end the section with a slew of Spring releases that have seen the light of day this week:

I don’t think the Spring team likes to sleep.

2. Technical

>> The simple scalability equation

Good reminder of basic queuing theory, with an eye how it applies to a connection pool. Read it with pen and paper (yeah, paper).

>> mapping the api landscape

An interesting analogy between the self driving car and your REST API – both need metadata and lots of it.

3. Musings

>> How TDD Affects My Designs

A look into how TDD actually affects design, and how, ultimately – TDD is just a tool that you leverage, and you shouldn’t let it replace your good judgement.

For me, this article is so much useful than the usual high level spiel about TDD driving design. Does it? Sure – but that’s far to abstract to use when you start coding. Looking at exactly how TDD may affect your designs and the nuanced decisions and considerations you have to make while shaping your code – now that’s useful.

Also – very nice to see that I’m not crazy for using events and that TDD may indeed lead to an emphasis on events in your design, like it does for me.

>> Algorithmic Music Influenced by Tweets

Fun experiment in machine learning and sound – this is a cool app that actually makes musing out of your own twitter stream. For me – the sentiment analysis part is especially interesting.

>> How to Use a Code Review to Execute Someone’s Soul

I’ve been in my fair share of grueling code reviews – so it’s not that hard to identify with the story here. It is worth pointing out that, while it may read negative, it’s just a good chance to grow up a bit and make the next code review count.

>> Is TDD Dead?

The main page for all the TDD Hangouts that have been making the rounds lately. Video and audio recordings and a link to the next scheduled one.

Course – LS – All

Get started with Spring and Spring Boot, through the Learn Spring course:

res – REST with Spring (eBook) (everywhere)
Comments are open for 30 days after publishing a post. For any issues past this date, use the Contact form on the site.