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”

Introduction to PlantUML: Unleashing the Power of Visual Representation as a Code in Software Development

Introduction

In the fast-paced world of software development, effective communication and clear documentation are paramount. This is where the power of visual representation comes into play, and one tool that has significantly simplified this process is PlantUML. This open-source project has revolutionized the way developers, project managers, and analysts create and share diagrams. It’s not just a tool; it’s a visual language that transforms the way we think about and document software architecture, processes, and workflows. Continue reading “Introduction to PlantUML: Unleashing the Power of Visual Representation as a Code in Software Development”

Why Governments Need To Favor Open Source Software for Enhanced Security and Transparency

illustration of a cogweel with a lock

As governments around the world grapple with the increasing reliance on technology for delivering citizen services and ensuring national security, the debate over adopting open source software has never been more critical. With recent instances of cyberattacks and surveillance, the need for transparent and secure government software is paramount. This article explores the importance of transitioning government software to open source and highlights key concerns, challenges, and benefits associated with this shift. By examining real-world examples, we aim to emphasize the significance of open source software in improving security, transparency, and trust in public institutions. Continue reading “Why Governments Need To Favor Open Source Software for Enhanced Security and Transparency”

How to install SonarQube locally or in production to check your code for vulnerabilities, performance and maintainability

A picture with a teenager starring. the caption sais looking at your code after one year. Did I wrote that?

Introduction

From Wikipedia: SonarQube (formerly Sonar) is an open-source platform developed by SonarSource for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs and code smells on 29 programming languages. SonarQube offers reports on duplicated code, coding standards, unit tests, code coverage, code complexity, comments, bugs, and security recommendations. SonarQube can record metrics history, evolution graphs and provides fully automated analysis and integration with Maven, Ant, Gradle, MSBuild and continuous integration tools (Atlassian Bamboo, Jenkins, Hudson, etc.). In other words it checks if what your team has written is secure, performs well, it is tested and easy to maintain.

Continue reading “How to install SonarQube locally or in production to check your code for vulnerabilities, performance and maintainability”

Dockerizing Java Applications the right way

alexius diakogiannis dockerizing java applications

I have created a video and I am showing how to place your java application to a docker container BUT in addition I am showing you how to build the application in the container without needing java runtime in the host machine.

Hope you like it

Subscribe to my youtube channel: https://www.youtube.com/channel/UCw_oF0_P645jIECXAlh9Jsw

Use this url to dowload the awesome GitKraken software: https://www.gitkraken.com/invite/pPxN…

Gist: https://gist.github.com/diakogiannis/

Thanks perigialli tavern for giving the space to shoot: https://www.facebook.com/perigiali.estiatorio

Git Essentials Crash Course

Introduction

This is not Java but several newbie developers ask the same question, how to use GIT and how does GIT works so here it goes…

Have you ever work in SVN? Well forget everything you know and lets start over 🙂

What is a GIT repo?

In general there are two mirror repos. Your local repo and the remote repo. Yes TWO REPOS. Everyone in the team has an actual copy of the whole repo so even if your remote server dies you can set it up again and just push (spoiler) your repo to the repote server.
Continue reading “Git Essentials Crash Course”

Apache NetBeans (incubating) 10.0 Released

nekobean the Apache Netbeans mascot

The Apache NetBeans proudly announced the release of Apache NetBeans (incubating) 10.0.

Finally the first Apache NetBeans incubating release with full support for Java SE, PHP and JavaScript development

You can download it here: https://netbeans.apache.org/download/nb100/nb100.html

Apache NetBeans (incubating) 10.0 constitutes all but the enterprise cluster in the Apache NetBeans Git repo, which together provide the NetBeans Platform (i.e., the underlying application framework), as well as all the modules that provide the Java SE, PHP, JavaScript and Groovy features of Apache NetBeans.

In short, Apache NetBeans (incubating) 10.0 is a full IDE for Java SE, PHP and JavaScript development with some Groovy language support.

New features of the 10.0 Release:

  • JDK 11 support
  • Miscellaneous Features
  • PHP

Continue reading “Apache NetBeans (incubating) 10.0 Released”