Overview The java.util.Optional class is a great addition in Java 8 as it enables a more expressive way of conveying the concept of a library API return value that may not be there. While it is not meant to replace the use of null values in code (and you will get warnings not to use … More A better mousetrap (or, how to improve on Java 8 Optional)
The code presented here makes judicious use of Optionals, Functionals and the new Streaming interfaces.
It’s all very awesome, and makes me wonder: Java, what took you so long? … More Using Java 8 Optional and Functional interfaces to reduce boilerplate
Smelly Code I have recently been involved in a distributed SaaS application that was originally built by an offshore team; the chosen technologies (REST, Java, MongoDB) were actually valid technical choices for the problem at hand: they then proceeded to get it spectacularly wrong with a bloated (and unmanageable) data schema and an even worse … More Do Not Allow Bad Smells In Your Code
When testing a project that uses Spring Data repositories, we may want to insert ‘known-good’ data into arbitrary MongoDB collections, reading it, for example, from JSON iles (typically somewhere in the test/resources subtree). However, some of the data stored in Mongo is in BSON format, which extends the plain JSON format with some Object types … More Data-driven tests for Spring Data (MongoDB)
As anyone who has worked with me is well aware, I’m a great believer in code reviews – there is much to be said about a number of positive impacts on the project (and the developers’ professional growth too). This is a great article that sums up very well the benefits, as well as a … More Code Reviews
Note – the first post (Notes about the AWS JDK) can be found here The following are the (minimally edited) notes I’ve taken while attending the session at AWS re:Invent conference in Las Vegas, NV on 27-30 November, 2012. Keynote speech by Andy Jassy (Sr. Vice President, Amazon Web Services) It is clear we are still at … More AWS re:Invent – my notes (post 2 of 3)
From Werner Vogels (Amazon.com CTO) keynote speech at re:Invent: ControllableArchitect with cost in mind ResilientDon’t treat failure as an exception AdaptiveMake no assumptions Data DrivenPut everything in logs