Database Modeling Tutorial Using PlantUML

In this tutorial, we’ll explore the database modeling aspect of a small blog using PlantUML. We’ll start by defining the tables and their attributes, then establish relationships between them based on the provided database model.

1. Understanding the Database Model

Let’s review the database model for our small blog:

Tables:

  • Posts: Represents individual blog posts.
  • Users: Stores user information for blog authors.
  • Comments: Contains comments left by users on blog posts.
  • Tags: Stores tags associated with blog posts.
  • PostTags: Join table to establish a many-to-many relationship between posts and tags.

Relationships:

  • Posts – Users: One-to-many relationship where a post belongs to one user.
  • Posts – Comments: One-to-many relationship where a post can have many comments.
  • Posts – Tags: Many-to-many relationship facilitated by the PostTags join table.
  • Tags – Posts: Many-to-many relationship facilitated by the PostTags join table.

Continue reading “Database Modeling Tutorial Using PlantUML”

Java 8 to Java 17: New Features and Hassle-Free Migration

Java 8 to Java 17

Java, the widely-used programming language, as it continues to evolve with each new release I still see companies and projects hesitating to transition from Java 8 to Java 17, the latest long-term support (LTS) release. This leads them into either using unsupported Java 8 versions or paying a heavy fee for support or for the usage of an alternative VM like Azul. The transition from Java 8 to Java 17 has brought about numerous enhancements and features that developers can leverage to create more efficient and robust applications. In this article, we will delve into the new features introduced in Java 17, compare them with Java 8, and provide best practices for migrating from Java 8 to Java 17. Continue reading “Java 8 to Java 17: New Features and Hassle-Free Migration”

What are we going to do with this big heap of menhirs? The Importance of Evaluating Architecture Trends Within the Context of Your Business

picture showing a roman village in Asterix with two romans discussing about what are we going to do with these menhirs

The story: Caesar has sent his top economist to Asterix’s village with a plan to get the Gauls to fight each other instead of the Romans. The economist starts buying menhirs from Obelix. Obelix becomes snooty, money-driven, and unpopular. But now the Romans have a different problem and the question arises:

What are we going to do with this big heap of menhirs?

In today’s fast-paced digital world, architecture trends can be tempting. However, following them dogmatically can be detrimental to your business in the long run. Instead, it’s crucial to evaluate architecture trends within the context of your unique needs and digital transformation goals.

A recent example of this is Amazon Prime Video’s live stream monitoring service. The team originally used a distributed microservices architecture, which caused overhead and was costly. Instead of sticking to their original approach, they made the bold decision to combine their microservices into a monolith and scale it. The result was a 90% reduction in architecture costs.
Continue reading “What are we going to do with this big heap of menhirs? The Importance of Evaluating Architecture Trends Within the Context of Your Business”