Lots of interesting write-ups on Java this week.
Here we go…
1. Spring and Java
>> Kotlin collections [blog.frankel.ch]
A quick but comprehensive guide to the collections hierarchy in Kotlin.
>> A Curious Java Language Feature and How it Produced a Subtle Bug [jooq.org]
Again, a simple rule of avoiding subtyping as much as possible can spare us many potential bugs
>> Entities or DTOs – When should you use which projection? [thoughts-on-java.org]
A very interesting comparison of Hibernate’s performance in multiple scenarios.
>> Refactoring Towards a Transaction Monad [techdev.de]
A brief introduction to monads and how to use them for manipulating operations that should be done within transactions.
Also worth reading:
-
>> The Top 100 Java Libraries in 2017 – Based on 259,885 Source Files [blog.takipi.com]
-
>> The best way to map a many-to-many association with extra columns when using JPA and Hibernate [vladmihalcea.com]
-
>> C# vs. Java: 5 Irreplaceable C# Features We’d Kill to Have in Java [blog.takipi.com]
-
>> Support for JUnit 5 in IntelliJ IDEA 2017.2 [jetbrains.com]
Webinars and presentations:
-
>> Webinar Recording: Why IntelliJ IDEA is the Premier IDE for Grails 3 [jetbrains.com]
-
>> On including automation in your Definition of Done [ontestautomation.com]
Time to upgrade:
-
>> Java SE 8 Update 141 and More [blogs.oracle.com]
-
>> Spring Framework 4.3.10 available now [spring.io]
-
>> Spring Boot 1.5.5 available now [spring.io]
-
>> Spring Framework 5.0 RC3 – on the way to GA [spring.io]
-
>> Spring Security 5.0.0 M3 Released [spring.io]
-
>> Spring Cloud Dalston SR2 is available now [spring.io]
-
>> Spring Data Ingalls SR5 released [spring.io]
-
>> Spring Batch 3.0.8.RELEASE is now available [spring.io]
-
>> Spring Integration 4.3.11 is Available [spring.io]
-
>> jOOQ 3.10 Supports Exciting MySQL 8.0 Features [jooq.org]
-
>> Hibernate ORM 5.1.9.Final released [in.relation.to]
2. Technical
>> The Ultimate Guide to Progressive Web Applications [developer.okta.com]
Building a Progressive Web Applications for the first time can be difficult – this writeup will definitely make it a bit easier.
>> Identity, Claims, & Tokens – An OpenID Connect Primer, Part 1 of 3 [developer.okta.com]
A guide to the basics of OpenId Connect – a protocol that runs on top of OAuth 2.0 to provide authorization semantics.
Also worth reading:
-
>> 5 Things You May Not Have Known About jOOQ [jooq.org]
-
>> Automating Hugo Deployments with Bitbucket Pipelines [bitquabit.com]
-
>> Improving Perceived Performance on Android [lemnik.wordpress.com]
-
>> The Difference Between SOA and Microservices Isn’t Size [redmonk.com]
-
>> Debugger: Filtering Arrays & Collections in IntelliJ IDEA 2017.2 [jetbrains.com]
-
>> Git: Setting up author information [advancedweb.hu]
3. Musings
>> APIs and the Principle of Least Surprise [daedtech.com]
Predictable and self-discoverable APIs are usually a pleasure to work with
HATEOAS for the win.
>> I told you so [dandreamsofcoding.com]
There’s more to our work than being smart or being right – this is an interesting write-up to drive that point home.
>> Passwords Evolved: Authentication Guidance for the Modern Era [troyhunt.com]
A few interesting thoughts about the state of modern authentication.
Also worth reading:
-
>> Manual Code Review Anti-Patterns [daedtech.com]
-
>> Position descriptions are harmful [mehdi-khalili.com]
-
>> Metaphors We Compute By [queue.acm.org]
-
>> Social Network Analysis and Topic Modeling of codecentric’s Twitter friends and followers [blog.codecentric.de]
4. Comics
And my favorite Dilberts of the week: