O Eclipse é hoje a IDE mais utilizada pelos programadores Java. Possui diversos recursos e ferramentas que tornam o desenvolvimento em Java extremamente rápido e prático. Mas todo desenvolvedor mais experiente sabe que o Eclipse […]
Caelum 2006: uma retrospectiva

Alguns pontos altos e cenas memoráveis de 2006 (e fotos!): A Petrobrás foi um dos clientes grandes com quem fechamos treinamentos neste ano. A foto é da equipe responsável pelo desenvolvimento de frameworks da empresa, […]
Atribuindo null
Um post bem curto sobre uma prática que aparece comumente em códigos por aí: Essa atribuição da lista para null, como muitos de vocês sabem, é totalmente desnecessária, pois ao fim do método o escopo […]
Design Patterns: um mau sinal?
Uma semana atrás estava em Moçambique, próximo a África do Sul, ministrando três treinamentos da Caelum. Conheci muita gente e muitos desenvolvedores, incluindo dois escoceses: Cameron Smith, formado em ciências políticas (!) e mestre em […]
Como impressionar seus amigos com Java
Olá, já estou a algum tempo na Caelum mas só agora estreando no blog e, para compensar a demora, resolvi fazer um pouco diferente. O título deve estar chamando a atenção e antes de colocar […]
Entidades Managed, Transient e Detached no Hibernate e JPA
Distinguir entre os estados de uma entidade no JPA/Hibernate é difícil no início. Um objeto é dito transiente quando não tem representação no banco de dados e nem o EntityManager o conhece, como abaixo: Aqui, […]
Ajax no VRaptor: JSON da maneira fácil
Vamos falar um pouco de web antes que o Paulo Silveira transforme esse blog em um livro de Hibernate! O Fabio Kung deu a idéia de usar JSON para fazer a estrutura básica de Ajax […]
TransientObjectException, LazyInitializationException e outras famosas do Hibernate
Para quem desenvolve com Hibernate, sem dúvida as exceptions que aparecem mais são a TransientObjectException (TOE), LazyInitializationException (LIE) e a PersistentObjectException (POE). Semana passada tive o prazer de ministrar um treinamento de EJB3 e JSF […]
Brincando com Generics: o BizarreGenericDao
Conversando com o Orseni Campos, ele me contou de uma sacada muito interessante que teve juntamente com seu colega Alexandre Bitencourt para resolver um clássico problema do generics: em tempo de execução você não consegue […]
Entendendo Unicode e os Character Encodings
Todo mundo já passou por problemas com character encodings. Quem nunca abriu uma conexão JDBC com o MySQL e puxou do banco um monte de caracteres onde em vez de acentos só se viam pontos […]
Como não aprender orientação a objetos: Herança
Já falei sobre os problemas que os getters e setters podem trazer, caso usados de maneira indiscriminada. A bola da vez é a herança. Lembro quando comecei a programar profissionalmente em Java, no final de […]
Lidando com Exceptions
Pequena Revisão Sabemos que as exceções em Java são classificadas em dois tipos: Checked Exceptions: seguem a regra do handle-or-declare. O desenvolvedor é obrigado a tratar (try-catch) ou relançar (throws), caso não saiba como tratar. […]
Performance: HashSet
em vez de ArrayList
Quando um programador começa com Java, ele rapidamente desiste das arrays para trabalhar com a ArrayList, que encapsula algumas rotinas comuns e trabalhosas. Depois o programador começa a se preocupar mais com o encapsulamento e […]
Apache HTTP server e Tomcat, o HowTo fácil sem o mod_jk
Migramos os nossos sitemas do servidor compartilhado da locaweb para um servidor dedicado, porém enfrentamos o clássico problema: responder php e java na mesma porta de acordo coma URL. O nosso blog é gerenciado pelo […]
Livros: escolhendo a trindade do desenvolvedor Java
Muitas pessoas costumam me perguntar se o livro X é bom, se o livro Y cobre bem Java EE, assim por diante. Alguns desses livros são super específicos de uma determinada tecnologia Java, como por […]