• Prévia do Grails Brasil 2.0

    Desta vez é pra valer: já está quase pronta a nova versão do Grails Brasil, inteiramente feita em Grails. Confesso que estou ficando muito satisfeito com o resultado. Desde o início o Grails Brasil ( para horror de alguns de seus membros :) ) é baseado no phpBB, que é um motor de fórums feito…

  • Grails: aspectos interessantes na configuração de acesso a dados

    Em diversas aplicações que trabalhei, o único arquivo de configuração que precisamos alterar é o DataSources.groovy. E sabe o que é mais interessante neste componente do framework? É um arquivo de configuração vivo! Grails sempre me surpreende, até em sua configuração básica. Porém, antes de mostrar alguns aspectos pouco conhecidos deste arquivo, vou começar pelo…

  • Grails: testando sua aplicação

    Sabe esta aplicação linda que você está escrevendo em Grails usando todo o dinamismo que o framework te oferece?  Funciona perfeitamente, e em sua cabeça não aparece uma situação sequer na qual algo possa dar errado, certo? Como você pode ter certeza de que esta aplicação está funcionando? Só há uma maneira: testando, e da…

  • Grails: entendendo as validações (constraints)

    No meu último post falei sobre alguns detalhes poucos conhecidos das buscas por critérios. Agora chegou a hora de expor algumas coisas bem legais sobre as validações, aka constraints, oferecidas pelo framework. O básico As constraints nos permitem definir declarativamente as regras de validação que devemos aplicar às nossas classes de domínio. São muito similares…

  • Grails: entendendo a busca por critérios (criterias)

    Um dos recursos mais mal compreendidos do Grails são as criterias (será que posso falar “critérias” no plural?). O objetivo deste post é ir além do feijão com arroz que encontramos na documentação oficial. Espero que assim algumas das dúvidas mais comuns que escuto a respeito deste recurso sejam resolvidas. Vamos tratar de uma situação…

  • Trazendo o Atari para o HTML5 com Canvas: Space Invaders

    Continuando minha pesquisa sobre HTML5 usando canvas, aqui está meu mais novo experimento: recriei à minha moda o clássico “Space Invaders” do Atari. Confesso que fiquei MUITO satisfeito com o resultado e, espero, vocês também. Desta vez não posso dizer que o código seja tão mínimo quanto minha primeira grande experiência, pois um dos meus…

  • Levando o Atari para o HTML5 usando canvas e Javascript – Freeway

    Em 1985 ganhei meu primeiro video game do meu pai: era um Atari 2600, e o jogo que o acompanhava era o “Freeway”. Sendo assim, nada mais natural que o primeiro jogo que eu tente recriar seja este! Me propus recriar em Javascript usando o novo elemento canvas presente no HTML 5 alguns clássicos do…

  • Brincando com canvas/HTML5

    Tenho um brinquedo novo agora: trata-se do elemento canvas presente no HTML 5 e atualmente suportado por práticamente todos os browsers modernos (há uma lista de compatibilidade aqui). Bem: meu objetivo para 2011 é começar a atuar profissionalmente com jogos. Sendo assim, comecei com OpenGL e SDL, que estou estudando frenéticamente. Porém, vi alguns demos…

  • Guia itexto: o container de Injeção de Dependências do Spring 3.0

    O que é injeção de dependências? E um container de injeção de dependências? Alto acoplamento? Pra que serve o Spring framework? O que isto tudo tem a ver com o meu dia a dia como desenvolvedor? Após ouvir diversas vezes estas perguntas, resolvi arregaçar as mangas e escrever um pequeno guia que explica o que…

  • Ah se tivesse isto quando eu estava começando… Revista Easy Java Magazine

    Quando estava começando a aprender Java, devo confessar que os únicos artigos que realmente conseguia entender eram aqueles voltados para os iniciantes presentes nas revistas especializadas, como por exemplo as seções “Tira-dúvidas” e as cartas enviadas pelos leitores (sempre me identificava com aquelas dúvidas). Me lembro que ficava perdido com aquela quantidade imensa de siglas…

  • Java: como a serialização de objetos pode salvar sua aplicação desktop

    Em um dos meus clientes é muito comum o desenvolvimento de aplicações Java voltadas para o ambiente desktop, aonde não raro enfrento problemas sérios de performance e consumo de recursos. O objetivo deste post é expor como usando o recurso de serialização de objetos oferecido pela plataforma Java consegui resolver (ou ao menos minimizar ao…

  • Maquiavel e os palpiteiros da TI

    Estou relendo “O Príncipe” de Maquiavel: o que é realmente bacana neste texto é como se aplica a práticamente todas as esferas do cotídiano. Claro: eu precisava trazer algo para a minha área: desenvolvimento de software. Vou tratar  do capítulo XXIII, chamado “De como se devem evitar os aduladores”. Troque o termo adulador por palpiteiro…

  • Boas Práticas com Spring 3.0 na Java Magazine 84 (artigo de capa!)

    Meu último artigo: “Boas práticas com Spring – Aplicando boas práticas ao container de IoC do Spring” acaba de ser publicado na edição 84 da Java Magazine (wow! é o artigo de capa!). O foco é o container de IoC do framework. São expostas boas práticas que, quando aplicadas ao gerenciamento do container aumentam a…

  • Dica Grails: parâmetros com nomes duplicados

    Há situações nas quais é interessante ter mais de um parâmetro passado ao nosso controlador com o mesmo nome. Para ilustrar a situação, eis um exemplo: imagine que você deseje criar um sistema de cotação de itens aonde seja interessante fornecer ao usuário a possibilidade de cadastrar mais de um preço de uma única vez.…

  • Grails: usando invocação dinâmica de métodos

    Então você sabe que Groovy possui invocação dinâmica de métodos (já falei sobre isto aqui) mas não faz a menor idéia de como tirar proveito deste recurso, certo? Aqui vai um exemplo. Imagine a seguinte situação: você possui um controlador responsável por gerar relatórios baseados em um período  que será digitado pelo usuário em uma…

  • Primeiros passos com Clojure – Iniciando com o pé direito

    Clojure é um tópico que tem ocupado boa parte do meu tempo nos últimos meses. É a realização de um sonho antigo: ver uma variante do Lisp emplacando no ambiente corporativo. Isto porquê a linguagem é feita para ser executada dentro de uma máquina virtual. Atualmente, há implementações da linguagem tanto para a JVM quanto…

  • Grails: lutando contra o cache do navegador (CSS e Ajax)

    Um problema no desenvolvimento de aplicações web é o cache do navegador. É muito comum situações nas quais alteramos arquivos CSS em nosso projeto, enviamos a aplicação para o ambiente de produção e mesmo assim nossos clientes continuam vendo o layout da versão anterior. Isto ocorre porquê o browser cacheia os arquivos baixados da Internet…

  • Grails: resolvendo o problema de queda de conexão com o MySQL

    Você que trabalha com Grails e MySQL já topou com excessões como estas: “com.mysql.jdbc.CommunicationsException: Communications link failure“, “java.net.SocketException: Broken pipe” , “java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.” ? Normalmente ocorrem após algumas horas de inatividade da sua aplicação. Normalmente acontecem porquê…

  • Como uso Grails – a questão do código legado

    De todos os frameworks web que já usei (Java ou não) de longe Grails é o meu favorito. É a plataforma Java Enterprise Edition como sempre deveria ter sido: simples, direta, fácil de usar e sem burocracia. Mas sabe de uma coisa? Adoro um Grails “mutilado”! Eu sei: soa estranho, mas eu não uso todo o…

  • Você REALMENTE acha que vai aprender assim?

    Uma lição importante aprendida com o Grails Brasil foi como não aprender alguma coisa.  A foto do Baudrillard ai ao lado não é acidental. Há alguns anos atrás li um pequeno livro de Baudrillard chamado “A Ilusão Vital”  que chega a uma conclusão fascinante: se você quiser privar um indivíduo de informação, afogue-o nela. E…

  • Integrando o NUnit ao VB.net Express Edition 2008 (e ao C# ED também)

    Então finalmente aconteceu: precisei aprender .net direito para um projeto. No caso, o requisito do cliente foi o de que tudo deveria ser desenvolvido em VB.net.  Sendo assim, busquei material para aprender DIREITO esta linguagem (recomendo o livro “Pro VB 2008 and the .NET 3.5 Platform” de Andrew Troelsen (que fala MUITA merda sobre Java,…

  • Grails: do Groovy à Web – Quinta e última parte publicada na Java Magazine 79

    Acaba de sair a edição digital (o que quer dizer que a versão impressa já deve estar a caminho) da revista Java Magazine n. 79, que contém a quinta e última parte da minha série “Grails: do Groovy á Web”. Desta vez o assunto é a camada de visualização: dei foco ao detalhamento da tecnologia…

  • Primeiros passos NoSQL com MongoDB: manipulando documentos

    Continuando meu post anterior sobre o assunto, é hora de colocarmos a teoria em prática. Meu objetivo agora é expor o básico sobre o funcionamento e operação do MongoDB para que, em seguida, possamos aplicar este SGBD a alguma linguagem de programação (muito provávelmente usarei o Groovy, que cai como uma luva). Instalando o Servidor…

  • Uma experiência bem sucedida com o Memcached

    Memcached é um sistema de cache em memória distribuido muito fácil de usar. Como recentemente tive uma experiência maravilhosa com esta ferramenta acredito que é interessante expô-la neste post (prometo que o próximo post será sobre MongoDB). A natureza do Memcached é extremamente genérica – trata-se de um serviço de rede – sendo assim, o…

Tem alguma recomendação de livro?