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.

segunda-feira, agosto 27, 2007

Vídeo sobre mundo digital e web 2.0

Achei muito legal esse vídeo sobre web 2.0

terça-feira, agosto 21, 2007

Fontes web seguras

Uma tradução/compacto de um artigo do site do MIT.

As fontes mais seguras de se usar na web são:
  • Arial / Helvetica
  • Times New Roman / Times
  • Courier New / Courier
Outras comuns que trabalham entre as plataformas são:
  • Palatino
  • Garamond
  • Bookman
  • Avant Garde
Fontes que funcionam no Windows w MacOS, mas não no Unix+X são:
  • Verdana
  • Georgia
  • Comic Sans MS
  • Trebuchet MS
  • Arial Black
  • Impact
* serif são fontes com chanfro, como Times, por exemplo.
* sans-serif são fontes sem chanfro, como Helvetica, por exemplo.
* monospace são fontes das quais suas letras ocupam o mesmo espaço, como Courier.
* SO = Sistema Operacional

Fontes sans-serif comuns

Helvetica é a "bambambam", mas Arial é mais usada nos SOs modernos.

Helvetica

É uma boa escolha para textos pequenos com até uns dois parágrafos. Os computadore sUnix e Macintosh tem Helvetica como fonte nativa nas impressoras PostScript.

Arial

Uma cópia um pouco arrumada da Helvetica que o Windows usa.

Fontes Serif comuns

Times é o "cara", mas Times New Roman é mais comum nos SOs modernos.

Times

Também chamado de Times Roman, é uma fonte com chanfro tradicional. Está disponível no Mac e Unix, entre as principais fontes PostScript. Times foi desenhada para jornais e tem um tamanho pequeno em comparação com outras fontes.

Times New Roman

É a versão Microsoft do Times e está disponível no Windows e no Mac.

Fontes "monospace" comuns

Desenhada para imitar a saída de uma máquina de escrever, estas fontes são freqüentemente usadas para escrever códigos. Courier é o principal, mas Courier New é mais usado pelos SOs mais novos.

Courier

Courier é a fonte monospace tradicional, sendo usada no Unix e Mac, e é uma das principais do PostScript.

Courier New

É a versão Microsof da Courier, usada no Windows e Mac.


Acessando o artigo original, você tem informações sobre as outras fontes como Verdana, Tahoma, Garamond, Palatino, Comic Sans, entre outras. O importante é saber que se você quiser que seu site seja visualizado igualmente pelos navegadores em diversos sistemas operacionais, você precisa utilizar fontes parecidas, se não as mesmas. Algumas são de criação da Microsoft, o que faz que não esteja presente no Linux. Ao declarar no seu CSS, você pode colocar a ordem de preferência das fontes. Por exemplo:



body { font-family: Helvetica, Arial; }
code { font-family: Courier, 'Courier New'; }

Assim você terá certeza que a fonte usada será, por exemplo, Helvetica e se não houver disponível no computador, ele usa Arial. Claro que você pode inverter a ordem, mas o importante, repito, é dizer para o navegador que fonte usar e qual a fonte "reserva".


segunda-feira, agosto 20, 2007

Compra de Passagem na Gol

Olha que ridículo... e ainda falam que se desconhecer a compra "clique aqui"...

Bom dia Sr(a)
Você está recebendo uma mensagem automática da Gol Linhas Aéreas Inteligentes.
Confirmação da compra de passagem.

Saída: SAO-Congonhas-SP (CGH)
Chegada: Porto Alegre-RS (POA)
Subtotal: R$ 329,62

* Taxa de embarque inclusa.


A Gol Linhas Aéreas Inteligentes agradece a sua compra.
Consulte seu extrato com sua operadora de crédito ou em sua conta corrente.

_____________________________________________________________

* Caso desconheça esta compra, cancele imediatamente clicando aqui.

SAC GOL
0300 789 2121
Não clique, por favor... Repare que o site é vooegol.net. Veja no cabeçalho da mensagem o "Return Path".

quinta-feira, agosto 16, 2007

Navegadores diferentes: Descobrindo novos mundos

Você conhecia Avant ou Maxthon? Flock já ouviu falar, né?
Fala-se muito no iE, no Firefox, Opera e Safari, mas por aí tem muitos navegadores bons que estão surgindo e ganhando uma comunidade ativa boa.
Vou fazer um breve comentário de cada um dos novos destaques. Não há necessidade de citar leitor de RSS, bloqueador de popup, auto preenchimento e segurança como fatores de desempate, porque por padrão todos os bons (entenda estes) navegadores possuem.
  • Avant Browser: Com os principais recursos dos outros navegadores, ele é rápido e eficiente, com ótima usabilidade. Com abas horizontais e verticais, armazena seu perfil em uma conta online e possibilidade de navegação mais completa com o mouse, se destacam no que dizem uma versão melhorada do iE. O instalador da versão 11 tem só 1,8MB
  • Maxthon: Navegador freeware, altamente customizável, era chamado de MyIE2 pois utiliza o mecanismo do iE. Assim, tem a mesma eficiência porém muitos recursos em uma navegação fácil e eficiente. O instalador da versão 2 tem 2,2MB
  • Flock: Navegador de código aberto ainda na versão 0.9x, com muitas pequenas e ótimas funcionalidades de interação com serviços da internet como arrastar e soltar imagens do Flickr, navegação com abas, atalhos para Google, Yahoo!, eBay, plugins, skins, permite fácil postagem em seu blog com tags rápidas. Bom e leve (parece o Firefox) - instalador tem 10MB - Tem uns bugs que estão sendo arrumados.
  • Opera: Bem difundido, é o terceiro navegador (atrás do iE e do Firefox). Prima a leveza e a facilidade com ótimos recursos (abas, miniaturas das telas, widgets). O instalador clássico da versão 9 tem 3,9MB e o multi-idiomas tem 6,2MB. Possui também versão compacta.
  • uBorwser: Em fase de desenvolvimento, ainda não possui muitos recursos, mas é inovador. Utiliza o mesmo mecanismo do Firefox (Gecko), mas a apresentação das páginas é em 3D usando o OpenGL. Houve outras tentativas como o Borwse3D, que utiliza o engine do iE e DirectX.
As abas foram a grande inovação dos navegadores, que trouxeram recursos de navegabilidade e usabilidade para bater de frente com os grandes. Quando o Firefox surgiu, quebrou o conceito e a hegemonia do Internet Explorer, e os pequenos navegadores estão agregando funcionalidades que permitem uma disputa saudável para nós usuários. Leitor de RSS, arrastar e soltar de imagens e vídeos, bloqueador de popup e scripts/Flash, são coisas que o Opera e o Firefox introduziram, deram certo, e estão cada vez mais se tornando padrão para qualquer navegador. Só falta os produtos seguirem totalmente os padrões da W3C, para renderização das páginas. Quando isso acontecer efetivamente, somente os recursos são importar para a escolha dos navegadores. Recursos estes que já se tornaram requisitos para um produto decente.

terça-feira, julho 31, 2007

Fotolog.com bloqueia contas e fotos

Minha esposa tem, ou tinha, álbuns no Fotolog.com. O álbum dela e de nosso animal de estimação. Simplesmente enviaram uma mensagem avisando que mês que vem vão apagar as fotos de todas os álbuns pelo fato de um deles estar registrado como de menor de idade... o do nosso animal. Sem perguntar, procurar saber, dar tempo para regularizar... simplesmente enviaram uma mensagem e bloquearam as contas. Um serviço tão conhecido e tão bom com uma atitude dessa... Concordo que possam restringir pela idade, mas avisar antes não faz mal. E bloquear todas as contas vinculadas ao mesmo e-mail por causa de uma... Tem gente que tem álbum há anos e faz um para os filhos pequenos. Simplesmente cadastram (o sistema permitia), e, de uma hora para outra, bloqueiam e avisam que vão apagar tudo de todos os álbuns. Isso demonstra falta de preparo de um serviço grande. Aí me pergunto: e Yahoo!, Google, Hotmail etc, fariam um coisa dessas?
Ridículo! Fotolog caiu de nota 9 para 0, no meu modo de ver.
E eles não respondem e-mail devido ao grande número de mensagens... É bom eles mudarem de nome, porque assim não vão se sustentar muito tempo não. Comportamento de bar da esquina!

quinta-feira, julho 26, 2007

Projeto Congonhas

Todos estamos indignados com a tragédia do avião da TAM. Não que o motivo seja somente as condições da pista de Congonhas, mas com certeza fatores como esses influenciam nas atividades do aeroporto paulistano. Independente disso, a revolta cresce com a indiferença do que pode ou não acocorrer, com descuidos e ignorâncias na tomada de decisões, achando que nada vai acontecer, e nunca. Presidente, Governador e Prefeito, Ministros, Senadores, Deputados e Vereadores; todos têm que tomar vergonha na cara e agir em prol da sociedade.
Estou colocando nessa postagem, que pode parecer chata para alguns, uma maneira que encontrei de me manifestar. Abraço.
Querido Prefeito Kassab,

Por meio desta, venho lhe oferecer algumas idéias para resolver os problemas de Congonhas.
As idéias não são lá essas coisas, mas em comparação com muitas idéias que o senhor já teve e pôs em prática, até que são viáveis. Espero que repasse para nosso governador Serra (que se parece muito com o Cérebro do desenho "Pink e Cérebro") e ao nosso excelentíssimo senhor presidente, companheiro Lula!

Abração!

Obs.: Estarei hospedado no hotel em frente ao aeroporto no início do ano,
por isso podemos conversar pessoalmente e com segurança!

Projeto Cabo

Essa idéia, modesta parte, é genial. Eu e uns amigos meus estávamos discutindo isso. Veja só:
Todos os aviões que utilizarem Congonhas deverão utilizar um gancho, igual aos dos caças para pousar em porta-aviões. Ou então podemos tentar mudar as regras da aviação internacional, já que Congonhas é um importante aeroporto.


O cabo cruzará a pista principal e quando o avião chegar em certo ponto, "pow"... não passa! Se passar, haverá uma rede que deve ser erguida para que o avião não caia do porta-aviões.. quer dizer, aeroporto.

Projeto Pára-quedas

Essa também é ótima. Todos os aviões que utilizarem Congonhas deverão ter dois pára-quedas presos a eles, sendo um reserva. Logo que encostar no solo, ou estiver próximo de, o piloto aciona o pára-quedas (se não funcionar tem o reserva).

Ah! Dependendo da companhia o pára-quedas pode ser com as cores da empresa, do Brasil ou colorido... pronto para "a parada" anual.

Projeto Rampa

Aproveitando o hotel, no qual ficarei hospedado no início do ano, a prefeitura, juntamente com o estado e o governo federal, poderia expandir a pista para o telhado dele. Não é o máximo?

Talvez seja a maior pista do mundo!!! E seria somente um tunelzinho na Washington Luiz.

Projeto Toldo

Essa é a melhor e mais fácil. Acabará com o problema das pistas molhadas.
A construção de um toldo no aeroporto de Congonhas será magnífico! Nenhum aeroporto no mundo é assim. Nem nos EUA tem um desses.

Haverá uma abertura nas duas extremidades para que os aviões possam "entrar". Se o piloto vir que não dá, arremete na mesma hora, e a pista nunca mais vai estar molhada! Não vai haver problema de utilizá-lo com as obras ainda não concluídas. O único problema é que com certeza o aeroporto vai ter de fechar para algum evento importante ou show internacional.

quarta-feira, julho 18, 2007

Fiz.TV

Estreou essa semana o FIZ TV, que aproveitou o embalo dos vídeos da web 2.0, como YouTube, mas permitindo que os usuários escolham os vídeos do site para passar na TV. Isso mesmo. Haverá um canal com a seleção dos vídeos do site, que você mesmo pode enviar. Imagina... aquele seu vídeo caseiro, tosco mas engraçado, passando na TV. Você deve ter visto "iutubíu", "tapa na pantera", "recado ao rubinho" no YouTube, mas não na TV. Essa é a idéia do site que promete dar uma boa movimentada na produção e apresentação de vídeos na web transportando os selecionados para a TV.
A mesma idéia de seleção é do recentemente lançado WeShow, que faz referência a vídeos de outros sites como YouTube, Metacafe, GoogleVideo e os filtra, qualifica e marca com tags para uma busca mais refinada, e possui um videocast semanal comentando os destaques do período.
Bom... deixe-me ir, pegar minha câmera porque quero estar na TV!!!!! :D

sexta-feira, março 16, 2007

Um dia perfeito

05h00 - acordei depois de uma noite de desentendimento com minha esposa
---
05h30 - saí de casa para pegar o fretado
05h40 - peguei o ônibus fretado
06h55 - ônibus quebra nas ruas de subida entre a Ricardo Jafet e Jabaquara
07h00 - subi em outro ônibus que faz o mesmo trajeto (perdi 5 min.)
07h05 - desci numa quadra antes da estação do metrô (o motorista desse ônibus não para em frente ao metrô)
07h10 - chego na van da empresa e ela sai em cima da hora
07h45 - comi uma porção de frutas na lanchonete da empresa
08h00 - liguei meu micro
08h50 - depois de 30 minutos tentando abrir o software de versionamento de artefatos, levantam o servidor e pude pensar em trabalhar
17h00 - desligo o micro e desci para pegar o ônibus, já que a van chagava mais rápido e não é justo com os outros que também gostariam de usufruir
17h13 - os ônibus saem
18h30 - um trecho percorrido em 15min foi realizado em 1h15min devido a uma chuva
19h20 - cheguei na Fagundes Filho para pegar o fretado
19h30 - chega o fretado com o motorista louco para ir embora, pois ele deveria passar por ali aproximadamente 18h10
19h32 - começou o filme Velozes e Furiosos - Desafio em Tóquio no fretado
19h40 - o ônibus parou na estrada para resgatar vicentinos que tiveram o ônibus quebrado
20h10 - o ônibus parou no começo da descida da serra para que os vicentinos trocassem de ônibus
20h20 - o ônibus continuou viagem após uma pequena confusão numérica
20h50 - meu ônibus quebrou em frente ao estádio Ulrico Mursa, no canal 1 e vi um monte de santistas indo à Vila ver o jogo contra um time argentino
20h51 - perdi mais um final de filme
20h54 - refleti sobre ter parado próximo à Vila e pensei ser um sinal
20h55 - outro ônibus chegou para nos resgatar
21h27 - desci do fretado a 2 quadras de casa
21h30 - cheguei em casa
---
21h35 - analisei a reforma em casa: tudo quebrado
21h36 - pensei se vai dar certo
22h00 - cheguei à casa da minha sogra
23h30 - após tomar banho, comer uma besteira e discutir com minha esposa, durmi

Existe um dia melhor? Melhor que esse só quando eu cheguei em casa 1h depois de trânsito em sampa, comboio e acidente na serra (celular sem sinal).

quarta-feira, março 07, 2007

Centralizar a página

Provavelmente você já quis centralizar a página que você fez na tela. Você pode ter recorrido ao uso de tabela para isso, mas sabe que não fez certo. Então aqui vai o jeito certo para colocar sua página de tamanho fixo no centro da tela:

#1 - Alinhe o "texto" para iExeplorer
É isso mesmo. Para Internet Explorer basta colocar um align-text: center no CSS da tag body, mas tome cuidado porque todo o conteúdo dentro dela ficará assim se você não puser um align-text: left, por exemplo.

body {
text-align: center;
}


Já para a tag da página, você pode colocar o alinhamento correto (padrão, a seu critério):

#pagina {
text-align: left;
}

#2 - Para o restante
Legal. Só que isso não funciona para Firefox. Para ele DIV não é texto. Você somente precisa dizer que as margens laterais da div página vão ficar com valor padrão, ou seja, margin: 0 auto.
Isso, simplesmente isso, faz como que o navegador coloque a div no centro, deixando as margens laterais iguais. No caso acima as margens superior e inferior estão com 0, mas você pode usar da maneira que você quiser.

#pagina {
margin: 0 auto;
}


Juntando os dois, teremos:

body {
text-align: center; /* gambiarra para iExplorer */
}

#pagina {
text-align: left; /* para corrigir a gambiarra do iExplorer */
margin: 0 auto; /* para navegadores padrão */
width: 760; /* só para definir uma largura */
border: #1 solid #000000; /* para a gente ver a div */
background-color: #FFFF99; /* um cor de fundo para animar um pouco */
}


HTML:

...
[body]
[div id="pagina"] Blablabla [/div]
[/body]
...

Abraço!

quarta-feira, fevereiro 14, 2007

Vetor com tamanho dinâmico e variável em ASP

Sempre uso vetor variável... arrays redimensionáveis. Por quê? Porque não sei a quantidade de itens que serão inseridos! Mas no ASP eu sempre tinha um problema.... eu sempre esquecia a maneira correta de declarar as arrays e perdia muito tempo até achar o jeito certo. Eu sou assim... sempre tenho certeza que vou lembrar e na hora do vamos ver eu esqueço. Aí tenho que testar as maneiras ou copiar de outro script. A reutilização é normal, mas consultar como se declara uma variável é deprimente para um programador! Então aí vai a maneira correta de fazer isso, criando um vetor dinamicamente:

<%
tamanho = 20
Dim arrNomes()
ReDim arrNomes(tamanho)
%>

Assim temos um vetor arrNomes com tamanho de 20 criado dinamicamente.
E se eu quiser alterar o tamanho.... vamos a um exemplo:

<%
tamanho = 0
Dim arrBlablabla
ReDim arrBlablabla(tamanho)
' não precisa nem ter a variável tamanho, basta fazer
ReDim arrBlablabla(0)

While not rs.eof
ReDim Preserve arrBlablabla(UBound(arrBlablabla)+1)
arrBlablabla(UBound(arrBlablabla)) = rs("cd_usuario")
rs.MoveNext
Wend
%>

Esse código acima cria um vetor de tamanho 0 e depois, para cada registro encontrado no RecordSet, ele altera o tamanho do vetor e na posição criada, joga o código do usuário. É simples, mas quando se bate o olho parece que é difícil. Só parece. Logicamente você deve antes criar uma conexão com o banco e coisas mais, mas a lógica é essa. Pode ser que haja outra maneira, mas, se tratando de exemplo, acho que é válido!

Abraço!

trim, ltrim e rtrim em Javascript

Uma coisa que de vez em quando sinto falta no Javascript e usava bastante quando trabalhava com ASP/VBScript, é tirar os espaços extras no início e no final da string. Sempre quebrava a cabeça porque não conhecia muito de expressões regulares, até que peguei umas funções prontas e sempre montava um arquivinho "funcoes.js" com tudo junto para poder usar em diversas páginas.
As funções do ASP/VBScript trim, rtrim e ltrim são muito importantes, pelo menos para mim. Então aí vai a versão delas em JavaScript.:


function ltrim(texto) { return texto.replace(/^[ ]+/, ''); }

function rtrim(texto) { return texto.replace(/[ ]+$/, ''); }

function trim(texto) { return ltrim(rtrim(texto)); }


Só isso! Você pode ver que só são criadas a ltrim e a rtrim; a trim é o uso das duas. Agora coloque essas funções no seu compilado básico de funções Javascript e mande bala!!!!

Abraço!

terça-feira, fevereiro 13, 2007

PHP para Mainframe

Olha que interessante essa postagem no site da IBM.
http://www.alphaworks.ibm.com/tech/php4zos

Por ser uma linguagem fácil, de rápido desenvolvimento e parecida com C, o PHP foi incorporado ao z/OS (PHP 5.1.2 para z/OS 1.6+).

Tradução da matéria

PHP é uma linguagem de script de propósito geral muito usada e aceita para desenvolvimento web. sua sintaxe é parecida com C e Perl, fazendo-a fácil de se aprender por qualquer um com conhecimentos básicos de programação. Isso permite imbutir programação direto em uma página HTML. PHP é poderosa e flexível: tem muitas APIs e contém uma biblioteca de expressões regulares compatíveis com Perl. PHP é popular na industria da computação e está disponível para uma grande variedade de plataformas.
Um dos principais usos do PHP é a criação de páginas web ricas e dinâmicas. Muitos sites populares na internet rodam PHP porque permite que os usuários gerem páginas web personalizadas, assim como comunicação com banco de dados. PHP pode também ser usado para escrever scripts de linha de comando, que podem ser usadas para uma variedade de tarefas.
Esta tecnologia porta PHP 5.1.2 para a plataforma z/OS, que permite rodar scripts PHP tanto em linha de comando quanto em ambiente CGI. Contém as principais extensões PHP, inclusive PDO_ODBC para comunicação com o banco DB2.

sexta-feira, fevereiro 09, 2007

Microsotf Firefox - o novo navegador

Tem gente que não tem o que fazer.... mas essa ficou demais! muito bom... Se não fossem as espetadas, sairia em qualquer revista especializada.
Um site digno de... veja... http://www.msfirefox.com/
Você pode ver em "Features" como seria o Firefox alterado pela Microsoft... hahaha!
Muito bom!

sexta-feira, janeiro 19, 2007

Blog de Natural/Adabas

Pessoal,

Devido a grande procura sobre o assunto, estou criando um blog somente para a linguagem Natural e acessórios, se é que posso dizer assim!
o endereço é http://naturaladabas.wordpress.com e você encontrará disponível as lendárias apostilas de Natural do Luciano Perdigão para download.
A idéia, como você verá no blog, é criar um guia de referência com dicas e tutoriais focados, resumindo e, em na maioria dos casos, complementando o conteúdo das apostilas.
Sei que isso fará com que o tráfego do site diminua, mas não tem problema! O importante é compartilhar informação, idéias e conhecimento.
Esse blog vai voltar a ser mais voltado para Engenharia de Software e Desenvolvimento Web.... Natural de vez em quando para matar a saudade!

Abraço, e se você estiver procurando por Natural, nos vemos lá!

quinta-feira, novembro 23, 2006

Problemas comuns na validação do HTML

Eu bato a cabeça direto com isso... esqueço isso aqui, aí copio e colo, e vou fazendo... quando valido a página vem uma porrada de erros e avisos. Quando ocorre algum mais comum, o próprio validador coloca um link para você para http://www.htmlhelp.com/tools/validator/problems.html.
Muito bom para quem erra as mesmas coisas sempre como eu! ;P

sexta-feira, novembro 17, 2006

Invasão das formigas

No meu apartamento novo tem uma porrada de formiga.... horrível... enche o saco.....!
Aí procurei algumas dicas na internet e achei essa, que é mais específica para invasão em aparelhos eletrônicos, mas serve para todo o resto:
http://www.boadica.com.br/layoutdica.asp?codigo=78

As formigas estão invadindo seu equipamento?

Esta com certeza é uma BoaDica. Você pode estar passando por um problema sem saber.

Algumas formigas (às vezes cupins e aranhas) acham o ambiente interno de um micro um bom lugar para construir uma colônia. Há quem diga que seja pelo calor que o micro proporciona e outros pelo material empregado na confecção das placas. A verdade é que elas entram no micro, no vídeo cassete, na televisão e sabe Deus mais aonde. A aparência supostamente inofensiva desta invasão pode ter um custo bem alto para quem hospeda estes pequenos visitantes, pois uma pane generalizada pode ser o resultado.

Bem, os motivos e as causas não importam e sim a solução!

Vá para a sua cozinha, pegue um pouco de cravo e coloque dentro do seu micro e se quiser aproveitar o embalo espalhe pelos lugares onde elas passam ou estão. O cravo, além de servir para dor de dente (mais uma dica), serve para despejar os indesejáveis visitantes que, por experiência própria deste que vos escreve, não gostam de cravo.

Tome cuidado para não travar os ventiladores da máquina com os pedaços de cravo, certo?

Outro dia estivemos discutindo sobre este assunto aqui no Fórum do BoaDica, e algumas experiências no assunto foram trocadas! Na realidade, o principal fator que afugenta as formigas é o odor forte, que pode ser conseguido de diversas maneiras. Podemos utilizar:

  • Pedaços de Cravo - espalhados pelo gabinete

  • Pastilhas de Cânfora - coladas com um pedaço de fita dupla-face. Coloque a pastilha de cânfora em alguns locais estratégicos, como na parte da entrada de ar frontal do gabinete, perto da traseira do gabinete, no local onde são colocadas as placas, perto da fonte, ou outro lugar de sua preferência. Além de afastar os insetos ainda deixa um odor agradável no ambiente. Você consegue encontrar essas pastilhas de cânfora em lojas esotéricas, tipo Mundo Verde, aqui no Rio. O pacotinho com 8 pastilhas custa uns R$ 6,00

  • Sachê de ingredientes odoríficos. Como fazer: Arrume um pedaço de tecido ou uma folha de feltro fino, coloque alguns cravos ou outros ingredientes de odor forte, mais ou menos a quantidade de um sachê, daqueles comprados em supermercado. Costure o feltro ou o tecido formando um "travesseiro" ou uma pequena bolsa e coloque dentro do gabinete. Elas vão desaparecer do PC.

Produtos:
  • Colosso Gel
  • KOTRINE
  • Formibel
Não experimentei ainda, mas a dica está dada!!!

sexta-feira, novembro 10, 2006

Natural/ADABAS - Dicas 1

O Natural é uma linguagem simples, parecida com o Cobol (mas nem tanto poderosa) . Se você conhece o Cobolzão, sabe que tem as redefinições de variável para pegar uma parte em específico e utilizá-la de maneiras variadas. Por rodar embaixo do ADABAS, o Natural tem uma conversa direta com o banco... mas é aquele jeitão de ler os files (tabelas) - READ... FIND.
Bom, se você está lendo isso aqui, provavelmente você trabalha com ele, porque ninguém em sã consciência leria essa postagem de bobeira ;P
Vamos lá!

Alfa para numérico:
Para definir as variáveis usamos DEFINE DATA. Depois dele e antes do END-DEFINE, você põe todas as variáveis que você vai usar, além de LOCALS e GLOBALS com as definições de variáveis dentro delas.
No Natural você tem que dizer o tamanho das variáveis e se elas são alfa-numéricas (A) ou numéricas (N). existem outros tipos, mas vamos ficar por aqui.
Veja um exemplo bobo:
DEFINE DATA
LOCAL
01 #NOME (A30)
01 #TELEFONE (N10)
01 REDEFINE #TELEFONE
02 #DDD-TELEFONE (N02)
02 #NUM-TELEFONE (N08)
01 #TELEFONE-ALFA (A10)
END-DEFINE

De alguma maneira recebemos do usuário pela variável telefone-alfa e o usuário não digita os 10 caracteres pedidos (A10). Fica:
O valor de #TELEFONE-ALFA é '99123456__', com 2 espaços no final.
Nós, humanos, entendemos que o DDD é 99 e o telefone é 123456. Beleza. Mas ao passar o conteúdo para a variável numérica #TELEFONE ficaria com 0099123456. Um conteúdo alfa-numérico é alinhado por padrão para a esquerda preenchendo com espaços, e o numérico para a direita preenchendo com zeros.
Agora imagina a situação de você guardar isso no file e depois quiser pegar só o DDD desse número... vai vir 00; e se pegar o número, vai vir 99123456.
Por isso tome cuidado com a passagem entre variáveis, critique com máscara, valide o conteúdo (o programa pode "abendar" - ABNORMAL END - se passar uma letra para uma variável numérica), cuidado com variáveis em branco que são convertidas para 0 etc.

COMPRESS:
Quando trabalhamos com arquivos de leiaute predefinido, não podemos deslocar nada.. temos que ter o nome com 30 caracteres e pronto... o que sobrar fica lá em branco.
Esse cara junta textos e variáveis em uma variável para o conteúdo final. O comando básico é:
COMPRESS 'TEXTO' #VARIAVEL1 #VARIAVEL2 INTO #VARIAVEL3

ou seja, ele junta 'texto', o conteúdo da variável 1 e da variável 2 e joga na variável 3. Maravilha!
Mas se eu tiver uma variável alfa de tamanho 30 e tiver usado somente 12, os 18 espaços vão ser perdidos pelo COMPRESS. Para juntar com os espaços também, use:
COMPRESS FULL #VAR1 #VAR2 INTO #VAR3

Mesmo assim ocorre outro problema. Ele deixa um espaço entre as variáveis... para isso use:
COMPRESS FULL #VARABACATE #VARMAMAO INTO #VARPERA LEAVING NO SPACE

Ufa! Você pode fazer isso ou criar uma variável de retorno redefinida e jogar os conteúdos nessas redefinições. já apanhei por causa disso...

FIND errado:
O programa com essa find estava consumindo muita CPU:
FIND (1) MINHA-VIEW WITH
SUPER-S3 GE #CHAVE-INICIAL AND
SUPER-S3 LE #CHAVE-FINAL

O programa fazia duas verificações, gerando como se fosse duas listas. O find seguinte resolveu o problema, que passou a utilizar metade dos recursos utilizados pelo primeiro:
FIND (1) MINHA-VIEW WITH
SUPER-S3 EQ #CHAVE-INICIAL THRU #CHAVE-FINAL

Coisinha boba, mas causa um problema quando o programa é bem requisitado....