The new Certification Class of REST With Spring is out:

>> CHECK OUT THE COURSE

Lots of interesting writeups on Java 9 this week.

Here we go…

1. Spring and Java

>> A Nice API Design Gem: Strategy Pattern With Lambdas [jooq.org]

The introduction of lambda expressions and functional interfaces allows us to rethink the design and simplify the Strategy Design Pattern (and many other).

>> Spring Boot and Security Events with Actuator [codeleak.pl]

Spring Boot Actuator comes with user-friendly support for handling audit and security events.

Simply put, all we need to do is to define a listener for the predefined events.

>> Project Amber will revolutionize Java [sitepoint.com]

A lot of new changes are finally coming to Java. These include Local Variable Type Inference, Generic Enums, Data Classes and Pattern Matching.

“We’ve had those in other languages ten years ago” posts are coming.

>> Fully configurable mappings for Spring MVC [frankel.ch]

With a little bit of effort, we can bring the features of Boot Actuators to non-Boot applications as well.

>> Spring Data Improvements in IntelliJ IDEA 2017.1 [jetbrains.com]

IntelliJ IDEA is getting, even more, Spring-oriented features.

>> The Open-Closed Principle is Often Not What You Think it Is [jooq.org]

The pragmatic approach to the Open-Closed Principle does not involve aiming for openness at any costs.

>> JDK 9 Rampdown Phase 2: Process proposal [mail.openjdk.java.net]

The 2nd phase of JDK 9 rampdown just started.

>> Better tools for adjusting to strong encapsulation [mail.openjdk.java.net]

The internal APIs in the JDK should not have been used but they were by multiple frameworks which are experiencing errors now.

JDK 9 will feature a special workaround for these situations.

Also worth reading:

Webinars and presentations:

Time to upgrade:

2. Technical

>> The State of Browser Caching, Revisited [mnot.net]

An interesting write-up on the basics of browser caching.

>> Acing the technical interview [aphyr.com]

That’s how you make interviewers hate you 🙂

>> Taking a Pragmatic View of Isolated Tests [thecodewhisperer.com]

Writing isolated tests can greatly influence the design of your system by exposing excessive coupling and insufficient cohesion.

>> “Infinity” is a Bad Default Timeout [techblog.bozho.net]

Yeah, setting your timeouts to infinity or ignoring them is very likely not a good idea.

>> Don’t forget about value objects! [plainoldobjects.com]

Value Objects are a great way of dealing with the String type abuse. Working in a strongly typed language, it makes a lot of sense to leverage these.

Also worth reading:

3. Musings

>> The product Is – Is not – Does – Does not [martinfowler.com]

Sometimes it’s easier to explore and explain an idea by first clarifying what it’s not 🙂

>> Does software performance still matter? [lemire.me]

Software performance is critical and should not be neglected, but at the end of the day, it is the absolute value of the code that counts.

>> Don’t Just Flag It — Fix It! [daedtech.com]

Information about problems, without an actual solution – it is not a good way to go.

Also worth reading:

4. Comics

And my favorite Dilberts of the week:

>> How’d you get the black eye [dilbert.com]

>> My mom raised me by putting a thermos of coffee in my crib [dilbert.com]

>> An aggressive recruiter looking for passive job seekers [dilbert.com]

5. Pick of the Week

>> Open Source (Almost) Everything [tom.preston-werner.com]

Go deeper into building a REST API with Spring:

>> CHECK OUT THE COURSE