Archives for category: Uncategorized

42

Estou num corre-corre sem tamanho, em breve volto a postar com várias novidades! :D

Com toda essa moda de SEO, Web 2.0 e etc, os desenvolvedores estão se interessando em melhorar o que é mostrado para o usuário até na URL, pois isso é bom para a indexação nos sistemas de busca – adiciona palavras-chave na url – e deixa mais entendível para quem usa o site.

Com mod_rewrite você faz um mapeamento de como as URLs são exibidas, e a que endereço elas realmente apontam, por exemplo:
Você tem uma parte do seu site que lista usuários por localidade e a URL pra essa página é www.exemplo.com.br/usuarios.php?pais=Brasil&estado=PB&cidade=Campina Grande, se você usa o mod_rewrite você pode fazer com que essa página seja aberta através da URL www.exemplo.com.br/usuarios/Brasil/PB/Campina Grande, que deixa bem mais elegante e melhor de ser indexado pelos sistemas de busca, que não costumam indexar páginas com muitos parâmetros passados por GET. (Normalmente também tem dificuldade em indexar documentos em diretórios num nível muito abaixo da raíz, mas isso é menos crítico).
E a mágica funciona assim:

1 – Certifique-se que o mod_rewrite está habilitado no seu Apache.
Uma maneira simples de fazer isso é com <? phpinfo(); ?> e procurando na parte que mostra os módulos do Apache.

2 – Crie um arquivo .htaccess na raíz do seu site.

3 – Escreva as regras no seu .htaccess:

RewriteEngine on
RewriteRule usuarios/(.*)/(.*)/(.*)$ usuarios.php?pais=$1&estado=$2&cidade=$3 [L]

(Idealmente a RewriteRule fica numa linha só, a quebra foi feita aí por motivos de formatação do blog)

Aí eu estou dizendo para o apache redirecionar qualquer request que vem para /usuarios/XPTO/FOO/BAR para /usuarios.php?pais=XPTO&estado=FOO&cidade=BAR, e onde eu coloquei o (.*) pode ser qualquer regex.

Você pode escrever quantas RewriteRule quiser no seu .htaccess e o Apache vai usar a que primeiro casar com a situação, então é bom estar ligado nessa ordem de precedência, pois se você colocar algo como:

RewriteRule usuarios/(.*)$ usuarios.php?pais=$1 [L]
RewriteRule usuarios/(.*)/(.*)/(.*)$ usuarios.php?pais=$1&estado=$2&cidade=$3 [L]

Vai ter problemas, pois nunca vai entrar no segundo caso, já que o (.*) significa “qualquer caracter, 0 ou mais vezes”, então a / entra nesse bolo, e vc vai ser redirecionado para usuarios.php?pais=Brasil/PB/Campina Grande. Então é bom ter cuidado para usar as Regex corretas e a ordem correta.

Vantagens de se usar mod_rewrite:

1 – Caso você não queira, não precisa expor qual tecnologia você está usando (ocultando a extensão .php, .psp, .pl, .py ou seja lá o que for);

2 – As URLs ficam mais legíveis e relevantes para usuários e search bots;

3 – Você pode fazer uma “gambiarra” para deixar informações relevantes na URL mesmo que não precise delas na sua página, por exemplo: você tem uma loja, e tudo que você precisa para abrir os detalhes de um produto é o id dele: produto.php?id=123456, mas para deixar a url mais bacana e ser indexada melhor você cria a regra:

RewriteRule produto/(.*)/(.*)$ produto.php?id=$2 [L]

e usa essa URL com: www.exemplo.com.br/produto/NOMEDOPRODUTO/ID e o sistema só pega o id ($2), daí ficaria algo como: www.exemplo.com.br/produto/Nintendo Wii/123456

Desvantagens de se usar mod_rewrite:

1 – Você precisa ter um cuidado re-dobrado quando passar strings com caracteres especiais como o &. Pois o .htaccess redireciona pra o seu script, o PHP no caso, e o PHP vai entender o & não como parte da sua string, mas como o separador de parâmetros do GET.

2 – Não sei se em sites de muito tráfego e muitas regras, isso pode interferir (mesmo que muito pouco) na performance, pelo fato do Apache precisar ler e testar todas as regex na url. (também não sei se é feito assim, mas acredito que sim)
Minha experiência com mod_rewrite foi pouca, talvez eu tenha falado bobagem, e se eu tiver, por favor, corrijam-me nos comentários!

Até umas duas semanas atrás meu blog era retornado na quinta posição quando se realizava a busca por felipe ribeiro. Apliquei algumas técnicas de SEO – Search Engine Optimization, e agora estou em primeiro! :)

As técnicas principais do SEO são:

1 – HTML bem formatado: Tags aplicadas corretamente indicam a relevância de um texto. Se o texto está entre as tags <title> e certamente ele será a “chave” da página. Um texto entre as tags <h>, também será mais importante do que textos em parágrafos (<p>), texto em negrito e itálico também demonstram um certo destaque. Então um html bem feito é essencial.

2 – META tags: Essas tags também dizem ao spider dos search engines informações sobre o que há no seu site, como keywords e description e foi mexendo nas keywords que consegui melhorar a posição do meu site, organizei melhor as coisas e dei relevância ao que era relevante!

3 – Links: Consiga links para o seu site, os spiders percorrem links pela web e quanto mais links houverem para o seu site, mais “pontos” de popularidade você terá e isso influencia na relevância do seu site para outras pessoas.

4 – Cadastro em Diretórios: Existem sistemas de buscas que não são baseados em spiders, mas em cadastros feitos manualmente, um dos principais é o Open Directory Project (www.dmoz.org), cadastrar seu site nesses diretórios é um bom negócio por alguns motivos, primeiro porque de qualquer maneira aumenta a quantidade de referências para o seu site, e também o Google leva muito em conta os sites cadastrados nesse projeto.

5 – Conteúdo bem escrito: Se você escreve bem, terá as palavras chave com bastante destaque no texto, e essa “densidade” da palavra no seu texto mostra o quanto ela é importante. Por isso que se eu quero aparecer bem na busca por felipe ribeiro, esse é um termo que precisa aparecer! :)

Essas são algumas das coisas que podem ser feitas para incrementar a popularidade do seu site, mas existem outras como links patrocinados, que não tentei então não posso comentar.

Tirando as teias de aranha desse blog…

Ultimamente ando muito ocupado e não tive mais tempo para elaborar algo que alguém possa se interessar em ler nesse blog, então estou postando só para dizer que não morri e dar algumas notícias.

Há uns 15 dias estou usando Mac, e estou fascinado! O Mac OS X é realmente um SO fantástico, ainda estou usando o Tiger (não atualizei para o Leopard ainda), mas mesmo assim já está muito a frente dos outros SO’s que já usei. Tem uma interface linda – “que dá vontade de lamber” – e sem deixar de lado a estabilidade, velocidade e o bom e velho terminal bash do Unix! :) Mas como o Tiger não é novidade, assim que eu botar o Leopard posto aqui uma análise.

Tenho me interessado muito por um assunto que está cada dia mais em evidência, que é o SEO – Search Engine Optimization, e estou lendo o SEO for Dummies do Peter Kent (até então eu tinha um certo preconceito com essa série “for Dummies”, mas tou gostanto bastante do livro!), então já está na minha TO DO LIST para postar aqui no blog uma pequena introdução sobre o assunto.

E pra finalizar, quinta-feira estarei viajando para o PHPCONF BRASIL e de lá devo postar reviews de cada dia do evento.
That’s all folks!

Depois de ver no relatório do Google Analytics, que algumas pessoas chegam nesse blog ao pesquisarem pelos termos “xpto definição”, “foo bar”, etc, resolvi publicar um pequeno glossário desses termos geeks que usamos e que nos fazem parecer loucos entre nossos amigos :)

  • XPTO – Uma sigla que tem origem em letras gregas que significavam “Cristo”, mas no conceito da programação é um “coringa” que serve para nomear genericamente qualquer coisa que não tenha nome.
  • FOO BAR – Assim como o XPTO também é usado como um nome genérico para qualquer coisa, e pode ser dividido, quando fazemos muitas vezes quando damos exemplos de classes e métodos – Foo.bar() – , ou métodos/funções e parâmetros – foo(bar). É derivado do acrônimo FUBAR que significa (Fucked Up Beyond All Repair).
  • Lorem Ipsum – Esse termo é usado para exemplo de textos, não tem significado algum e é muito útil quando estamos trabalhando em layouts de sites ou algo do tipo, e precisamos preencher um espaço de texto para ver “como fica” e analisar os atributos de fontes e tal, o texto tradicional é assim:
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    e se por acaso você tiver precisando de um monte de Lorem Ipsum pra testar a formatação do seu site, visite http://lipsum.org/ que ele gera o texto do tamanho que você quiser. :)

  • Gambiarra – Esse termo na boa e velha língua lusitana, significa métodos “não usuais” que usamos na codificação de softwares para conseguir dar um jeitinho e fazer o troço funcionar. Há quem prefira usar termos mais elegantes como STI (solução técnica alternativa) ou workaround, mas no fim das contas, é tudo gambiarra do mesmo jeito, e esse termo já deu origem a um “novo paradigma” chamado POG – Programação orientada a gambiarras (http://desciclo.pedia.ws/wiki/POG), e tem muito a ver com um assunto que já postei aqui, o Asshole Driven Development

Certamente existem vários outros termos que esqueci e não citei, quem quiser adicionar algo na lista, poste um comentário que eu atualizo! :]

Essa semana o CEO da Mandriva, François Bancilhon, escreveu uma carta aberta a Steve Ballmer falando da última picaretagem da MS.

O governo da Nigéria havia fechado um acordo com a Mandriva Linux para 17 mil computadores para suas escolas, esses computadores seriam Classmate PCs, da Intel e o sistema operacional seria o Mandriva customizado para a cultura e modelo de educação da Nigéria.

O acordo foi fechado, os computadores foram enviados, mas o pessoal entrou em contato com a Mandriva e disse: “we shall pay for the Mandriva Software as agreed, but we shall replace it by Windows afterward.” (Nós iremos pagar pelo Software Mandriva como combinado, mas iremos substituílo pelo Windows posteriormente).

Pra isso ter acontecido, com certeza alguma coisa muito suja houve né? Seguem alguns trechos da carta:

“I’m sure we are way too small for you to have heard of us. You know, we are one of these Linux company who is working hard to make its place in the market. We publish a Linux Distro, called Mandriva Linux.”

We also happen to be one of the Linux companies that did not sign an agreement with your company (nobody’s perfect).

We recently closed a deal with the Nigerian Government. Maybe you heard about it, Steve. They were looking for an affordable hardware+software solution for their schools. The initial batch was 17,000 machines.

Then, your people get in the game and the deal got more competitive. I would not say it got dirty, but someone could have said that.

Now, we hear a different story from the customer : “we shall pay for the Mandriva Software as agreed, but we shall replace it by Windows afterward.”

Wow! I’m impressed, Steve! What have you done to these guys to make them change their mind like this? It’s quite clear to me, and it will be to everyone. How do you call what you just did Steve? There is various names for it, I’m sure you know them.

Of course, I will keep fighting this one and the next one, and the next one. You have the money, the power, and maybe we have a different sense of ethics you and I, but I still believe that hard work, good technology and ethics can win too.”

É por essas e outras que a Microsoft vem conseguindo uma péssima reputação, como se já não bastasse produtos caros e de baixa qualidade, táticas anti-truste, ainda têm toda essa política imunda.

Clique aqui e leia a carta na íntegra

Clique para ver maior…

P.S.: Só para movimentar, enquanto meu Mac está preso no fisco e não tenho nada para escrever.

Parabéns a todos os programadores por esse dia! :-D

Segundo a Wikipedia:

O Dia do Programador é uma data festiva no 256º dia do ano, celebrada por programadores de computador em boa parte do mundo. Esta é uma data significativa para programadores porque 256 é igual a 28 (2 elevado à 8ª potência), e 8 é o números de bits de um byte.

O Dia do Programador é dia 13 de Setembro, exceto em anos bissextos, nos quais ele é comemorado no dia 12 de Setembro, pois esse é o 256º dia do ano.

Mundo afora a tradição inclui comportar-se de forma boba, editar a Wikipedia, codificar programas bobos, jogar jogos de computador, brincar com velhos computadores etc. Tudo isso, é claro, sob a condição de que o celebrante tenha feito códigos de qualidade nos outros dias do ano e tenha tentado ao máximo não se comportar como bobo nos outros dias. Para estes programadores que estão habituados a ‘celebrações’ em todos os dias de sua vida, esta data festiva é injustificada e redundante.

No Brasil

No Brasil a tradição ainda não existe, mas a data já se apresenta em spams por e-mail, fazendo com que a leitura de algum Spam também seja parte da celebração. Além disso, no meio acadêmico a data deve proporcionar um encontro dos primeiros programadores locais com os atuais, promovendo palestras e minicursos de linguagens que não são mais utilizadas, além de Assembly, Cobol e Fortran, para que suas sintaxes não sejam esquecidas no futuro próximo.

Conversar sobre programação com quem não entende nada e assistir a filmes apreciados por programadores como Guerra nas Estrelas também devem fazer parte dessa celebração.

Uma pesquisa da IDC (http://w3.bsa.org/globalstudy/) mostra como foi o uso de software pirata, em todo o mundo, nos anos de 2005 e 2006.

Sabe-se que no Brasil esse índice é altíssimo, muita gente inclusive nem sabe que o Windows que roda em seus computadores deveria ser um produto pago… Mas mesmo assim, esse índice diminuiu quatro pontos percentuais entre 2005 e 2006, foi de 64% para 60%. Ainda não é nada animador comparado a média mundial de 35%, mas já está abaixo da média da América Latina, que é de 66% (Com assustadores 82% na Venezuela de Chavez) e bem abaixo do índice de países como Armênia, Moldávia, Azerbaidjão, Vietnam e Zimbábue que têm 90% ou mais do seu software pirateado.

Essa diminuição pode ser um reflexo da Web 2.0, onde está se diminuindo a quantidade de softwares que rodam localmente, e as pessoas estão passando a usar SERVIÇOS de software na rede. Algo que se paga, direta ou indiretamente, como uma conta de água ou luz e não é comprada nenhuma licença. (Me veio na cabeça agora que pode ser também devido à adoção do Linux em muito desktops, mas não posso assegurar :D )

Mas você pode pensar: “Ué… mas eu não pago para usar as aplicações do Google…”, mas se você quiser 10GB de espaço, vai ter que desembolsar, e mesmo que use gratuitamente os 2GB, alguém paga para você: são os anunciantes!

E aí mais uma vez a Web 2.0 muda a maneira como as pessoas usam a Internet e como as empresas de software devem repensar seus negócios, pois do jeito que vai, licença de software será logo logo algo em extinção.