WP – Compactar HTML

Esta rotina eu utilizava até hoje no site da PARKEER para compactar o HTML a ser exibido pelo WordPress. Embora não tenha maiores aprimoramentos, funciona muito bem.

function start_ob() {
ob_start('pk_compress_html');
}
function end_ob() {
ob_end_flush();
}

function pk_compress_html($output) {

$search = array(
'/\>[^\S ]+/s',     // strip whitespaces after tags, except space
'/[^\S ]+\</s',     // strip whitespaces before tags, except space
'/(\s)+/s',         // shorten multiple whitespace sequences
'/<!--(.|\s)*?-->/' // Remove HTML comments
);
$replace = array(
'>',
'<',
'\\1',
''
);
$output = preg_replace($search, $replace, $output);

$output = trim($output);
$output = preg_replace('/^[ \t]*[\r\n]+/m', '', $output);
return $output;
}
add_action('get_header', 'start_ob');
add_action('shutdown', 'end_ob', 999);

Instalando o JDK e o JRE no CentOS / Fedora

Vá até uma pasta livre…

$> cd /opt

Download para OS 32 Bits:

$> wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-i586.rpm"
$> wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jre-8u45-linux-i586.rpm"

Download para OS 64 Bits:

$> wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.rpm"
$> wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jre-8u45-linux-x64.rpm"

Instalação (via RPM) para o OS 32 Bits:

$> rpm -Uvh jdk-8u45-linux-i586.rpm
$> rpm -Uvh jre-8u45-linux-i586.rpm

Instalação (via RPM) para o OS 64 Bits:

$> rpm -Uvh jdk-8u45-linux-x64.rpm
$> rpm -Uvh jre-8u45-linux-x64.rpm

Só correr para o abraço!

$> java -version
$> javac -version

Como gerar uma chave CSR (SSL)

Se você deseja obter um certificado SSL de uma autoridade certificadora (CA), você precisa gerar primeiro, uma chave de requisição (CSR). O CSR consiste de um par de chaves públicas, além de algumas informações à serem adicionadas ao certificado, como por exemplo, as informações da sua empresa.

Para gerar uma requisição de certificado (chave de requisição), é necessário que você tenha acesso ao terminal do seu servidor, lá, digite o seguinte:

$> openssl genrsa -out domain.key 2048
$> openssl req -new -sha256 -key domain.key -out domain.csr

Algumas informações serão perguntadas, preencha como a seguir:

Wrap text in jQuery

function wrapText(elementID, openTag, closeTag) {
var textArea = $('#' + elementID);
var len = textArea.val().length;
var start = textArea[0].selectionStart;
var end = textArea[0].selectionEnd;
var selectedText = textArea.val().substring(start, end);
var replacement = openTag + selectedText + closeTag;
textArea.val(textArea.val().substring(0, start) + replacement + textArea.val().substring(end, len));
}

VB/ASP – Trabalhando com Arrays

Arrays ???? Rápido um dicionário !!! Uhn… Vejamos :

Arrays – Tipo de variável que armazena um conjunto de valores do mesmo tipo ; Um arranjo de elementos em uma ou mais dimensões ; Uma coleção de elementos do mesmo tipo no qual a posição de cada elemento está definida de forma única por um inteiro.

Obs: Os arrays são semelhantes aos vetores , se você já ouviu falar em vetores e conhece algo sobre eles verá que os conceitos envolvidos são semelhantes.

Acho que não foi um bom começo , mas , vamos tentar melhorar. Primeiro : não vou traduzir a palavra array , array será entendido como um tipo de variável especial. Segundo: vamos ser mais práticos…

Vamos supor que você precise atribuir a três variáveis o nome de três pessoas que constam de uma relação. Como você faria ? Ora, ora… abaixo as três etapas básicas envolvidas no tedioso processo…

'declarando as variáveis
dim snome1 as string
dim snome2 as string
dim snome3 as string

'atribuindo valores
snome1="João da Silva
snome2="Maria Lima"
snome3="Pedro Sabino"

'exibindo o conteúdo
for i=1 to 3
   msgbox snome & i
Next

Você teve que declarar 3 variáveis diferentes , uma para armazenar cada nome, mesmo cada nome sendo do uma variável do tipo string.

Muito Bem, e se a relação tiver 5 pessoas e você precisar atribuir os nomes a variáveis ??? Ô Loco !!!!

Ora por isso é que inventaram os arrays . Vejamos como ficaria…:

'declarando
Dim sNomes(1 to 5) as String
'atribuindo valores
sNomes(1)="João da Silva"
sNomes(2)="Maria Lima"
sNomes(3)="Pedro Sabino"
sNomes(4)="Marcia de Souza"
sNomes(5)="Carlos Manga"
'exibindo o conteúdo
for i=1 to 5
   msgbox snomes(i)
Next

O que há de novo ?

Você declarou somente uma variável – sNomes
Cada nome foi atribuído à variável sNomes , sendo diferenciado apenas por um índice numérico: sNomes(1), sNomes(2), sNomes(3) , sNomes(4) , sNomes(5)
Para recuperar o conteúdo de cada variável usamos o numero que identifica de forma única cada nome em cada variável.

Tudo se passa como se você tivesse um “armário” com 5 “gavetas ” , cada gaveta possuindo um número de identificação , e armazenando um nome distinto.

Conclusão :

Os Arrays permitem que definamos uma série de variáveis pelo mesmo nome diferenciando-as através de um número inteiro chamado índice.
Todos os elementos de um array devem ser do mesmo tipo de dado: string , integer, etc…. ( para que os elementos possam conter diferentes tipos de dados (strings , integers, objects, etc…) você deve definir o array como do tipo Variant )
A quantidade de variáveis definidas por cada índice (número) determina o tamanho do array.

Nota – Os arrays possuem a seguinte característica:

Ao declarar um array da seguinte forma: Dim Teste(4) o array possuirá 5 elementos pois o primeiro elemento terá como índice o número zero. Assim : Teste(0) ,Teste(1), Teste(2), Teste(3) , Teste(4)
Para fugir a esta característica basta você definir o índice inferior e superior do array , assim : Dim Teste(1 to 5) irá produzir :Teste(1) ,Teste(2), Teste(3), Teste(4) , Teste(5)

O VB trabalha com dois tipos de arrays : os fixos , que sempre permanece do mesmo tamanho e os dinâmicos cujo tamanho pode ser alterado em tempo de processamento.

Arrays Fixos

A sintaxe para declarar um array fixo é:

Dim Nome_do_Array(Índíce_Inferior To Índice_Superior) As Tipo_de_Dados

Onde:

Nome_do_Array – O nome dado ao array
Indice_Inferior – o primeiro elemento do array
Indice_Superior – o último elemento
Tipo_de_Dados – um tipo de dados válido. (Integer, Double, String, Date, etc…)

Ex: Dim Numeros(10) as Integer , Dim Nomes(10) as String