Arquivos de Tecnologia

Com o desenvolver da internet e suas inúmeras “versões”, se é que podemos dizer assim, foram inclusas diversas metodologias de navegação e usabilidade que são um pouco antigas e apenas não eram utilizadas ou ainda não são implementadas por muitos. Com vocês, as famosas “urls amigáveis”.
Muitos já sofreram ou ainda sofrem com sistemas que usam no seu dia-a-dia quando escutam perguntas do tipo :

- Me passa o link?

A primeira coisas que pensamos sem piscar é justamente pensar na url que era apresentada no momento da sua navegação, que muito chamou a sua atenção mas é quase impossível lembrar o caminho exposto no campo de url do seu browser por completo, pois no máximo só passa pela nossa cabeça na maioria dessas situações o maldito endereço do site. Aí vem a sua resposta…

- Eu vou mandar para o seu email por que agora eu não lembro o endereço completo.

Que mico! Você falou sobre o conteúdo da url, disse que “X” coisa era excepcional, que “Y” coisa falava muito bem sobre tal assunto e tudo mais, mas na hora de permitir que o seu amigo pudesse visualizar justamente aquilo que tanto te impressionou, tudo desanda. E ele ali com o palm, celular, laptop ou um simples papel para anotar e nada, restando apenas ter que esperar pelo email.
As urls amigáveis são recursos disponíveis por alguns servidores e tratadas por aplicações que foram pensadas para tal ação.
Servidores web como o Nginx, Lighttpd e Apache possuem um recurso conhecido rewrite engine.
Os módulos que permitem rewrite em servidores web visam construir supostas rotas visuais para tratamento de diferentes páginas e redirecionamentos, tratando os diversos segmentos da página visitada como parâmetros para a construção de uma página específica.
Vamos logo para um exemplo presente no cotidiano de pessoas que utilizam o Orkut. Afinal, quantas vezes você mesmo já não tentou lembrar de alguma página que te chamou atenção neste site?
Atualmente, quando entramos na página de alguma comunidade temos um caminho montado na url da seguinte forma:

http://www.orkut.com.br/Main#Community.aspx?cmm=44916570

Lendo a url acima fica fácil de entender que este caminho é de alguma comunidade apenas pelo “Community.aspx”, mas e para lembrar do parâmetro passado pela variável que vem a seguir? O que será que significa o “Main#”?
Agora vamos para uma idéia mais simples, imaginando o mesmo sistema em um servidor onde ambos foram pensados para se ter urls amigáveis.

http://www.orkut.com.br/community/main/perfects-do-orkut

Impressionante a diferença, não? Vai dizer que assim não ficou mais fácil de responder a pergunta que o seu amigo te fez aí em cima?
Com esta estrutura temos 3 diferentes segmentos na nossa url, onde:

  1. community = área que estamos no site
  2. main = a página principal da área “community”
  3. perfects-do-orkut = o parâmetro esperado para montar a página principal da área que estamos navegando

O site que serviu de base para o exemplo, apesar de ser desenvolvido em uma linguagem desenvolvida pela Microsoft e conseqüentemente está funcionando em um servidor Windows, nada impede que seja repensada e sua estrutura para ser alterada, pois dizem por aí que existe um módulo para rewrite de url’s em servidores IIS. Eu não levo fé, mas se realmente existir seria interessante se o Google, como atual administrador do Orkut, pudesse pensar um pouco sobre isto.
Logo abaixo você poderá ler um pouco mais sobre urls amigáveis e entender melhor sobre o seu funcionamento e vantagens que se pode ter no desenvolvimento de sistemas com essa estrutura, agregando além de valor ao seu desenvolvimento, uma melhor posição em sistemas de busca e um melhor estudo para debug do seu código.

  1. Servidores
    1. Nginx
    2. Lighttpd
    3. Apache
  2. Apache Mod_Rewrite
  3. Urls amigáveis

Até a próxima!

Além de útil é muito interessante o tal do Adobe Air.
Estava tendo problemas para acessar o meu Twitter e acompanhando o dia-a-dia do meu amigo @EvertonFraga utilizando o Twirl, achei super interessante a forma de como podemos navegar pelas nossas mensagens, recebidas e enviadas deste maravilhoso serviço de microblogging.
Ainda não sei se felizmente ou infelizmente, para “rodar” o Twirl, precisamos instalar o runtime Adobe Air para Linux, e nem te conto como eu sofri para colocar isso para funcionar. Melhor passar para os passos da instalação, vai por mim.
Não tem erro se os passos descritos abaixo forem seguidos, lembrando que eu uso o Ubuntu 8.04 e dependendo da sua distribuição, acredito que alguns comandos podem mudar.

  1. Abra o terminal
  2. Digite [sudo -i]
  3. Informe a sua senha
  4. Digite [wget http://download.macromedia.com/pub/labs/air/linux/adobeair_linux_a1_033108.bin]
  5. Altere as permissões do arquivo digitando [chmod +x adobeair_linux_a1_033108.bin]
  6. Agora execute o arquivo .bin digitando [./adobeair_linux_a1_033108.bin]

Seguindo esses passos você irá começar a visualizar e ter acesso à interface gráfica do passo-a-passo da instalação.
Prontinho. Simples e direto!

É impressionante como as vezes nós compramos coisas que nem chegamos a usar. Como exemplo uso o meu próprio livro de PHP-GTK.
O livro é muito bom e muito bem escrito, mas quando eu comprei, pensei em desenvolver aplicativos desktop que fizessem valer a simplicidade de outros sistemas, sugando o melhor de um com a sensacional usabilidade de outro, mas sem acessar tudo pelo browser.
Descobri com o tempo que esse tipo de aplicação é bastante especial em um mundo que a famosa “programação nas nuvens” justamente nos faz ter que pensar o contrário. Afinal, para que eu terei um programa que me limita a utilizar a minha máquina se eu posso entrar em qualquer computador que tenha internet e acessar os mesmos dados da mesma forma que foi pensada a usabilidade deste sistema.
Pois bem, com isso tudo em mãos o tempo me fez pensar que o uso de sistemas de intranet deve ser cada vez mais incentivado, trazendo uma manutenção mais barata e um desenvolvimento muitas vezes mais rápido com a quantidade de frameworks que temos hoje no mercado.
Nos últimos dois dias voltei a reler o livro e percebi que muitas coisas que entendi e uso hoje de orientação à objetos foi graças ao querido livro. Pena que não encontrei uma solução interessante para poder montar algo com GTK, mas bem que eu queria.

Inacreditável o tempo que se perde (ou se ganha, dependendo do ponto de vista) configurando diversos plugins para otimizar o uso do amado WP.
Alguns são muito interessantes e realmente podem agregar valor ao seu site, mas outros só irão trazer mais processos nas chamadas de background do sistema, conferindo chamadas de diversas funções completamente sem sentido, trazendo uma demora absurda no carregamento da sua página no servidor.
Portanto cuidado! Se uma pessoa que quer ver tudo e ter de tudo nem sempre vai ser o melhor caminho para se ter um site atraente e com recursos interessantes. Vai por mim.