Skip to content

Instantly share code, notes, and snippets.

const CUSTOM_DELIMITER_PATTERN = "//";
const DEFAULT_DELIMITER = ",";
const DELIMITIER_POSITION = 2;
const NUMBERS_START_POSITION = 4;
const parseInput = (input) => {
if (input.startsWith(CUSTOM_DELIMITER_PATTERN)) {
return {
delimiter: input[DELIMITIER_POSITION],
rawNumbers: input.substring(NUMBERS_START_POSITION, input.length)
@aleixmorgadas
aleixmorgadas / 1. Fallacies.md
Last active October 2, 2021 04:53
Distributed Systems Fundamentals Questions

Fallacy #1. The network is reliable

  • Why the pattern Client-Response might cause some troubles?
  • What are distributed objects?
  • How we can solve this problem?

Fallacy #2. Latency isn't a problem

  • How many calls do you do between services before replying a syncronous call to the end user?
  • Which pattern is more common in your application? Remote calls or messages?

Keybase proof

I hereby claim:

  • I am aleixmorgadas on github.
  • I am aleixmorgadas (https://keybase.io/aleixmorgadas) on keybase.
  • I have a public key ASB5kmXGYTA_TqclOqV7nMvPgFn8yxWUfYOQJ5DMe_CKTAo

To claim this, I am signing this object:

@aleixmorgadas
aleixmorgadas / keychron K3.md
Last active January 6, 2023 12:36
Keychron K3 Linux
@aleixmorgadas
aleixmorgadas / 0_README.md
Last active July 27, 2023 13:26
Refreshing Auth0 ManagementAPI token before it expires when using Spring Boot

Refreshing Auth0 ManagementAPI token before it expires.

The expectation here is that the token expiration is 24h. You can check it in Applications > API > Settings > Token Settings.

What I did is refreshing the token every 12 hours.

In my case, I use Spring Boot 3.

@aleixmorgadas
aleixmorgadas / 0_README.md
Last active September 6, 2023 04:07
Aggregate with MongoDB

Entity Event Sourced with Spring Boot and MongoDB

@aleixmorgadas
aleixmorgadas / 0_README.md
Last active September 6, 2023 15:59
Testcontainers MongoDB with volume and fixed ports.

Testcontainers MongoDB with volume and fixed ports

For the example, I'm using SpringBoot in DevMode. It is the only mode I consider that makes sense to enable the volume mapping.

Remember to add .data/ to .gitignore

@aleixmorgadas
aleixmorgadas / Instructions.md
Last active September 12, 2023 06:31
Installing Linux in Asus Zenbook 14 UX431FA

Install Debian in Asus Zenbook 14 UX431FA

Debian version Bullseye

⚠️ using the non-free of Debian because it needs specific firmware for the wifi to be able to connect.

  1. Download the next netinst.iso https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/bullseye_di_alpha2/amd64/iso-cd/ or newer.

I'm using the bullseye because it has the latest kernel, and it seems required for this laptop. Also, the link might breake because the alpha2 it's no longer available because Debian Bullseye has already a beta version or it's released as stable distribution. In that case, check the root directory https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/

@aleixmorgadas
aleixmorgadas / AbstractIntegrationTest.java
Created December 5, 2023 18:47
Signelton Abstract Integration Test to reuse a Testcontainer between test classes
package dev.aleixmorgadas;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
import org.springframework.test.web.servlet.MockMvc;
import org.testcontainers.containers.PostgreSQLContainer;
import org.testcontainers.junit.jupiter.Testcontainers;