Teste de Integração com Spring Boot, Kotlin e Spring Security
Os testes de integração verificam se todos os componentes da aplicação funcionam juntos: Controller, Security, Service, Repository e Banco de Dados. Neste...
Acessar ↗Engenheiro de Software
Um desenvolvedor dedicado a criar experiências digitais de alto desempenho, acessíveis e limpas. Eu me especializo em transformar problemas complexos em soluções de engenharia elegantes.
Os testes de integração verificam se todos os componentes da aplicação funcionam juntos: Controller, Security, Service, Repository e Banco de Dados. Neste...
Acessar ↗
Quando começamos a escrever testes unitários em Kotlin utilizando MockK, dois recursos aparecem com bastante frequência: slot → captura argumentos enviados para...
Acessar ↗
Introdução Os testes unitários são fundamentais para garantir a qualidade do código, facilitar refatorações e reduzir a quantidade de bugs durante o...
Acessar ↗
O EventListener do Spring permite desacoplar funcionalidades da aplicação. Em vez de um serviço chamar outro diretamente, ele dispara um evento e...
Acessar ↗
A validação no Spring Boot permite validar campos de DTOs usando anotações como: @NotEmpty @NotBlank @Email @Size @Min @Max Para instalar as...
Acessar ↗
O @ControllerAdvice no Spring Boot serve para centralizar o tratamento de exceções da aplicação. Em vez de colocar try/catch em todos os...
Acessar ↗
Ao trabalhar com grandes volumes de dados, retornar todos os registros de uma única vez pode causar problemas de desempenho e aumentar...
Acessar ↗
O que é uma transação? - Uma transação é um conjunto de operações SQL que são tratadas como uma única unidade de...
Acessar ↗
Vamos falar hoje sobre o SQLC ele elimina a utilização de ORM, é uma ferramenta de código aberto que compila códigos SQL...
Acessar ↗
A biblioteca padrão do Kotlin contém diversas funções cuja única finalidade é executar um bloco de código dentro do contexto de um...
Acessar ↗
Como o GO trabalha com channel por baixo dos panos. Eu criei um fluxo mais ou menos próximo da realidade dos channels....
Acessar ↗
Heap Região de memória usada para alocação dinâmica de dados com tempo de vida variável.É mais flexível e, em geral, tem custo...
Acessar ↗
O Garbage Collector (GC) do Go é um coletor concorrente de baixa latência. Seu objetivo principal é minimizar as pausas do programa...
Acessar ↗
Qual é a diferença entre generics e interface vazia? Genéricos são preferíveis porque oferecem segurança de tipo em tempo de compilação, evitam casts...
Acessar ↗
Alocador de memória do Go: No Go, a alocação de memória é feita pelo runtime, não diretamente pelo sistema operacional a cada...
Acessar ↗
Em Go, goroutines são tarefas leves gerenciadas pelo runtime, não diretamente pelo kernel. Modelo M : P : G G (Goroutine): unidade...
Acessar ↗
Antes de tudo minha versão do GO: go1.25.6 O Slice em GO é por baixo dos panos uma array ele tem um...
Acessar ↗
ServeMux é um multiplexador de requisições HTTP em Go (no pacote net/http) que atua como um roteador. Ele mapeia caminhos de URL...
Acessar ↗
A Biblioteca Padrão do Kotlin fornece implementações para tipos básicos de coleções: conjuntos (sets), listas (lists) e mapas (maps). Um par de...
Acessar ↗
O paralelismo em Kotlin é atingido principalmente através de Corrotinas (Coroutines) em conjunto com Dispatchers apropriados, permitindo que tarefas rodem simultaneamente em...
Acessar ↗
O pacote context em Go serve para gerenciar o ciclo de vida, cancelamento e transporte de valores entre goroutines e requisições HTTP....
Acessar ↗
O que é o GORM? GORM é uma biblioteca de ORM (Object-Relational Mapping) para a linguagem Go, projetada para simplificar interações com...
Acessar ↗
“Framework como Echo oferecem um nível de abstração maior para desenvolvimento de APIs HTTP em Go.Já roteadores são mais enxutos, como Chi,...
Acessar ↗
Em Go, green threads é o nome informal para threads “leves” gerenciadas pela própria linguagem/runtime, e não diretamente pelo sistema operacional. No...
Acessar ↗
Imagine o seguinte cenário: - Adicionar em um contador o CPF quando não existir no map e remover quando existir: Vamos ver...
Acessar ↗