Thiago Faria de Andrade

Fundador e instrutor da AlgaWorks. Certificado como programador Java pela Sun, autor e co-autor de diversos livros de Java, Java EE, JPA, JSF e PrimeFaces e palestrante da maior conferência de Java do mundo (JavaOne San Francisco). Iniciou seu interesse por programação aos 14 anos de idade (1995), quando desenvolveu o primeiro jogo de truco online e multiplayer do mundo. Já foi sócio e trabalhou em outras empresas de software como programador, gerente e diretor de tecnologia, mas nunca deixou de programar.

Entrevista com Rafael Benevides sobre Apache DeltaSpike

Postado por em   ●   23 comentários

No final de Outubro/2015 eu estive na conferência JavaOne 2015, em São Francisco, e tive o privilégio de conhecer um dos caras que faz parte do time do Apache DeltaSpike.

Rafael Benevides é engenheiro de software na Red Hat e PMC (Project Management Committee) no projeto Apache DeltaSpike, uma API de extensões para CDI.

Conversei com Rafael sobre o que é o DeltaSpike, os principais módulos e como começar a usar a tecnologia em projetos Java.

Continue lendo

Entrevista com Reza Rahman no Voxxed Days Istanbul 2015

Postado por em   ●   22 comentários

Em Maio de 2015, no evento Voxxed Days Istanbul, conversei com Reza Rahman, que é evangelista Java EE na Oracle Corporation.

Assista ao vídeo da conversa com Reza sobre Domain-Driven Design. Ele dá várias sugestões interessantes para quem quer começar a aprender DDD para aplicar em projetos Java EE.

O evento Voxxed Days Istanbul reuniu outros grandes nomes, como Gaving King, Arun Gupta e Çağatay Çivici.

Continue lendo

Entrevista com Çağatay Çivici no Voxxed Days Istanbul 2015

Postado por em   ●   61 comentários

No mês de Maio/2015 eu me encontrei com Çağatay Çivici no Voxxed Days Istanbul, um evento que aconteceu em Istambul (Turquia).

Çağatay é o criador do PrimeFaces, a biblioteca de componentes JSF mais usada do mundo.

O evento Voxxed Days Istanbul reuniu outros grandes nomes, como Gaving King, Arun Gupta e Reza Rahman.

Conversei com Çağatay sobre o futuro e outras coisas relacionadas ao PrimeFaces.

Continue lendo

Seus projetos de software falham e você não sabe por quê?

Postado por em   ●   14 comentários

Você desenvolve software usando o método da construção civil?

Alguém especifica todo o sistema, você codifica, outra pessoa testa e vai para produção.

Agora você não dorme mais, porque o sistema está cheio de bugs e o que o cliente precisa é algo bem diferente do que foi feito.

É isso que acontece com seus projetos? Então assista esse vídeo!

Continue lendo

Pesquisa e seleção com Dialog Framework do PrimeFaces

Postado por em   ●   50 comentários

Quando desenvolvemos as telas de nossos sistemas, é muito comum precisarmos incluir campos de seleção que podem retornar muitos registros.

Usar caixas de seleção em alguns casos pode ser um problema. Imagine exibir um combo box para listar 5.000 clientes para o usuário? Não parece uma boa ideia!

Nessa vídeo aula você vai aprender a desenvolver um diálogo de pesquisa e seleção com Dialog Framework do PrimeFaces, que resolve esse requisito de uma forma bem elegante.

Continue lendo

Validação client-side em projetos JSF com PrimeFaces

Postado por em   ●   49 comentários

As validações em sistemas JSF são executadas sempre no lado do servidor, quando um formulário é submetido.

Já imaginou se você pudesse fazer essas mesmas validações em client-side, sem precisar escrever código JavaScript para cada componente que deve ser validado?

Isso é possível com PrimeFaces, e nesse post você vai aprender como é simples configurar a validação em client-side.

Continue lendo

Exibindo árvores com o componente Tree do PrimeFaces

Postado por em   ●   23 comentários

Quando precisamos exibir dados hierárquicos em sistemas, geralmente criamos uma árvore no estilo de gerenciadores de arquivos de sistemas operacionais, como Windows Explorer (Windows) ou Finder (MacOS).

Em sistemas JSF, podemos usar a biblioteca do PrimeFaces, que fornece um componente que permite fazer isso com muita facilidade, além de diversos recursos.

Neste artigo você vai aprender o essencial dos componentes <p:tree> e <p:treeNode> para exibir dados hierárquicos com navegação client-side.

Continue lendo

Paginação de DataTable do PrimeFaces com Lazy Loading

Postado por em   ●   70 comentários

Quando trabalhamos com sistemas JSF, precisamos tomar cuidado com as consultas que fazemos e exibimos em tabelas de dados.

O componente <p:dataTable> do PrimeFaces possui o recurso de paginação de dados, mas embora possa parecer que exibir os dados paginados para o usuário seja suficiente quando trabalhamos com grandes conjuntos de dados, não é bem assim!

Neste artigo você vai aprender a fazer paginação de dados com o componente DataTable do PrimeFaces usando o recurso de Lazy Loading, e assim você vai poder evitar estouros de memória no servidor ao trabalhar com consultas que retornam milhares de registros.

Continue lendo

Validação com Bean Validation

Postado por em   ●   5 comentários

Bean Validation é uma especificação que permite validar objetos com facilidade em diferentes camadas da aplicação. A vantagem de usar Bean Validation é que as restrições ficam inseridas nas classes de modelo.

Precisamos de uma implementação de Bean Validation. As implementações podem adicionar restrições customizadas, além das fornecidas pela especificação. Usaremos Hibernate Validator, a implementação de referência.

Continue lendo