Aprendizado · · 1 min de leitura

Olá, mundo: por que estou escrevendo

O que você vai encontrar aqui: system design, Java/Spring, Go e o diário da minha rotina de estudos.

Este é o primeiro texto do site. A ideia é simples: aprender em público. Cada artigo é algo que estudei, quebrei, consertei ou desenhei — escrito para o Danilo de daqui a seis meses e, com sorte, útil para você também.

O que vem por aí

  • System design — trade-offs reais: consistência, idempotência, filas, locks.
  • Java & Spring — o que acontece por baixo do @Transactional.
  • Go — concorrência sem drama e código idiomático.
  • Aprendizado — como organizo a rotina, o que funcionou e o que não funcionou.

Um gostinho

Em Go, um worker pool cabe em poucas linhas:

func worker(jobs <-chan int, results chan<- int) {
	for j := range jobs {
		results <- j * 2
	}
}

E em Java 21, virtual threads deixam o código bloqueante barato de novo:

try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
    IntStream.range(0, 10_000).forEach(i ->
        executor.submit(() -> Thread.sleep(Duration.ofSeconds(1))));
}

Os comentários ficam lá embaixo — use à vontade.