Instalando o setuptools no Python 2.6 no Windows

Programação, Python No Comments

Para instalar o setuptools no Python 2.6 no Windows baixe os seguintes arquivos:

  • setuptools-0.6c9.tar.gz
  • setuptools-0.6c9-py2.6.egg

Estes arquivos estão no site: http://pypi.python.org/pypi/setuptools.

Depois extraia o arquivo setuptools-0.6c9.tar.gz e execute o seguinte comando:

python ez_setup.py setuptools-0.6c9-py2.6.egg

O comando acima irá instalar o setuptools no diretório de instalação do python. Para executar o easy_install basta que no PATH do sistema esteja o diretório Scripts que está dentro da pasta de instalação do Python.

As coisas estúpidas feitas quando se trabalha com programação

Java, Java EE, Programação, Uncategorized No Comments

Este post foi traduzido e alterado deste link:
http://blog.cherouvim.com/the-stupidest-things-ive-done-in-my-programming-job/

Observação: Não fui eu quem escreveu este post. Apenas fiz a tradução e alteração pois achei muito interessante.

As coisas estúpidas feitas quando se trabalho com programação

  1. ORM
    • Estupidez
      Construir um framework próprio de ORM.
    • Consequências
      O projeto vira uma bagunça depois de 2 anos de manutenção com gambiarras para passar pelo meu framework ORM desenvolvido e chamar comandos SQL’s customizados.
    • O que deveria ter sido feito?
      Usar hibernate, iBATIS, Cayenne ou outros parecidos.
  2. EAV
    • Estupidez
      Usar uma modelagem de banco de dados do tipo Entity-Attribute-Value model.
    • Consequências
      Solução não escalável e impossibilidade de rodar queries úteis no banco de dados.
    • O que deveria ter sido feito?
      Usar uma modelagem de banco de dados normalizada.
  3. Acesso ao Banco de dados
    • Estupidez
      Sincronizar o acesso ao banco de dados com uma conexão compartilhada.
    • Consequências
      Escalabilidade zero. Tempos de respostas muito lentos quando mais de 10 usuários estavam utilizando a aplicação.
    • O que deveria ter sido feito?
      Não fazer isto e utilizar um pool de conexões como c3p0 e usar uma “nova” (reutilizada) conexão retornada do pool para cada ciclo de request / response.
  4. IDE
    • Estupidez
      Evitar aprender e utilizar uma IDE.
    • Consequências
      Falta de habilidade de compilar, testar e fazer o deploy da aplicação rapidamente e / ou geralmente fazer qualquer coisa útil.
    • O que deveria ter sido feito?
      Familiarizar-me com uma IDE. Ex.: NetBeans, eclipse, etc.
  5. Transações
    • Estupidez
      Não usá-las.
    • Consequências
      Corromper os dados da aplicação.
    • O que deveria ter sido feito?
      Usar transações do banco de dados. No MySQL usar InnoDB.
  6. Prepared Statements
    • Estupidez
      Usar Statements, concatenação de strings e escapar caracteres para montar queries “seguras”.
    • Consequências
      Possibilidade de SQL Injections na aplicação. É possível logar utilizando por exemplo “or 1=1;delete from users;” e alterar o estado do banco de dados de uma forma muito desagradável.
    • O que deveria ter sido feito?
      Usar Prepared Statements que montam e escapam corretamente as queries dependendo do driver JDBC utilizado.
  7. Lógica de Negócios
    • Estupidez
      Fazer isto nos templates (JSP).
    • Consequências
      Aplicação de manutenção difícil.
    • O que deveria ter sido feito?
      Fazer isto utilizando o padrão MVC com servlets ou com um Front Controller. Melhor se utilizar um framework MVC open source como Struts, Spring MVC, etc.

Trocando a localização de um repositório svn de uma working copy

Programação No Comments

Essa semana troquei o repositório svn de um sistema meu do meu desktop para o site http://www.xp-dev.com. Tive que trocar todas as working copies do meu notebook e desktop para referenciar essa nova localização.

Para fazer isso basta utilizar o seguinte comando:
svn sw –relocate <localização antiga> <nova localização>

ORA-17410: No more data to read from socket

Programação No Comments

Semana passada no trabalho perdi umas 2 horas com o problema ORA-17410: No more data to read from socket. Em diversos lugares falava que era porque o oracle não estava suportando o modo de conexões compartilhadas. Tentei alterar o oracle para dar o suporte para conexões compartilhadas mas sem sucesso.

Após algumas tentativas, verifiquei que o problema era ocasionado quando fazia um select no banco de dados e esse select utilizava um índice específico. Depois de dropar e recriar o índice este erro parou de acontecer.

Freemarker + Sitemesh + Spring

Java EE No Comments

Depois de muito tempo consegui fazer minha aplicação utilizando Freemarker (template engine) + Sitemesh (web page layout framework) + Spring (IOC, etc) funcionar.

Basicamente, basta configurar no web.xml o filtro do Sitemesh (com.opensymphony.sitemesh.webapp.SiteMeshFilter), a servlet do Freemarker que vem com o Sitemesh (com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet) e a servlet do Spring MVC (org.springframework.web.servlet.DispatcherServlet).

O filtro do Sitemesh é aplicado a todas as requisições, a servlet do freemarker às urls *.ftl e a servlet do Spring às urls *.html.

O problema que eu tive foi que os templates do Freemarker e do Sitemesh não eram encontrados. No web.xml, um dos parâmetros iniciais da servlet do Freemarker é o diretório dos templates (TemplatePath). Configurei este parâmetro para “/WEB-INF/templates/”. E no arquivo decorators.xml configurei que os templates do Sitemesh ficavam no diretório “/decorators”. O que acontecia é que o diretório dos templates do Sitemesh deveriam ficar dentro do diretório dos templates do Freemarker. Logo a estrutura de diretórios é dessa maneira: /WEB-INF/templates/decorators.

Segue abaixo o link com a aplicação de exemplo desta integração:
http://www.fnbrandao.com.br/blog/files/freemarker.tar.gz

Vôo duplo de Parapente – Pedra Grande – Atibaia – 18/04/09

Esportes, Parapente 2 Comments

Há algum tempo atrás venho pensando seriamente em fazer algum esporte radical. Depois de conversar bastante, achei um esporte interessante: parapente. No dia 18 de março, fui até atibaia para fazer um vôo duplo para ver como que é esse esporte.

O que posso dizer é que é muito bom, e apesar de meu medo sobre a segurança do esporte, este parece ser muito seguro. Ainda não sei quando e se vou mesmo começar a fazer as aulas para voar sozinho.

Seguem abaixo algumas fotos:

As fotos estão em: http://picasaweb.google.com/fabio.nb/ParapenteVooDuploAtibaiaPedraGrande180409

Os vídeos estão em: http://www.youtube.com/view_play_list?p=622B966AA3F0F01C

Show Deep Purple – 06/03/09

Deep Purple, Shows No Comments

Show do Deep Purple!!! Atrasadas, mas estão aí as fotos.

Seguem abaixo algumas fotos:

As fotos estão em: http://picasaweb.google.com/fabio.nb/DeepPurple060309

Show Kiss – 07/04/09

Kiss, Shows No Comments

Kiss!!! You wanted the best, You’ve got the best, the hottest band in the world!

Seguem abaixo algumas fotos:

As fotos estão em: http://picasaweb.google.com/fabio.nb/Kiss070409

Show Claustrofobia + In Flames – 15/02/09

In Flames, Shows No Comments

Fui no show do Claustrofobia + In Flames, que foi muito bom. O que foi ruim foi o local do show: Santana Hall (fica na Av. Cruzeiro do Sul, perto do Metrô Carandiru), pois havia uma mureta no meio da pista, e a pista era muito pequena. Mas mesmo assim o show valeu a pena!

Seguem abaixo algumas fotos:

As fotos estão em: http://picasaweb.google.com/fabio.nb/ClaustrofobiaInFlames150209

Show Queen – 26/11/08

Queen, Shows No Comments

Fui no show do Queen, que foi muito bom.

Seguem abaixo algumas fotos:

As fotos estão em: http://picasaweb.google.com/fabio.nb/Queen261108

« Previous Entries Next Entries »