Comecei a me preparar pra prova de ZCE! 1
Faz tempo que venho falando que vou fazer a prova, quando o dólar estava baixo eu deixei passar, e agora as coisas complicaram… Mas mesmo assim estou decidido a fazer no máximo em Janeiro.
Meu amigo Marcelo Schmidt, me “doou” os simulados que ele não precisou mais fazer quando tirou a certificação dele.
E hoje eu fiz um só pra ver como está o meu nível e foi melhor do que eu esperava! No guia de certificaçao só li até metade do capítulo “String and Patterns”, então já esperava me dar mal em coisas como Streams, que nunca mexi de verdade, só leitura e escrita simples em arquivos, e em segurança que tenho conhecimentos gerais mas não específicos de configuração do PHP. Mas enfim… estou bem satisfeito com o resultado, vou dar uma lida no que não me dei tão bem pra no próximo simulado conseguir tudo “excelent” e marcar a prova!

Slides de apresentação sobre Software Livre
Essa semana apresentei um seminário na disciplina de “Informática e Sociedade” na Universidade sobre o Impacto Social do Software Livre, e estou aqui compartilhando os slides para se alguém por acaso estiver procurando por algo do tipo, os slides são bem superficiais, mas quem quiser discutir pode entrar em contato via comentário ou e-mail!
Slides da palestra: PHP para desenvolvimento de aplicações de grande porte 2
Quentinho na hora, os slides da palestra que acabei de apresentar aqui no II Encontro de Software Livre de Pernambuco sobre PHP para desenvolvimento de aplicações de grande porte.
Fisl9.0
Uma palavra pra definir o fisl: DUCARALHO
Nessa foto, eu e Rasmus Lerdorf, criador do PHP:

Mais fotos da viagem em: http://flickr.com/photos/felipernb/tags/portoalegre
How Many HTML Elements Can You Name in 5 Minutes?
Estou num corre-corre sem tamanho, em breve volto a postar com várias novidades!
URLs amigáveis com Apache mod_rewrite 3
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!
SEO realmente funciona! 2
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.
Hello, I’m a Mac…
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!
Glossário Geek - for dummies
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! :]













