Arquivo por Autor

Arredondamento no Java: do double ao BigDecimal

Postado em 15. jul, 2010 por .

16

É fácil se deparar com as limitações do double no Java e na maioria das outras linguagens: quando vamos trabalhar com dinheiro notamos que as contas não estão saindo exatamente como esperávamos: O resultado é um estranho 0.30000000000000004, que pode acarretar em problemas graves dependendo da utilização e arrendondamento aplicado depois nesse número. O problema more »

Continue Lendo

Revisitando a concatenação de Strings: StringBuilder e StringBuffer

Postado em 13. jun, 2010 por .

22

Uma discussão muito antiga que frequentemente aparece no Java é o uso errado da concatenação de Strings, que pode acarretar numa grave perda de performance e trashing de memória. Mas por que? O problema é muito simples de enxergar. Imagine um laço em que você concatena uma String com todos os números de 0 a more »

Continue Lendo

Logar é preciso, debugar não é preciso?

Postado em 27. mai, 2010 por .

17

Muitas vezes você percebe que está debugando o mesmo trecho de código incessantemente: horas são gastas tentando procurar o erro, checando variáveis, adicionando e removendo break points e até adicionando complexos alarmes condicionais. Ferramentas como o Netbeans e o Eclipse facilitam muito esse trabalho, mesmo quando ele é feito remotamente, o que é ainda mais more »

Continue Lendo

Cloud Computing na Casa Branca e o PaaS

Postado em 14. mai, 2010 por .

15

Não é novidade empresas economizarem milhares de dólares ao adotarem o cloud, como foi o caso do New York Times. Agora, foi a vez do governo norte americano, que deve economizar mais de um milhão de dólares até 2011 através do Amazon EC2. O Amazon EC2 permite inúmeras configurações diferentes e você pode tomar diversas more »

Continue Lendo

As dependências do Hibernate 3.5 e 3.6

Postado em 14. abr, 2010 por .

37

O primeiro desafio de um iniciante em Hibernate, antes mesmo de fazer um tutorial prático, como o disponível na apostila FJ-21 da Caelum, é organizar as dependências necessárias. Até o Hibernate 3.3, a maneira a qual ele era distribuído dava trabalho pra quem precisasse usar a JPA: além do zip contendo o hibernate, era necessário more »

Continue Lendo

Google Android: uma nova plataforma Java para celulares?

Google Android: uma nova plataforma Java para celulares?

Postado em 23. mar, 2010 por .

11

O Google Android foi criado como um sistema operacional para celulares, tendo seu primeiro lançamento no mercado em setembro de 2008. Como o mercado o tem recebido? A plataforma Android permite programar utilizando a linguagem Java, porém ela não roda bytecodes no padrão da JVM. O plugin do Android para Eclipse faz uma conversão do more »

Continue Lendo

1.000.000 de mensagens no GUJ.com.br e o futuro da comunidade Java

Postado em 15. mar, 2010 por .

8

O GUJ é uma comunidade que começou através de alguns amigos que terminavam seus estudos em computação na Universidade de São Paulo, que haviam se encantado com a linguagem Java quando esta já estava em seu auge, há 7 anos: dia 10 de agosto de 2002. O site começou com um fórum modesto, onde alguns more »

Continue Lendo

Retrospectiva Caelum 2009

Postado em 05. jan, 2010 por .

6

Foi um ano de muitas realizações e novidades para a Caelum. Participamos de muitos eventos e palestras. Além do Falando em Java 2009, tivemos o Caelum Day no Rio de Janeiro, participamos do Maré de Agilidade, Maratona de Programação da USP, Oxente Rails, JUGDay Presidente Prudente, o gigante RailsSummit America Latina, palestras no SouJava, Dev more »

Continue Lendo

Metaprogramação em Java? O papel do APT.

Metaprogramação em Java? O papel do APT.

Postado em 08. dez, 2009 por .

16

Em 2004, com o lançamento do Java 5, muitas novidades entraram pra linguagem. As anotações são um recurso hoje fundamental, que utilizamos como metadados. O Hibernate, junto com a JPA/EJB 3.0, popularizaram muito o uso das anotações para afetar o comportamento em tempo de execução do framework em relação às suas classes anotadas. Em linguagens more »

Continue Lendo

O cloud computing é inevitável?

O cloud computing é inevitável?

Postado em 28. out, 2009 por .

18

A Caelum.com.br roda agora no cloud. Por que? Vale a pena? Temos tantos acessos assim? Entre os exemplos clássicos do bom uso do cloud temos o sucesso do New York Times: eles conseguiram digitalizar em PDF mais de 4 terabytes de edições do jornal muito antigas (1851-1922) usando 100 máquinas e gastando apenas 240 dólares! more »

Continue Lendo

A java.net.SocketException Broken Pipe

Postado em 19. out, 2009 por .

16

Quando começamos a programar com banco de dados, rapidamente aprendemos que devemos sempre usar um pool de conexões para acessa-lo, caso contrário podemos facilmente atrapalhar o bom funcionamento do mesmo, devido o excesso de conexões. Passamos então a usar um pool de conexões, e ao colocar o sistema em produção, nos deparamos com outro problema: more »

Continue Lendo

Enfrentando a LazyInitializationException no Hibernate

Postado em 13. out, 2009 por .

23

Sem dúvida o primeiro balde de água fria que levamos ao começar a trabalhar com o Hibernate é a LazyInitializationException. Afinal, quando e por que ela acontece? Para chegar lá precisamos de um exemplo de relacionamento: uma nota fiscal tem vários itens de compra, um produto tem uma categoria: Depois de mapeadas nossas entidades, podemos more »

Continue Lendo

Livro Arquitetura e Design de Software: 4 tópicos do draft liberados!

Livro Arquitetura e Design de Software: 4 tópicos do draft liberados!

Postado em 17. jul, 2009 por .

16

Atenção! O livro já está a venda. Saiba mais no site oficial. Depois de muito trabalho e suor temos o prazer de apresentar um rascunho de alguns tópicos do livro Arquitetura e Design de Software: uma visão sobre a plataforma Java. O livro é resultado de mais de dois anos da nossa experiência em ministrar more »

Continue Lendo

A JVM e as outras linguagens: você está preparado?

Postado em 25. jun, 2009 por .

12

Um outro assunto que tem aparecido com cada vez mais frequência na lista interna da Caelum são as diversas linguagens que rodam sob a JVM. Sejam elas compiladas diratamente para bytecode Java, ou interpretadas através da Java Scripting API adicionada no Java 6. O Fábio Kung fez no início do ano um acalorado post intitulado more »

Continue Lendo

Java Puzzle: curiosidade com a eliminação das variáveis locais

Postado em 14. jun, 2009 por .

6

A lista de emails interna de desenvolvedores da Caelum sempre foi muito ativa, e ultimamente anda aparecendo alguns dos clássicos Java Puzzlers para serem debatidos. O Márcio Hasegawa recentemente postou o problema mais recente da Java Specialists Newsletter: Problema Por que isso dá OutOfMemoryError? Repare que criamos duas arrays que gastarão mais da metade da more »

Continue Lendo