sexta-feira, 24 de julho de 2015

Usando arquivos Dot Env para gerenciar as configurações

Configuração Laravel


Incluído no Laravel http://laravel.com/docs/configuration#protecting-sensitive-configuration



Eu realmente gosto da segunda ligação e como ele cria um arquivo .env primeiro a apenas devolver um array simples. Depois disso, você pode ter o .env.production.php ou .env.local.php que laravel pode procurar.


//bootstrap/start.php

$env = $app->detectEnvironment(function()

{

if (file_exists(__DIR__ . '/../.env')) {

return include(__DIR__ . '/../.env');

} else {

return 'production';

}

});

Muito simples nesse ponto para separar todos os ambientes.

terça-feira, 25 de fevereiro de 2014

Como instalar o MemCache num Windows

Configurando o MemCache num Windows


Depois de algumas pesquisas, descobri que há uma versão binária do Win32 memcached disponível aqui.
Caso você tenha problemas com a dll, ou ainda precise de um memcached para 64 bits, outras versões podem ser encontradas para download aqui.

Então vá lá e baixar a versão binária win32 para o seu computador. Quando baixado, extraia o arquivo para a pasta memcahced em sua partição C.

Você deve pegar apenas um arquivo chamado memcached.exe. Agora precisamos instalar este como um serviço, como o memcached é daemon e deve ser executado apenas como serviço.

Para instalar o Memcached como um serviço, siga estes passos (por favor, mudar tudo barras para barras invertidas):

Se você está rodando o Vista, você deve definir memcached.exe para Executar como administrador
Instalar o serviço usando o comando:

c:/memcached/memcached.exe  -d install

no prompt de comando 
Inicie o servidor dos Serviços ou executando um dos seguintes comandos:

c:/memcached/memcached.exe -d  start
ou
net start "memcached Server"


Isso é que é, agora o servidor memcached é instalado e está escutando na porta 11211. Há mais uma coisa a fazer. Por padrão, o servidor é definido como limite de 64MB de memória, o que é muito pequeno. Para corrigir, vá para o Editor do Registro e encontrar a chave

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/memcached  Server .


Modifique o comando para:

“C:/memcached/memcached.exe” -d runservice -m 512


Desta forma, você vai usar 512 Mb limite de memória para o seu servidor. 

Se você estiver usando WAMP, então basta ligar extensão php_memcache nele. Agora estamos prontos para ir testando. 

O teste mais simples é escrever algo para memcache que irá expirar em 30 segundos e, em seguida, tentar recuperar o valor do cache. 

Então escreva isso em seu arquivo de teste:

<?php

$memcache = new Memcache; // instantiating memcache extension class

$memcache->connect("localhost",11211); // try 127.0.0.1 instead of localhost 

// if it is not working 



echo "Server's version: " . $memcache->getVersion() . "<br />\n";



// we will create an array which will be stored in cache serialized

$testArray = array('horse', 'cow', 'pig');

$tmp       = serialize($testArray);



$memcache->add("key", $tmp, 30);



echo "Data from the cache:<br />\n";

print_r(unserialize($memcache->get("key")));

?>


Se tudo correu bem, você deve ver sua matriz escrita de memcache. Agora você pode usar este mecanismo de cache poderoso para desenvolver aplicações PHP muito rápido. Se você precisa saber mais, acesse a página do Manual do  PHP Memcached

quinta-feira, 28 de março de 2013

Como Limpar Cache do Putty

Como limpar o cache do putty e atualizar as 'fingerprints'



Para todos aqueles que precisam limpar o cache do Putty de impressões digitais (fingerprints) de host (Windows) para desenvolvimento e teste, aqui está a resposta:

1. Abra o registro (regedit)
2. Vá para HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

Lá você deve ver o cache Putty de chaves de host.
A coluna 'Nome' diz que chave é para qual servidor.
Por exemplo, ele vai ter o formato de <algo> @ <port>: <host> [RSA2 @ 22:172.16.117.159]

3. Excluir as linhas que você precisa e pronto!

Isso é tudo...

terça-feira, 26 de março de 2013

Instalando Fontes True Type no CentOs 6

Instalando Fonts TrueType no centOs 6


msttcorefonts é uma maneira de obter as fontes TrueType da Microsoft no Linux. No entanto, a liberação da versão 6 do Red Hat Enterprise Linux não inclui mais um pacote pré-requisito de msttcorefonts, nomeadamente chkfontpath, que, por sua vez, depende da fonte servidor pacote xfs.

A última versão do msttcorefonts no sourceforge não é adequado para isso, então, enquanto isso, podemos corrigir o arquivo de especificação e construí-lo nós mesmos.

1) Baixe o arquivo de especificações de http://corefonts.sourceforge.net/msttcorefonts-2.0-1.spec

2) corrigir o arquivo spec. Crie um arquivo chamado msttcorefonts.rhel6.patch, contendo o seguinte:

--- msttcorefonts-2.0-1.spec 2011-09-05 11:09:57.206756336 +0100
+++ msttcorefonts-2.0-1.1.spec 2011-09-05 11:23:56.925761649 +0100
@@ -19,8 +19,8 @@
 BuildPrereq: %{ttmkfdir}
 BuildPrereq: wget
 BuildPrereq: cabextract
-Prereq: /usr/sbin/chkfontpath
-Packager: Noa Resare 
+#Prereq: /usr/sbin/chkfontpath
+#Packager: Noa Resare 
 
 %description
 The TrueType core fonts for the web that was once available from
@@ -152,7 +152,7 @@
 %post
 if test $1 -eq 1
 then
- /usr/sbin/chkfontpath --add %{fontdir}
+ ln -s /usr/share/fonts/msttcorefonts/ /etc/X11/fontpath.d/msttcorefonts
 fi
 # something has probably changed, update the font-config cache
 if test -x /usr/bin/fc-cache
@@ -163,7 +163,7 @@
 %preun
 if test $1 -eq 0
 then
- /usr/sbin/chkfontpath --remove %{fontdir}
+ /bin/rm -f /etc/X11/fontpath.d/msttcorefonts
 fi
 
 %files

3) corrigir o arquivo de especificações, executando o seguinte comando no mesmo diretório do arquivo de especificação.
patch 

Inspecionar visualmente o arquivo de especificação resultante para verificar se ele não exige mais chkfontpath.
4) Reconstruir o pacote rpm usando o arquivo de especificação do novo
rpmbuild-bb msttcorefonts-2.0-1.spec

5) Finalmente, copie o RPM resultante para seu repositório local, ou instalar localmente com
yum localinstall msttcorefonts-2.0-1.noarch.rpm

quarta-feira, 6 de junho de 2012

Instalando JDK Java da Oracle no Ubuntu 12.94


Instalando JDK Java da Oracle no Ubuntu 12.94  (Precise Pangolin)

Objetivos:
  • Instalar  a Java JDK no Ubuntu 12.04 (Precise Pangolin)
To get started, download Java JDK package from here.
When prompted with the screen below, choose to save the file.

jdk_precise

Depois de salvar, extraia a package baixada, rodando o comando abaixo. O comando assume que o seu arquivo foi baixado na pasta Downloas.
tar -xvf ~/Downloads/jdk-7u3-linux-i586.tar.gz

jdk_precise_1

Após, crie uma pasta para a JDK, com o seguinte comando.
sudo mkdir -p /usr/lib/jvm/jdk1.7.0 

jdk_precise_2

Então mova todos os arquivos e pastas da JDK, para a nova localização, conform mostrado.
sudo mv jdk1.7.0_03/* /usr/lib/jvm/jdk1.7.0/

jdk_precise_3

Após, copie e cole cada comando, sendo um de cada vez, conforme mostrado abaixo, dando um enter após cada comando.
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1 
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1

Depoism crie uma pasta para os plugins do Mozilla, no seu diretorio home.
mkdir ~/.mozilla/plugins/

jdk_precise_7

Finalmente, crie um link simbólico, para a sua pasta de plugins do Mozilla. Não esqueça de substituir no comando o i386, por amod64 se seu Sistema Operacional for 64 bits
ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

jdk_precise_8
 E é isso, sua JDK Java esta instalada.

segunda-feira, 4 de junho de 2012

Paginator com Zend e Doctrine

Zend_Paginator e Doctrine 2


Para quem gosta de trabalhar com o Zend, mas usa o Doctrine 2 como ORM, aqui vai um modo fácil de implementar um Paginador, usando o Zend_Paginator com o Doctrine.


use Doctrine\ORM\Tools\Pagination as Paginator; // goes at top of file
SomeController::someAction() {
 $dql = "SELECT s, c FROM Square\Entity\StampItem s JOIN s.country c ".' ORDER BY '.  $orderBy . ' ' . $dir;

 $query = $this->getEntityManager()->createQuery($dql);
 $d2_paginator = new Paginator($query); \\

 $d2_paginator_iter = $d2_paginator->getIterator(); // returns \ArrayIterator object

 $adapter =  new \Zend_Paginator_Adapter_Iterator($d2_paginator_iter);

 $zend_paginator = new \Zend_Paginator($adapter);          

 $zend_paginator->setItemCountPerPage($perPage)
            ->setCurrentPageNumber($current_page);

 $this->view->paginator = $zend_paginator; //Then in your view, use it just like your currently use     
}