1. Spring and Java
>> Feeding Spring Boot metrics to Elasticsearch [frankel.ch]
After low level system data, the next family of metrics you want to start tracking and monitoring are JVM level metrics. Here's a good way to go it with the ELK stack.
>> Reflection vs Encapsulation – Stand Off in the Java Module System [sitepoint.com]
A quick and practical intro to the various mechanism that are going to power the module system in Java 9.
>> Creating Maps With Named Lambdas [minborgsjavapot.com]
Interesting way to create a Map.
>> Spring Boot and Thymeleaf: Reload templates and static resources without restarting the application [codeleak.pl]
Years back, we always had to restart the server/redeploy the app for minor changes. Of course that's no longer the case now – which has a significant impact on our speed of rolling work out.
If you're working with Thymeleaf in a Boot app – here are a couple of ways to do exactly that – changes with no restarts.
>> Hibernate Envers – Getting started [thoughts-on-java.org]
There are a few different ways to slice implementing audit logic with Hibernate – and Envers is definitely an interesting solution to the problem.
>> Making Spring Boot application run serverless with AWS [pragmaticintegrator.wordpress.com]
Very interesting writeup showing how to transition a Boot application to run servlerless on AWS. I definitely need to give that a try to get a better understanding of what it can do.
Also worth reading:
>> Three new JEPs [royvanrijn.com]
>> Hibernate Tips: How to select a POJO with a Criteria Query [thoughts-on-java.org]
>> How to customize an entity association JOIN ON clause with Hibernate @JoinFormula [vladmihalcea.com]
>> Automating Integration Testing of Spring Boot Applications on Travis CI and Sauce Labs [vorba.ch]
>> TomEE 7.0.2 Full–Docker Smoke Test [adambien.blog]
>> IntelliJ IDEA Inspection Settings for Refactoring to Java 8 [jetbrains.com]
>> Prevent SQL Injection with SQL Builders Like jOOQ [jooq.org]
>> Book Review: Learn Apache JMeter by Example [infoq.com]
>> Slicing The Monolith–With Java EE And Docker [adambien.blog]
>> The state of portable authentication in Java EE, end 2016 update [arjan-tijms.omnifaces.org]
Webinars and presentations:
>> JDK 8: Lessons Learnt with Lambdas and Streams [infoq.com]
>> Project Jigsaw in JDK 9: Modularity Comes to Java [infoq.com]
>> Hacking together a CircularArrayList (Video Tutorials) [javaspecialists.eu]
>> Netflix's Edge Gateway Using Zuul [spring.io]
>> Building Modern Web Applications with Angular2 [spring.io]
>> Progress in Electronic Governance [talk] [techblog.bozho.net]
>> Designing, Implementing and Using Reactive APIs [infoq.com]
>> Webinar Replay: Bootiful CQRS with Axon – Nov 16 [spring.io]
>> Testing Spring Boot Applications [spring.io]
>> Going Reactive: Building Better Microservices [spring.io]
>> Testing with Spring Framework 4.3, JUnit 5, and Beyond [spring.io]
>> Spring Tips: Bootiful Dashboards [spring.io]
Time to upgrade:
>> Spring Statemachine 1.2.0.RC1 Released [spring.io]
>> RxJava 2.0 Released with Support for Reactive Streams Specification [infoq.com]
>> Spring Integration 5.0 Milestone 1 Available [spring.io]
>> IntelliJ IDEA 2016.3.1 RC Updates JUnit 5 Support to M3 [jetbrains.com]
>> Mockito 2.2.29 [github.com]
2. Technical
>> Time in distributed systems [plumbr.eu]
As I started to split my own implementations and very carefully joined the microservices bandwagon (or train) – I very quickly found that I need to relax my definition of time for each service.
That is if I wanted to be able to trace a single request through the system and still make sense of it.
This is a quick writeup all about that.
>> Data Science up and down the Ladder of Abstraction [infoq.com]
A long piece worth reading if you're passionate about data science, Clojure – or both.
>> Sharing Experiences from a Microservices Journey [infoq.com]
I've been doing a lot of CQRS, Event Sourcing and microservices in the past couple of years, so naturally this article was quite an interesting read – well worthy if you're doing any of these.
>> How Chrome's buggy content security policy implementation cost me money [troyhunt.com]
Beyond the “money” thing, there's a lot to glean from this piece about Content Security Policies and the way browsers chose to implement CSPs.
Worth understanding if you're building stuff for the web.
Also worth reading:
>> AWS X-Ray – See Inside of Your Distributed Application [aws.amazon.com]
>> Spock – Formatting complex input parameters in parameterized tests [solidsoft.com]
>> Kubernetes Monitoring with Heapster, InfluxDB and Grafana [couchbase.com]
3. Musings
>> One year as a Developer Advocate [vladmihalcea.com]
Hibernate should have obviously done this a long time ago 🙂
>> Reactive Streams and the Weird Case of Back Pressure [takipi.com]
If you're working with and ingesting a large volume of data, back-pressured async stream processing is a godsend.
This is a good intro to how the standard came to be – and a very interesting read.
>> The Journeyman Idealist: Architect of Programmer Paycuts [daedtech.com]
This writeup is definitely good for some perspective on the way we all work and creating value. Some solid podcasts recommended in here as well 🙂
>> Rewrite or Refactor? [daedtech.com]
To be or not to be? That was THE question for a long time, but no longer 🙂
Now, it's to refactor or rewrite – mainly because that decision has the potential to literally put a business under.
>> Clean Code: what is it? [silkandspinach.net]
I always find that, no matter how much I think I understand a concept, I don't fully grok it until I have to sit down and actually define it. It always turns out to be more difficult than I expect it to be.
Also worth reading:
>> Expert Beginner Store Kickstarter (And Giveaway!) [daedtech.com]
>> Transforming Development with AWS [allthingsdistributed.com]
>> On asking ‘why?’ in test automation [ontestautomation.com]
4. Comics
And my favorite Dilberts of the week: