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.