Você já conhece o Yahoo Query Language?

Posted by Rique Costa on November 23rd, 2009

yql128O YQL é uma API da Yahoo, que quer dizer Yahoo Query Language.

Essa poderosa API tem o objetivo de facilitar a vida dos desenvolvedores, a grande vantagem é poder encontrar muitas APIs em forma de open data table num lugar só (convergência), de um jeito simples de usar.

A linguagem é basicamente SQL Language, sim, você poderá selecionar os dados a partir de uma simples select, ou combinando com subselects, cross e etc! Incrível!

Você pode por exemplo selecionar os títulos de notícias do site da CNN e trazêlos já traduzidos para o português, numa única select. Pra isso você terá de combinar 2 Selects, uma com a API da CNN e outra com a API do google translator. Você também pode ainda, filtrar as notícias por categoria ou alguma palavra chave.

O YQL aceita Selects, Inserts, Deletes e Updates.

Tudo começa pelo console YQL, lá você poderá executar e testar todos os seus SQLs. Você escolhe o seu tipo de retorno, pode ser um XML ou JSON.

Exemplos:

Para inserir um novo tweet pelo YQL basta fazer:
insert into twitter.status (status,username,password) values (”Playing with INSERT, UPDATE and DELETE in YQL”,     “twitterusername”,”twitterpassword”)

Para buscar a timeline de um usuário no twitter faça:
select * from twitter.user.timeline where id=’riquecosta’

No próprio console do YQL é possível capturar a URL REsT da query.

O exemplo abaixo mostra como deve ser feito para buscar e exibir no html a timeline de um usuário no twitter, clique aqui pra ver o exemplo online ou clique aqui pra fazer o download.

As open data tables fazem parte de um projeto (http://www.datatables.org/), o YQL já possui diversas open data tables próprias e ainda outras data tables feitas pela própria comunidade YQL.

Mas, você pode precisar de uma data table que ainda não existe, então, você poderá fazer a sua ;)

Não sei se a americanas.com disponibiliza uma API para realizar busca em seu site, mas, vamos fazer a nossa própria para poder fazer buscas lá

Sabemos que site da americanas.com a busca é feita através da da URL http://www.americanas.com.br/busca/palavra_chave

Então, fazemos com que o YQL busque o documento HTML:
select * from html where url=”http://www.americanas.com.br/busca/corinthians”

Agora, você precisará identificar onde esses resultados aparecem nos elementos HTML, como na imagem abaixo:

Path

Copie o Xpath através do firebug, em seguida coloque no console e faça o teste!

Você terá uma query parecida com essa:
select * from html where url=”http://www.americanas.com.br/busca/corinthians” and xpath=’//*[@class="searchResultList"]‘

console

Aí é só correr pro abraço, você terá o resultado da pesquisa serializado em XML ou JSON, veja a demonstração on-line aqui ou faça o download do arquivo aqui.

Saiba mais sobre o YQL na página aqui

Palestra na Unimar

Posted by Rique Costa on November 19th, 2009
Adriano Nakamura, Beto, Rique e Júlio

Adriano Nakamura, Beto, Rique e Júlio

Ontem fizemos uma palestra na Unimar, em Marília, falando sobre algumas tendências web.

No início falamos um pouco da história da web e dividimos em 4 ciclos, passamos um pouco mais a fundo sobre alguns conceitos da web 2.0 e em seguida falamos sobre as tendências.

.

.

.

Falamos basicamente de 7 tendências web:

  1. Linked Data ou Dados estruturados;
  2. Web em tempo real;
  3. Personalização e recomendação;
  4. Realidade aumentada;
  5. Web móvel
  6. Internet das coisas;
  7. Cloud Computing.

Devido a falta de internet no local da palestra nós não conseguimos apresentar o site que oferece a experiência de realidade aumentada, portanto se você tem webcam experimente entrar neste site (http://www.weareautobots.com/ww/index.php) é sensacional!

Também falamos um pouco sobre o mercado de trabalho para os desenvolvedores web.

Você também pode ver os videos que colocamos na palestra:

  1. A máquina somos nós;
  2. Aplicativo brasileiro de realidade aumentada;
  3. Realidade aumentada;
  4. Você sabia?

No final,  ainda sorteamos alguns brindes para a platéia que respondesse corretamente as perguntas.

Foram 3 felizardos ;)

Desde ja agradecemos a toda a platéia presente e principalemente aos feedbacks que estamos tendo pelo twitter e por email.

Obrigado pessoal, abaixo segue a palestra

Cuide bem de suas ferramentas de trabalho

Posted by Rique Costa on August 17th, 2009

Estava dando uma folheada no manual do meu MacBook, e na seção “Last, but no least” encontrei pequenas dicas sobre ergonomia, algo que muitas vezes os programadores não dão muito importância.

Ao usar o teclado e o trackpad, seus ombros devem estar relaxados. O seu braço e o antebraço devem formar um ângulo pouco maior que 90 graus, com o seu pulso e sua mão quase em uma linha reta.ergonomia_teclado_certo_errado

Toque levemente o teclado ao digitar ou usar o trackpad e mantenha suas mãos e dedos relaxados. Evite rolar seus polegares sob as palmas das mãos.
manual2

Altere sempre a posição das mãos para evitar fatiga. Alguns usuários de computadores podem desenvolver desconfortos em suas mãos, pulsos ou braços após o uso intensivo sem intervalos.

Se começar a desenvolver uma dor crônica ou desconforto nas suas mãos, pulsos e ombros, consulte um médico especialista qualificado.

Antes de entrar para o mundo da informática, trabalhei por uns 3 anos em uma empresa de pagers (ou beepers). Eram 6 horas por dia de atendimento telefônico digitando as mensagens a serem enviadas. Lá aprendi sobre LER (Lesão por esforço repetitivo) e vi muita gente fazendo tratamento fisioterapêutico para curar tendinite.

Eu digitava com os pulsos suspensos, sem apoiá-los em lugar nenhum. No final do dia estava com dores nos tendões, nervos e ligamentos. Depois que comecei a apoiar os braços para digitar, minha produtividade e velocidade aumentou. Com isso, aliado a alongamentos periódicos (por exemplo, de uma em uma hora, sentado mesmo), minhas dores nos braços se foram.

shouldersEu já vi muitos programadores escreverem código de uma forma tensa, sem relaxar os ombros e os braços, com os pulsos suspensos, sem apoio.

Os pulsos devem ficar apoiados na mesa ou (melhor ainda) em um apoio ergonômico de teclado próprio.

Hoje em dia, alguns programadores ficam até 12 horas por dia na frente do computador, escrevendo código sem parar. Se você não relaxar quando está digitando, estará muito propenso a uma lesão crônica.

Algumas empresas, como a Locaweb, fornecem um programa de ginástica laboral para seus funcionários. Isso ajuda e muito, mas não adianta terminar a sessão de ginástica e voltar a sentar na frente do computador sem postura e movimentar os pulsos quando deveria movimentar somente os dedos.

Uma observação rápida: bons programadores evitam o usar o mouse, substituindo suas funções por teclas de atalho. Além de aumentar sua produtividade, ajudam na sua saúde também.

Você precisa cuidar do seu corpo: coluna, ombros, braços, pulsos, mãos, dedos. Se eles não funcionarem bem, como você irá transformar as idéias que surgem em sua mente em código?

Post retiado do blog: http://prodis.pro.br/2009/05/09/cuide-de-suas-ferramentas-de-trabalho/

Afinal, o que é twitter?

Posted by Rique Costa on August 10th, 2009

Durante os últimos dias muitas pessoas tem me perguntado, o que é twitter? Como funciona? É fácil saber o que é o twitter quando você já está nele, difícil é explicar para a pessoa que nunca esteve.

Acredito que essa curiosidade está na cabeça de muitas pessoas, pois, muitos programas de televisão, apresentadores, artistas, celebridades e etc, estão no twitter e divulgam isso a todo momento.

Bom, muitos de vocês já oviram a definição de que o twitter é um microblogging. Mas o que isso quer dizer?
Bom, a principio a definição de blog era de um diário virtual. Mas isso se modificou, hoje os blogs não são só pra falar de coisas pessoais. Existem muitos blogs técnicos (como este), blogs de notícias, políticas, filmes, fofoca etc. Entretanto para acompanhar o blog você sempre precisava acessá-lo, para verificar atualizações e novos posts. Daí surgiu os feeds, para agilizar o processo de verificar atualizações no blog.

Mas e o twiiter, onde entra nisso? Bom, se o twitter é um micro blogging, então ele tem de ser menor que o blog. O twitter é um site/aplicativo (possui uma API) que também pode ser considerado uma rede social, colaborativa. No twitter os posts são limitados a 140 caracteres, isso faz com que seja mto dinâmico, já que você não tem espaço pra enrrolação, tem que ser direto e objetivo.

“Twitter parece pátio de hospício, todos falam ao mesmo tempo e eventualmente alguém responde” por @saintbr

No orkut, por exemplo, você tem amigos. No twitter você tem seguidores. Somente os seus seguidores recebem seus posts, que são chamados de Tweets. Você também recebe posts de pessoas que citaram o seu nome. Qualquer pessoa pode seguir outra pessoa no twitter. Uma pessoa que não é cadastrada no twitter também pode ver seus posts, caso você não faça o bloqueio.

O twitter é muito popular nos EUA, e sua popularidade vem crescendo cada vez mais entre os usuários brasileiros. Para se ter uma idéia da velocidade de crescimento na internet, veja o comparativo abaixo:

Anos que que se levou para atingir uma audência de 50 milhoes de pessoas:
Rádio: 38 anos;
Televisão: 13 anos;
Internet: 4 anos;
Ipod: 3 anos;
Facebook: 2 anos;

Não encontrei nenhum dado oficial sobre o número de usuários do twitter, mas o site é relativamente novo, foi criado em 2006 e colocado em prática em 2007. Aliás, uma leitura inspiradora é a história de como o twitter foi criado.

Veja a popularidade do twitter no link da figura abaixo, retirado do site último segundo, do IG:


Clique aqui para ver o infográfico

Com a popularidade em alta, o twitter virou a menina dos olhos para as grandes empresas. Empresas como Submarino, Dell e Camiseteria tem faturado com essa nova mania.

Bom, agora que você já sabe o que é o twitter você pode se cadastrar e nos seguir:
http://www.twitter.com/riquecosta
http://www.twitter.com/betoAFL

Veja a lista de brasileiros “famosos” no twitter

Vem aí o Firefox 3.5

Posted by Rique Costa on June 10th, 2009

Rediscover the web

Fique ligado no lançamento…

Erro no SQL Server Management 2008 ao acessar base do SQL Server 2000

Posted by Rique Costa on June 9th, 2009

Já algum tempo que eu estava tendo esse problema, ao acessar uma base do SQL Server 2000 com o SQL Server Management 2008 dava este problema:

Falha ao recuperar dados para essa solicitação. (Microsoft.SqlServer.Management.Sdk.Sfc)
Server user ‘xyz’ is not a valid user in database ‘e-Pocurement_A’. (Microsoft SQL Server, Erro: 916)

Ocorreu uma exceção ao executar um lote ou uma instrução Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

The server principal “xz” is not able to access the database “kk” under the current security context. (.Net SqlClient Data Provider)

A Microsoft confirma o erro para outros produtos além do SQL Server Management 2008 listados abaixo

Outros softwares afetados:

  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Reporting Services

PS: Este problema também pode acontecer se não for um usuário do grupo Sysadmins.

Para solucionar o problema:

  1. Para contornar este problema, siga estes passos:
  2. Feche a mensagem de erro.
  3. Pressione F7 para abrir o painel de detalhes do Explorador do objeto .
  4. Clique os cabeçalhos da coluna com o botão direito do mouse e desmarque a coluna Agrupamento.
  5. Clique com o botão direito do mouse no nó de bases de dados e, em seguida, clique em Atualizar .

Agora tudo deverá voltar ao normal ;)

Dica: Limpar Edit no Delphi em execução

Posted by Daniel Buona on April 9th, 2009

Uma coisa que sempre vejo os programadores quebrando a cabeça é para “limpar” os campos em tela na execução.

Com o código abaixo conseguiremos manipular os valores dos edits no form.

Mãos a massa.

No form que vocês querem efetuar a limpeza dos edits, insira um Button e implemente o seguinte código no click:

procedure TForm1.Button1Click(Sender: TObject);
  procedure LimparEdits(AControl: TComponent);
  var
     vLoop: Integer;
  begin
     for vLoop := 0 to AControl.ComponentCount-1 do // ComponentCount retorna a qtde de componentes que o
     begin                                          // o parent é o AControl, ou seja, somente os componentes que
        { Se for um componente do tipo TEdit, }     // estão ligados a ele
        { então iremos limpar o conteúdo, caso }
        { contrário, iremos rechamar a procedure }
        { pois o AControl pode ser um painel e temos }
        { que limpar inclusive os edits do painel }
        if AControl.Components[vLoop].ClassType = TEdit then
           TEdit(AControl.Components[vLoop]).Clear // Aqui utilizamos o Cast para obter as propriedades e métodos do edit }
        else
           LimparEdits(AControl.Components[vLoop]);

     end;
  end;

begin

  LimparEdits(Self); // O processo irá iniciar limpando os edits que estão diretamente
                     // docados no form
end;

Copyright © 2007 AFL Sistemas. All rights reserved.