Nginx fallback

When developing multiple services that depends on other service, it’s comfortable to have a dev environment. I usually have a docker-compose file that mount a local environment. However, I do not want to mount the whole ecosystem locally, just the services I’m currently developing.

By using Nginx, it’s possible to configure a fallback in case the local service is not up.

 

Ubuntu custom desktop shortcuts

With Ubuntu, you can create your own desktop shortcuts that will be accessible directly from the launcher.

You can do it by using a GUI, or you can do it using directly a terminal, which is the what we will be covering here.

 

JPA @OneToMany and composite primary key

To implement an parent object in one-to-many relation with a child object that has a composite primary key (i.e. multiple columns as primary key) is not quite straightforward.

We need to use a mix of JPA annotations along with creating some embeddable classes.

 

(Rock) SOLID

This article is the follow-up of the previous article on the basics of software development, to remind myself of what I learned in the beginning of my software developer career.

This one will deal with the famous SOLID design principles:

  • Single responsibility principle
  • Open/closed principle
  • Liskov substitution principle
  • Interface segregation principle
  • Dependecy inversion principle