Limpando a pasta WinSxS

Quando achar que a pasta WinSxS estiver ocupando muito espaço, não tente remover as pastas/arquivos manualmente, podemos dar manutenção na pasta com o comando abaixo usando o utilitário Dism, que tem a função de administrar os pacotes de instalação do Windows:

Dism.exe /online /Cleanup-Image /StartComponentCleanup

Erro ao executar cygwin pull no git.

Passei pela seguinte situação usando o TortoiseGit no Windows:

C:\Program Files\Git\bin\git.exe pull --progress "origin" 
Done
    0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0x0, BaseAddress 0x68560000, RegionSize 0x390000, State 0x10000
C:\Program Files\Git\bin\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

O erro ocorre porque provavelmente a DLL msys deve estar corrompida, para isto, deve-se “repagina-la” usando o utilitário Rebase.exe.

O comando para executar o rebase está abaixo:

[c:\path\]git\bin\rebase.exe -b 0x50000000 msys-1.0.dll

Geralmente os arquivos do git se encontram em:

c:\program files (x86)\git\bin\rebase.exe -b 0x50000000 msys-1.0.dll

Testando valores nulos no componente Formula no pdi pentaho.

Para testar valores nulos no componente Formula do pdi pentaho, deve-se usar a função BLANK(). O teste não pode ser feito com o valor nulo.

Exemplo de testar o valor nulo no campo DATA_ENTRADA:

Forma errada:

IF ([DATA_ENTRADA] = null; "Data está nula"; "Data está ok")

Forma correta:

IF (ISBLANK([DATA_ENTRADA]); "Data está nula"; "Data está ok")

No exemplo acima ele testa se o campo DATA_ENTRADA está vazio (nulo), se estiver retorna a string “Data está nula”, se não, retorna a string “Data está ok”.

Configurar php 7 no apache (httpd.conf)

Para fazer com que o apache reconheça o php, já instalado na máquina, copie e cole as linhas abaixo no arquivo httpd.conf:


LoadModule php7_module "c:\pasta do pho\php7apache2_4.dll"
AddType application/x-httpd-php .php

# Configura o path do php.ini
PHPIniDir "C:\pasta do php\"

O código vale para o ambiente windows, no linux deve-se adaptar o path.

Configurar ubuntu software center para conectar via proxy.

Para configurar a central de software do ubuntu para utilizar conexão via proxy para baixar os repositórios tente executar os seguintes comandos no terminal:

$ gsettings set org.gnome.system.proxy mode 'manual'
$ gsettings set org.gnome.system.proxy.http enabled true
$ gsettings set org.gnome.system.proxy.http host 'http://enderecodeproxy.com'
$ gsettings set org.gnome.system.proxy.http port 8080
$ gsettings set org.gnome.system.proxy.http use-authentication true
$ gsettings set org.gnome.system.proxy.http authentication-user 'usuario'
$ gsettings set org.gnome.system.proxy.http authentication-password 'senha'

Reinicie o software-center e tente novamente, se der erro mais uma vez clique em Repair para restabelecer a conexão.

Retornar data truncada (date_trunc) no postgresql.

A função date_trunc no postgres retorna a data truncada.

Modo de uso:

date_trunc('campo', origem)

Os valores validos para o ‘campo’ são:

microseconds
milliseconds
second
minute
hour
day
week
month
quarter
year
decade
century
millennium

Exemplo de utilização:

 
SELECT date_trunc('hour', '2014-02-16 20:38:40');
-- Retorna: 2014-02-16 20:00:00 (A data preenchida até a hora)
 
SELECT date_trunc('year', '2014-02-16 20:38:40');
-- Retorna: 2014-01-01 00:00:00 (A data preenchida até o ano)

Habilitando o plugin java do Firefox no Ubuntu.

Ultimamente tive alguns problemas ao usar o plugin java icedtea (versão 6 e 7) com o firefox. Problemas como lentidão e crash repentinos estavam acontecendo frequentemente, além de não abrir certificados java no navegador. A solução foi instalar o plugin java da oracle que vem na JRE.
Para instalar o plugin basta apontar o arquivo libnpjp2.so, que vêm na JRE, geralmente no caminho (dependendo da sua versão java e da arquitetura da sua máquina) java-6-openjdk-amd64/jre/lib/amd64/libnpjp2.so (ao invés de amd64, usar i386 para sistemas de 32bits).

*Verificar se a pasta ~/.mozilla/plugins/ já existe, se não existir criar com o comando abaixo.

mkdir ~/.mozilla/plugins

Comando para linkar o plugin:

ln -s /[pastadeinstalacao]/java-6-openjdk-amd64/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/libnpjp2.so

Reinicie o firefox e veja se o plugin está instalado em Tools->Add-ons.

Usando magic methods com php

Hora ou outra a gente se depara com algumas funcionalidades que uma linguagem pode nos proporcionar. Às vezes até hesitamos em mudar nossos conceitos, mas é sempre bom tentar enxergar se determinada opção na linguagem vale a pena de ser usada na implementação. O problema é que eu tinha uma classe a fazer, com 50 atributos e estava com uma preguiça danada de escrever todo o código (sei que existem ferramentas que resolvem o caso – http://www.card2u.com.my/ClassBuilder/ ou http://www.phpclasses.org/browse/package/4794.html que geram o código e ainda oferece uma modelagem MVC com suporte à conexão nativa) mas precisava de algo mais “crú”. Então, veja o que os magic methods __get() e __set() fazem por você nessas horas:

Aqui uma classe teste

 
<?
 
class Class1 {
 
 
//Lista de atributos
 private $var1;
 private $var2;
 private $var3;
 
 
 
/*
* Método mágico que retorna os valores das variáveis privadas.
*
*/
 
  public function __get($atributo)
    {
        if (isset($this->{$atributo}))
        {
            if ($this->{$atributo})
                return $this->{$atributo};
        }
        else
        {
            return false;
        }
    }
 
 
/*
* Método mágico para atribuir valores nas variáveis privadas. 
*
*/
 
   public function __set($name, $value) {
        $this->$name = $value;  
   }
 
 
}
?>

Testando a classe Class1

<?
 
//Declaração
$classe1 = new Class1();
//Atribui 'Valor 1' a $var1
$classe1->var1 = "Valor 1";
//Atribui 'Valor 2' a $var2
$classe1->var2 = "Valor 2";
 
print $classe1->var1;
print $classe1->var2;
 
?>

Pronto, não precisei me preocupar em escrever getters e setters para os atributos da classe.