Monitor and troubleshoot Java applications and services with Datadog:
Lots of interesting writeups on Java 9 this week.
Here we go…
1. Spring and Java
>> Signing and verifying a standalone JAR [frankel.ch]
Signing a JAR file created by Spring Boot can be quite tricky.
>> Repackaging Exceptions In Streams [codefx.org]
Handling checked exception within lambdas can be painful. And there are no solutions for this – only workarounds.
>> RXJava2 by Example [infoq.com]
A deep dive into the basic principles of reactive programming with RxJava and loads of examples.
>> Building Multi-Release JARs with Maven [in.relation.to]
Exploring a new Java 9 feature – multi-release JAR files.
>> Integration testing strategies for Spring Boot microservices [codecentric.de]
Spring Boot and microservices solve some problems but create different challenges – testing is certainly one of them.
Most people use Lombok for POJOs or data classes but you can find other very useful uses in therenwi.
>> Creating stubs using the Hoverfly Java DSL [ontestautomation.com]
A short tutorial on stubbing APIs using Hoverfly.
>> Setting up your logging with SLF4J – How to automate the prevention of mistakes and disappearing log statements [vanwilgenburg.wordpress.com]
Properly setting up logging can actually be difficult to do well. There are a few things in here you might not have considered before.
Also worth reading:
>> How to run integration tests at warp speed using Docker and tmpfs [vladmihalcea.com]
>> How Does the Default hashCode() Work? [sitepoint.com]
>> Bootstrapping an OAuth2 Authorization server using UAA [java-allandsundry.com]
>> Hibernate Tips: How to call a user-defined function in a CriteriaQuery [thoughts-on-java.org]
Webinars and presentations:
>> Java Puzzlers NG S02: down the Rabbit Hole [infoq.com]
>> Java SE 9: Continuing to Thrive in the Cloud! [infoq.com]
>> Spring Tips: JOOQ [spring.io]
Time to upgrade:
>> Spring Cloud Pipelines 1.0.0.M3 Released [spring.io]
>> Spring Cloud Task 1.2.0.M1 is now available [spring.io]
>> FunctionAsObject [martinfowler.com]
The base of functional programming – leveraging functions as first-class citizens. A quick and worthwhile little writeup.
>> 4 Challenges to Building Multi-factor Authentication [stormpath.com]
Multi-factor authentication solutions do significantly increase the security of a system but have their own set of challenges.
>> How does a relational database work [vladmihalcea.com]
Refreshing the basics 🙂
Also worth reading:
>> Getting Started with Oracle Container Cloud Service [couchbase.com]
>> Crossing the Streams – Joins in Apache Kafka [codecentric.de]
>> Cleaner Tests with Spock [tidyjava.com]
>> Computer Science Concepts That Non-Technical People Should Know [techblog.bozho.net]
Sometimes we don’t speak the same language and we might not be aware of it. There are few concepts that would make communication between technical and non-technical people much easier.
>> Logging for Fun: Things You’d Never Thought to Log [daedtech.com]
Logging and monitoring of everyday things can give us ideas for future improvements 🙂
>> Extracting Value as an Employee [zachholman.com]
Some really pragmatic, potentially uncomfortable advice.
>> A couple of thoughts on Clean Architecture [insaneprogramming.be]
A couple of fresh thoughts about applying the Clean Architecture principles.
>> Habits that Pay Off for Programmers [daedtech.com]
The Law of Diminishing Returns applies to technical skills as well. Developing critical complementary skills – outside of pure coding – pays off in the long run.
Also worth reading:
>> Taking the Guild Metaphor Too Far [daedtech.com]
>> How much does ‘crunch time’ hurt team morale? [mdswanson.com]
>> Book review: Fifty quick ideas to improve your tests [giorgiosironi.com]
>> Software ate the world [mdswanson.com]
>> Interview about the Agile Manifesto [stitcher.com]
>> Back-to-Basic Weekend Reading: Monte-Carlo Methods [allthingsdistributed.com]
And my favorite Dilberts of the week: