jun 30 09

Cache básico com variáveis estáticas

por Jan Seidl

Quando uma função é chamada mais de N vezes (para os neuróticos, mais de 1), costumamos empregar técnicas de caching (cacheamento de informações) para evitar que a lógica seja recalculada para retornar um valor já previamente calculado.

Na área da computação, cache é um dispositivo de acesso rápido, interno a um sistema, que serve de intermediário entre um operador de um processo e o dispositivo de armazenamento ao qual esse operador acede. A vantagem principal na utilização de uma cache consiste em evitar o acesso ao dispositivo de armazenamento – que pode ser demorado -, armazenando os dados em meios de acesso mais rápidos

Um dos níveis possíveis de cacheamento é através de variáveis locais e é recomendado para funções chamadas mais de N vezes na mesma execução e pode resultar em um ganho de performance absurdo tanto no código quanto no banco de dados atrás da operação.
leia o artigo na íntegra

jun 24 09

CakePHP: Evitando hardcode de URLs no código

por Jan Seidl

Quando tivermos que referenciar uma váriavel ou enviar um $this->redirect() para uma URL que corresponde a um par controlador/ação não é legal que tenhamos este endereço escrito “hardcoded” (na mão) no código. A classe Route do CakePHP nos ajuda a manter o código limpo e reduz a manutenção, caso necessária.

leia o artigo na íntegra

jun 23 09

Manutenção e monitoração com o mínimo de impacto ao usuário

por Jan Seidl

Quando temos um estabelecimento físico e nos deparamos com um problema que necessita de reparo ou alguma reforma não é de bom grado deixar o “defeito” à mostra aos clientes. Queremos passar a imagem perfeita.

Problemas todos temos, há inúmeras ações preventivas como Unit Testing (inglês) e afins, porém dado o dano, é imperativo que toda operação seguinte transcorra com a maior cautela e menor aparência possível para minimizar quaisquer impactos com o relacionamento com o cliente.

leia o artigo na íntegra

jun 22 09

Badges de votação e WP Minify

por Jan Seidl

Nós bons bloggers de tecnologia gostamos de ver o quanto nossos usuários gostaram do que escrevemos e frequentemente usamos badges de votação como do D-Zone, Rec6 etc.

Eu como fanático da otimização sempre andei de mãos dadas com minificadores de código (préprocessadores de compressão e remoção de dados desnecessários) e quando encontrei o WP-Minify achei que meus problemas de wordpress com os plugins que possuem arquivos externos . Falácia! O WP-Minify conseguia lidar belamente com os arquivos que acresciam suas linhas através dos hooks wp_register_script e wp_enqueue_script porém os scripts que não tinham este cuidado (e que não são poucos) e geravam código inline ou adicionavam ao head através de prints acabavam ficando.

Thaya Kareeson, autor do plugin, lançou recentemente uma nova versão que poe o output do tema em buffer e então o processa, pegando assim toda e qualquer aparição inline. O resultado da coleta é colocado em um arquivo temporário e chamado junto com o resto dos javascripts. Excelente!

O problema veio que meu badge do Rec6 (este no fim do artigo) depende do the_permalink() que não está disponível para o arquivo temporário cagandquebrando o código do badge.

Comecei a me deseperar, parei, respirei, abri a página de configuração esperando alguma opção para desligar o préprocessamento inline mas não havia. Comecei a me desesperar mais um pouco. Respirei e vi que tinha uma ‘blacklist’ de scripts e estilos para não serem minificados. Resolvi arriscar jogar a url do src do javascript (que era um .php). Maravilha, worked like a charm!

Espero que esta dica ajude algúem que, como eu, está(va) “batendo cabeça” com esse problema.

abr 26 09

Definindo relacionamentos semanticamente entre documentos XHTML

por Jan Seidl


Quando temos páginas que se relacionam entre si ou que pertencem a um grupo de páginas, podemos definir o relacionamento entre elas de forma que parsers e crawlers possam identificá-los corretamente. leia o artigo na íntegra

abr 23 09

Abrindo corretamente links em nova janela

por Jan Seidl

A boa prática nos conduz a abrir links em nova janela apenas quando são páginas de sites externos e desde que o atributo target="_blank" dos links a morreram (se você não sabia eu lamento muitíssimo em contar-lhe), o único caminho que nos resta é o JavaScript. leia o artigo na íntegra

abr 9 09

Convertendo arquivos OOXML (.docx,.xlsx,.pptx) do MS Office 2007

por Jan Seidl

A versão mais recente do Office da Microsoft (aquela da interface azul que mudaram tudo de lugar) trabalha com um novo formato de documentos chamado “Office Open XML” que tem feito muita gente esquentar a cabeça ao receber documentos neste formato de clientes ou fornecedores. leia o artigo na íntegra