Criando anotações customizadas com Spring

Não é incomum que com o passar do tempo nossas classes fiquem repletas de anotações de diferentes categorias do seu framework IoC/DI, como Spring ou CDI. Estas anotações vão desde controle transacional, segurança, monitoramento e até logging. Se não tomarmos cuidado nós acabamos com muita duplicação de código de metadados e pouca legibilidade.

Para resolver isso, desde o Spring 3.0 nós podemos criar nossas próprias anotações com um significado mais próximo da nossa arquitetura ou mesmo negócio. Essa técnica de criar anotações com semântica é chamado de Stereotypes, ou do português, estereótipos.

Entender bem o conceito de estereótipos e saber estendê-lo é muito importante para arquitetos e desenvolvedores sêniors que almejam ter um melhor controle de como as classes da aplicação são registradas no container do Spring e procuram uma melhor manutenção do código a médio-longo prazo.

Economize memória com o padrão Flyweight

Quando desenvolvemos jogos é muito comum termos diversas entidades do mesmo tipo em um cenário, como inimigos, projéteis, nuvens, efeitos etc. Criar sempre novos objetos para cada entidade que surge na tela é algo custoso para JVM, tanto em performance quanto em uso de memória.

Para minimizar o uso desnecessário de recursos da máquina ou dispositivo, nós podemos utilizar o padrão Flyweight, na qual se encarregaria de criar apenas um único objeto em memória e compartilhá-lo pelo resto do jogo ou aplicação. A idéia é simples mas os ganhos são consideráveis!

Para exemplificar bem o uso deste padrão de projeto, nós da TriadWorks escrevemos um post sobre o assunto com direito a exemplos! Vale a pena dar uma olhada e ver se esse padrão se encaixa no seu projeto!

Para não perder nenhum post no blog dos instrutores da TriadWorks, você pode se inscrever na nossa página (fica no rodapé!) e receber um email sempre que um novo post for lançado! Ah! Nós estamos tentando blogar toda segunda-feira pela manhã, então fica de olho!

6 hábitos com Hibernate para melhorar a performance da sua aplicação

Em Setembro tive a oportunidade de palestrar sobre Hibernate Efetivo em Maceió-AL a convite do fundador do ALJUG (Grupo de Usuários Java de Alagoas), Miguel Lima. Esta palestra também foi ministrada no evento do QCONSP 2012.

A idéia da palestra é discutir 6 hábitos/práticas que podemos ter com Hibernate para melhorar a performance e escalabilidade da aplicação. Hábitos simples como configurar um pool de conexões e até hábitos mais delicados, como configurar o cache de segundo nível e maneiras de lidar com o pior problema de performance ao trabalhar com Hibernate: Select N+1.

Para não deixar o assunto apenas na palestra e nos slides, acabamos blogando sobre as 6 práticas no blog da TriadWorks, onde fizemos um pequeno resumo de cada prática para ajudar desenvolvedores iniciantes e experientes a lidarem com estes problemas que são tão comuns e prejudiciais em muitos sistemas.