A Java Geek weekly 57

Digging into Hibernate’s Query Cache

I haven’t used Hibernate for a long time, and I haven’t blogged about it for even longer. Recently, I was working on a blog post in the context of my job on setting up an evergreen cache. When I was coding the demo, I faced some issue regarding Hibernate’s Query Cache: it didn’t work as I expected it to. Finally, after some time, I managed to fix the issue.

This post aims to dig deeper into Hibernate’s Query Cache in order to help fellow developpers confronted with the same issue.

Writing a book: is it worth it?

I had a quite different experience, but the context is very different as well: I didn’t earn that much money and I didn’t spend as much time.

13 Ways to Optimize Docker Builds

Posts on optimizing builds are of uneven qualities but this one is pretty good:

  1. Use Multistage Builds
  2. Minimize Layers
  3. Use Minimal Base Images: Lightweight base images, like alpine, are preferable for minimizing image layers and overall size. However, always ensure your application is compatible with such images, as some libraries or commands may behave differently on lightweight systems.
  4. Leverage the Build Cache
  5. Clean Up Temporary Files
  6. Use .dockerignore
  7. Pin Base Image Versions
  8. Optimize Dependency Management
  9. Organize Dockerfile in Layers (Inverted Pyramid)
  10. Use Cache Mount with BuildKit
  11. Scan Images for Vulnerabilities
  12. Use Smaller Base Images
  13. Set Resource Limits
  14. Reuse Common Layers with a Base Image
GitHub Spark

Can we enable anyone to create or adapt software for themselves, using AI and a fully-managed runtime?

GitHub is the first major actor to offer an app to generate apps. I signed up, let’s see how it goes.

Managing Container Lifecycles with Docker Compose Lifecycle Hooks

It can be super useful to avoid:

entrypoint:
  - hook.sh
  - &&
  - initialentrypoint
  - with
  - --different
  - --options
Migrating in-place from PostgreSQL to MySQL

While lots of companies migrate from MySQL to PostgreSQL, Yelp did it the other way for a single app. Never underestimate the benefits of using the standard company’s stack.

What is Open Source explained in LEGO

A fun introduction video to share with your friends.

How to Accelerate Code Reviews with Nudges: Insights from Microsoft’s Study

In short, Microsoft implemented a bot powered that AI that reduced the average merge time from 197 hours to 77 hours. Of course, proponents of the merge-to-master movement won’t find any benefit.

Kubernetes networking: service, kube-proxy, load balancing

Long and detailed post. I stopped halfway, but I’ll keep it as a reference.

Algebraic Data Types In Kotlin
Ractor - actors for Rust Built on Tokio

Actors are great in any language, but I always wonder how failsafe and they are running outside of the Erlang VM.

DuckDB inside Postgres!!??

I took 3 items out of the post:

  • DuckDB is amazing
  • Never ever trust vendor performance benchmarks
  • It’s great that people do their own benchmark and publish them
Nicolas Fränkel

Nicolas Fränkel

Developer Advocate with 15+ years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). Usually working on Java/Java EE and Spring technologies, but with focused interests like Rich Internet Applications, Testing, CI/CD and DevOps. Also double as a trainer and triples as a book author.

Read More
A Java Geek weekly 57
Share this