TestContainers em Java: Testes de integração, repositórios e outras coisas!

Aviso: Esse post ainda passará por uma revisão! Testando Repositórios (De verdade!) Podemos testar repositórios de alguns jeitos, uma das maneiras é utilizar um banco em memória. Para SQL, h2 é fácil e rápido, podemos fazer as configs no banco usando um application-properties para os testes e validar tudo bonitinho normalmente 🙂. Outra alternativa seria utilizar TestContainers Conseguindo testar e subir repositórios e message brokers reais, conseguimos fazer testes de integração!...

20 de novembro , 2023 · 3 minutos · 561 palavras · Me

O que são microserviços? Para que servem e quando usar?

Disclaimer: Esse artigo é baseado totalmente no Livro Building Microservices, do Sam Newman! Visão Geral Microserviços são partes independentes entre si que são modeladas em torno de uma regra de negócio. Um serviço encapsula uma funcionalidade e permite que ela seja acessível por uma rede através de requisições REST. Microserviços são um tipo de arquiteturas orientadas a serviço, onde fronteiras entre serviços devem ser traçadas, mas apesar disso o release independente é chave....

7 de maio , 2024 · 8 minutos · 1576 palavras · Me

6. Virtual Threads em Java! Fazendo a sua aplicação voar!

Seja bem vindo, esse daqui é o último post da infinita série sobre concorrência em Java. A série é focada em Java, mas esse post em especial apresenta conceitos relevantes para literalmente todas as linguagens e também não é uma leitura muito extensiva :). Nosso roteiro é: Threads! Processando em Paralelo e Ganhando Throughput Sincronização de Threads - DeadLocks, Zonas Críticas e Condições de Corrida Concorrência, agora melhor - Classes Thread Safe Executors, Thread Pools e Futures CompletableFuture Virtual Threads O Artigo Primeiro, vamos estabelecer objetivos desse artigo:...

6 de abril , 2024 · 18 minutos · 3680 palavras · Me

5. CompletableFuture - Dominando o Assíncrono em Java!

Seja bem vindo, esse daqui é o quinto de 6 posts sobre concorrência em Java. A série é focada em Java, mas esse post em especial apresenta conceitos relevantes para literalmente todas as linguagens e também não é uma leitura muito extensiva :). Nosso roteiro é: Threads! Processando em Paralelo e Ganhando Throughput Sincronização de Threads - DeadLocks, Zonas Críticas e Condições de Corrida Concorrência, agora melhor - Classes Thread Safe Executors, Thread Pools e Futures CompletableFuture Virtual Threads Introdução e “Join” Suponha esse código:...

5 de abril , 2024 · 8 minutos · 1624 palavras · Me

4. Executors, Thread Pools e Futures em Java

Seja bem vindo, esse daqui é o quarto de 6 posts sobre concorrência em Java. Nosso roteiro é: Threads! Processando em Paralelo e Ganhando Throughput Sincronização de Threads - DeadLocks, Zonas Críticas e Condições de Corrida Concorrência, agora melhor - Classes Thread Safe Executors, Thread Pools e Futures CompletableFuture Virtual Threads Introdução Sabemos que Threads do JAVA são Wrappers em torno de threads do SO, agora o importante de sabermos com essa informação é termos ciência que threads do SO são pesadas, portanto, criá-las a todo momento é inviável, mas é isso que aprendemos até então no [[1....

4 de abril , 2024 · 5 minutos · 1019 palavras · Me