Tipos Básicos
Continuando com os tipos básicos de Ruby (no artigo anterior já falamos de Arrays e Hashes):
Strings
Novamente, nada de muito surpreendente aqui:
>> palavra = “bla bla“
=> “bla bla“
>> palavra.size
=> 7
Leia Mais em: Debugando.com
Continuando com os tipos básicos de Ruby (no artigo anterior já falamos de Arrays e Hashes):
Novamente, nada de muito surpreendente aqui:
>> palavra = “bla bla“
=> “bla bla“
>> palavra.size
=> 7
Leia Mais em: Debugando.com
Durante o texto vou me referir à função $ como função jQuery, pois na verdade elas são a mesma coisa. A diferença é que a função $ não estará disponível se você optar por utilizá-la sem conflitos.
Antes de escrever qualquer código JavaScript, faço questão de utilizar aquela técnica clássica onde o nosso código JS começa a ser executado apenas quando o DOM terminou de ser carregado:
$(document).ready(function() {
// aqui vai o código específico da sua aplicação
});
Esse código eu deixo em um arquivo externo, e o referencio a partir da tag <script> presente no meu template HTML (independente do framework que você estiver – ou não – utilizando, manter o código JS fora do seu template HTML é uma forma simples de separar apresentação e comportamento).
Deste ponto em diante passo a omitir essas linhas de inicialização. Todo o código que for exibido pode ser posicionado na linha 2 da listagem de código acima.
Leia Mais em: Debugando.com
Toda aplicação Rails possui o arquivo config/database.yml, onde você configura a conexão com o banco de dados nos ambientes de produção, desenvolvimento e teste. O Rails se encarrega de realizar a conexão com o banco de dados quando a aplicação é iniciada (com o WEBrick, por exemplo).
E como fazer caso seja necessário, no seu contexto, ter acesso ao username e password presentes nesse arquivo? Acredito que esses dados não estejam disponíveis em nenhum dos objetos que o Rails instancia (eu procurei), certamente por questões de segurança, mas se você realmente precisa carregar esses dados, eis aqui uma forma bem simples.
Leia Mais em: Deugando.com
Durante o texto vou me referir à função $ como função jQuery, pois na verdade elas são a mesma coisa. A diferença é que a função $ não estará disponível se você optar por utilizá-la sem conflitos.
Antes de escrever qualquer código JavaScript, faço questão de utilizar aquela técnica clássica onde o nosso código JS começa a ser executado apenas quando o DOM terminou de ser carregado:
$(document).ready(function() {
// aqui vai o código específico da sua aplicação
});
Esse código eu deixo em um arquivo externo, e o referencio a partir da tag <script> presente no meu template HTML (independente do framework que você estiver – ou não – utilizando, manter o código JS fora do seu template HTML é uma forma simples de separar apresentação e comportamento).
Deste ponto em diante passo a omitir essas linhas de inicialização. Todo o código que for exibido pode ser posicionado na linha 2 da listagem de código acima.
Leia Mais em: Debugando.com
O jQuery é um framework de Javascript na minha opinião de fácil apreendizado.
Este artigo é composto por um exemplo que aboradará a inserção de dados usando jQuery e AJAX em um formulário simples.
Arquivo exemplo1.js:
/**
$(): utilizado em todas as funções que devem ser referenciadas a jQuery
document: expressão que indica o documento HTML
ready(): associado a leitura do documento enquanto está sendo carregado
*/
$(document).ready(function(){
// Crio uma variável chamada $forms que pega o valor da tag form
$forms = $('form');
// hide(): esconde a div cadastro enquanto carrega o ready()
$('#cadastro').hide();
/**
bind(): é manipulador de evento exemplo submit, click e/ou double click
a: é a tag <a href>
*/
$('a').bind('click', function(){
switch(this.id){
case 'c':
$('#cadastro').show(); // show(): mostra div que está oculta (hide()).
return false;
break;
}
})
$forms.bind('submit', function(){
/**
Crio a variável $button
attr(): set a propriedade de um atributo, nesse exemplo foi desativado o botão com a tag button
*/
var $button = $('button',this).attr('disabled',true);
/**
Criada a variável params
serialize(): pega os dados inseridos no formulário
*/
var params = $(this.elements).serialize();
var self = this;
$.ajax({
// Usando metodo Post
type: 'POST',
// this.action pega o script para onde vai ser enviado os dados
url: this.action,
// os dados que pegamos com a função serialize()
data: params,
// Antes de enviar
beforeSend: function(){
// mostro a div loading
$('#loading').show();
// html(): equivalente ao innerHTML
$('#loading').html("Carregando...");
},
success: function(txt){
// Ativo o botão usando a função attr()
$button.attr('disabled',false);
// Escrevo a mensagem
$('#loading').html(txt);
// Limpo o formulário
self.reset();
},
// Se acontecer algum erro é executada essa função
error: function(txt){
$('#loading').html(txt);
}
})
return false;
});
});
CSS:
body{
font: 12px tahoma,verdana;
margin:0;padding:0;
}
#loading{
display: none;
text-align: center;
}
a,a:active,a:hover {
text-decoration:none;
color:#000;
outline:none;
}
ul {
margin-left:5px;
}
li {
list-style:none;
}
li a {
float: left;
display:block;
background:#f1f1f1;
width:50px;
padding:3px;
text-align:center;
margin-right:1px;
border:1px solid #555;
}
li a:hover {
display:block;
background:#f0f0f0;
}
#main{
height: 100%;
border:none;
}
#top {
height: 50px;
}
#middle{
margin-top:5px;
}
fieldset {
padding:8px;
border:1px solid #999;
}
button {
background:#ccc;
padding:0.5px;
}
.border {
border: 1px solid black;
}
Arquivo index.php:
<html>
<head>
<meta http-equiv="Content-Language" content="pt-br" />
<meta name="GENERATOR" content="PHPEclipse 1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>jQuery</title>
<script language="JavaScript" type="text/javascript" src="jquery.js"></script>
<script language="JavaScript" type="text/javascript" src="exemplo1.js"></script>
</head>
<body>
<div id="main">
<div id="loading"></div>
<div id="top">
<ul>
<li><a href="" id="c">Cadastro</a></li>
</ul>
</div> <!-- top -->
<div id="middle">
<div id="cadastro">
<form action="insert.php">
<fieldset>
<legend>Cadastro usando jQuery</legend>
<label>Nome</label><br/>
<input type="text" name="nome" size="31" maxlength="30" class="border"/><br />
<label>Telefone</label><br/>
<input type="text" name="telefone" size="31" maxlength="11" class="border" /><br/>
<label>E-mail</label><br/>
<input type="text" name="email" size="31" maxlength="100" class="border" /><br/>
<button>Cadastrar</button>
</fieldset>
</form>
</div> <!-- cadastro -->
</div> <!-- middle -->
</div> <!-- main -->
</body>
</html>
Arquivo insert.php:
<?php
$nome = strip_tags(trim($_POST['nome']));
$telefone = strip_tags(trim($_POST['telefone']));
$email = strip_tags(trim($_POST['email']));
if(empty($nome) || empty($telefone) || empty($email)){
echo"Você deve preencher todos os campos!";
die();
}
$conn = mysql_connect("SERVIDOR", "USUÁRIO", "SENHA");
mysql_select_db("BANCO");
$sql = "INSERT INTO cadastro (nome, telefone, email) VALUES ('".$nome."', '".$telefone."', '".$email."')" or die(mysql_error());
mysql_query($sql);
mysql_close($conn);
echo"Cadastro realizado com sucesso!";
?>
Espero que o exemplo acima ajude e que incentive o uso da jQuery.
Venho anunciar que o debugando agora esta com site novo com mais conteudo visite agora mesmo e ajude o debugando a crescer mais ainda em conteudo a sua ajuda ira ajudar outros programadores.
A Portabilidade é o recurso que permite que um assinante mude de operadora levando consigo o número da linha. Recentemente a Anatel recebeu pedido de algumas operadoras pedindo o adiamento do cronograma da portabilidade para janeiro de 2009. Porém o prazo foi mantido pela Agência. A portabilidade gera uma relação jurídica de propriedade entre o usuário e sua linha telefônica, relação esta que agora é oponível a todos.
Único requisito é que se mantenha o usuário no mesmo DDD, devendo-se destacar que as mudanças estarão sujeitas à cobrança de taxa de instalação. Pelo cronograma da Anatel, o Brasil todo deverá contar com a portabilidade até março de 2009. Portabilidade já é uma realidade no mundo há muito tempo, no Reino Unido, desde 1996 existe este benefício ao consumidor. Não precisa ir longe, aliás, nossos vizinhos Porto-Riquenhos contam com a tecnologia desde 2006.
Mas, porque será que aqui algumas operadoras “emperraram”?
Aqui, com o regulamento da portabilidade, nascem as figuras da prestadora doadora e prestadora receptora. Porém, o estranho é a criação de uma “entidade intermediadora”, cuja finalidade e imprescindibilidade questiono seriamente, denominada “Entidade Administradora”, esta que irá gerir uma “chamada” de Base de Dados Nacional de Referência da Portabilidade. (BDR), um banco de dados, com as informações completas sobre os “portáveis”.
Mas quem pagará este “ente místico”? Como o usuário não pode ser onerado, caberá às operadoras pagarem a Entidade Administradora, proporcionalmente. Só isso?
Neste “cobra cobra” é preciso ficar claro: a prestadora receptora pode cobrar do usuário um valor pela facilidade na rede (pelo ingresso deste em sua rede). Quem não pode cobrar nada é a operadora doadora, ou seja, aquela cujo usuário não quer ver mais na sua frente por um bom tempo! Isso não significa dizer que carências não devam ser respeitadas: Aquele cidadão que sonha com um celular de $ 2.000,00 no plano pré-pago, mas aceita pagar $1,00 no mesmo em um plano pós-pago de $500,00 mensais por 12 (doze) meses, não pode no dia seguinte, na maior desfaçatez, simplesmente ignorar o contrato. A operadora não poderá segurar o mesmo, mas a dívida ou multa rescisória poderá ser cobrada.
O prazo para portar é de 5 (cinco) dias úteis. A partir do segundo ano, as operadoras têm 3 (três) dias úteis para finalizar o serviço solicitado. Por segurança, o pedido de portabilidade pode ser indeferido em três situações: Dados incorretos ou incompletos, Código de Acesso Inexistente ou Já em andamento solicitação para o mesmo número.
O usuário que quiser fazer a portabilidade deve se dirigir à operadora receptora diretamente, informando que quer fazer uma habilitação mas mantendo seu número. Ou seja, nem para cancelar com a antiga operadora é preciso que o usuário a contate. Basta ir até a nova prestadora e deixar que a velha a nova e a tal “Entidade Administradora” se entendam, tudo, em no máximo 5 (cinco) dias, para não violar direitos consumeristas.
Todas estas regras estão previstas no regulamento geral de portabilidade, anexo à Resolução Anatel 460/2007. Ainda, nos termos do art. 8o. do Regulamento, a portabilidade se aplica tanto à troca de planos quanto à troca de prestadoras.
Em tal cenário, pode-se entender por que algumas operadoras reagiram inclusive judicialmente contra o Regulamento da Portabilidade: custo! A operadores pagam para se adaptarem à nova tecnologia, pagam à Entidade Administradora, não podem mais cobrar pela saída do cliente de sua base, expõe dados de seus clientes a outras operadores e ainda devem investir como sobrevivência em qualidade e promoções, já que agora, se existe uma amarra que segure o cliente na operadora, esta não é mais seu numero que usa há décadas, mas só poderá ser a efetiva qualidade dos serviços prestados!
Discutir sobre tendências em um mundo digital em constante ebulição não é uma das tarefas mais fáceis. Longe de efervescentes previsões futuristas anatingíveis, mais inerentes à “astrologia”, na mesma proporção que longe de exaurir as tendências em 2009 ou esgotar a lista de evoluções, o presente artigo elenca as 10 maiores tendências da Tecnologia da Informação previstas para se concretizarem ou alavancarem em 2009, e revela um norte às empresas e profissionais da área no que diz respeito às 10 áreas relacionadas: governança, infra e rede, conectividade, carreira, conceito, linguagem de programação, humanização da ti, regulatório, operações, comportamento e webmarketing.
A Ti Verde vai revolucionar o mundo de TIC, responsável por 3% da poluição mundial. A Governança “Verde” norteará os projetos e processos em ti, que deverão ser reformulados para atender os novos padrões impostos pela “Green Wash”. Surgirão as primeiras certificações de Gestores de TI com especialização em projetos verdes (GIM – Green IT Managment). Quanto às empresas, buscarão além da certificação ISO 14001, a novíssima certificação européia IEC ESPM QM 08000 para atender aos padrões da ROHS (Restriction of Certain Hazardous Substances), que estabelece regras para o uso de substâncias perigosas em produtos eletro-eletrônicos, bem como o total compliance com a norma WEEE (Waste Electrical and Electronic Equipment), que trata da disposição do lixo tecnológico.
340.282.366.920.938.463.463.374.607.431.768.211.456. Este pode ser o seu novo endereço IP!O famoso 4 x 109 não mais atende as necessidades da Internet no Mundo. 4 bilhões de endereços IP já não é suficiente. O IPV4 está mais próximo do fim, segundo analistas, não passa de 2012. Não significa o fim do TCP que está na camada de transporte, mas a introdução do IPV6 na camada de rede, atuando em conjunto com o ipv4 até o fim deste. O IPV6 vem com diversos atrativos como qualidade do serviço para streaming e VOIP (um tendência concretizada em 2008) e principalmente mobilidade. Esqueça IP como sendo os tradicionais “quatro octetos” ou “oito hexadecimais” e passe a pensar ip com no mínimo “oito octetos”. E o que isso muda no mercado de TI? A necessidade de profissionais especializados para a gestão da nova rede e integração com os sistemas operacionais. Bom mercado à vista. No Brasil o Comitê Gestor Internet no Brasil intensifica a educação sobre o uso do IPV6, onde já é possível estudar sobre o assunto em http://ipv6.br/.
Surgirão os primeiros cronogramas sobre a implantação da Internet pela Rede Elétrica no Brasil (BPL do Inglês – BroadBand over Power Lines). Um batalha judicial poderá ser travada entre usuários de rádio amadores e Anatel. Ainda, especula-se que tal tecnologia possa interferir no controle de tráfego aéreo e marítimo. Outra batalha será a regulatória: ANATEL OU ANEEL? Quem dita as regras para o serviço? Como as teles atuais poderão sobreviver à onda de companhias elétricas que agora oferecem internet e faturam na conta de luz? Consultas públicas deverão ser realizadas. A BPL será oferecida com a bandeira da “inclusão digital”, já que onde chega energia, chegará Internet e com uma velocidade de até 40 mbps. Eletrodomésticos passam a ser vendidos com suporte BPL e isto pode auxiliar a difusão da TV Digital e interatividade de retorno. Profissionais de Engenharia Elétrica e Engenharia da Computação terão um excelente mercado. Os famosos “gatos de energia” aumentarão, e serão tipificados pelo delito de “furto”, já que a tal “energia” traz em si a internet que tem relevância econômica.
A certificação na biblioteca de boas práticas britânica ITIL (Information Technology Infrastructure Library) continua sendo uma “pérola” na hora da contratação de CIOS e Gestores de Tecnologia da Informação. A Gestão “com foco no cliente” e primando pela qualidade dos serviços de ti é a tônica para as corporações em 2009. Nada oficial mas especula-se que o bridge V4 para os certificados atualizará os livros com “conceitos verdes”, proporcionando uma gestão não só focada no cliente, mas no ambiente. Em paralelo, cresce a procura pelo profissional certificado SCRUM (Scrum Master), que contrário ao PMBOOK, onde a gestão é de projetos em geral, o framework SCRUM (Gestão de projetos ágeis) é focado em projetos e ciclo de produção de Softwares. Ao que se prega, ao contrário de um profissional PMP, um Scrum Master não planeja, instruiu o direciona, mas simplesmente lidera, em um “jogo” onde a velocidade é igual a satisfação do cliente. Teremos versões nacionais das certificações da Scrum Alliance (http://www.scrumalliance.org/).
Elegemos Cloud Computing como o conceito chave da Internet até o primeiro semestre de 2009. Dentre as estruturas de suporte ao conceito, é inegável que a virtualização é a principal, seguida do chamado “Grid Cumputing” (O Compartilhamento de PCs e de Processamento), como no projeto SETI@Home (Search for Extraterrestrial Intelligence), onde centenas de pessoas compartilham seus computadores para a pesquisa. Já com relação às aplicações da Cloud Computing, os que mais chamarão a atenção são os chamados “Sistemas Operacionais Remotos”, operados de terminais burros, como o GHOST Virtual Computer (http://g.ho.st/) e o Goowy (http://www.goowy.com/). Docs, Suítes de Escritório e até mesmo ERPs virtualizados serão difundidos em 2009. Novos P-2-P voluntier systems surgirão como alternativa aos Bittorrents (protocolos). O termo “Cloud Computing” foi objeto de tentativa registro por parte da DELL em julho de 2008 (U.S. Trademark 77,139,082), mas foi cancelado no mês seguinte: Se assim não fosse, o Google teria que pagar uma indenização milionária à DELL. Como tecnologia emergente a virtualização fará com que a demanda pelo profissional especializado cresça, bem como por profissionais responsáveis por trilhas de auditoria e segurança da informação nas nuvens.
2009 será o ano do CMS, content management system, template engines, produtividade sustentável e desenvolvimento ágil. Embora o Ranking da TIOBE Programming Community Index for November 2008, (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html), ainda aponte Java mantendo a ponta da tabela com o índice de popularidade, a família Visual Studio.NET (4o. na tabela) ainda é a preferida para empresas multinacionais e financeiras que necessitam de compliance com normas e contratos de responsabilidade, em conjunto com o Banco SQL Server ou Oracle. Por outro lado, o PHP aparece na cola em 5o. lugar em novembro de 2008, este sendo o representante fiel da “long tail” da programação, sendo preferido por clientes de pequeno e médio porte, que não podem pagar por licenças ou que não possuem regulamentações rígidas. A disputa entre os Bancos de Dados para PHP fica entre Mysql e Postgree, sendo o segundo ganhará mais adeptos em 2009. A curva de aprendizagem destas linguagens vem sendo fator de decisão dos CIOS, que as preferem ao Java e C por exemplo, considerando o fator tempo em um projeto. Destaque para o Python que não para de subir no ranking e pode representar bons negócios em 2009. Programar “sem saber de programação”, digamos assim, é a onda de 2009, como por exemplo, atualizar e gerenciar conteúdo de sites sem editar uma linha do html, por meio do Joomla (http://www.joomla.org/) um gerenciador (wiki) de conteúdo de sites escrito em PHP que passará a ser a preferência dos desenvolvedores web em 2009. Destaque também para o projeto TinnybutStrong (http://www.tinybutstrong.com/) um dos programas (bibliotecas) que anunciam a era dos “Templates Engines” ou “Simplificadores de programação” em 2009, onde se pode programar sem saber uma linha de programação. Mas o destaque principal para o framework que mais crescerá em 2009, vai para o “Ruby on Rails” (RoR), um misto de perl e phyton 100% orientado a objetos, freeware, e que promete ser um ambiente para quem não tem tempo a perder, como por exemplo, a pregação “criando um blog em 15 minutos” (http://www.rubyonrails.pro.br/apresentacoes). Na programação Móbile de 2009, o Android vai incomodar o J2me (http://code.google.com/android/), eis que muitos dispositivos móveis terão o sistema operacional e conseqüentemente, a comunidade opensource irá desenvolver em tal framework. O Acesso à Applications, APIS, e Webservices serão mais difundidos pelos Google e empresas 2.0 à comunidade de desenvolvedores.
O Processamento da Linguagem Natural (PLN) e a Websemântica anunciam seus protótipos ao mundo digital. A W3C intensifica um modelo global de partilha de conhecimento por intermédio de máquinas. A tecnologia ? Logicamente, XML (Extensible Markup Language) e RDF (Resource Description Framework) Sistemas computacionais capazes de compreender a linguagem falada e escrita continuam em ágil aprimoramento. Programas para acessibilidade ganham destaque na Internet como o DOSVOX (http://intervox.nce.ufrj.br/dosvox/), que possibilita o uso da informática por cegos. O Maior destaque fica para o Powerset (http://www.powerset.com/) primeiro mecanismo de busca a utilizar a utilizar a PLN em larga escala, que crescerá no primeiro semestre de 2009. o Google, embora resista a idéia de pessoas ficarem “fazendo perguntas” ao buscador, será forçado a implementar módulos de humanização e semântica caso não queira perder sua vasta parcela. Outro conceito que cresce nos buscadores é da “Personalização”, onde o destaque será para o Google Search Wiki, que permitirá ao usuário subir ou descer resultados em seu “ranking pessoal”.
É no mínimo “truanesco” que 2009 termine sem a promulgação da Lei de Crimes de Informática. Recentemente foi aprovado o PLS 250/2008 contra os crimes de Pedofilia na Internet e a tendência natural é que o PL 89/2003 (antigo 76/2000 – que cuida dos crimes digitais), já aprovado no Senado em julho de 2008 seja enfim promulgado e entre em vigor no Brasil. O número de crimes eletrônicos continua a crescer em 2009 e foca suas atividades para a telefonia móvel e redes wi-fi. No entanto, no início da vigência da Legislação, muitas pessoas serão incriminadas por atos praticados por terceiros ou sem mesmo saber que a conduta praticada era considerada criminosa. Os provedores passam a ser obrigados a preservar dados de usuários e conexões por 3 (três) anos, sob pena de multa que varia de R$ 2.000,00 à R$ 100.000,00 por requisição não cumprida. A Lei gera polêmica e cria movimentos contrários, como os que pregam a “auto-regulamentação” da rede e a lei como empecilho à liberdade de expressão e inclusão digital.
A disponibilização de Software como Serviço crescerá em 2009. Os grandes ERPs concentrarão esforços para criarem a plataforma ou assim oferecerem serviços. Além der ser estratégia verde, poupar energia, custos de implantação e aproveitar a capacidade de processamento de computadores, o SAAS passa oferecer uma nova ótica para precificar um software, o ROI (Return of Investiment) e o valor agregado ao cliente. Métricas como APF (Análise de Pontos por função) ou SLOC (Contagem de linhas lógicas ou físicas) não mais refletem a realidade do valor de um projeto de software ou da cessão de códigos fontes, sendo que novas abordagens paramétricas passam a integrar a lista das consultorias como a preferida pela Microsoft, a TCO (Total Cost of Ownership ou Custo Total da Propriedade), que contempla todos os valores envolvendo aquisição de produtos, instalação, impantação, suporte, treinamento, etc. Segundo a Gigante citada, o TCO de seus produtos é menor que o dos Softwares Livres.
O Termo é controverso e não aceito. Para alguns trata-se apenas de SEM (Search Engine Marketing), mas para uma minoria crescente, uma atualização dos conceitos de otimização de sites, que vem a atender as necessidades de mudanças impostas pelo Google, como a “personalização”, anunciada pelo SearckWiki e que relativisa todos os estudos realizados sobre PageRank. Passa-se a raciocinar o SEO “orientado a usuários”. Se já foi difícil identificar fatores que influenciam o posicionamento das páginas, que sempre foram guardados a sete chaves pelos sites de busca, 2009 será o ano de novas práticas e estudos em busca do mapeamento das alterações trazidas. No que cerne à comportamento, 2009 Intensifica a era da Mobile e IPTV, como o “OneSeg”. Cresce a demanda pelo entretenimento digital e conteúdos “on-demand”, o que faz com que os produtos web sejam focados não em tecnologia, mas em experiências.
O Destaque fica pela polêmica experiência I-doser (http://www.i-doser.com) a chamada “droga virtual”, que passará a integrar dispositivos móveis e poderá ser transmitida viaM2M (Mobile-to-Mobile), graças às novas tecnologias RFID (Radio-Frequency Identification) e wireless que integrarão a linha de dispositivos do próximo ano. Por meio do RFID, as pessoas serão identificadas em lojas (M-Payments), locais públicos, privados e eventos, o que chamará a atenção de crackers que explorarão a tecnologia para capturar informações e para a prática de golpes. No campo das enciclopédias da rede, o Monopólio da Wikipedia passa a ser ameaçado pelo projeto do Google Knol (http://knol.google.com/k), que explorará a decisão da “concorrente” de limitar sutilmente a liberdade de publicação de conteúdos, atualmente restrita ao que chama de “grupos confiáveis”.
Acompanhei o lançamento do SearchWiki, anunciado pelo Google como a primeira funcionalidade em um motor de busca que possibilita ao usuário “selecionar” e “refinar” sua pesquisa, principalmente, alterar a ordem, estre aspas, “natural e automatizada”, dos resultados das pesquisas. A partir de agora, o usuário “alimenta” a cada busca uma base de dados de preferências (ao lado dos links), que por sua vez, faz com que as buscas reflitam os gostos pessoais dos usuários. O usuário pode simplesmente “apagar” determinados resultados de sua busca ou “ranquear” os sites que prefere para cima na pesquisa. As implementações realizadas valem para a próxima busca realizada.
Gosto sempre de ponderar algumas situações sobre anúncios de “mais poderes” aos usuários. Muitos lucram sob o “manto” do “long tail” e do pesudo anuncio de maior controle por parte dos usuários. Neste caso, por exemplo, como ficará os sites bem raqueados graças a conhecida métrica ou algoritimo ”PageRank”, envolvendo, em apertada síntese, o número do links que um site recebe ? E os contratos com empresas para melhorar visibilidade no motor de busca, como ficam ? Conheço pelo menos cinco empresas que pagam para estar na primeira página do Google, muitas, contratando técnicas não muito “lícitas” como “Gestbook Spamming” e “Google Hacking”…
E agora José ?
É, sem dúvida me parece uma liberadade interessante eis que a boa web semântica já nos indica que “nem tudo que é topo possui real significado”. Por outro lado, não estou dizendo que isso é Web Semântica, estando mais para “parametrização de busca”… Podemos discutir sobre websemântica em breve!
Se o Google tinha fama de saber mais de nós do que os nossos mais íntimos…Que tal agora ? Com uma base de dados de preferências “caridosamente” alimentada pelo seus principais clientes ? Esperamos, sinceramente, que tais dados sejam usados sem as “viralidades” da propaganda mordena, o que por si só é uma agressão aos direitos dos usuários! Estamos aguardando sair os termos do serviço para análise,
Ainda, não podemos deixar de refletir sobre a concorrência desleal que pode ser provocada. Se a parametrização deixa de ser “servidor” e passa a ser “cliente”, já podemos imaginar a manipulação de máquinas por trojans e vírus, que excluiriam do rotorno certos sites, ou os substituiria por sites fakes, o que permitiria a fraude e a pr$ática de crimes.
Acham alarde demais ? Hoje empresas usam o Google para praticar concorrência desleal, como no famoso caso Brasileiro Engenharia Pistelli x Formato Coberturas, onde esta empresa foi condenada por pagar links patroncinados indicando como “tag” o nome da concorrente, veja:
http://info.abril.uol.com.br/aberto/infonews/052008/30052008-4.shl
Se tais práticas desleais já ocorrem com o Google na era “PageRank”, imaginem na “SearckWiki”…
O WikiPedia já define o Search Wiki: http://en.wikipedia.org/wiki/Google_Search
Se você gosta de Web Writer, essa é uma boa hora para conhecer como os mecanismos de busca processam o seu texto, e como você pode escrever um bom texto entendendo essa lógica. Esses conceitos são conhecidos por poucas pessoas aqui no Brasil, então sinta-se privilegiado ao final da leitura.
Não serei muito técnico para não deixar o texto cansativo, todos os conceitos que explicarei abaixo vou dar exemplos práticos como influem diretamente no seu HTML.
Para começar você deve saber o que é IR (Information retrieval) ou Recuperação da Informação para nós. É uma área da Ciência da Informação que está por trás do tratamento e busca por dados e meta dados em documentos.
É de fundamental importância que analistas SEO e SEM entendam os princípios básicos de IR para não bolarem teorias mirabolantes sem base técnica, como acontece e muito nos Estados Unidos. Muitos profissionais de Marketing sem conhecimento de Ciência da Informação bolam teorias de SEO com base em testes, só que montar uma teoria somente por percepção abre uma grande brecha para erros e dupla interpretação.
Durante o processo de Arquivamento da página (ou indexing) esse documento é preparado para uso por um sistema de IR. O site está todo cru para o sistema, cheio de tags, metatags, caracteres especiais, pontuações etc. Os sistemas precisam do conteúdo todo limpo para poder entender o que a sua página está falando. Então ele transforma o seu documento em uma representação de texto. Nesse processo ele cria duas bibliotecas: uma para expressões regulares e outra para stop words (palavras comuns, ex: que, de, etc.). Também seta alguns filtros e parsers (processadores).
É o processo onde o documento é reduzido somente a termos em minúsculo e sem pontuação. O sistema remove todas as tags HTML, toda a pontuação e acentuação, caracteres especiais e espaços.
O processo onde o texto é tratado após a remoção da marcação é conhecido como Tokenização.Na tokenização o computador é instruído a entender que aquela seqüência de bytes é uma palavra separada da outra. Alguns usam hífen, outros não.
Durante a linearização o CSS é removido. Logo, você percebe que se o seu HTML não estiver em ordem, o buscador vai ter em um primeiro momento uma informação desconexa e poderá entender errado o seu texto. Se você fez pirotecnia no css, mandando um texto que está em primeiro no HTML para o rodapé do site, já está no caminho errado. Por isso a importância do envolvimento de todas as áreas de desenvolvimento no trabalho de SEO.Se você tem um fluxo de informação coerente no seu HTML, na hora que o sistema de IR deixar “pelado” o seu site você estará tranqüilo, pois o carregamento da informação se dará de forma correta. Com os temas das informações sendo coerentes com tópicos e sub tópicos. O posicionamento do texto no seu carregamento na linearização se dá pela sua marcação HTML.
Quando há erros nesse fluxo o índice é avaliado erroneamente, alguns buscadores simplesmente ignoram os erros e você perde peso nessas determinadas áreas da sua página.
Neste processo o sistema faz a escolha dos termos que irão “representar” o seu documento, descrevendo o conteúdo e diferenciando a sua página das demais já arquivadas no banco de dados.
É nessa hora que as stop words são ignoradas da representação do texto, pois elas são palavras muito comuns presentes em milhares de textos, se elas fossem levadas em consideração a relevância seria afetada, porque elas não trazem a maior densidade de informação. Essa remoção se dá de forma padronizada, no começo da indexação o sistema cria uma biblioteca de termos muito usados e só os ignora nas representações posteriores como na Filtragem.
Aqui os termos irão ser reduzidos aos “talos”. O sistema detona as variações. Exemplo: as palavras “pensamos”, “pensais” e “pensam” vão virar somente “pensa”. Nem todos os sistemas usam o mesmo tipo de algoritmo para redução de termos.
Os mecanismos de busca fazem isso para economizar espaço, é uma maneira de reduzir o processamento e indexar mais páginas rapidamente. Existem várias complicações para esse processo que eu particularmente desconheço.E se você está se perguntando: e o que acontece com as variações? Lembre que é só uma representação do seu texto.
Esse é o último passo na maioria de sistemas IR da representação de texto da sua página, é onde os termos “talos” recebem pesos que podem ser atribuídos de diferentes formas, e é exatamente aqui que muitos analistas SEO e SEM começam a “chutação” com teorias mirabolantes como a de Keyword Density.
Quanto mais peso nos elementos on-page mais chances de posicionar o seu site em primeiro lugar nos buscadores, como o Google. Pois alguns fatores e elementos você não pode controlar, agora esses elementos é mais que seu dever como desenvolvedor fazer um bom trabalho.Nos próximos artigos aqui no iMasters vou abordar o que realmente sabemos sobre esses pesos e é nesse ponto que a coisa começa a ficar interessante para escrevermos textos competitivos e com grande densidade de peso nos elementos na página.