Lots of interesting writeups on Java 9 this week.
Here we go…
1. Spring and Java
>> Immutable Collections in Java 9 [javaspecialists.eu]
Java 9 will feature a new way of defining truly immutable collections – this is a quick intro to creating them and doing some basic operations.
>> How to shoot yourself in the foot building a Java Agent [plumbr.eu]
Building a reliable, production-ready Java agent is tricky – here are a few things to definitely be aware of.
>> The best way to use entity inheritance with JPA and Hibernate [vladmihalcea.com]
Entity inheritance is a complex topic, so it’s important to pick the right strategy from the start when it comes to the structure of your DB.
Also worth reading:
>> Using Java Bean Validation for Method Parameters and Return Values [sitepoint.com]
>> jhsdb: A New Tool for JDK 9 [marxsoftware.blogspot.com]
>> Testing Exceptions With JUnit 5 [blog.codeleak.pl]
Webinars and presentations:
>> Why We Chose Erlang over Java, Scala, Go, C [infoq.com]
>> Kiki Carter, Enterprise Architect at Lightbend, Speaks to InfoQ at ETE [infoq.com]
Time to upgrade:
>> Triple Hibernate Search release [in.relation.to]
>> Spring Web Flow 2.4.5 released [spring.io]
>> Dependency Management Plugin 1.0.3.RELEASE [spring.io]
2. Technical
>> The HDFS Juggernaut [shodan.io]
Ransomware attacks on public instances still seem to affect MongoDB instances and HDFS deployments.
>> What’s Your Decomposition Strategy? [builttoadapt.io]
When you decide to adopt a Microservices Architecture or simply decide to your system into smaller pieces – it’s good to have a clear strategy of exactly how you’re going to go about this task of decomposition.
Also worth reading:
>> Microservices Patterns With Envoy Proxy, Part III: Distributed Tracing [blog.christianposta.com]
>> IntelliJ IDEA 2017.2 EAP: Better Code Completion and VCS Support [jetbrains.com]
>> How to Find Redundant Indexes in SQL [jooq.org]
3. Musings
>> “Architect” Should Be a Role, Not a Position [techblog.bozho.net]
It’s reasonable to apply Agile principles and think in terms of roles and not permanent positions – various experiences will lead to better decisions.
>> It depends [frankel.ch]
Instead of going with the traditional “it depends”, it makes a lot of sense to ask good questions and squeeze as much information as possible and get the whole context – before giving a meaningful answer.
>> How to Freelance: The Low-Risk Path from Software Developer [daedtech.com]
If you start introducing side-kick projects gradually, you will, earlier than expected, end up in a situation when the day job is the one that’s holding you back.
>> Hacker, Hack Thyself [codinghorror.com]
Trying to hack your own system can be an endless source of security improvements.
>> Lessons learned while training [ontestautomation.com]
Training work has its own set of challenges – very interesting to have a look if you’re in that space or thinking about it.
>> Characteristics of Good APIs [daedtech.com]
Carefully crafted, self-discoverable and intuitive APIs are always a pleasure to work with.
And, in my experience, that can make the difference between a successful product and a product problem.
Also worth reading:
>> No politics please, we’re hackers, too busy to improve the world [jacquesmattheij.com]
>> The vicious circle of bad test code and how to break it [codecentric.de]
>> Diversity in Technology and Open Source [lucumr.pocoo.org]
4. Comics
And my favorite Dilberts of the week: