Here we go…
1. Spring and Java
As this series continues, we see a simple Spring Integration messaging application in Google Cloud and a quick look at this handy API for managing runtime configuration properties on the Google Cloud Platform.
>> Default methods in Java 8, and what it changes in API design [blog.frankel.ch]
A nice write-up touts some advantages that default methods in Java interfaces have over helper classes.
>> The best way to clone or duplicate an entity with JPA and Hibernate [vladmihalcea.com]
A great approach to this common requirement of JPA applications using copy constructors. Good stuff.
If you're an IntelliJ devotee, you'll want to check out these cool new features.
>> Hibernate Tips: Validate that only 1 of 2 associations is not null [thoughts-on-java.org]
A clever way to implement a custom Bean Validation annotation using the Hibernate Validator library.
Also worth reading:
>> JDK Language Feature Preview in Action: Switch Expressions [marxsoftware.blogspot.com]
>> Time to look beyond Oracle's JDK [blog.joda.org]
>> Spock 1.2 – hassle-free Spring beans mocking in integration tests [solidsoft.wordpress.com]
>> The State of Java Serialization [infoq.com]
>> Implementing a Sliding Window Stream/Spliterator in Java [4comprehension.com]
Webinars and presentations:
- >> Observability with Spring-based distributed systems by Tommy Ludwig @ Spring I/O 2018 [youtube.com]
- >> Building and running Spring Cloud-based microservices on AWS ECS by Joris Kuipers @ Spring I/O 2018 [youtube.com]
Time to upgrade:
>> Hibernate ORM 5.1.16.Final released [in.relation.to]
>> Widespread Architectural Change Part 1 [blog.code-cop.org]
These handy macros, scripts, and IDE commands highlight some of the many ways of applying small, across-the-board changes to a large codebase.
>> Is Test Driven Development Right for You? [blog.scottlogic.com]
If you've been holding out against adopting TDD, this article aims to convince you to rethink your position.
A great write-up on this pattern for building fully-populated test objects that you can then customize for the needs of each test. A handy tool to have in your test-writing arsenal.
>> TomEE: WebSocket and Lock it! [tomitribe.com]
A nice introduction to creating secure WebSocket endpoints using HTTP Basic Auth.
>> Engineering to Improve Marketing Effectiveness (Part 2) — Scaling Ad Creation and Management [medium.com]
An interesting piece showcases how Netflix combines ad assembly with functional quality control and machine learning to create and deliver personalized and localized ads to its huge user base.
Also worth reading:
>> Pragmatic Programming Techniques [horicky.blogspot.com]
>> OpenShift project backups [blog.codecentric.de]
>> TomEE: Fat-Jar Deployments [tomitribe.com]
>> The Tragedy of Craftsmanship [blog.cleancoder.com]
Uncle Bob ponders how and why the Agile movement drifted from its original focus on promoting the ideals of software craftsmanship and more toward project management.
>> Why You Should Enforce 100% Code Coverage* [reflectoring.io]
A thoughtful article reminding us that while 100% coverage doesn't guarantee an error-free codebase, it still may be worth shooting for, given the proper tooling.
>> Should Scrum Masters Make More than Software Developers? [daedtech.com]
And an insightful review of the role that Scrum Masters play, and what the need for them says about an organization.
Also worth reading:
>> Monte Python Simulation: Misunderstanding Monte Carlo [dannorth.net]
>> Finding your groove as they are (NOT) finding their shoes [blog.scottlogic.com]
>> Work Harder [blog.code-cop.org]
And my favorite Dilberts of the week:
>> Radical Candor [dilbert.com]
>> Wally Working in the Cloud [dilbert.com]
>> Managing by Exception [dilbert.com]
5. Pick of the Week
Last week I announced the new Spring Boot-focused material coming in REST With Spring course, along with the price change.
That price change is happening today: