Danillos Blog Feed 2011-03-03 11:14:00 Danillo César de O. Melo danillocesar.com.br Extensões no PHP com PEAR utilizando o Pirum ou PearHub 9 2011-03-03 11:14:00 Alguns dias atrás parei para estudar o PEAR que seria como o incrível RubyGems do Ruby só que para o PHP.

Com ele é possível instalar extensões do PHP com um simples comando:

pear install Benchmark

Apesar do PEAR ser conhecido, poucas pessoas o utilizam para publicar suas extensões em PHP, acredito que o motivo disso seja a burocracia para colocar uma extensão no channel(repositório) do PEAR, você pode ver aqui que existem poucas extensões no channel do PEAR, ao contrário do RubyGems que além de ser mais novo possui muito mais extensões (gems) que o PEAR.

Pirum

Para ajudar a comunidade PHP a publicar suas extensões a SensioLabs criadora do Symfony desenvolveu um pequeno projeto chamado Pirum que é um simples gerenciador de canais(channels) do PEAR para seus projetos, dessa maneira você sai da burocracia do channel(repositório) do PEAR e cria seu próprio channel.

Não vou entrar em detalhes de como criar um channel usando Pirum agora, mas deixo claro que o passo a passo na página inicial do projeto é muito fácil e intuitivo, e para hospedar seu channel é necessário somente um servidor de páginas estáticas em HTML.

PearHub

O PearHub é um outro projeto criado para facilitar a publicação de novas extensões em PHP usando o PEAR.

Para usar é necessário somente colocar seu projeto em algum repositório on-line em GIT ou SVN e então cadastrar seu projeto no PearHub inserindo a URL desse seu repositório. O resto ele faz sozinho, inclusive a publicação de novas releases de sua extensão, basta você criar uma nova TAG em seu repositório que o PearHub identifica e publica automaticamente a nova release.

O PearHub é um projeto open-source e que me chamou muita atenção, já que ele se  parece muito com serviço do RubyGems, que facilita bastante a vida do desenvolvedor e tem como objetivo juntar todas as extensões em um único channel.

O que não gostei nele é que não tem uma boa documentação, fiquei perdido em como configurar um package.

Considerações finais

A utilidade do PEAR é muito grande, infelizmente existe toda essa burocracia para publicar novas extensões no channel do PEAR, fazendo com que a comunidade crie seus próprios channels então decentralizando as extensões criadas para o PHP.

Em breve serei mais um desenvolvedor a criar um channel próprio utilizando o Pirum, uma pena o PearHub não ter uma documentação decente, mas ainda irei fazer uns testes a cega nele antes de usar o Pirum.

Durante essa minha pesquisa sobre o PEAR descobri outros dois projetos bastantes interessantes, o Pundle que seria um Bundle do Ruby só que para PHP e o Pake que seria o rake do Ruby só que para PHP, depois posto algo sobre eles.

]]>
Meu ambiente de desenvolvimento em 7 itens 8 2010-12-26 21:41:00 Convidado por @madeinnordeste no post em seu blog, aqui está meu Ambiente de Desenvolvimento em 7 itens.

1. MAC OSX

Está com um pouco mais de 1 ano que comprei um Macbook pro de 13,3 com o OSX, simplesmente incrível, com certeza o melhor OS para desenvolveres e web designers, ter um ambiente de desenvolvimento de sua aplicação similar ao ambiente de produção e ainda poder usufruir de bons aplicativos para web designer é perfeito.

2. Terminal

É o primeiro programa que abro antes de começar a trabalhar, mate, git, cap, rails, brew, ssh… um terminal é essencial para o desenvolvimento.

3. Git

Não trabalho mais sem um Sistema de Controle de Versão, são inúmeras vantagens que me deixaram acostumado, e para projetos open sources recomendo o git junto ao serviço do github que é um ótimo serviço e facilita a colaboração no desenvolvimento de seus projetos.

4. Capistrano

É uma ferramenta para fazer deploy de suas aplicações, o Capistrano foi desenvolvido em Ruby e já vem pronto para se trabalhar com Rails, porem pode ser usado para fazer deploy de aplicações em qual quer linguagem, atualmente uso ele no meu blog que é em PHP usando o Drumon Framework, adeus FTP.

Em breve postarei um passo-a-passo de capistrano com php.

5. Textmate

Sem comentários, o melhor editor de textos para desenvolvedores.

6. Firefox

Uso o firefox para o desenvolvimento de minhas aplicações por causa do firebug, que na minha opnião ainda é a melhor ferramenta para ajudar o desenvolvimento web em browsers.

7. Logitech MX Revolution

Uso o Revolution a 4 anos e não largo ele, se um dia larga seria para o seu sucessor o Performance.



Pra dar continuidade ao movimento ‘Meu ambiente de desenvolvimento em 7 itens’ meu convite vai para:

Juarez (Front-end)

Fábio Miranda (Mootooler)

Cairo Noleto (Rubysta)

]]>
Adote o simples 5 2010-08-02 10:25:00 Que ninguém se engane, só se consegue a simplicidade através de muito trabalho.
(Clarice Lispector)

Saiba mais sobre o post

]]>
Boas utilidades para o uso do atributo 'content' do CSS 4 2010-07-07 15:04:00 Poucas pessoas têm o conhecimento que o CSS pode inserir conteúdos em seu documento HTML utilizando o atributo content e os pseudos elementos :before, :after. Lembrando que ele deve ser usado apenas como complemento visual, e não como um outro meio de inserir conteúdo em seu documento.

Aqui estão 3 boas ultilidades para o uso do atributo content.

Protegendo seu email contra Spams

Um bom uso do atributo content é para proteger os emails contra spams, com ele você pode esconder do código fonte do HTML os emails que você deseja exibir, fazendo com que os bots não encontrem o email para o uso em spams. A maneira mais automatizada é fazer com que o atributo content insira depois do usuário do seu email o resto do email, pegando de algum atributo do HTML.

Exemplo:

CSS:

/* Inseri no fim do elemento span.email
 o texto que está no atributo title */

span.email:after{
content: attr(title);
}

HTML:

<span class="email" title="@seuemail.com">usuario</span>

Resultado:

usuario@seuemail.com

Demo

Exibindo a url do link ao imprimir

Um outro bom uso do atributo content é para exibir a url do link na hora da impressão, assim resolvendo o problema de imprimir somente o texto do link.

/* Se existir o atributo href, 
inseri ele na hora da impressão */

@media print {
a[href]:after { content:" (" attr(href) ") "; }
}

Demo

Adicionando Aspas duplas na tag blockquote

Por padrão na maior parte dos browsers, a tag HTML blockquote que é usada para citações longas vem sem aspas duplas, com o atributo content você pode colocar elas de forma que seja cross browser e sem o uso de imagens.

Exemplo de uma citação longa com aspas duplas.
/* Aspas Duplas curvas cross browser */ 
blockquote:before { content: '\201C'; }
blockquote:after { content: '\201D'; }

Demo

Os browsers mais utilizados (Firefox 3+, Safari 3+, Chrome 3+, Opera 10+ e Internet Explorer 8+) suportam CSS content com o pseudo elemento :after, :before e está especificado como recomendação na W3C.

]]>
Como simular uma conexão lenta de internet para testar suas aplicações 3 2010-07-04 10:00:00 Várias vezes tive a necessidade de testar algumas aplicações em uma conexão mais lenta, como a discada por exemplo, para poder analisar o comportamento das aplicações, uma delas foi o sistema de envio de arquivos do CMS da Sook.

Existem algumas maneiras de simular uma conexão lenta em um sistema operacional, aqui estão algumas.

IPFirewall (Mac OSX)

O Mac OSX e algumas distribuições do FreeBSD, possuem um firewall criado e mantido pelos membros voluntários do FreeBSD, o IPFW. Através desse firewall você pode limitar a quantidade de dados trafegados em seu OS.

Para isso é nessesário criar um pipe com o limite da conexão desejada, digite no terminal:
sudo ipfw pipe 1 config bw 15KByte/s

Depois basta associar a porta que deseja limitar com o pipe criado, nesse caso estou limitando a porta 80
sudo ipfw add 1 pipe 1 src-port 80

Pronto agora qual quer conexão que é feita pela porta 80 é limitado a 15Kbytes.

Para remover a limitação é só usar o comando:
sudo ipfw delete 1

Speed Limite (Mac OSX)

Speed Limit é um painel de preferências open source para o Leopard que limita a sua banda da internet. É muito bom para aqueles que não tem muita intimidade com a linha de comando.

Wondershaper (UBUNTU)

No Ubuntu você pode usar o wondershaper, mas antes é preciso instala-lo com o comando:
sudo apt-get install wondershaper

Para limitar a velocidade você deve usar o comando:
sudo wondershaper eth0 download_speed upload_speed

onde eth0 é sua placa de rede e os valores devem ser em KByte/s, veja um exemplo:
sudo wondershaper eth0 15 15

Para remover o limite use o comando:
sudo wondershaper clear eth0

Firefox Throttle (Windows)

É um plugin do Firefox para Windows que monitora e limita a banda no Firefox ele pode ser baixado na página do Firefox.

]]>
TinyAlert 1.2 2 2010-07-02 10:21:00 Acabo de lançar meu blog onde vou falar sobre desenvolvimento web e outras coisas que vierem à minha cabeça, nesta minha primeira postagem estou disponibilizando publicamente o TinyAlert na seção labs, onde ficarão alguns projetos e testes criados por mim.

Image

TinyAlert é um leve plugin feito em Mootools para alerta de messagens, parecido com o Growl do mac, seu código fonte tem apenas ˜1.4k. Apesar de ser pequeno ele é bastente flexível, tem suporte a eventos e icones, e suas skins são fáceis de personalizar usando apenas css.

Você pode ver a demostração em sua página, seu código fonte está disponível no github e no Mootools Forge.

]]>