Páginas

29 de jul de 2012

Adicionando suporte ao git para o SublimeText 2

O SublimeText é um editor robusto, completo, muito leve, rápido e multiplataforma. Bem conhecido no Mac e ganhando espaço dentre usuários linux, o Sublime aproxima-se bastante do conceito IDE.

Pra galera que está usando controle de versão com GIT em seus projetos, vamos ver uma forma bem fácil de utilizar comandos GIT diretamente no Sublime.

Sublime Package Control


Para isso vamos instalar agora, o Sublime Package Control. Um sistema de gerenciamento de pacotes muito parecida com a instalação de plugins do Netbeans ou Eclipse, por exemplo.

1. Entre no console do SublimeText com o atalho ctrl+` ou indo no menu View>Show Console. No console cole o seguinte código:

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'

2. Espere alguns segundos, após, reinicie o Sublime Text

Sublime Text 2 - Git Plugin


Agora vamos instalar o Sublime Text 2 - Git Plugin que irá adicionar a possibilidade de executarmos comandos git diretamente no Sublime.

1. Abra o Command Pallet do Sublime (Command+Shift+p on OS X, Control+Shift+p on Linux/Windows).

2. Selecione "Package Control: Install Package".

3. Quando Git aparecer, selecione e o plugin será automaticamente instalado.

OBS: Não há necessidade em preocupar-se com atualizações. Segundo a Wiki do plugin, elas serão executadas automaticamente.

Para finalizar reinicie o Sublime e abra a Command Pallet. Comece a digitar algum comando git e veja a lista dos comando disponíveis. Isso pode ser uma boa ajuda para quem não gostar de ter um terminal constantemente aberto.

Eu testei essa instalação no Debian 6 com Sublime Text2 v.2.1

https://github.com/kemayo/sublime-text-2-git/wiki
http://wbond.net/sublime_packages/package_control/usage

21 de jul de 2012

Como evitar que números de telefone sejam convertidos para links do skype

Quando o skype é instalado em alguma máquina, ele automaticamente instala um conversor que busca e transforma números de telefone em links que podem ser facilmente utilizados para discar. Na maioria dos casos, isso é bom. Porém se esse não for o objetivo e você quiser desaparecer com eles existem formas simples de fazer isso.

Forma idiota de fazer isso, mas funciona

Essa forma seria mais uma gambiarra do que realmente a solução. Porém, para efeito de comparação, vou explicá-la aqui. Basicamente consistem que escrever o número de telefone em tags separadas.
Ex.
<address>
       <span>0800</span>
       <span>555-</span>
       <span>555</span>
</address>

Forma recomendada e que funciona melhor ainda!

O skype consegue ler as metas tags de uma página assim como consegue converter os números em link. Adicione a meta tag abaixo no <head> da página e o skype entenderá que não deve converter os números.
Ex.
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />

É somente isso! Espero que ajude, qualquer dúvida ou sugestão de melhoria, fico muito feliz em recebê-las!

4 de jul de 2012

História do PHP

Muitas vezes, nos preocupamos tanto em aprender algo que acabamos negligenciado todos os processos e fatos que ocorreram até que esta se tornasse um sucesso mundial.
Quase sempre quando se vai contar a história de uma determinada linguagem, pensa-se logo em um texto chato, massante e que parece não acrescentar nada realmente útil ao nosso conhecimento. Porém na maioria das vezes percebo que é justamente o contrário, e que o conhecimento e os atos de grandes nomes da história acaba motivando e servindo de inspiração para todos.

Para começar, nada melhor que falar do criador da linguagem, Rasmus Lerdorf, nascido em novembro de 1968 na Groelândia, Rasmus cresceu na Dinamarca e no Canadá. Desde o início sempre foi apaixonado por tecnologia (curiosamente não gostava muito de programação) e em 1993 concluiu sua graduação em Engenharia de Sistemas na Universidade de Waterloo no Canadá.
Certa vez, trabalhando para uma empresa brasileira situada em Mountain View, Califórnia, viu o Mosaic , primeiro navegador web criado no Centro Nacional de Aplicações de Supercomputação (NCSA), em Ilinóis. Logo de cara, Lerdorf percebeu que a web poderia ser uma plataforma alternativa para o desenvolvimento de sistemas. Acreditando nesse mercado potencial, ele resolveu pedir demissão e voltar para o Canadá, onde começou a prestar serviços de consultoria para manter sua renda enquanto desenvolvia algo maior.
Durante 6 meses de trabalho, em 1993 ele se viu desenvolvendo repetidamente os mesmo scripts CGI em linguagem C. Para simplificar se trabalho Rasmus criou uma biblioteca com esses programas, que analisavam o codigo HTML e faziam chamadas a rotinas C. Um dos seus primeiros códigos foi:



<HTML>
  <HEAD>
    <TITLE>My Personal Home Page</TITLE>
  </HEAD>
  <BODY>
    This is my cool page
    <P> And look at my counter<P>
    <IMG SRC="/cgi-bin/counter.pl">
  </BODY>
</HTML>



Em 1994 a ideia inicial era fazer funcionalidades para seu site pessoal, principalmente voltadas para a análise de dados vindo de formulários, e por isso batizou se parser (analisador) de “Personal Home Page / Forms Interpreter” ou PHP/FI.
Além de criar sua biblioteca, Rasmus resolveu também disponibilizar o código-fonte abertamente para que outros programadores pudessem realizar aprimoramentos e correções. Aos poucos a biblioteca de instruções suportadas foi aumentando e todos os códigos eram injetados em meio os comentários HTML:


<HTML>
  <HEAD>
    <TITLE>My Personal Home Page</TITLE>
  </HEAD>
  <BODY>
    <!-- sql database select * from table where user = '$user' -->
  </BODY>
</HTML> 


Em 1995 o parser foi modificado para suportar múltiplas linhas em uma mesma supertag, que passou a ser representado por <? e >.


A partir daí, o PHP/FI começou a crescer pelas mãos do seu fundador e em 1997 foi lançada a versão 2.0, com novos recursos. Note, que até o momento, não se menciona o termo “Linguagem de Programação” pois até então o PHP/FI não era mais do que uma biblioteca de instruções simplificadas que eram analisadas pelo parser criado por Lerdorf.
Mesmo sendo um projeto bem pequeno, o PHP/FI já tinha conseguido conquistar desenvolvedores no mundo inteiro, e aproximadamente 50mil domínios já faziam uso do parser (cerca de 1% da web, na época). A prova disso surgiu em novembro de 1997 quando 2 programadores israelenses descobriram que o código de Lerdorf poderia auxiliar em um projeto da faculdade: criar um site de e-commerce.

Zeev Suraski, Andi Gutmans e outros programadores resolveram utilizar apenas o fundamento utilizado por Lerdorf e reescrever completamente o parser do PHP/FI, transformando-o em uma verdadeira linguagem de programação.
A versão 3.0 surgiu em junho de 1998 e ganhou tantos recursos que o termo “Personal Home Page” ficou muito modesto para representar o real tamanho do projeto. Porém Zeev e Andi não queriam se desvincular da sigla e resolveram manter a sigla PHP.
Historicamente um dos recursos que confere grandiosidade às siglas, é usar acrônimos recursivos. Nesse formato, uma das letras é a própria sigla o que cria uma interessante e infinita referência circular, como nos exemplos:
  • GNU significa GNU is Not Unix
  • BING significa BING Is Not Google
  • VISA significa VISA International Service Association
Sendo assim a sigla PHP ganhou um novo significado: PHP Hypertext Preprocessor o que conferia à linguagem um nome mais intenso. Mas essa alteração do nome não foi a maior mudança pela qual a versão 3.0 passou. A biblioteca ganhou características de linguagem, além de uma API que permitia a construção de extenções, fato que contribuiu para conquistar ainda mais desenvolvedores interessados em criar aprimoramentos para o PHP.
Paralelamente Zeev e Andi começaram a melhorar ainda mais o parser do PHP e criar uma engine que permitisse a execução de scripts ainda mais poderosos. Essa nova engine foi batizada de “Zend Engine” (uma junção de ZEev e aNDi) e trazia novidades, como suporte a múltiplos servidores, sessões HTTP, manipulação segura de inputs e buffer de saída.

Baseado na Zend Engine, em maio de 2000 surgiu o PHP 4.0, com um grande ganho de performance, já que deixava de analisar o script em tempo de execução e gerava uma pre-compilação para um código intermediário, que era interpretado pela Zend Engine. Além disso, a preocupação com segurança foi um dos pontos mais importantes na versão 4.0, já que nesse ponto o PHP já estava instalado em mais de 20% dos servidores da web.


Em 2002 as linguagens orientadas a objeto ganharam força. Pensando em manter o PHP Zeev e Andi resolveram reescrever o núcleo, dando origem a Zend Engine 2.0 que foi a base para o lançamento do PHP5 em 2004

Atualmente Zeev e Andi estão à frente da Zend Technologies, que entre outros projetos desenvolve o Zend Framework, o Zend Studio, e oferece a certificação oficial PHP. A Zend Technologies está situada em Copertino na Califórnia, mas possui filiais em Israel, França, Itália e Alemanha.
Desde 2002 Rasmus Lerdorf trabalha na Yahoo! como engenheiro de infraestrutura e já veio no Brasil em diversas ocasiões inclusive a poucos dias em uma palestra via videostreaming no Serpro, sobre novidades do PHP5.3, ferramentas de debug como o Xdebug e o call_grid entre outros.
Atualmente estamos na versão 5.3.6 (stable) do PHP, sendo que o desenvolvimento do PHP6 já está em andamento há muito tempo. Para essa nova versão existem duas grandes mudanças positivas, agora na versao 6 do PHP, o mesmo dará suporte a Unicode, tornando as aplicações escritas em PHP mais internacionalizáveis, aumentando a flexibilidade do que pode ser escrito com a plataforma. A segunda mudança, positiva, é o aumento de performance do núcleo.Muitas outras mudanças já foram declaradas e estão sob constante discussão nas listas oficiais do PHP. Em um próximo post podermos discuti-las em mais detalhes.
Espero que essa história não o tenha entendiado durante a leitura, e que sirva de inspiração para tocar seus projetos pessoais, mesmo aqueles que já o levaram a perder as esperanças. Não desanimem!