Notas do dia a dia de um engenheiro de software

Notas do dia a dia de um engenheiro de software

Relógios físicos e lógicos

Relógios físicos e lógicos

Você sabe como funciona o relógio de um computador? Saber porque nem sempre um timestamp é confiável?

Existe filosofia do design de código?

Existe filosofia do design de código?

Vou tentar levantar uma pergunta: existe filosofia do design de código? Para responder essa pergunta eu defino o que é filosofia, depois o que é design de código e por fim parto para revisitar a definição de complexidade, módulos e camadas.

Sobre Design de Código

Sobre Design de Código

Nesse vídeo falo sobre design de código e qual é a minha visão sobre determinados livros, práticas e princípios. Código bom e bem escrito é fruto de um contexto. Não se deixe levar pelo discurso moralista de alguns livros.

Modelagem de sistemas baseado em eventos

Modelagem de sistemas baseado em eventos

Já parou para pensar em como modelar sistemas baseados em eventos?

Duas formas de pensar grafos

Duas formas de pensar grafos

Você já usou grafos no seu dia a dia? Eu tenho estudado grafos intensamente nos últimos 6 meses e digo que se você não tem usado você está perdendo uma boa oportunidade para usar bem o conhecimento a sua disposição. Nesse post eu falo sobre as duas formas que grafos apareceram nos meus estudos e como e tenho usado eles.

Testes de Kafka Stream e Schema Registry

Testes de Kafka Stream e Schema Registry

Qual é a maneira mais fácil de se testar um consumer/producer/stream Kafka usando Schema Registry?

Leituras de 2022

Leituras de 2022

Levantamento dos livros que li em 2022. Faço uma breve descrição do livro e minhas impressões. São 10 livros sendo 4 de computação, 4 de ficção e 2 de ciências sociais.

Java 101: Memória

Memória

Como funciona o gerenciamento de memória com Java? Nesse post vou descrever como funciona a memória de um programa Java e comparar ele com de outros programas. Depois vou mostrar quais os principais desafios do gerenciamento de memória em programas Java. A ideia desta série é criar um tutorial Java onde mostrarei todos os segredos da linguagem e do ecossistema.

Um pouco de DDD: Elementos do Design de Software

Elementos do Design de Software

Quais são os elementos básicos de um modelo de software? Existem tipos de elementos que podemos usar para construir qualquer modelo?

Um pouco de DDD: Modelos e Domínio em Software

Modelos e Domínio em Software

Todo software existe para resolver um problema real. E para resolver esse problema precisa ser bem modelado. Nesse post vou navegar um pouco pela introdução do livro Domain-Driven Design para explicar o que é modelo e o que é domínio e como podemos modelar nosso software.

Java 101: Concorrência e Paralelismo

Concorrência e Paralelismo

O que eu preciso saber de concorrência e paralelismo para desenvolver usando Java? A ideia desta série é criar um tutorial Java onde mostrarei todos os segredos da linguagem e do ecossistema.