Mysql: Renomentando tabelas para Maiúsculas/Minusculas

Ola galera, passei por uma situação hoje onde precisei renomear todas as tabelas de um banco de dados mysql para maiúculas, pois trouxe o banco do windows para o linux, e este é case sensitive… Eis que resolvi minha situação com o seguinte comando:

for i in `mysql -u root -pSENHAROOT SEUDB -e ‘show tables’ | grep -v Tables_in`; do t=`echo $i | awk ‘{print toupper($0)}’`; mysql -u root -pSENHAROOT SEUDB -e “rename table $i to $t” ; done

Convertendo DateInterval para Extenso.

Estava hoje mais uma vez programando, refatorando um código antigo que tenho em produção. E estou começando utilizar DateTime e DateInterval para minhas datas ( No meu código legado estão sendo tratadas como string do jeito que vem do mysql ). Para isso precisei exibir um DateInterval por extenso para descrever um periodo dentro do sistema.

Fiz da seguinte maneira:

function formatarIntervaloDeData(\DateInterval $dti){
    $legenda = array(
        "y" => ["Ano","Anos",","],
        "m" => ["Mese","Meses",","],
        "d" => ["Dia","Dias",","],
        "h" => ["Hora","Horas",","],
        "m" => ["Minuto","Minutos",","],
        "s" => ["Segundo","Segundos","e"]
    );

    $txt = "";

    foreach(legenda as $key => $val){
        list($sing,$plural, $sep) = $val;
        if($dti->$key > 0){
            $txt .= ($txt?"$sep ":"") . $dti->$key . " " . ($dti->$key==1?$sing:$plural) . " ";
        }
    }

    return $txt;
}


E o resultado fica assim:

48 Segundos
23 Dias , 19 Horas e 1 Segundo
1 Minuto , 15 Dias , 15 Horas e 8 Segundos

e por ai vai.

StartSSL – Certificado Gratuito para o seu Site

startssl Olá galera, venho aqui com uma dica de como deixar seu site seguro e ter acesso a algumas funcionalidades do html5 ( como geolocalização e cache de arquivos ) que estão sendo liberadas apenas para sites com https.

O custo de certificados ssl no Brasil é muito alto, sendo um classe 1 em torno de R$ 1700,00 pela CertSign. A empresa startssl.com, fornece gratuitamente certificados classe 1 com validade de 1 ano totalmente de graça. Basta se cadastrar no site deles, e seguir alguns passos:

Continue lendo “StartSSL – Certificado Gratuito para o seu Site”

PHP CURL: 417 – Expectation Failed

PHP CURL

Olá  todos, durante o desenvolvimento de uma de minhas aplicações web, me encontrei fazendo o envio de algumas informações para um web service através do módulo do curl do php. Estive obtendo o seguinte erro:

417 - Expectation Failed

Depois de alguma pesquisa na internet, não encontrei a explicação exata do porque isto acontece, mas pude achar um workaround. Ao adicionar o seguinte código:

curl_setopt($ch,CURLOPT_HTTPHEADER,array("Expect:  "));

O Curl foi capaz de efetuar o envio das informações de maneira correta.

Continue lendo “PHP CURL: 417 – Expectation Failed”

Append em JTextArea a partir de uma Thread

Olá a todos, depois de muita peleja, consegui resolver meu dilema. Estes dias recebi uma encomenda de um pequeno software o qual desenvolvi em java, com swing para a interface. No onclick de um botão eu tinha que executar uma Thread em segundo plano que iria executar vários subprocessos e exibir o retorno em um JTextArea…. ai veio o grande problema, a GUI simplesmente ficava travando, ou o aplicativo inteiro travando… etc.

 Tentei de todas a maneiras que o tio Google me indicou, iniciando uma nova Thread apenas não  resolveu. Tentei utilizar o SwingUtils.invokeLater, e ainda assim o resultado continuava o mesmo. Depois de algumas horas quebrando a cabeça achei a raiz de todo o mau….

 

Continue lendo “Append em JTextArea a partir de uma Thread”