Google App Engine - Star It

22 April 2008 - 0:04            

-->

Para quem não sabe, o GAE (Google App Engine) é um projeto do Google que permite o desenvolvimento de aplicações web com a mesma infraestrutura do Google e com alta velocidade (viva o python).

Na semana passada eu consegui um convite e estou explorando o serviço junto dos meus amigos Rafael Ivan e Filipe Morgado. Nós pretendemos desenvolver uma aplicação web simples no próximo quadrimestre no nosso tempo livre e achamos que era legal usar o GAE para isto.

Um projeto que pretendíamos desenvolver trabalha com processamento de imagens. Eis que o PIL (Python Imaging Library) não está disponível por padrão no GAE. E para instalá-lo é necessário compilar parte de seu código (pois não é python puro). Ou seja, sem chances de usá-lo.

Tendo em vista que várias aplicações web exigem processamento de imagens, achei a falta do módulo pil um ponto muito fraco do GAE e é por isto que acho que você que está lendo este post deveria adicionar uma estrela no tópico:

http://code.google.com/p/googleappengine/issues/detail?id=38&colspec=ID%20Type%20Status%20Priority%20Stars%20Owner%20Summary

O serviço ainda é muito novo e com alguns problemas, mas é uma mão na roda para desenvolvedores sem muita grana.


Leia Mais »

Email     Comente

-->

Demonoid está de volta

13 April 2008 - 22:50         

Uma das mais antigas e maiores comunidades de torrent está de volta. O www.demonoid.com voltou depois de longos 6 meses de processos legais e mudanças de administração.

É importante lembrar e enfatizar que compartilhamento de arquivos não é sinônimo de pirataria e em muitos casos não é ilegal.

Para quem não tem conta no site, pode se registrar no link  http://www.Demonoid.com/register.php?with_invite=1 com algum dos “Invitation Code Demonoid” abaixo:

6nu7o2kdlgvy9240nszmn1v6ol075ilsx
q8yjspo9z3ww8xblv6iqj8ppl01h1zxlhosu8
rxoeynrw2st8b4ni3fly6×4goqkhu3lqqkp
zxvvdc80rfl5ji58u0p0mho34280e6xemqj81iv73
rt8uv93hqn6un692uu80qr5ciu6lf9medvuyzywj2it4g

obs: cada código só pode ser usado por uma única pessoa.


Leia Mais »

Email     Comentário (1)


Como Criar Robôs de Busca para a Internet

31 March 2008 - 21:42                        

Eu programo e estudo freqüentemente robôs que fazem buscas em sites da Internet. Eles nada mais são do que programas de computador capazes de fazer o download e processamento de diversas páginas em pouco tempo. Uma das pessoas que mais me ensinaram sobre este assunto é o Bruno Gola, que conheci quando trabalhamos juntos em projetos open source.

Depois de muitos testes, erros, acertos e comparações, conclui que a forma mais eficiente de criar um Robô de Busca é fazendo sua divisão em três programas principais:

1. Download de Conteúdo

Nesta parte, é criado um software capaz de baixar todas as páginas do site buscado com conteúdo que seja relevante para o que se pretende fazer.

É importante que esteja bem claro o que se deseja buscar antes de criar um Robô, pois assim você sabe exatamente quais páginas deve baixar. Depois, você deve pensar em uma maneira eficiente de baixar todas estas páginas.

A maneira que eu considero menos eficiente, porém mais simples, é realizar o download de todas as páginas do site. Para fazer isto a cada página que você faz download você deve armazenar todos os links para onde ela aponta e entrar em todos os links que têm o domínio do site. Isto é na verdade a descrição de um Crawler: ele entra em uma página, captura links, entra neles, captura mais links, entra neles, captura mais ….. até ter entrado em todos os links, aí começa tudo de novo a partir do primeiro link, buscando conteúdo novo e links novos.

2. Análise do Conteúdo

Nesta seção, deve ser criado um software capaz de processar o conteúdo das páginas previamente baixadas. Normalmente, este programa alimenta alguma estrutura de armazenamento de dados a partir de estatísticas e elementos coletados.

Esta é uma parte mais trabalhosa pois requer algoritmos eficientes tanto para processar o conteúdo baixado quanto para alimentar o banco de dados.

Uma dica importante neste item é que muitas funções que realizam processamento ou troca de informações com banco de dados são muito utilizadas para diversos sites diferentes que estão sendo buscados. Como você tem que fazer um software analisador para cada site é interessante que você crie uma biblioteca de funções mais utilizadas que será compartilhada entre eles.

3. Visualização do Conteúdo

Esta é uma parte que envolve o conhecimento prévio do usuário da aplicação. Você deve pensar para quem está coletando estes dados e qual a melhor forma de apresentá-los. A partir do momento que você tem um banco de dados bem preenchido, basta apenas pensar na interface de visualização dos dados.

Se for uma aplicação aberta para qualquer pessoa, é muito provável que a interface de visualização seja uma página na web.

Esta divisão, além de ser bem eficiente é também de fácil manutenção pois permite alta modularização de aplicações. Comento com mais detalhes cada parte em posts futuros.


Leia Mais »

Email     Comente


Imagens com links? Use com consciência

25 March 2008 - 0:59                     

Hoje, na Poli, meu amigo sabichão Roberto Sonnino estava dando dicas de CSS que é algo que eu conheço e uso com pouco domínio. Entre elas, estava o exemplo de como utilizar links em imagens sem perder seus conteúdos (textos).

É importante que ao colocar link em uma imagem você especifique em texto o que este link representa. É através dele que Sistemas de Busca como Google, Yahoo, LiveSearch entre outros vão avaliar a relevância da sua página e decidir se devem mostrá-la com maior prioridade em determinadas buscas.

Para exemplificar a técnica, imagine que você tenha um logo em seu site que possua link. O modo mais comum de se encontrar logos linkados na internet é com o seguinte código no html:

<a href=”http:www.enderecodestino.com”>

<img src=”http://www.enderecodologo.x.y/logo.gif”>

</a>

Para aplicarmos a técnica neste logo, devemos primeiro criar um header que definirá o que a imagem representa (ao invés do header, poderia também ter um div ou alguma tag específica). No HTML fazemos apenas algo como:
<a href=”http:www.enderecodestino.com”>

<h1>Conteúdo da Imagem</h1>

</a>

Agora no arquivo .css que define a estrutura da página, colocamos um código parecido com o seguinte:

h1 {

background: url(http://www.enderecodologo.x.y/logo.png);

text-indent: -10000px;

}

Para visualizar um exemplo de uso desta técnica, entre no link: Exemplo de Imagem com Link

Se você utiliza o firefox, você pode clicar em Exibir, Estilos da Página, Sem Estilos. Assim você poderá visualizar o que é visto por um sistema de busca padrão: apenas texto.


Leia Mais »

Email     Comente


Apresentação

18 March 2008 - 22:27      

Nos próximos meses, estudarei diversos assuntos relacionados com programação para a web e por isto resolvi iniciar este blog. Pretendo escrever sobre:

  • Anúncios (Como melhorar a distribuição de anúncios contextuais em seu site)
  • Bancos de Dados (utilização de índices, otimização de consultas, criação de “stored procedures” e “triggers”, “data mining”, “data warehouse” etc.)
  • Engines de Busca (em especial, Lucene)
  • Javascript
  • Marketing na Internet
  • Páginas Dinâmicas (em especial, utilizando PHP)
  • Robôs de Busca (spider, crawler, bot e robot são outros nomes comuns)
  • Search Engine Optimization (Técnicas para atrair visitantes ao seu site através de sites de busca)
  • Softwares em Desktop que alimentam sites (como desenvolver programas que automatizam tarefas de atualização de sites)

Leia Mais »

Email     Comentários (3)