DUnit, finalmente usando Unit Tests

8/09/2006

Apesar de conhecer os benefícios dos testes unitários há um bom tempo, ainda não tinha tido a oportunidade para criar um. Prazo curtos, projetos com pouco MVC (tendo as classes/códigos de apresentação, negócio e persistência misturados), etc.

Atualmente estou desenvolvendo um controle de permissões granulares e tive a oportunidade de desenvolvê-lo todo separado do sistema e estou para iniciar o processo de integração ao sistema, porém antes de integra-lo resolvi gastar (a palavra certa seria investir) algum tempo na criação de testes.

O principal motivador realmente foi o tempo que eu estimei gastar com
todos os testes (entrar em várias rotinas, testar combinações de permissões pelo grupo ou pelo usuário, fazer dezenas de simulações, corrigir os erros e retestar tudo de novo) e achei que a utilização de testes unitários gastaria um tempo menor.

Depois que decidi fazê-lo demorei uma hora estudando como funcionava o DUnit e sua integração com o Borland Delphi 2006, em mais uma hora já tinha uma dezena de casos testados e ainda detectei dois bugs na minha classe.

Cheguei a conclusão que os testes unitários economizam (e muito) o tempo gasto em todo o ciclo de desenvolvimento.


Atualização
: Um amigo meu me falou que meu primeiro paragráfo estava um pouco confuso, melhorei ele um pouco.

TurboGears congelando a API

8/09/2006

Kevin Dangoor anunciou que a nova versão 1.0b1 será a versão oficial de agora em diante e que a API não deve mais sofrer mudanças durante a série 1.0.

Com isto a maior reclamação de muita gente (inclusive eu) que via o TurboGears com bons olhos mas não podiam usar a versão 0.8.9 (faltando muitos, digo muitos recursos) e nem podiam usar a 0.9 pois mudava todo dia, não terão mais desculpas e poderão finalmente usar o TurboGears para valer.

Vejam o post original: TurboGears 1.0b1 released!

Oswaldo Montenegro na novela das seis

11/08/2006

Na trilha sonora da novela das seis Sinhá Moça, tem uma música com a interpretação de Oswaldo Montenegro, Quando a gente ama, esta música foi composta por Marcelo Barbosa, filho de Benedito Ruy Barbosa.

Ela pode ser ouvida aqui.

PS: Muitas destas informações foram extraídas das comunidades Oswaldo Montenegro e OMOL no orkut.

Estilo de codificação em Delphi

11/08/2006

Me perguntaram recentemente qual o meu estilo de codificação: uso de maiúsculas, minúsculas, CamelCase, posição do begin, espaços de indentação etc. Respondi que é basicamente o mesmo da Borland, pelo menos eu “imito” o padrão das bibliotecas do Delphi, então achei este link que explica melhor.

Fiz uma auto-avaliação e acho que meu nível de aderência a este estile é próxima a 90% 😀

Até a próxima…

Oswaldo Montenegro

9/08/2006

Sei que a maioria só deve conhecer Bandolins e Lua e Flor, e mesmo conhecendo estas músicas talvez não saibam quem é o interprete. Com um pouco mais de sorte quem acompanhou os antigos festivais deve conhecer também Agonia e Condor.

Mas Oswaldo está na estrada há mais de 25 anos, tem dezenas de CDs gravados, várias peças escritas e dirigidas por ele, algumas centenas de músicas e muitos fãs como eu. Aqui temos o curriculum dele.

Ele brinca muito com vários estilos músicas, listarei abaixo algumas músicas dele (ou que ele interpretou) tentando colocar apenas uma em cada estilo:

  • A festa (Imitando Gil)
  • Aos filhos de escorpião
  • Cada irmão (raças e credos) – adaptação de One Love – Bob Marley
  • Camisa amarela – Ary Barroso
  • Candeeiro – Bucket to the South
  • Chão, pó, poeira – Gonzaguinha
  • Chove não molha
  • Cigana
  • Como é grande meu amor por você – Roberto Carlos
  • Entre uma balada e um blues
  • Escondido no tempo
  • Fado doido
  • História estranha
  • Hoje ainda é dia de rock – Zé Rodrix
  • Incompatibilidade
  • Metade
  • Ramaelhando – Admirável gado novo – Zé Ramalho
  • Roda viva – Chico Buarque
  • Sem mandamentos
  • Tiro cruzado
  • Um bilhete para Didi

Uau, levantando esta lista acabei ouvindo muita música boa. Tentei não alonga-la, mas não teve muito jeito. Ai nós temos blues, forró, rock, igexá (sei lá como escreve isto), fado, samba, reggae, infantil, poema, instrumental, country, a lista é realmente grande, o mais bacana desta lista é que as músicas (ritmos, instrumentos, estilos, etc) são bem diferentes entre si.
A maioria destas músicas é de autoria do próprio, alguns exceções que eu já conhecia o compositor eu citei ao lado delas. Se alguém quiser me corrigir em alguma eu aceito a ajuda, especialmente Um bilhete para didi que eu não conheço o compositor.

O que? Eu não disse qual o estilo/ritmo de cada música… Ok, tarefa de casa, pesquisem, ouçam, me perguntem…

Até a próxima.

Atualização: Atualizei o compositor de Hoje ainda é dia de rock e Admirável gado novo com a dica do Claúdio.

O que eu ouço

9/08/2006

Apesar de tudo nem só de informática e tecnologia vive este blog. Segue abaixo uma lista de artistas preferidos e alguns músicas que eu gosto.

Artistas:

  • Oswaldo Montenegro
  • Engenheiros do Hawaii
  • Legião Urbana
  • Pitty
  • Queen
  • Pato Fu
  • Bezerra da Silva
  • Luiz Melodia
  • e muitos outros

Músicas que não saem da minha cabeça:

  • História estranha, Estrelas, Sempre não é todo dia, Condor, Todo mundo é lobo por dentro, A lista
  • Andrea Dorea, Indios, Eduardo e Mônica
  • Vozes, Terra de gigantes, Cidade em chamas, Pose
  • Magrelinha, Fadas
  • e muito mais

Propositalmente não coloquei os interpretes nesta lista de música, se alguém se interessar será muito fácil achar e talvez até ouvir e compartilhar do meu gosto musical.

Até a próxima

Interação Delphi – Zope/Plone com XML/RPC

9/08/2006

Ontem implantei em um cliente um programa desktop feito em Delphi e com alto uso de TClientDataSet (para quem não conhece pense em uma classe para simular tabelas de banco de dados em memória), os dados que alimentavam alguns TClientDataSets vinham através de XML/RPC de um servidor Zope/Plone através da biblioteca dxmlrpc.

Esta biblioteca parece um pouco abandonada, e apesar do protocolo está bem implementado precisou de algumas atualizações:

  • Suporte para Indy 10 (biblioteca que implementa protocolos para internet)
  • Suporte para autenticação (a falta disto praticamente inviabilizava a postagem de dados para o zope)
  • Suporte para especificação do encoding para o XML enviado (sem isto todos os acentos causavam erros)

    Tentarei enviar um patch para o autor nos próximos dias (preciso dar uma polida no código primeiro).

    O programa desktop tinha um objetivo bem definido: Permitir o cadastramento de dados off-line para o seu posterior envio em lote para o servidor Zope.

    Além do ganho de velocidade no cadastramento (sem espera entre a gravação de um registro e uma nova tela para cadastro) deixamos o servidor mais livre para as atividades de consulta e podemos escolher o melhor horário para o envio dos novos dados.

    O interessante aqui é que o Delphi (ambiente usado para geração do programa cliente) não possui suporte nativo a XML/RPC deixando apenas a solução via requests HTTP ou Web Services disponíveis, porém, esta última depende de uma série de bibliotecas externas serem instaladas no servidor.

    Acredito que a solução via XML/RPC (através do dxmlrpc) tenha simplificado e muito todo o processo, tornando mais simples a criação de clientes em Delphi para o servidores Zope.

    Já não era sem tempo…

    9/08/2006

    Finalmente estou estreiando um blog, ainda não tenho uma ideia muito bem formada para o seu conteúdo, mas acho que aos poucos ele terá uma personalidade própria, por enquanto fiquem com esta enrolação inicial.

    Valeu !
    😀