A Java Geek weekly 80

Reactive database access on the JVM

A couple of years ago, Reactive Programming was all the rage, but it had one big issue: reactive stopped as soon as you accessed a SQL database. You had a nice reactive chain up to the database, defeating the whole purpose. Given the prevalence of SQL databases in existing and new apps, one couldn’t enjoy the full benefits of Reactive Programming but still pay the full price of complexity.

Since then, the landscape has changed tremendously. Most importantly, it offers many reactive drivers over popular databases: PostgreSQL, MariaDB and MySQL, Microsoft SQL Server, Oracle, you name it! Even better, some frameworks provide a reactive API over them.

Even though I’m not providing consulting services regularly, I wanted to keep up-to-date on accessing data reactively. In this post, I’ll describe Hibernate Reactive, Spring Data R2DBC, and jOOQ in no particular order.

Top-3 Helm Plugins
  • Helm Secrets
  • Helm Diff
  • Helm Git
20 years of Git. Still weird, still wonderful

A walkthrough of Git’s history by one of its early adopters and GitHub co-creator.

The Synchrony Budget

For building a system of distributed services, one concept I think is very valuable to keep in mind is what I call the synchrony budget: as much as possible, a service should minimize the number of synchronous requests which it makes to other services.

GitHub Actions by Example

I love learning by example. This site is great at teaching you the ropes of GitHub Actions by example.

Components vs. Containers: Fight?

WebAssembly components offer a new way to deploy microservices and other applications in cloud native environments. This naturally raises the question: is the upstart component out to replace containers? Or is this one of those situations where the apparent rivals need to learn to work together?

For a proper answer, we need to examine the similarities and differences between the two technologies, and then consider how we should understand their respective use-cases—both taken independently or working in tandem.

Then we’ll explore how WebAssembly (Wasm) can extend the frontiers of container orchestration across multiple clouds, edges, and devices.

The Octocat—a nerdy household name

And now for something completely different, the genesis of the Octocat mascot.

The AAARRRP Developer Relations Strategy Framework
  • Awareness - users become aware of your product
  • Acquisition - users signup for your product
  • Activation - users successfully use your product
  • Retention - users continue to use the product and potentially increase usage
  • Referral - users like product and company brand enough to refer others
  • Revenue - users conduct some monetizing behavior
  • Product - users and the developer relations team help define and build the product as well as gather feedback from users to enhance your product
PEP 750 – Template Strings

Template strings are a generalization of f-strings, using a t in place of the f prefix. Instead of evaluating to str, t-strings evaluate to a new type, Template:

template: Template = t"Hello {name}"

Templates provide developers with access to the string and its interpolated values before they are combined. This brings native flexible string processing to the Python language and enables safety checks, web templating, domain-specific languages, and more.

Stop Just Loosening Coupling — Start Strengthening Cohesion Too

Good advice, but hard to follow!

Kubernetes’ New StopSignal Explained

TIL!

How Indexes Work in Partitioned Databases

The post explains the pros and the cons of local indexes vs. global indexes in the context of partitioned databases.

Nicolas Fränkel

Nicolas Fränkel

Nicolas Fränkel is a technologist focusing on cloud-native technologies, DevOps, CI/CD pipelines, and system observability. His focus revolves around creating technical content, delivering talks, and engaging with developer communities to promote the adoption of modern software practices. With a strong background in software, he has worked extensively with the JVM, applying his expertise across various industries. In addition to his technical work, he is the author of several books and regularly shares insights through his blog and open-source contributions.

Read More
A Java Geek weekly 80
Share this