Posted: January 31st, 2008 | Author: Felipe Ribeiro | Filed under: browsers, desenvolvimento de software, web 2.0, webdesign | Tags: browsers, desenvolvimento de software, web 2.0, webdesign | No Comments »
A dica do dia é: http://browsershots.org, um site onde você pode obter o screenshot do seu site nos mais diversos browsers em diferentes versões e SO’s. Realmente muito bacana!
Update: E para pegar um shot da pagina completa, tem esse serviço web bem bacana
Posted: January 29th, 2008 | Author: Felipe Ribeiro | Filed under: apache, desenvolvimento de software, php, regex | Tags: apache, desenvolvimento de software, php, regex | No Comments »
Você tem medo de REGEX!? Eu também!
Nos últimos tempos tenho lidado bastante com REGEX editando regras do Apache mod_rewrite e com a classe que publiquei no PHPClasses, a SiteMapGenerator Tabajara, que se propõe a gerar um mapa do site em xml no padrão estabelecido pelo Google para melhorar a indexação.
Mas depois de tirar onda da galera do Perl no post anterior, vou exaltar a importância que expressões regulares têm nas nossas validações, e para isso vou citar as 8 expressões regulares que todo programador Web deveria saber (exemplos em PHP, mas são válidos para qualquer linguagem com suporte a PCRE).
Validação de nomes de usuário
4 a 28 caracteres alfanuméricos e underscores:
$string = "userNaME4234432_";
if (preg_match('/^[a-z\d_]{4,28}$/i', $string)) {
echo "exemplo 1 ok.";
}
Validação de números de telefone
(##) ####-#### ou ##-####-####
$string = "(32) 5555-5555";
if (preg_match('/^(\(?[0-9]{2}\)?|[-. ]?)[ ][0-9]{4}[-. ]?[0-9]{4}$/', $string)) {
echo "exemplo 2 ok.";
}
Endereços de e-mail
foo@bar.foo
$string = "first.last@domain.co.uk";
if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.]
[a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',
$string)) {
echo "examplo 3 ok.";
}
CEPs
#####-### ou ########
$string = "55324-432";
if (preg_match('/^[0-9]{5,5}([- ]?[0-9]{4})?$/', $string)) {
echo "exemplo 4 ok.";
}
Endereços IP
255.255.255.0
$string = "255.255.255.0";
if (preg_match('^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$'
, $string)) {
echo "exemplo 5 ok.";
}
Código de cores RGB em Hexadecimal
#FFFFFF, #FFF, FFF, FFFFFF
$string = "#666666";
if (preg_match('/^#(?:(?:[a-f\d]{3}){1,2})$/i', $string)) {
echo "exemplo 6 ok.";
}
Comentários de múltiplas linhas
/* Lorem
Ipsun
dolor*/
$string = "/* commmmment */";
if (preg_match('/^[(/*)+.+(*/)]$/', $string)) {
echo "exemplo 7 ok.";
}
Datas
DD/MM/YYYY ou MM/DD/YYYY
$string = "30/01/2008";
if (preg_match('/^\d{1,2}\/\d{1,2}\/\d{4}$/', $string)) {
echo "exemplo 8 successful.";
}
Esses exemplos foram retirados do site Devolio[1] , porém algumas expressões eu alterei para ajustar aos padrões brasileiros de telefone e cep. Se por acaso fiz alguma besteira, peço que um REGEXPERT comente e corrija! E no segundo link[2] um validador de expressões regulares.
[1] 8 Practical PHP Regular Expressions – Devolio
[2] Perl Compatible Regular Expression Tester
Posted: January 29th, 2008 | Author: Felipe Ribeiro | Filed under: php | Tags: php | No Comments »
Depois de férias relaxantes, longe (mas nem tanto) das “geekices” habituais,com a pele despelando porém “da cor do pecado”, vamos voltando devagarinho!
E só pra continuar na descontração, vou publicar uma imagem que vi hoje numa comunidade the Trolls xiitas de PHP que participo!

Posted: January 3rd, 2008 | Author: Felipe Ribeiro | Filed under: desenvolvimento de software, web 2.0, webdesign | Tags: desenvolvimento de software, web 2.0, webdesign | 3 Comments »
Com o aumento da complexidade de recursos dos sites na Web, o termo Webmaster entra cada vez mais em extinção.
Antigamente, quando tudo era mais simples e feio, com sites em HTML estático e cheio de GIFs piscantes, era comum ter um cara que era responsável por tudo, o webmaster.
Mas agora é cada vez mais difícil ter conhecimento suficiente para ser um bom designer e bom programador, eu me atrevo a dizer que seja impossível. E vou justificar…
As duas áreas podem ser extremamente profundas, design não é só fazer efeitos legais no Photoshop, nem programação é apenas fazer um CRUD em drag’n'drop Net dot Net
Um profissional de design precisa ter conhecimentos teóricos na área, saber criar conceitos, prezar pela usabilidade, ergonomia, sem esquecer da beleza e do conforto do usuário com cores e formas adequadas, e isso requer estudo, não é só questão de ter um “bom gosto”. Fora que muitas vezes a arte que é mostrada no site de uma empresa é a continuação de toda uma campanha que ocorre também fora do “cybermundo”.
E um profissional de desenvolvimento de software precisa conhecer algoritmos, padrões de projetos, tecnologias diversas, técnicas de otimização de performance, segurança, etc.
Existem pseudo-profissionais que se auto-intitulam web designers e programadores, e eu sinceramente não acredito nisso. Um programador pode até escolher um formato bacaninha pra mostrar sua informação e tal, mas está longe de ser um designer profissional, e um designer pode até colocar um reloginho em JavaScript mas também está longe de ser um programador.
São mundos bem diferentes com profissionais de perfis diferentes que se juntam na Web, e para que essa junção seja mais harmoniosa, existe um cara que é híbrido, é o programador de interfaces, caras que sacam um pouco de cá e um pouco de lá e que trabalham na equipe para fazer com que as coisas encaixem mais perfeitamente, pois nem sempre um designer vai saber XHTML, CSS, e etc. Em muitos casos ele sabe criar e desenhar, o programador de interfaces que se vira para adaptar a arte dele para o mundo da Web e interagir com o sistema que é criado pela equipe de programação. Mas também há casos que designers desempenham essa função e há outros em que o programador o faz, cada caso é um caso… mas ainda não existe profissional completo que cuide de tudo, e se faz não é profissional ou não faz bem feito como deveria.
P.S.: Quero avisar aos poucos, porém queridos, leitores desse blog que meu aniversário é domingo, e caso queiram presentear esse que vos escreve, sintam-se a vontade!
Aqui vai um endereço que talvez possa lhe ajudar: http://feliperibeiro.com/wishlist