JasperReports: gere relatórios PDF na sua aplicação Web

Não sei você, mas eu sempre tive uma grande dificuldade com a API do JasperReports para gerar relatórios em PDF. Novo projeto significa reaprender a API. E acreditem, não tem … Continuar lendo JasperReports: gere relatórios PDF na sua aplicação Web

File Download sem framework web MVC

O que aprendi em quase 10 anos de experiência com desenvolvimento de software foi que conceitos são mais importantes do que ferramentas e tecnologias. Conceitos perduram por muitos anos, ferramentas … Continuar lendo File Download sem framework web MVC

O perigo do relacionamento bidirecional com JPA e Hibernate

Eu já bati muito a cabeça com JPA e Hibernate para aprender que relacionamento bidirecional no geral atrapalha mais do que ajuda. A verdade é que deveríamos evitar relacionamento bidirecional … Continuar lendo O perigo do relacionamento bidirecional com JPA e Hibernate

Enums são objetos com estado e comportamentos

Eu não sei você, mas por muito tempo eu subestimei e encarei as enums no meu código apenas como simples constantes… Isto foi um grande erro, pois enums são tão … Continuar lendo Enums são objetos com estado e comportamentos

CDI: Não use @Inject e @ManagedBean nas suas classes

Algumas semanas atrás tive uma experiência bem estressante e chata ao misturar as anotações do JSF com as anotações do CDI. Apesar de saber que EM TEORIA eu não deveria fazer isso … Continuar lendo CDI: Não use @Inject e @ManagedBean nas suas classes

Vagrant: meu ambiente de desenvolvimento é seu ambiente

Uma das ferramentas que mais usei durante os serviços de consultoria que prestei pela TriadWorks foi sem dúvida o Vagrant. Com ele era muito fácil criar e configurar máquinas virtuais (VM) … Continuar lendo Vagrant: meu ambiente de desenvolvimento é seu ambiente

Performance: Habilite o cache de páginas do Facelets

Na primeira requisição a uma página JSF o Facelets se encarrega de carregar a página do disco, processar tag a tag e construir uma estrutura em memória. Essa estrutura é cacheada … Continuar lendo Performance: Habilite o cache de páginas do Facelets

Cuidado com o timezone ao trabalhar com JSF 2

Se você, assim com eu, é um desenvolvedor Web então há grandes chances de você já ter gravado data e hora errada no banco de dados por causa do fuso … Continuar lendo Cuidado com o timezone ao trabalhar com JSF 2

Limpando a árvore de componentes no JSF 2.2

Um dos posts no meu blog que mais ajudou desenvolvedores foi o post sobre Limpando a árvore de componentes, pois nele discutimos como os componentes são trabalhados durante o ciclo … Continuar lendo Limpando a árvore de componentes no JSF 2.2

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 … Continuar lendo Criando anotações customizadas com Spring

Named Queries vs Queries Dinâmicas

É muito comum a discussão entre os desenvolvedores de uma equipe sobre a forma de como as consultas JPQL serão organizadas na aplicação. Uns preferem tê-las dentro das entidades através … Continuar lendo Named Queries vs Queries Dinâmicas

FacesUtils: sua classe de utilidades

Um boa prática quando trabalhamos com JSF é tentar manter nossos managed beans o mais simples possível, de tal forma que ele expresse apenas os dados e eventos das nossas … Continuar lendo FacesUtils: sua classe de utilidades