A Adobe está disponibilizando um seminário virtual sobre sua ferramente Flex.
Lee Brimelow, ira mostrar como criar uma aplicação Flex com PHP e o Zend Framework. Veremos ainda como executar nossa aplicação em um desktop com a ajuda do Adobe AIR runtime.
Mais informações:
http://www.adobe.com/cfusion/event/index.cfm?event=detail&id=462539&loc=en_us
segunda-feira, 15 de dezembro de 2008
eSeminário Flex e PHP
terça-feira, 9 de dezembro de 2008
Cheat Sheet PHP
Para quem é iniciante e acha uma tarefa hercúlea decorar os principais comandos em PHP, existem as cheat sheet.
São guias de referência rápida, tudo que você precisa em uma única página.
http://www.ilovejackdaniels.com/cheat-sheets/php-cheat-sheet/
Dump no Mysql em linha de comando
mysqldump -u [usuario] -p [banco] > [arquivo.sql]
Simples como a vida :)
segunda-feira, 24 de novembro de 2008
ezPDF vs IE via SSL
Ao utilizar a classe ezPDF para gerar relatórios no php, tive um problema interessante, no IE6 e IE7 o pdf não funcionava, simplesmente apresentava erro no download via SSL. Certamente o cabeçalho HTTP estava sendo gerado de forma "incompatível" com os IEs. Mas no firefox estava tudo certo.
Como não era meu interesse alterar a classe, o que poderia gerar uma explosão de versões, simplesmente mudei a forma de utilização.
Código usado anteriormente:
include ('class.ezpdf.php');
$pdf = new Cezpdf();
... geração do relatório
$pdf->ezStream();
Código novo:
include ('class.ezpdf.php');
$pdf = new Cezpdf();
... geração do relatório
header("Cache-Control: cache, must-revalidate");
header("Pragma: public");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"relatorio.pdf\"");
echo $pdf->output();
exit;
Minha idéia foi simples, forçar o download via http :)
Se quiser saber mais sobre a ezPDF use este tutorial Hello Word.
domingo, 29 de junho de 2008
Como instalar Rails no Ubuntu
Como ter um ambiente de desenvolvimento para Ruby on Rails no Ubuntu? Simples:
Primeirio temos que instalar o interpretador Ruby:
sudo apt-get install ruby rubygems irb ri rdoc ruby1.8-dev build-essential
depois os gems do Rails:
sudo gem install rake activesupport activerecord actionpack actionmailer activeresource rails
Assim teremos a versão mais atual do Rails.
Mas ainda falta registrar os gems nas variáveis de ambiente.
sudo gedit /etc/bash.bashrc
inclua a linha
#Rails
export PATH=$PATH:/var/lib/gems/1.8/bin
Agora é só testar
rails -v
:)
Postado por
Raphael de Almeida
às
23:49
2
comentários
terça-feira, 24 de junho de 2008
Diretórios Virtuais no Apache
Hoje precisei criar uma diretório virtual, ou seja, uma url que não corresponde a um diretório no mapeamento padrão do servidor web, tudo isso usando Apache.
Ex:http://www.google.com.br/maps
A pasta maps deve estar na raiz do diretório.
Mas se eu quiser colocar a pasta em outro local, como /meuDir/maps?
A tarefa bem simples. Basta editar o httpd.conf incluindo a seguinte entrada.
Alias /maps /meuD/maps
Não esqueça de dar um restart/reload para atualizar o
httpd.conf.
quarta-feira, 6 de fevereiro de 2008
40 sinais de que você realmente é um reles programador PHP
Eu estava trabalhando em uma lista de "pecados" para programadores PHP, mas o Reinhold Weber se adiantou. Melhor, porque a lista dele é bem maior que a minha :)
Resolvi fazer uma tradução livre. Vamos lá:
Isto é o que eu prefiro chamar de minha "lista de programação da vergonha".
Embora tendo uma educação universitária formal com aulas sobre engenharia de software, arquitetura de software empresarial e design de banco de dados eu tenho sido culpado por todas essas coisas uma vez ou outra.
A lista é completamente subjetiva e baseada no Eclipse.
Você é um reles programador PHP se:
- Não comentar seu código apropriadamente com algo como phpDoc.
- Não ver a necessidade e/ou benefício de uma boa IDE de programação
como Zend Studio ou Eclipse PDT. - Nunca ter usado uma forma de controle de versão como Subclipse.
- Não adotar algum padrão de código/nome e convenção geral e insistir com eles, pelo menos, ao longo de todo o projeto.
- Não usar uma metodologia consistente.
- Não escapar e/ou propriamente validar entradas ou consultas SQL.
- Não planejar sua aplicação minuciosamente antes de começar a codificar.
- Não usar desenvolvimento guiado a testes (TDD).
- Não programar e testar com error reporting on.
- Não ver os benefícios de um debugger.
- Não refatorar seu código.
- Não separar camadas diferentes usando algo como MVC.
- Não saber o significado de: KISS, DRY, MVC, OOP, REST.
- Não retornar conteúdo mas sim echo ou print de suas funções
ou classes. - Nunca ter visto a vantagem de testes unitários ou teses em geral.
- Retornar HTML, não dados, string ou objetos.
- Mensagens e parâmetros de configuração hard code.
- Não otimizar suas consultas SQL.
- Não usar __autoload.
- Não admitir manipulação de erros inteligente.
- usar $_GET no lugar de $_POST em qualquer ação destrutiva.
- Não saber como usar expressões regulares.
- Nunca ter ouvido sobre SQL injection ou cross-site scripting.
- Não permitir configuração simples, podendo ser parâmetros passados a um construtor de classe, métodos set/get chamados depois, ou constantes definidas em runtime.
- Não entender os benefícios e limitações da programação orientada a objeto.
- POO imprópria / tudo o que escrever, não importa o quão pequena é OO.
- Pensar que reuso de software é igual/requer que seu código seja OO.
- Não escolher padrões inteligentes.
- Não ter apenas um arquivo de configuração.
- Não querer que o conteúdo dos arquivos seja visto, mas para isso usar uma extenção .INC ao invés de .PHP.
- Não usar camada de abstração de banco de dados.
- Não manter o DRY, Don't repeat yourself(Não se repita). Se tem que copiar e colar ou duplicar algo no seu código seu design deve estar errado.
- Não fazer uma função/classe/método fazer somente uma coisar e não faze-las interagir.
- Não tentar usar as vantagens das características específicas da POO como classes abstratas, interface, herança, polimorfismo e modificadores de acesso.
- Não otimizar o design da sua aplicação com padrões de projeto estabelecidos.
- Não permitir seu usuário definir um diretório base se tiver múltiplos arquivos e/ou diretórios.
- Popular o namespace global, uma opção é prefixar as funções na sua biblioteca com uma string em comum.
- Não permitir um prefixo de tabela quando usar tabelas de banco de
dados. - Usar um template engine separado.
- Não dar uma olhada em frameworks estáveis para inspiração, muitos deles tem avançados conceitos de desenvolvimento web e boas práticas no código.




