Notas do dia a dia de um engenheiro de software

Reflexões, tutoriais e descobertas do mundo real. Entre Java, Kafka, bancos de dados e processamento de streams, sobra espaço para filosofia do código e materiais para palestras.

Porque usar LLMs para programar é uma péssima ideia?
Artigo

Porque usar LLMs para programar é uma péssima ideia?

Será que usar LLMs para programar é realmente uma péssima ideia? Entre a imposição do mercado, a perda do raciocínio crítico e os custos ocultos, a resposta não é tão simples quanto parece.

Ponteiro de Schrödinger
Artigo

Ponteiro de Schrödinger

Ponteiros não existem em Java. Ou existem? A verdade é que o conceito está lá, disfarçado de referências, NullPointerException e variáveis final. Neste artigo, exploro a fronteira entre a abstração das linguagens modernas e a realidade do hardware, passando por exemplos em C e Java, e mostrando como é fácil — e perigoso — reinventar ponteiros sem perceber. Uma reflexão sobre design de código, concorrência e as armadilhas que criamos ao ignorar a biblioteca padrão.

Entendendo o Jakarta Persistence API (JPA)
Artigo

Entendendo o Jakarta Persistence API (JPA)

O JPA é uma especificação Java que facilita o mapeamento de objetos Java para tabelas em um banco de dados relacional. Ele é amplamente utilizado em frameworks como Spring e Quarkus, e é uma parte fundamental do ecossistema Java para desenvolvimento de aplicações que interagem com bancos de dados. Neste post, vamos explorar os principais componentes do JPA e como utilizá-los para interagir com um banco de dados.

Injeção de Dependência e sua importância no gerenciamento da conexão com o banco de dados
Artigo

Injeção de Dependência e sua importância no gerenciamento da conexão com o banco de dados

A injeção de dependência é uma prática fundamental para o gerenciamento eficiente da conexão com o banco de dados em aplicações Java. Neste post, exploramos o que é injeção de dependência, como ela funciona e por que é tão importante para o desenvolvimento de aplicações Java modernas.

Entendendo o JDBC
Artigo

Entendendo o JDBC

O JDBC é uma API que permite a comunicação entre aplicações Java e bancos de dados. Ele fornece um conjunto de classes e interfaces que facilitam a execução de operações de banco de dados, como consultas, inserções, atualizações e exclusões. Nesse post, vamos explorar os principais componentes do JDBC e como utilizá-los para interagir com um banco de dados.

SQL na Prática: Consultas, Inserções e Atualizações de dados com PostgreSQL
Artigo

SQL na Prática: Consultas, Inserções e Atualizações de dados com PostgreSQL

Dê vida aos seus dados com SQL! Neste tutorial imersivo, você aprenderá a construir consultas eficientes, explorar junções complexas, aplicar funções de agregação e organizar seu código com CTEs e subconsultas — tudo isso usando um modelo realista de banco de dados corporativo. Ideal para desenvolvedores, analistas e estudantes que desejam dominar a linguagem SQL além do básico e escrever queries poderosas e otimizadas.

Normalização de Dados
Artigo

Normalização de Dados

Neste post, aprofundamos os fundamentos da normalização de dados, explorando como organizar as tabelas de um banco de dados relacional para eliminar redundâncias, garantir integridade e facilitar a manutenção. Passaremos pelos conceitos essenciais de dependência funcional, chaves e superchaves, e percorreremos passo a passo as seis formas normais — da 1NF à 5NF — ilustrando com exemplos práticos de violação e correção baseados em um modelo de funcionários.