Eu amo xHTML com CSS
Eu tinha que fazer essa declaração de amor.
.
Como até hoje, apesar de trabalhar com tecnologia, não percebi real necessidade pra comprar um smartphone bacana, só pegando emprestado um iPhone e um Nokia N80 com dois colegas de trabalho pra acessar o blog, já com novo layout, através destes aparelhos.
Pra quem já teve que fazer milagre com tabelas e imagens fatiadas (argh!) pra fazer as páginas funcionarem tanto no IE quanto no Netscape, nem me pergunte as versões pra não parecer tão antigo, ver um site funcionar ao mesmo tempo no monitor 19' Widescreen lá de casa e nas mini-telas dos mobile foi bastante empolgante.
Já havia testado antes o software de uma empresa que trabalhei em um Palm Treo, mas pela primeira vez naveguei em um site meu com um dispositivo destes.
Hoje estou enferrujado no CSS, mas não sinto nenhuma saudade dos tempos das tabelas aninhadas. Mesmo!
Obs.: Se você pensa em comprar um smartphone hoje, sugiro que considere sériamente o iPhone. Não há como comparar a usabilidade do iPhone com os telefones Nokia e Palm. Na pior das hipóteses, espere pelo Google Android!
Artigos Relacionados:
Rodando Processos em Background com PHP
Quando precisamos executar processamentos demorados com PHP, fazer com que o usuário dispare estes eventos através de uma página web pode não ser uma boa idéia, pois a conexão pode acabar em time-out e, além do usuário nunca ter certeza se o processo terminou ou não, o servidor web ainda pode bloquear o acesso daquele cliente por algum tempo.
Este era o problema que estávamos enfrentando em um sistema e procurávamos uma solução.
A primeira idéia foi a de usar a biblioteca de Funções de Controle de Processos do próprio PHP, porém, o manual informa que abrir uma nova thread rodando a aplicação em um servidor web pode causar comportamentos inesperados. Como também não temos controle das configurações do Apache, descartamos essa idéia a princípio.
Outra idéia foi utilizar a função exec() para executar o script, mas ainda tínhamos um problema, pois o PHP aguarda o retorno desta função para continuar o processamento. Este problema pode ser contornado utilizando uma solução do próprio Linux. Basta utilizar o caracter & (e-comercial) ao final da linha de comando dentro da função shell para que ele seja executado em uma nova thread.
Assim, o PHP recebe o retorno do exec() e finaliza a execução, enquanto o processo de geração do relatório segue em background sem interferir na requisição do usuário.
Artigos Relacionados:
Por que você usa Smarty mesmo?
A biblioteca de templates Smarty para o PHP é algo que os desenvolvedores, eu inclusive, sempre encararam como a solução perfeita para a separação da lógica de apresentação da lógica do seu sistema.
Simples de usar, bastava instanciar a classe, passar valores para ela e mandar exibir.
Acreditávamos que os designers achariam ótimo não precisar usar <?=$var?>, afinal de contas, {$var} é muito mais simples.
Mas você já parou pra pensar se isso faz tanta diferença assim? Em um projeto que estou desenvolvendo com outro programador e um designer, uma das primeiras coisas que fiz no Zend Framework foi alterar a camada de visualização pra trabalhar com o Smarty, ao invés do seu sistema de templates padrão, que usa arquivos .phtml com PHP. Depois de um tempo, percebi que estávamos perdendo algumas funcionalidades do ZF, em troca apenas de "facilidade" pro designer na hora de trabalhar com os templates. E por fim acabamos concluindo que essa "facilidade" não existe.
Fazer o designer trabalhar com uma sintaxe de linguagem diferente do PHP, daria tanto trabalho quanto trabalhar com a sintaxe do PHP, e pode até dificultar caso ele precise utilizar alguma função ou uma lógica um pouco mais complexa.
Sendo assim, então por que eu continuaria trabalhando com Smarty? Não encontrei argumentos a favor do uso da biblioteca, e tive discussões sobre o assunto na lista php-brasilia e no MSN com alguns desenvolvedores. Ninguém conseguiu levantar argumentos para continuar trabalhando com Smarty.
Você deve continuar separando sua aplicação em camadas, mas o uso de bibliotecas de Template como o Smarty é absolutamente descartável.
Artigos Relacionados:
Palestra do grupo BrasilDotNet na Unieuro
Ontem tive a oportunidade de assistir palestras sobre o Windows Vista, Imagine Cup, Microsoft .NET, ASP.NET e também um overview de Arquitetura de Software.
Porém, a motivação de escrever este post não veio do evento em si, mas sim de algumas das impressões sobre o evento do Daniel Costa.
A primeira é o fato da apresentação da codificação em ASP.NET 2.0 no Visual Studio. Concordo com o Daniel quando ele diz que este tipo de programa não garante qualidade de código. Porém, o mercado hoje está em busca de produtividade, afinal de contas, o usuário não se importa se você fez uma série de IFs aninhados, ou se separou a lógica do programa em métodos e etc. E aí o Visual Studio aparece como uma poderosa ferramenta de apoio ao desenvolvimento, assim como o Delphi para PHP, anunciado pela Borland, pode se tornar uma.
A segunda foi a leve crítica feita ao PHP-DF, que segundo ele está demorando pra sair. Não, não vou defender o grupo nem a posição do Daniel, mas é interessante notar que esse tipo de coisa a Microsoft e a Sun sempre saem na frente, até mesmo na produção de ferramentas de qualidade, que é o investimento. Os próprios integrantes do BrasilDotNet revelaram ter algum, pequeno, apoio da Microsoft, enquanto isso dezenas de empresas são parceiras da Sun pra divulgar o Java, mas a Zend não oferece nenhum tipo de incentivo pra eventos relacionados ao PHP.
Pra terminar, achei interessante as palestras, apesar de terem sido muito corridas. Os próximos eventos que pretendo ir é o 1º PHPDF Pocket e o CodeGear Delphi Tour 2007, onde será apresentado o Delphi for PHP dia 27.
Artigos Relacionados:
Adaptação no Plugin pra remover NoFollow no WordPress
O pessoal da Blogosfera comentou se era bom ou não usar o atributo rel=nofollow nos seus blogs, evitando assim que as pessoas enviem comentários apenas pra ganhar links em blogs com pageranks maiores.
Foi aí que o Interney sugeriu colocar o nofollow em todos os comentários, mas deixar pingbacks e trackbacks sem eles, para incentivar a linkagem, que, de fato, é mais justa.
Fiz umas alterações em um plugin que remove o nofollow para que seja possível configurar isso. Vá para a página de plugins aqui do blog, ou, se preferir, baixe o arquivo.
