Categoria Boas Práticas

Adicionando coluna com valor default em tabelas volumosas

Fala pessoal, como vão vocês? Espero que bem! Nestes últimos meses venho trabalhando bastante com banco de dados Oracle, com isso acabei me deparando com alguns problemas relacionados a performance. Um deles, foi ao adicionar uma nova coluna com valor default definido em tabelas volumosas com mais de 5.000.000 de registros. Como tinha criado um […]

Interceptor - Carro no Mad Max em Mad Max – Fury Road

Guice + AOP = Interceptor

Fala galera, demorei mais voltei. Estou com reforma em casa, isso está consumindo muito meu tempo. Graças a Deus está e a última semana de reforma, aí poderei voltar a me dedicar ao blog. Mas vamos para o que interessa! Dias a trás fiz dois posts fando sobre o Guice, Injeção de dependência com Guice […]

guice

Injeção de dependência com Guice #2: Anotações

Fala galera! Dando continuidade ao post Injeção de dependência com Guice #1: Introdução, hoje vou falar sobre as anotações da JSR e do Guice e como usa-las. Anotações @Inject A @Inject com certeza é a anotação mais usada quando falamos de injeção de dependência com Guice. Ela é usada para informar ao Guice quando a classe depende da […]

Guice - Framework de Injeção de dependência da Google

Injeção de dependência com Guice #1: Introdução

Começamos a falar sobre Injeção de dependência em uma das nosso reuniões de melhoria continua, que ocorre todo mês aqui na empresa. Falei sobre essa reunião no post Git #1 – Por onde começar?, falei a pena ler, pois é uma das melhores reuniões que temos no nosso projeto. Eu e o Wander Mudo estudamos o […]

TDD

TDD (Test Driven Development) é desenvolvimento orientado por teste. Mais que testar seu código, TDD é uma filosofia, uma cultura. Antes de entrar na Synchro, nunca tinha ouvido falar nesta técnica, se bem que antes disso, teste para mim era entrar na tela e simular o usuário fazendo uma ação, o tal do teste exploratório. […]

Update de dados

Oracle: Update de milhões de registros

Nesse último mês, andei trabalhando bastante com SQL, melhor dizendo PL/SQL. Basicamente minha tarefa era migração de dados, especificamente, alteração da PK de uma tabela que é referenciada por várias outras tabelas. No entanto, precisava fazer isso com a melhor performance possível. Como não sou um DBA, faço apenas o “feijão com arroz”, estudei as formas de update que […]

Thread Local

Thread Local

Numa aplicação web em Java, em vários momentos é muito útil manter informações em um contexto maior que o request, mas também nem tão grande com a session ou application. Nessas situações o Thead Local, pode ajudar bastante. Mas o que é Thread Local? Thread Local é utilizado para definir ciclo de vida dos objetos, […]

Interface Fluente

Interface Fluente e StepBuilders

Interface Fluente Por que criar interfaces fluentes (Fluent Interfaces)? Simples, lembra do Builder, esse padrões de projeto nos ajudam a escrever códigos menos complexos e intuitivos, minimizando os erros durante o desenvolvimento. A interface fluente é muito parecida com o builder, é muito usada na criação de API e utilitários, fazendo com que desenvolvedor seja guiado, auto explicando seu uso […]

Construindo objetos através de Builders

E aí pessoal, como vão as boas práticas de desenvolvimento? Quando comecei a programar Java, um professor me disse que um objeto bem construído deveria ter todos atributos obrigatórios inicializados pelo construtor da classe. Então vejamos, imagine que tenhamos a seguinte classe: Se seguirmos a orientação do meu professor, teríamos que ter um construtor na classe […]