At the very beginning of 2014 I decided to start to track my reading habits and share the best stuff here, on Baeldung.
Curating my reading has made it more purposeful and diverse – and I’m hopefully providing value to you as well by allowing the best content of the week to raise to the top.
Now – this week is a bit out of the ordinary just because of the sheer number of good articles that came out in the last few days. Not sure what it is – maybe it’s the after-vacation burst of creativity or maybe it’s just the end of summer but the up-tick in volume is quite something.
Here we go…
1. Java
>> A beginner’s guide to database locking and the lost update phenomena
Let’s start the review with a strong and well researched article on database locking and “Lost Update” – lots to take in.
I’ve personally followed this series and learned a lot – and we’ve been tracking the entire progress here, in the weekly reviews as well. While they’re all good, this one is one of the best of the entire series.
>> Why You Should NOT Implement Layered Architectures
This piece will be controversial (it probably already has been by now). Personally – having seen a lot of systems architected with a lot of unnecessary complexity (why don’t we put a message queue in there?) – I can certainly get behind the idea of the article.
That being said – it’s not a black and white type of thing – and you can lean to far towards over-simplification as wel. To use an example from the article – you probably don’t need a dozen types of insurance, but it’s still a good idea to insure your house and your health.
>> This is the Final Discussion!
A good discussion on final (the keyword). If only final was the default – oh how the woes of man would have been lessened. Joking aside – if you aren’t already giving final a lot of though when coding, go read this one.
>> lambdas and side effects
A handful of interesting corner cases with lambdas.
Finally – all videos of the JavaZone conference are out – and there’s some great one in there:
>> JavaZone 2014 – 90 presentations, 60 lightning talks
2. Spring
>> Preview Spring Security WebSocket Support & Sessions
I wasn’t aware of the Spring Session effort until I read this post – it’s a broad effort to basically replace the container managed sessions entirely with a new session implementation. That’s some goal – and it looks like it has some very interesting practical advantages, at least for one class of problems.
>> Using @ConfigurationProperties in Spring Boot
Very cool alternative to the standard way of doing properties in Spring – I can definitely see how this Spring Boot option might come in handy.
>> Testing mail code in Spring Boot application
A Spring Boot exploration, specifically how to set up your email logic and test it with some interesting looking mail tools that look to facilitate isolated unit testing quite a bit – nice one.
>> Customizing HttpMessageConverters with Spring Boot and Spring MVC
Yet another way that Spring Boot makes things easier – configuring the Http Message Converters in the system. I’ve been wanting to do this in Spring for a long time – it’s great that it’s now actually possible.
>> Juergen Hoeller Gets Personal on Spring 4, Java 8, Spring XD, and all things Spring
An good interview with Juergen Hoeller (co-founder of Spring) going through a lot of engaging questions, some that you might not expect. An interesting explanation of conditional configuration to look forward to if you decide to watch the interview.
>> Webinar Replay: Building “Bootiful” Microservices with Spring Boot
Finally a webminar on microservices that I’m going to watch over the weekend. If you’ve been following my weekly reviews, you already know that microservices aren’t easy to pull off – there are a lot of potential pitfalls when the system is no longer trivial.
3. Technical and Musings
>> Load-Testing Guidelines
Fantastic article on load testing practices and considerations. Even if you’ve been doing this for a while – it’s a good idea to read this one.
>> “I Like Mocks, but I Distrust Spies”
A deep dive into how spies are used by novice developers and how these practices change and should change with the experience level of the developer. Some useful insights I’m planning to work into my own practice from this article.
>> Rapid Fire Craftsmanship Tips
Captain Obvious here – improving your craft is an ongoing thing – there’s no “Arrival”. Here’s a good set of tips on how to do that.
>> One-Phase-Commit – Fast Transactions For In-Memory Caches
Going for a “Two Phase Commit” to a light “One Phase Commit” operation – which of course comes with a good speed advantage – another interesting read if you’re doing work with in-memory caches.
I’m personally not doing that right now, but I have in the past and they’re super helpful if set up correctly, and entirely annoying if they’re not.
4. Comics
Can one grow tired of XKCD goodness:
>> Campfire
>> Traveling Salesman Problem
>> Password Reuse
I say “Nay“.
5. Pick of the Week
This week I though we’d try something new – am introducing a new “Pick of the Week” section in my “Weekly Review”. The interesting part is that I’m going to make this exclusive to my email list subscribers.
So – if you came to this article from my email list, you have the pick already – hope you enjoyed it 🙂
If not – you can of course subscribe to the list to get the next one.
Cheers.