Arquivo para 'Java'

quartz

Agendamento de tarefas em aplicações web: um truque com Quartz

Postado em 25. nov, 2010 por .

12

O Quartz é a biblioteca mais utilizada para agendar tarefas Java. Simples e muito superior ao mecanismo de Timer do Java EE. Através de sua API, podemos facilmente criar um Job, como um que vai enviar email lembrando a necessidade de mudança de senha, por exemplo: Se quisermos que esse procedimento seja executado uma vez more »

Continue Lendo

JavaEE 6: contexto assíncrono das Servlets para o Ajax push

Postado em 27. set, 2010 por .

10

Desenvolvedores de backend que precisam de muita escalabilidade já conhecem os truques de IO não-blocante há muito tempo: selector, poll e epoll no Linux, kqueue no MacOS e BSD e I/O Completion Ports no Windows. A palestra do Renato Lucindo no QConSP abordava questões e soluções que podiam ser implementadas com essas abordagens. Curiosamente são more »

Continue Lendo

QConSP 2010: como foi o principal evento de arquitetos e desenvolvedores no Brasil

Postado em 17. set, 2010 por .

13

Esse último fim de semana foi bastante agitado para a comunidade de desenvolvedores brasileiros: o QCon, principal evento de arquitetos e desenvolvedores, finalmente desembarcou no Brasil e aconteceu na cidade de São Paulo no centro de eventos FeComércio. O evento foi organizado pela Caelum e pelo InfoQ Brasil, e ultrapassou até mesmo o tamanho da more »

Continue Lendo

Começando com parâmetros e configurações da JVM

Começando com parâmetros e configurações da JVM

Postado em 09. set, 2010 por .

10

Quando rodamos nossas aplicações na JVM não sabemos o que acontece internamente dentro dela. Questões como o Garbage Collector, JIT e alocação de memória heap passam desapercebidas por um bom motivo: não devemos nos preocupar (muito) com elas. Mesmo sem ter um controle direto sobre as diferentes JVMs existentes, muitas vezes precisamos customizar e fazer more »

Continue Lendo

ConcurrentModificationException e os fail-fast iterators

Postado em 18. ago, 2010 por .

12

A java.util.ConcurrentModificationException costuma surpreender a muitos: como uma exception com esse nome pode aparecer mesmo em uma aplicação single threaded, que não envolve concorrência alguma no acesso dessa coleção? Para entender melhor, vale relembrar que as coleções muito antigas, como Vector e Hashtable, são thread safe, implementado através do uso do synchronized em seus métodos more »

Continue Lendo

Possibilidades de design no uso do seu Generic DAO

Postado em 26. jul, 2010 por .

19

Muitas vezes, quando estamos criando nosso sistema temos a tentação de criar o GenericDAO para não ter que ficar repetindo as operações CRUD e listagens. O maior problema com o GenericDAO é que não necessariamente todas as operações fazem sentido para uma determinada classe. Daí o que fazer se, por exemplo, não faz sentido excluir more »

Continue Lendo

Então você quer ser um arquiteto Java?

Postado em 21. jul, 2010 por .

36

Durante o atual processo de revisão do livro de Arquitetura e Design de Software, discussões apareceram sobre o termo arquiteto. Antes de definir o que faz um arquiteto, há o termo arquitetura. O que é a arquitetura de uma aplicação? Uma pergunta difícil de responder. Entre as definições mais antigas, Roy Fielding possui um bom more »

Continue Lendo

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

Ordenando coleções com Comparable e Comparator

Postado em 22. jun, 2010 por .

17

Uma tarefa comum no dia-a-dia dos desenvolvedores é ordenar uma lista ou array. Para não inventar a roda, a Collections API do Java (também conhecida pelo nome do seu pacote, o java.util) vem pronta para ajudar nessa tarefa. Falamos dessa API extensivamente na apostila do curso FJ-11, e vou aqui passar para o problema específico more »

Continue Lendo

Guardando senhas criptografadas em Java

Postado em 17. jun, 2010 por .

18

Eu e o Thiago Ferreira estavámos mais uma vez na Caelum passando pela situação de gravar as senhas do usuário no banco de dados. Ainda hoje alguns grandes sites cometem o grave erro de guardar as senhas dos usuários em texto puro, fazendo com que um possível roubo de dados acarrete num problema ainda maior. 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

Últimos aprendizados e inovações na Caelum

Postado em 27. mai, 2010 por .

15

Inovação é parte fundamental da missão da Caelum. E, como uma empresa de treinamentos, Ensinar e Aprender são nosso dia a dia. Muitos nos perguntam o que devem estudar no seu tempo livre, onde devem investir. A Caelum tem seguido várias linhas e iniciativas que eu gostaria de apresentar nesse post. De tempos em tempos, 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

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

Nova apostila FJ-21 liberada, InfoQ e Comunidade

Nova apostila FJ-21 liberada, InfoQ e Comunidade

Postado em 10. fev, 2010 por .

7

Esse mês o trabalho da Caelum em conjunto com a comunidade foi bastante intenso. O GUJ e o PortalJava se uniram, e, juntamente com a Giran, fizemos a migração da base de usuários e de posts, totalizando quase um milhão de mensagens nos fóruns. A Caelum nasceu destas comunidades e ficamos muito contentes em poder more »

Continue Lendo