quarta-feira, setembro 19, 2007

CHAR ou VARCHAR - MySQL

Eu tinha essa dúvida sempre, e de vez em quando eu esqueço e tenho que olhar de novo... eu sou assim, fazer o que!

De acordo do o site do MySQL, um campo do tipo CHAR vai de 0 a 255 com tamanho fixo, ou seja, se você declarar um campo como CHAR(30), ele vai guardar o que você escreveu (exemplo 'Daniel') e espaços em branco até completar os 30 bytes.
O VARCHAR é diferente. Até a versão 5.0, variava de 0 a 255, mas nas versões posteriores passou a aceitar até 65.535! E se você declarar um campo como VARCHAR(30) e escrever nele 'Daniel', ele vai ocupar somente 6 bytes.
Para ambos os tipos, se a string inserida for maior que o tamanho, o valor é truncado.
Por isso se você tem certeza do tamanho do campo, vale mais a pena usar o CHAR (CEP, telefone, sigla de UF etc), mas se você quer somente estipular um tamanho máximo, use VARCHAR (nome, logradouro, bairro etc).
Uma coisa interessante que eu nunca usei :) é a opção BINARY desses campos. CHAR BINARY e VARCHAR BINARY tornam esses campos sensitivos a maiúscula e minúscula, pois analisa o byte e não o caractere. Isso influencia na ordenação dos campos...

Abraço!

terça-feira, setembro 18, 2007

Alterar Opacidade - Transparência

Como os navegadores se comportam de maneiras diferentes, o ideal é criar funções JavaScript para realizar as alterações no objetos da página. Um exemplo legal é este para alterar a opacidade do objeto:

function setOpacity(id,valor) {
document.getElementById(id).style.opacity = valor/10;
document.getElementById(id).style.filter = 'alpha(opacity=' + valor*10 + ')';
}

Aí você chama a função passando os parâmetros 'id' do objeto passivo a ação e um número de 0 a 10 para a nova opacidade.

setOpacity('content',3);


Assim a div de id 'content' fica com 30% de visibilidade.

segunda-feira, setembro 10, 2007

Magento 0.6

A nova solução eCommerce open source liberou a versão beta 0.6 para testes. Para baixá-la basta acessar http://www.magentocommerce.com/download. Esta nova ferramenta promete ser promissora, com muitíssimas funcionalidades e possibilidades de adaptação. Porém, aparentemente parace ser um pouco mais lento que os tradicionais osCommerce e ZenCart.

Requisitos Magento

Para funcionamento básico, o Magento precisa do seguinte:
  • - Linux ou outro sistema operacional compatível com Unix-like (Windows também...)
  • - Apache Web Server (1.x or 2.x)
  • - PHP 5.2.0 ou mais recente, com as seguintes extensões/addons: PDO/MySQL, MySQLi, mcrypt, mhash, simplexml, DOM
  • - MySQL 4.1.20 ou mais recente
  • - Um Sendmail-compatible Mail Transfer Agent (MTA) - Magento vai conectar diretamente a um servidor SMTP server se você não tiver um MTA
Eles também recomendam o uso do APC como um bytecode cache para melhorar a performance. Você pode encontrar nos arquivos do PECL:
http://pecl.php.net/package/APC. Outro sistema de bytecode cache systems ainda não é
suportado.