terça-feira, 16 de fevereiro de 2010

Jason Fried (37signals) falando um pouco sobre desenvolvimento de software

Apresentação muito muito boa de Jason Fried onde ele fala sobre como eles tocam o negócio de desenvolvimento de software na 37signals.
A visão dele mostra como eles são autorais ao criar os produtos deles. Ele fala sobre dizer não mais frequentemente que sim (principalmente para as requisições de usuários), software inchados de funcionalidades, como eles não possuem plano de negócios, etc. E tem muitas outras dicas bem legais. Recomendo assistir o vídeo.
Apresentação Jason Fried.

sábado, 6 de fevereiro de 2010

Tradução - Enviando e-mail via Gmail usando CodeIgniter

Olá galera. Estou trabalhando em novo projeto e nele preciso enviar e-mails. Acontece que por enquanto o código só está na minha máquina de desenvolvimento e eu não tenho um servidor e-mails. Procurando por uma solução achei este artigo do Joel Gascoigne. Nele o Joel ensina como usar a biblioteca de e-mails do CodeIgniter para enviar e-mails usando uma conta gmail, o que é excelente para quando você quer testar funcões de envio de email localmente. Com autorização do autor original aí vai a tradução do artigo dele.

Eu acabei de implementar esta funcionalidade para o OnePage e gostaria de compartilhar no caso das pessoas acharem útil.
Porque enviar e-mail usando o Gmail ao invés de usar uma configuração de um servidor SMTP?
Existem algumas vantagens que vejo fazendo desta forma:
  • A possibilidade de desenvolver localmente e testar o envio de e-mails sem ter o trabalho de configurar um servidor local de e-mail.
  • A possibilidade de usar os emails Google Apps para enviar e-mails a partir de e-mails que estão sobre seu próprio domínio.
  • A possibilidade de ter referências dos e-mails que você envia usando este método na sua pasta "Enviadas" na sua conta Gmail.
Vamos lá!
Agora que decidimos que este é o caminho que tomaremos, vamos começar! Na verdade é bem simples, especialmente com o fantástico framework CodeIgniter sua classe Email. Isto deve funcionar bem somente com o PHP regular ou com outros frameworks se você usar os mesmos conceitos demonstrados aqui. E também devo dar créditos para o usuário wrs dos Fórums CodeIgniter, uma vez que minha solução foi baseada no post dele.
Um novo arquivo de configuração - email.php
Coloqueo o código seguinte dentro de um novo arquivo de configuração chamado "email.php" e coloque este arquivo dentro do diretório application/config. Arquivos de configuração nomeados com o mesmo nome de uma biblioteca são incluidos automaticamente, é isso que estamos fazendo aqui.



Tenha certeza de alterar 'seu email gmail aqui' e 'sua senha gmail' apropriadamente.
Enviando email, agora através do Gmail
Agora qualquer e-mail enviado usando a classe Email do CodeIgniter vai na verdade ser enviado da conta Gmail escolhida:



Uma inconveniência deste método
Existe uma inconveniência deste método, que é que você não pode especificar o email "from" para outro email que não seja seu endereço Gmail ou um endereço de e-mail associado com sua conta Gmail. Todo e-mail vai ser enviado da conta de e-mail que você configurou como padrão na sua conta Gmail.
Possível Erro - "Unable to find the socket transport 'ssl' - did you forget to enable it when you configured PHP?"

Se você recebeu este erro, como eu recebi, então você precisa habilitar o SSL na configuração do PHP. Abra o php.ini e encontre uma linha como a seguir:
;extension=php_openssl.dll
Simplesmente remova o ";" e reinicie o Apache e você deve estar pronto. O ";" denota que a linha é um comentário, e removendo isso é habilitado a extensão SSL para o Apache. Crédito - http://www.boringguys.com/2007/07/20/unable-to-find-the-socket-transport-ssl-did-you-forget-to-enable-it-when-you-configured-php/
Isso é tudo!
Eu espero que isso seja útil para algumas pessoas :) Eu uso isso principalmente para densenvolvimento local - é muito bom ser possível testar tudo.
Se você acha meus posts úteis , você deve checar meu site OnePage e me seguir no twitter.
Fim tradução.

É isso aí pessoal, eu testei usando minha conta gmail e funcionou direitinho, qualquer dúvida ou problema comentem aí. Até a próxima.

terça-feira, 2 de fevereiro de 2010

Apresentação do Hip-Hop

Acabei de assistir a apresentação "oficial" do pessoal do Facebook sobre o Hip-Hop, o "transformador de código" como eles disseram. Basicamente o pessoal disse o que já estava neste link Agora tem este outro link para uma página do projeto dentro do site deles. Mas mesmo assim ainda não consegui acessar nada no GitHub.

O Hip-Hop de acordo com a apresentação funciona muito bem o código "mundano", ou seja aquele código mais simples que não usa os recursos "mágicos" do PHP. Coisas estáticas como classes e varáveis se beneficiam muito das otimizações do Hip-Hop. Mas os recursos dinâmicos não obtém o mesmo retorno. Um exemplo interessante que eles mostraram foi a função "function_exists", já que no PHP uma função pode estar declarada antes ou depois da checagem com function_exists. Mas muita coisa dinâmica eles conseguem suportar como extract, chamadas de funções dinâmicas, redeclaração de funções e classes, etc.

Como o apresentador disse, quem vive no mundo de hosts compartilhados (meu caso) não deve tirar muito proveito do Hip-Hop por agora. E pelo que entendi, somente no mundo *nix o Hip-Hop está disponível.

O fluxo de desenvolvimento é basicamente o mesmo existente, você cria um arquivo .php coloca seu código nele testa em um servidor e quando estiver pronto você roda no Hip-Hop e coloca em produção. Eles queriam aproveitar esta característica de rápido desenvolvimento do PHP aliado com o desempenho do C++.

Eles basicamente tiveram que reescrever todas as extensões da linguagem PHP, uma coisa engraçada foi quando um cara perguntou como eles contornaram a questão de que muitas extensões PHP não eram thread-safe e o apresentador respondeu que eles tiveram que "resolver" estes problemas.

Por enquanto é só, quando eu conseguir por as mãos no Hip-Hop quero postar alguma coisa aqui. Valeu!

Saiu! HipHop o compilador PHP feito pelo Facebook

Aí vai o link para o post sobre o projeto, feito por um dos envolvidos. Na verdade não é um compilador, ele transforma seu código PHP em C++ e compila usando o g++, ou seja, é um tradutor PHP->C++.
Agora é tentar testar o cara! Até mais.

Update: O repositório do projeto no GitHub está fora do ar, ou melhor, o GitHub está fora do ar.

Update II: Na página indicada pelo link acima eles vão fazer uma apresentação ao vivo falando do HipHop. No horário brasileiro deve ser as 01:30. Depois desta apresentação o código deve ser liberado.

Facebook pode estar preparando um compilador para a linguagem PHP

Estão dizendo por aí na web que o Facebook deve lançar um novo projeto open-source hoje. E que esse projeto provavelmente é um compilador PHP. Ou seja, você poderia pegar seu código fonte escrito em PHP e transformá-lo em código nativo da máquina. Em teoria isso poderia aumentar muito a velocidade de execução dos códigos da linguagem.
Uma boa parte da base de código do Facebook é escrita em PHP, e com os milhões e milhões de usuários que a rede social tem, um pequeno ganho na velocidade de execução pode significar muita coisa. Vou ficar de olho na página de projetos open-source deles a partir de hoje, talvez sai alguma coisa lá.