A Java Geek weekly 8

OpenAPI Breaking Changes - A Formal Definition

Seems like an evidence but it’s a great list of what qualifies as an API breaking change and what doesn’t.

Epoxy: ACID Transactions Across Diverse Data Stores

After having worked with CDC, I find transactions to synchronize the state of datastores a bit inelegant. Yet, it should be compatible with how the majority of companies think about synchronization.

Every software is messy and has skeletons

I’ve been in enough projects to know the difference between pragmatism and praising the "move fast and break things" approach. After reading the post, I’m wondering if the author doesn’t favor the latter.

A healthy dose of pragmatism help a project moves forward. A cutting corners approach is a one-shot and hinders the next updates made on the project until the technical debt has been paid off.

Fighting with type hints – overloaded decorator

Here’s the limit of gradual typing. Languages that added typing as an afterthought have a hard time addressing corner cases. In this example, Python shows how hard it is.

I’d sooner leave it untyped.

Git Cleanup: "git remote prune" explained

When we run the command git remote prune origin, Git is essentially cleaning up any remote-tracking branches that no longer exist on the remote repository.

TIL! This command has become my new friend.

Kafka Tracing with Spring Boot and Open Telemetry

Micrometer in Spring Boot takes care of all nitty-gritty details of OpenTelemetry tracing, so you don’t need code.

Python Decorators That Can Reduce Your Code By Half

Good introduction to Python decorators and a couple of existing out-of-the-box ones.

Web Path Finder

Web Path Finder is a Python program that provides information about a website. It retrieves various details such as page title, last updated date, DNS information, subdomains, firewall names, technologies used, certificate information, and more

Fixit 2: Meta’s next-generation auto-fixing linter
  • Fixit is dead! Long live Fixit 2 – the latest version of our open-source auto-fixing linter.
  • Fixit 2 allows developers to efficiently build custom lint rules and perform auto-fixes for their codebases.
  • Fixit 2 is available today on PyPI.
Strong static typing, a hill I’m willing to die on…​

Me as well! And that’s after trying to read untyped Python codebases and trying to add types to it.

What are Pipelines in Python?

TIL: the toolz library and its pipe() function

Lessons learned from previous projects

TL;DR:

  • Packaging by layers
  • Blindly obey quality tools
  • Setters
  • Abstractions everywhere
  • Data Transfer Objects
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 8
Share this