Categoria: Java

  • Apache Ant: como pude te ignorar por tanto tempo???

    “Comodismo emburrece”. Sempre repito orgulhosamente esta frase. Nesta semana acabei por perceber que também cai vítima do mesmo. Devido à comodidade que o Netbeans nos oferece no deploy e build de aplicações, acabei por ignorar completamente o motor responsável por esta comodidade: o Apache Ant. Na realidade, não foi só o comodismo que me privou…

  • Why (at least for me) Groovy sounds like a Java++

    I’m a Java guy, and as may sound obsolete to some, but I really like this language. As time goes by, and I start to know better another languages like Groovy or Ruby, I can’t avoid to feel a little envy of those. Java 5 revamped the language, that’s sure, but it still could be…

  • Grails and legacy code: making old code groovy again!

    Code reuse with Grails is amazingly easy. When working with this framework, it’s really cool to see the huge improvement in productivity that we can achieve. But if you have a large legacy code behind you, this productivity will simply disappear. And this is where Grails really shines and become a real choice for a…

  • Grails e código legado – rejuvenesça seu código legado!!!

    Um dos aspectos mais fenomenais do Grails consiste no reaproveitamento de código legado. É muito bacana ter todo o ganho de produtividade que o framework nos oferece, no entanto, este ganho só se torna REAL com reaproveitamento de código. E é neste ponto que Grails se torna REALMENTE interessante para o desenvolvedor que trabalha com…

  • Groovy como linguagem de script – como instalar e minha experiência

    Groovy tem sido minha linguagem de script favorita por pelo menos um ano, conseguindo algo que até então era impensável pra mim: substituir o Perl, que até então quebrava todos os meus galhos e troncos (muitos troncos). Claro: meu caso não é uma regra, porém acredito que seja muito próximo da realidade de diversos programadores…

  • JExcel comendo sua memória? Fácil de resolver!

    Eis o problema: você precisa gerar uma planilha gigantesca usando o JExcel e eis que de repente… BOOM! Um OutOfMemoryError ocorre salta em sua direção. (Devo confessar: adoro esta biblioteca. Apesar de não ser tão abrangente quanto eu gostaria (não inclui gráficos), é simples o suficiente para que até um macaco consiga gerar arquivos no…

  • Como descobrir o nome daquela coluna em uma planilha?

    Suponhamos que você esteja trabalhando na geração de uma planilha usando POI ou Jxl ou OdfEasy ( :-) ). Um problema que surge é: como saber qual o nome da coluna 34? Encontrei uma função feita em C# que, traduzida para o Java, resulta no código abaixo (ei, se encontrarem algum bug na mesma, me…

  • Como o MALDITO Access pode jogar uma JVM no chão

    Este problema ocorre com as versões 5 e 6 do Java executando no sistema operacional Windows XP. Recentemente enfrentamos um problema bastante interessante: ao instanciarmos um objeto do tipo PreparedStatement (usando como conexão a ponte JdbcOdbc padrão do Java) acessando uma base de dados Access (97), a JVM simplesmente ia pro chão. BOOM! O erro…

  • O que é Grails e como ele salva a plataforma JEE (além de lhe evitar o tédio)?

    Se você chegou a esta página, é sinal de que tem pelo menos uma noção básica do que venha a ser Grails:  um framework/plataforma utilizada na construção de aplicações web. Porém, para desenvolvedores Java já acostumados com os frameworks atuais, como Struts, JSF, Facelets e outros, trata-se de algo mais do que mais um framework…

  • Java: Algo sobre o classpath que eu não sabia (e talvez você também não)

    Topei com este post, no qual é mencionada uma novidade do Java 6 que não conhecia: você agora pode usar caracteres coringa para definir o classpath da sua aplicação pela linha de comando! A situação é bem conhecida: você possui uma aplicação que utiliza 293847203497823489762348976 jars. Então, é necessário definir o classpath da mesma. Primeiro…

  • Java 7 vai ter a cara do Groovy?

    Confesso: sou louco por Groovy! Sendo assim, fico muito feliz ao ver que dentre as novas features previstas para o Java 7, encontram-se itens que me fizeram adorar Groovy. Ao imaginar como será o código gerado na nova versão do Java caso estas features passem, percebe-se nítidamente que será incrivelmente parecido com Groovy. Basta listar alguns…

  • JDBC: Maldito Access: como resolver o problema “não é possível abrir mais tabelas (can’t open more tables)”

    Então aconteceu com você: um belo dia teve de programar em Java acessando o maldito “banco de dados” Access… Seu código está escrito corretamente e a aplicação é iniciada. No início, tudo vai bem, você até se surpreeende com o fato de estar funcionando, até que, sem mais nem menos, começam a surgir excessões com…

  • Flash que se cuide por causa da volta dos applets Java?

    Talvez. Mas apenas talvez. Java FX até agora não pegou, no entanto, para minha surpresa, me deparei com um projeto opensource (destes que. literalmente, surgem do NADA) chamado PulpCore. Trata-se de um framework para desenvolvimento de aplicações gráficas em 2D, específicamente desenvolvido paraa criação de applets Java. Ao acessar o site do projeto, e experimentar…

  • Incrível demo de OpenGL em Java (pelo menos pra mim!)

    Estudando, topei com o projeto JOGL, que consiste no encapsulamento da biblioteca OpenGL para a plataforma Java. Navegando pelas demonstrações, topei com um exemplo de refração/reflexão usando Java + OpenGL que simplesmente jogou meu queixo no chão. O demo pode ser acessado via Java Webstart, clicando aqui. Ao executar a demonstração, arraste o coelho com…

  • ODF Easy 0.1 liberado. Facilitando a geração de documentos para o OpenOffice

    Tal como mencionei no post anterior, iniciei o desenvolvimento de uma nova API para geração de arquivos no formato ODF (os arquivos com os quais o OpenOffice trabalha). Pois bem, acabo de liberar o primeiro release deste projeto. Ainda é bastante rudimentar. Basicamente, permite aos usuários apenas criar novas planilhas e inserir algumas células (sem…

  • Gerando arquivos ODF com Java: anunciando o ODFEasy

    Semana passada, em um de nossos projetos, precisamos gerar alguns gráficos no Excel usando Java. Não para nossa surpresa, o suporte a esta funcionalidade do formato Excel é extremamente limitada para aqueles que trabalham com Java. Basicamente, vimos duas opções: Criar um modelo pré-definido com um gráfico já pré-criado e, em seguida, simplesmente preencher algumas…

  • Lendo XML com Groovy (ou como causar inveja em um programador Java (e depois satisfazê-la!)) – (ou ainda, como ler XML SEMPRE deveria ter sido)

    Sempre achei XML paradoxal. Por um lado, trata-se de uma tecnologia fantástica: a sintaxe do XML é simplíssima. Qualquer um consegue gerar um documento no formato XML. No entanto, em contrapartida, ler o bem dito documento (ao menos em Java) pode ser um suplício. Há ferramentas que facilitam este trabalho (Dom4J, XStreamer, etc.), mas é…

  • Gambiarra esperta: trabalhando com mais de um banco de dados usando Hibernate (ou qualquer ferramenta ORM)

    Hibernate é fenomenal, mas tem um problema: quando precisamos lidar com mais de um banco de dados, as coisas se complicam. Neste post pretendo mostrar como superar esta “limitação” do Hibernate usando um padrão (confesso: orientado a gambi, mas funciona bem!) que facilita esta tarefa. Porém, antes de começar, vamos supor a seguinte situação: existem…

  • Como criar chaves primárias do tipo UUID com Grails

    Devo confessar, detesto chaves primárias do tipo auto incrementais. Sempre preferi utilizar UUID: podem ocupar mais espaço em armazenamento em disco, mas são ideais quando lidamos com aplicações paralelizadas ou mesmo quando queremos ter um controle maior sobre o valor que devemos armazenar nestes campos. Ao iniciar meu contato com Grails, fiquei um pouco decepcionado…

  • Criando consultas complexas no Hibernate de maneira dinâmica

    Neste post pretendo expor um padrão bastante simples a ser aplicado na criação de consultas usando a API Criteria do Hibernate. A API Criteria consiste em uma ferramenta extremamente poderosa que o Hibernate nos oferece para solucionar um problema muito comum no desenvolvimento de aplicações que precisem fazer consultas a banco de dados: a maldita…