Java menos verboso com Lombok

Postado em 14. fev, 2013 por .

43

Já vimos como não aprender Java e Orientação a Objetos. Aprendemos que a geração indiscriminada de getters e setters pode quebrar o encapsulamento de suas classes. Quando há realmente a necessidade de alguns getters e setters, podemos gerá-los com o auxílio de nossa IDE preferida, inclusive é boa prática reescrevermos os métodos equals(), hashCode() e more »

Continue Lendo

Princípios ágeis revisitados: entrega de valor

Postado em 07. fev, 2013 por .

7

Quando falamos de agilidade é bem comum pensarmos em Scrum, XP, Kanban ou ainda em programação pareada e TDD. Estamos acostumados a pensar em algum processo ou prática ágil. Isso não é um problema, mas essas são todas formas de aplicar os conceitos mais fundamentais, que definem o que é Agile. Fazer uma visita à more »

Continue Lendo

Como medir a coesão do seu código? A métrica LCOM

Postado em 23. jan, 2013 por .

5

Aqui no blog da Caelum já discutimos métricas como complexidade ciclomática e acoplamento, e chegamos em maneiras quantitativas de medi-las. Agora, uma boa pergunta é: como medir coesão? Mais claramente, como chegar em um número que diz o quão coesa uma classe é? Vamos estudar novamente o que é coesão. Sabemos que uma classe deve more »

Continue Lendo

Seu código CSS pode ser mais limpo, flexível e reaproveitável

Postado em 16. jan, 2013 por .

35

Bons programadores aprendem boas práticas de código desde criancinhas. Encapsulamento, bons nomes de variáveis e métodos, orientação a objetos e outros conceitos clássicos estão na ponta da língua. Apesar disso, vejo muito programador bom fazendo código front-end ruim. Minha opinião? Fazer um bom código front-end é mais difícil do que parece. Escrever um bom JavaScript more »

Continue Lendo

Retrospectiva Caelum 2012

Postado em 09. jan, 2013 por and .

3

Como todo ano fazemos uma pequena retrospectiva. Em 2009, 2010 e 2011 tivemos muitas novidades e conquistas. 2012 não foi diferente. Criamos uma editora de livros técnicos que já faz um grande sucesso, a Casa do Código, com mais de 15 títulos. Lançamos novos cursos de .NET, agora que temos diversos conhecedores da plataforma na more »

Continue Lendo

10 posts da Caelum mais acessados de 2012

Postado em 26. dez, 2012 por .

2

Em 2012 passamos dos 4000 comentários no blog, em mais de 320 posts. Confira a seguir os posts de 2012 que mais interessaram os leitores: TOP 10 posts mais acessados de 2012 Use CDI no seu próximo projeto JavaPor Sérgio Lopes, em 23/05 As Novidades do Eclipse JunoPor Hanneli Tavante, em 24/07 As novidades do more »

Continue Lendo

Receba notificações da api de Servlet via Listeners

Postado em 18. dez, 2012 por .

6

Em alguns sistemas web precisamos barrar que o usuário efetue o login em mais de um computador. Mas a pergunta é, onde colocaríamos essa regra? Pode ser feito logo quando o usuário logar, para saber se ja há algum usuário com aquele login, com uma sessão aberta. Claro, você pode se organizar e ter apenas more »

Continue Lendo

Diminua suas dependências com os eventos do CDI

Postado em 11. dez, 2012 por .

45

Já falamos de CDI aqui no blog da Caelum, tanto numa introdução pra você começar a usar o CDI quanto em tópicos mais avançados. E recentemente até abordei o tema em uma palestra sobre CDI no JavaOne, além de sempre falarmos dele no nosso curso de JSF e CDI. Fato é que o CDI tem more »

Continue Lendo

Muitos parâmetros? Named Parameters em Ruby e Builders em Java

Postado em 03. dez, 2012 por .

10

Pode ser difícil ler uma invocação de método ou de construtor quando temos muitos parâmetros. Isso piora se tivermos parâmetros do mesmo tipo. Um exemplo em Ruby: O que esse construtor recebe como parâmetros? O que esses nomes representam? Lendo simplesmente dessa forma, só podemos chutar. Há muitas formas de atenuar esse problema. Uma das more »

Continue Lendo

Lendo arquivos texto em Java com Scanner

Postado em 26. nov, 2012 por and .

18

É frequente precisarmos ler arquivos textos para processá-los em lote. Eles estão nos mais variados formatos. Há muitos onde determinada coluna representa o fim de um campo (posicionais), ou cada campo é demarcado com um separador especial, como por barras, vírgulas, espaços ou tabs. Por exemplo, um arquivo que lista o nome, data de nascimento, more »

Continue Lendo

Melhorando a legibilidade dos seus testes com o Hamcrest

Postado em 21. nov, 2012 por .

6

Testes automatizados são uma parte importante de uma aplicação. Além de verificarem o bom funcionamento do sistema, servem como uma forma de documentação do código testado. Mas, para servirem como documentação, os testes precisam ser de fácil leitura, permitindo a compreensão da lógica testada rapidamente. Existem diversas técnicas para tornar o código dos testes mais more »

Continue Lendo

Aplicando o progressive enhancement

Postado em 31. out, 2012 por .

13

Sempre desejou utilizar recursos modernos do HTML5 e do CSS3, mas era impedido por ter que suportar navegadores mais antigos? Seu site para de funcionar com JavaScript desabilitado? Neste post, mostrarei maneiras de aplicar o conceito de progressive enhancement atacando a tríade estrutura, estilo e comportamento para ajudá-lo na difícil tarefa de agradar gregos e more »

Continue Lendo

Orientação a objetos: uma outra perspectiva sobre o acoplamento

Postado em 24. out, 2012 por .

30

Todo mundo que já viu orientação a objetos alguma vez na vida conhece a frase “classes devem ter alta coesão e baixo acoplamento“. Uma classe altamente acoplada pode ser sim um problema. Veja o diagrama abaixo, por exemplo, onde temos a classe GerenciadorDeNotaFiscal, que depende de outras 3 classes: um DAO, uma classe que envia more »

Continue Lendo

O eterno problema de calcular a diferença de dias entre duas datas em Java

Postado em 17. out, 2012 por .

22

Seu chefe te dá a seguinte missão: calcular a diferença de dias entre duas datas. Usando API do java.util.Date ou java.util.Calendar você até consegue dar um jeito. Um mês depois ele pede a você que calcule novamente essa diferença, mas desprezando sábados e domingos. E agora? O que fazer? E tem mais, um tempo depois more »

Continue Lendo

Apostilas da Caelum agora em HTML: bastidores

Postado em 08. out, 2012 por .

9

Há poucos dias, a Caelum disponibilizou suas conhecidas apostilas de computação em mais um formato: o HTML, pra visualização direta no navegador. Confira: Java e Orientação a Objetos Java para Desenvolvimento Web Desenvolvimento Ágil para Web com Ruby on Rails 3 Desenvolvimento Ágil para a Web 2.0 com VRaptor, Hibernate e AJAX Algoritmos e Estrutura more »

Continue Lendo