Archive for category: Tecnologia

Nota rápida: Zend_Form + Zend_Translate

Nota rápida: Zend_Form + Zend_Translate

Salve,

Usando o Zend_Translate e colocando a sua instância na chave Zend_Translate do Zend_Registry ( Zend_Registry::get(‘Zend_Translate’) ), os formulários com Zend_Form irão buscar, e se encontrar, traduzirá os textos do Label e do Description. Title e placeholder ainda não são automáticos, mas você pode criar uma classe que estenda do Zend_Form e no método de adicionar o elemento pegar e traduzir para pegar automático:

if( Zend_Registry::isRegistered('Zend_Translate')
&& Zend_Registry::get('Zend_Translate') instanceOf Zend_Translate )
{
$tr = Zend_Registry::get('Zend_Translate');
$element->setAttrib('placeholder', $tr->_( $element->getAttrib('placeholder') ));
$element->setAttrib('title', $tr->_( $element->getAttrib('title') ));
}
22/09/2012 0 comments Read More
Usando a biblioteca padrão para a API do PagSeguro no Zend Framework

Usando a biblioteca padrão para a API do PagSeguro no Zend Framework

Salve,

O Candido Sales ( @candidosales ) me procurou sobre o problema de carregar  a biblioteca padrão para uso da API do PagSeguro, que eles mesmos distribuem, no Zend Framework. Eu consegui resolver isso e não tinha compartilhado isso no blog mas na lista ZFBrasil, no GoogleGroups, já tinha postado.

Se está com o mesmo problema, veja o ótimo post do Candido sobre como usar e outras explicações: http://candidosg.com/2012/04/28/pagseguro-zend-1-11/

* O modo de carregamento mostrado por ser usado para qualquer tipo de bibliotecas externas/independentes. Mas isso vai acabar por que o PHP-FIG ( github.com/php-fig ) criou o PSR-0 que é o padrão de Autoload do PHP e as novas versões dos frameworks Zend Framework ( ZF2, que está em beta ) e o Symfony ( SF2, já lançado ) já usam bem como outras ferrament e é indicado a todos usarem. :D

Valeu!

28/04/2012 2 comments Read More
Problema do mysql.sock no ZendServer CE para OSX

Problema do mysql.sock no ZendServer CE para OSX

Salve,

Tive um problema após a instalação do ZendServer CE 5.6. Simplesmente não foi criado o link em /tmp/ como de costume, então é fácil resolver:

sudo ln -s /usr/local/zend/mysql/tmp/mysql.sock /tmp/mysql.sock

Se estiver usando o Navcat e ao criar a conexão com o MySQL mesmo colocando todos os dados ele insistir que não está conectando no servidor MySQL, vá para a aba Advanced marque a opção Use socket file: e passe o caminho do link simbólico: /tmp/mysql.sock

Sem problemas agora, é só mandar conectar ou testar para ter uma certeza que funcionou.

Valeu!

08/02/2012 0 comments Read More
Usando o Snippely no Mac OSX compartilhando o banco de dados no Dropbox

Usando o Snippely no Mac OSX compartilhando o banco de dados no Dropbox

Salve,

No post Usando o Snippely em vários locais com Dropbox no Ubuntu Natty 11.04 foi ensinado no Ubuntu, mas serve para qualquer Linux. No Mac OSX, por causa das suas frescuras e estrutura de diretório diferente do Linux, você vai ter um puta trabalho…pra descobrir onde fica o bendito banco de dados do Snippely. Mas agora eu achei e compartilho como usa ele junto com Dropbox.

~/Library/Preferences/com.snippely.{parte variável pela instalação}/Local\ Store/

Agora é entrar na pasta, apagar o application.db e criar o link simbólico:

ln -s ~/Dropbox/Snippely/application.db .

* lembrando que o caminho para seu arquivo application.db no Dropbox pode ser diferente, é só você definir ai o caminho como você usa.

Valeu!

03/01/2012 0 comments Read More
Instalando extensão PHP via Pecl no MAMP/MacOSX

Instalando extensão PHP via Pecl no MAMP/MacOSX

Salve,

Estou usando agora o MacOSX e, por hora, o melhor gerenciador de ambiente de desenvolvimento PHP para MacOSX é o MAMP e pra complementar tem o MAMP Pro que te dá mais ferramentas bacanas. Pra quem está no Linux acho que não precisa de um gerenciador por que o apt-get/yum já faz um ótimo trabalho para gerenciar esses pacotes/programas e é super fácil, ponto para o Linux.

Meu problema foi: no MAMP eu não achei como instalar ( ferramenta nele ) as extensões, coisa que no Wamp e outros tem. Isso é um super #fail. No Linux seria via pecl já estaria tudo lindo, mas no MacOSX não tem local fixo de instalação dos pacotes do PHP, ai deixa a merda fedida de usar.

Como eu tinha instala o PHP pelo Brew antes, ele continua instalado aqui, para saber basta ver se existe o comando php, via terminal. Se existir será fácil:

sudo pecl install mongo

Ele instala aqui: /usr/lib/php/extensions/no-debug-non-zts-20090626/
Depois é criar o link simbólico para a pasta de extensão do MAMP que fica aqui: /Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/

* O pecl que vem no MAMP não rodou aqui, dá erro no Config.php, que eu não cheguei a procurar pois já estou com o pecl instalado aqui, mesmo sendo de outra instalação.

Depois que criou o link simbólico, agora é necessário adicionar no php.ini. Isso vai depender de duas coisas: qual versão do PHP está usando e se está usando o MAMP Pro. Seu php.ini será um desses:

/Applications/MAMP/bin/php/php5.2.17/conf/php.ini
/Applications/MAMP/bin/php/php5.3.6/conf/php.ini
/Library/Application Support/appsolute/MAMP PRO/conf/php.ini

Ai voce adiciona: extension=mongo.so

E reinicia o MAMP e pronto. Espero que eles consigam fazer uma ferramenta para realizar essa tarefa por que o valor não é tão baratinho e é algo de extrema importância.

Valeu!

19/12/2011 0 comments Read More
Informando o valor fixo do frete para o Pagseguro

Informando o valor fixo do frete para o Pagseguro

Salve,

Com problema ao especificar o valor do frete para o Pagseguro, demorei mas consegui. Infelizmente a documentação não deixa de forma clara. Então segue a dica:

Na configuração do frete no painel do Pagseguro, escolha o tipo Frete fixo e Adicional com valor fixo informe 0 ( zero ) para o Valor fixo para os adicionais, na adição dos itens, informe o valor do frete no primeiro item e nos demais informe 0 ( zero ). Pronto, agora ele vai aceitar lá como valor de frete o que você informou.

Para calcular o frete direto com o webservice dos Correios/ECT com PHP use a biblioteca que peguei do iMasters e adaptei ( refatorei várias coisas e adicionei funcionalidades ) aqui:  https://github.com/silasrm/correios

09/11/2011 0 comments Read More
Limpando campos do formulário com jQuery

Limpando campos do formulário com jQuery

Salve,

Precisei limpar todos os campos de um form e achei que o jQuery teria algo já pronto, mas não encontrei, com isso nas pesquisa achei a solução super simples do Pau Sanchez:

jQuery.fn.reset = function () {
  $(this).each (function() { this.reset(); });
}

Eu coloquei num arquivo, chamei e usei: $(‘#meu_form’).reset();

Muito fácil!

21/05/2011 0 comments Read More
Usando o Snippely em vários locais com Dropbox no Ubuntu Natty 11.04

Usando o Snippely em vários locais com Dropbox no Ubuntu Natty 11.04

Salve,

Que o Dropbox é uma mão na roda com sua solução de nuvem integrada ao sistema de arquivo fácil e rápido todos sabem, então juntando isso com o Snippely, ferramenta para guardar Snippets bem fácil, bonita e muito boa feita em Adobe Air, é algo muito bom e simples de integrar.

* O nome da pasta do Snippely dentro da .appdata pode ser diferente entre usuários/máquinas

  1. Instale o Snippely
  2. Configure sua conta do Dropbox
  3. Mova o arquivo ~/.appdata/com.snippely.6E4C758165F11BBEC90F106AA88CF53EB51547B1.1/Local\ Store/application.db para sua pasta do Dropbox: mv ~/.appdata/com.snippely.6E4C758165F11BBEC90F106AA88CF53EB51547B1.1/Local\ Store/application.db ~/Dropbox/Snippely/application.db
  4. Crie um link simbólico desse arquivo no Dropbox: ln -s ~/Dropbox/Snippely/application.db ~/.appdata/com.snippely.6E4C758165F11BBEC90F106AA88CF53EB51547B1.1/Local\ Store/application.db

Pronto, agora é só criar e ao salvar o Dropbox atualizará seu banco de dados de snippets. Onde você desejar usar, é só fazer o link simbólico do arquivo.

12/05/2011 0 comments Read More
Instalando suporte do PHP ao Oracle 10g no Ubuntu

Instalando suporte do PHP ao Oracle 10g no Ubuntu

Salve,

Atualizado: tive problemas ao instalar no Ubuntu 11.04, não sei a causa de não funcionar como antes, mesmo passando o ORACLE_HOME ele não estava pegando, ai descobrir que o erro erá por está fixado um padrão de diretório onde deve-se colocar os arquivos do instant client, com isso tive que seguir o padrão, eliminando 2 passos e deixando mais organizado a instalação.

Receita rápida para funcionar o suporte a Oracle no PHP, no Ubuntu Linux, usando versão 10.10 ou 11.04 64bits.

Primeiro baixe os arquivos do Instant Client aqui, versão 10.2.0.5 ou 11.2.0.2, eles são:

  • basic-10.2.0.5.0-linux-x64.zip
  • sqlplus-10.2.0.5.0-linux-x64.zip
  • sdk-10.2.0.5.0-linux-x64.zip

Vá para a pasta /usr e crie a seguinte estrutura:

cd /usr/lib
sudo mkdir -p oracle/10.2.0.5/client
cd oracle/10.2.0.5/client

Descompacte os arquivos baixados, lembrando que precisa está como root ou usando o sudo:

sudo unzip basic-10.2.0.5.0-linux-x64.zip
sudo unzip sdk-10.2.0.5.0-linux-x64.zip
sudo unzip sqlplus-10.2.0.5.0-linux-x64.zip

Mova tudo da pasta instantclient_10_2 para a atual e apague a instantclient_10_2

sudo mv instantclient_10_2/* .
sudo rm -rf instantclient_10_2/

Crie os links simbólicos:

sudo ln -s /usr/lib/oracle/10.2.0.5/client/libclntsh.so.10.1 /usr/lib/oracle/10.2.0.5/client/libclntsh.so
sudo ln -s /usr/lib/oracle/10.2.0.5/client/libocci.so.10.1 /usr/lib/oracle/10.2.0.5/client/libocci.so
sudo ln -s /usr/lib/oracle/10.2.0.5/client/ /usr/lib/oracle/10.2.0.5/client/lib
sudo ln -s /usr/lib/oracle/10.2.0.5/client/sdk/include /usr/lib/oracle/10.2.0.5/client/include

Instale a extensão oci8 via PECL:

sudo pecl install oci8

Ele vai pedir o caminho da do Instant Cliente, então você informa:

instantclient,/usr/lib/oracle/10.2.0.5/client/

Adicione a extensão no php.ini:

extension=oci8.so

Baixe o pacote PDO_OCI, via PECL, para compilarmos:

sudo pecl download pdo_oci

Descompacte e entre na pasta do PDO_OCI:

sudo tar xvfz PDO_OCI-1.0.tgz
cd PDO_OCI-1.0

Agora siga os passos da compilação:

sudo phpize
sudo ./configure --with-pdo-oci=instantclient,/usr,10.2.0.5

Se você teve problema no passo acima, principalmente em versão 32bits, abra o arquivo configure, procure por pdo_driver e nas linhas desse bloco ( IF/ELSE IF/ELSE ), mude os caminhos da pasta do php onde tem php/ext/ para php5/ext/ pois no Ubuntu a pasta do PHP é php5 em vez de php.

sudo make
sudo make install

Adicione a extensão no php.ini:

extension=pdo_oci.so

Recarregue o apache:

sudo service apache2 reload

** Plus:

Adicione o sqlplus no /usr/bin para poder executar/conectar/fazer consultas via terminal:

sudo ln -s /usr/lib/oracle/10.2.0.5/client/sqlplus /usr/bin/

Edite o arquivo /etc/ld.so.conf e adicione o caminho para a pasta de instalação do InstantClient /usr/lib/oracle/10.2.0.5/client/ e depois recarregue a ldconfig:

sudo vim /etc/ld.so.conf
sudo ldconfig

Pronto. Crie um arquivo chamando o phpinfo() e veja se está instalado o suporte a Oracle.

17/03/2011 0 comments Read More
Meu ambiente de trabalho em 7 itens

Meu ambiente de trabalho em 7 itens

Salve,

Após o Duodraco ( @duodraco ) iniciar o meme para que as pessoas indicadas falem sobre o ambiente de trabalho, chegou a minha vez, convidado pelo Bruno Gomes ( @brgomes ).

Segue meu ambiente:

1 – S.O.: Ubuntu ( atualmente 10.10 ). Simplesmente meu apaixonei pelo pequeno Linux, que chegou arrebentando e conquistando milhões de usuários de outras distros e novos usuários para o mundo Linux. Chegou e trás ousadia em criações e melhorias para o Linux. Simplesmente me dá agilidade e ferramentas muito boas que sem elas eu seria um nada, coisas que não consigo viver sem :D .

2 – IDE: Netbeans ( atualmente 6.9 ). Usei várias IDE’s e editores, depois migrei para o Eclipse como IDE principal, mas nunca deixei de experimentar outras ( como as da Active State, KDevelop e outras ), e ainda usando editores para coisas simples e rápidas. Mas depois que tentei usar o Netbeans para PHP ( já tinha usado ele completo pra java, quando trabalhei com a linguagem, e achava hiper-pesado ) e vi que era leve, tinha ótimos recursos e ainda é multiplataforma como o Eclipse, não voltei mais para o Eclipse e sou feliz.

3 – Git: já usei subversion antes de começar com git e quando trabalhava com Java. Como na empresa meu superior não liga e não apoia versionamento ( maluco né? ) e depois de criar um repositório para os sistemas da empresa e ele apagar, desistir e comecei no git. Comecei com o belo github, me ensinou muito, criei meus repositório na minha máquina do trabalho. Depois fiz o Workshop de Git com a School of Net do @wesleywillians e aprende coisa pra caramba e fiquei mais apaixonado, sensacional. Nunca mais usei subversion, é ruim ou bom isso? :D

4 – Filezilla: o monstro do FTP. No lado bom. Conheci, achei fácil, simples e eficiente. De lá pra cá só dá ele. Onde vou ele vai, mais uma paixão. Prove e comprove.

5 – Navegadores: Firefox é minha paixão. Acho sensacional, apesar de comer muita memória :( . Tenho o Chrome, para quando tiver que abrir sistemas pra testes, testar a interface e etc, mais leve, mas poucas coisas me agradam. Opera, ainda não reinstalei :( . IE 9 numa VM com Windows. Infelizmente ainda tem trabalhos para se testar no IE anterior ao 9, e ai é dá os pulos diversos e chatos.

6 – Gerenciamento de Tarefas: Getting Things GNOME, até achar um melhor. Não conseguia me acostumar com nenhum online, plugin de navegador, desktop e etc. O GTG me deixou feliz, por ser simples, fácil e rápido. Se encontrar um melhor quem sabe ou troco :D

7 – Terminal + Guake: sem esse eu não sou nada. Seja pra mover arquivos ( bem mais rápidos que abrir gerenciador de arquivos ou ir pela IDE ), seja pra editar algo que está fora do projeto, seja pra acessar o mysql ou SQL Server ( tsql roda beleza, mas só terminal ) ou qualquer outra atividade que seja trabalhosa abrir outra ferramenta. Apenas um F12 ele surge, aperta F12 de novo ele esconde.

Extra – Podcast e músicas. Guanacast, Nerdcast, Rapaduracast e outros, além das músicas dos mais diversos estilos, para tornar as coisas mais felizes, dá risada e parecer maluco para os outros que não estão escutando. Simplesmente muito bom.

Fica ai o convite para continuar o meme:

@hugohenrique

@mlalbuquerque

@marcelorodrigo

@plcosta

@gpupo

Valeu!

26/12/2010 0 comments Read More