Rafael

Engenheiro de Software

Olá, Eu sou Rafael. Estou construindo coisas para a web e mobile.

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.

Tutoriais

Teste de Integração com Spring Boot, Kotlin e Spring Security

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 ↗
Tutorial: mockkStatic e slot em testes unitários com Kotlin + Spring Boot

Tutorial: mockkStatic e slot em testes unitários com Kotlin + Spring Boot

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 ↗
Criando EventListener assíncrono com Kotlin e Spring Boot

Criando EventListener assíncrono com Kotlin e Spring Boot

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 ↗
Validation no Spring Boot com Kotlin + Custom Validation (@EmailAvailable)

Validation no Spring Boot com Kotlin + Custom Validation (@EmailAvailable)

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 ↗
Paginação em spring boot, jpa e kotlin

Paginação em spring boot, jpa e kotlin

Ao trabalhar com grandes volumes de dados, retornar todos os registros de uma única vez pode causar problemas de desempenho e aumentar...

Acessar ↗
SQLC e Transação

SQLC e Transação

O que é uma transação? - Uma transação é um conjunto de operações SQL que são tratadas como uma única unidade de...

Acessar ↗
SQLC – migração e transação

SQLC – migração e transação

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 ↗
Como o GO trabalha com channel por baixo dos panos.

Como o GO trabalha com channel por baixo dos panos.

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 e Stack e suas diferenças em golang

Heap e Stack e suas diferenças em golang

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 ↗
Gargabe Collector no Golang

Gargabe Collector no Golang

O Garbage Collector (GC) do Go é um coletor concorrente de baixa latência. Seu objetivo principal é minimizar as pausas do programa...

Acessar ↗
Vamos falar um pouco sobre genéricos em Go.

Vamos falar um pouco sobre genéricos em Go.

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 ↗
Como funciona a alocação(Mallocgc) de memória no golang

Como funciona a alocação(Mallocgc) de memória no golang

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 ↗
Como o Golang trabalha com goroutines por baixo dos panos.

Como o Golang trabalha com goroutines por baixo dos panos.

Em Go, goroutines são tarefas leves gerenciadas pelo runtime, não diretamente pelo kernel. Modelo M : P : G G (Goroutine): unidade...

Acessar ↗
Desvendando o SLICE em GO

Desvendando o SLICE em GO

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 ↗
Criando um ServeMux com Struct e sua função

Criando um ServeMux com Struct e sua função

ServeMux é um multiplexador de requisições HTTP em Go (no pacote net/http) que atua como um roteador. Ele mapeia caminhos de URL...

Acessar ↗
Collection types em Kotlin

Collection types em Kotlin

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 ↗
Context em Golang

Context em Golang

O pacote context em Go serve para gerenciar o ciclo de vida, cancelamento e transporte de valores entre goroutines e requisições HTTP....

Acessar ↗
Framework HTTP, Roteador e Web framework qual a diferença? e algumas libs de exemplos em golang.

Framework HTTP, Roteador e Web framework qual a diferença? e algumas libs de exemplos em golang.

“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 ↗
Vamos falar um pouco sobre channel e goroutines em GO

Vamos falar um pouco sobre channel e goroutines em GO

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 ↗
Vamos falar de suite em testify em Golang

Vamos falar de suite em testify em Golang

Imagine o seguinte cenário: - Adicionar em um contador o CPF quando não existir no map e remover quando existir: Vamos ver...

Acessar ↗