Matheus Castiglioni

Topologias de Times

Uma missão muito desafiadora quando falamos sobre empresas de tecnologia é como será a composição da área de engenharia, ou seja: Quais serão as divisões?...

Princípio Dry

Uma situação um tanto quanto comum quando estamos trabalhando com desenvolvimento de software é quando uma única alteração exige que você saia mexendo e refatorando vários arquivos espalhados pela base de código....

Arquitetura Orientada à Eventos

Um famoso estilo de arquitetura é chamado EDA (Event driven architecture, Arquitetura orientada à eventos), esse é um popular estilo de arquitetura assíncrono e distribuído, usado para produzir aplicações altamente escaláveis e de alta performance....

Migrando Banco de Dados Mantendo a Compatibilidade

Muitas vezes acabamos precisando aplicar migrações em nossos banco de dados, seja, para aplicar alguma alteração de schema ou alterações de dados. As alterações de schema podem ser:...

Princípio Kiss

Você já se pegou alguma vez tentando resolver um problema utilizando uma solução mais complexa do que deveria? Ou seja, para um problema simples foi implementada uma solução complexa....

Arquitetura vs Design de Software

Arquitetura e design de software são as mesmas coisas? A diferença geralmente é um pouco confusa, mas, não são as mesmas coisas e sim existem diferenças entre elas, logo:...

Medindo e Entendendo Acoplamento

Algo muito falado quando estamos construindo um sistema é o tal de “acoplamento”, mas afinal, o que isso significa e como podemos medí-lo? Acoplamento é a medida do nível de interdependência entre os módulos, ou seja, são as dependências entre os códigos....

Características de uma Arquitetura de Software

Quando falamos sobre desenvolvimento de software (sistemas) acabamos focando muito em funcionalidades (features), ou seja: O sistema faz o que deveria fazer? O sistema está resolvendo os problemas do(a)s clientes?...

Princípio YAGNI

Você já se pegou alguma vez pensando se realmente iria existir a necessidade de alguma funcionalidade no futuro que justifique uma implementação técnica no presente?...

Shared Nothing Architecture

Hoje em dia quando estamos entregando software podem surgir varias questões, por exemplo: Onde o sistema vai viver? (em termos de nuvem e hospedagem) Como o sistema será distribuído?...