.COM Ciência, Computação e Poesia
Ícone RSS Ícone E-Mail Ícone Página Principal
  • Republicando: jQuery, de olho nos gaps

    Publicado em 17 de agosto de 2010 Thomas Lopes 1 comentário

    Estou republicando esse artigo pois o mesmo recebeu um comentário, e ao mesmo tempo, é um assunto que ainda assola muitas pessoas que utilizam jQuery, principalmente quem começou com ela há pouco tempo.

    Qual webdeveloper nunca usou jQuery[bb]? Muito difícil… Bom, mas vamos falar de algo que nem todos os developers[bb] que usam jQuery se atentam ao programar. Eu mesmo fui pego hoje por um gap que me tomou alguns minutos da tarde…

    Algumas funções (na verdade, a maioria nesse framework) recebem outras funções como callback, aquela função que será chamada assim que a instrução/função chamada acabar seu procedimento. Um exemplo muito utilizado em aplicações reais são as

    Funções Ajax

    load( url, data, callback )
    Returns: jQuery. Load HTML from a remote file and inject it into the DOM.

    jQuery.get( url, data, callback, type )
    Returns: XMLHttpRequest. Load a remote page using an HTTP GET request.

    jQuery.getJSON( url, data, callback )
    Returns: XMLHttpRequest. Load JSON data using an HTTP GET request.

    Ler o resto deste artigo »

  • IBM adota Firefox como browser padrão

    Publicado em 5 de julho de 2010 Thomas Lopes Sem comentários

    Algumas coisas as vezes demoram pra acontecer. Mas quando falamos de grandes companhias, é comum uma mudança demorar pra propagar. É o que aconteceu somente agora: IBM adota Firefox como seu browser padrão. Desde antes da época que trabalhei no departamento web aqui no Brasil, os profissionais do departamento já brigavam para emplacar o Firefox dentro da companhia, mas devido à cultura corporativa adotada, o IE ainda reinava.

    Lembro até de campanhas internas para lembrar alguns desenvolvedores que o IE deveria estar instalado em suas máquinas para entrar no esquema de testes. Espero que o IE6 não esteja mais na maioria das máquinas, como acontecia também (afinal, ter um IE6 em sua máquina é um risco considerável…).

    Como disse a editoria de Tecnologia do IG, a IBM adotou o browser por sua veia OpenSource (uma quebra de rotina dessas só poderia partir mesmo do braço livre da empresa), por ter melhor suporte para extensões (aqui com certeza os desenvolvedores quem bateram o pé) e a meu ver, principalmente por ser mais customizável (e assim, a gigante poder ter um melhor controle das ferramentas utilizadas por seus colaboradores, como recursos). Claro, podemos esperar outros motivos ainda, afinal, empresas desse porte nunca fazem mudanças globais sem antes calcular minuciosamente o quanto poderão economizar/ganhar com uma ação dessas. Talvez vejamos em alguns meses alguma nova ferramenta interna sendo vendida globalmente, baseada na tecnologia do browser.

    Mas claro, quem conhece, sabe que os benefícios de adotar um browser mais robusto são muito bem vindos, seja sua empresa pequena ou gigante.

    Confira mais no iG – Tecnologia

  • Nerdcast sobre programadores

    Publicado em 28 de maio de 2010 Thomas Lopes Sem comentários

    Nerdcast #211 Profissão: programador

    Quem acompanha o blog sabe que esporadicamente posto links para podcasts de assuntos relacionados a THLopes. E aqui está mais: o Nerdcast de hoje, cujo tema é Profissão: Programador. Como este que vos escreve atua nessa profissão, recomendo ouvir esse excelente podcast para fechar sua sexta-feira. Boas risadas e descobertas!

  • Todos querem Cassandra

    Publicado em 16 de março de 2010 Thomas Lopes Sem comentários

    Cassandra database

    Com esse título (e com esse logo), poderiamos começar uma novela. Mas estamos falando de outra novela: a da migração de banco de dados MySQL para Cassandra. Depois do Twitter, agora é o Digg quem decidiu migrar suas bases de dados para esse banco com um nome bem interessante.

    Cassandra é um banco de dados pós-relacional. Mas como esse termo não é muito conhecido, utilizaremos o termo NoSQL. Um repositório de dados leve, feito em Java, similar aos famosos CouchDB (outro projeto que, assim como o Cassandra, é incubado na Apache Incubator) e BigTable, utilizando ferramentas similares ao Hadoop (coincidência? Mais um projeto incubado na Apache) e conceitos como MapReduce (para bancos distribuídos). Agora vem o fato mais curioso: Esse projeto foi inicialmente desenvolvido pelo Facebook, e foi aberto (open source) em 2008. Mais uma rede social, crescendo e migrando para bases não-relacionais. Que ironia: justamente as redes sociais, onde as relações são muito valiosas.

    Apesar do ganho no desempenho, sei que esse tipo de transição é muito “dolorosa”. Esses tipos de banco de dados não-relacionais realmente podem dar um nó no cérebro dos desenvolvedores. É muito complicado viver sem os joins depois de algum tempo trabalhando com eles.

    Segundo os engenheiros do Twitter, precisavam de um banco de dados escalável que “crescesse sozinho”. Realmente, imaginar monstros como Twitter – que cresceu mais de 20 vezes em menos de um ano, alcançado a marca de 50 milhões de Tweets diários – e do Digg (onde muitos usuários compartilham notícias e comentários o tempo todo) e seus dba’s brigando todos os dias para conter a bomba do MySQL, enxertando cada vez mais hardware para que não exploda na cara dos usuários. Nessa hora, é questão de escolha: onde vamos quebrar a cabeça para resolver o problema? Os desenvolvedores decidem.

  • corMVC, framework MVC para Javascript

    Publicado em 10 de março de 2010 Thomas Lopes Sem comentários

    corMVC - um framework MVC para Javascript

    corMVC é um framework MVC para Javascript, baseado em jQuery. Voltado para aplicações web de uma página só, onde você executa todas suas operações em estilo Ajax, na própria página. Segundo os criadores, é execelente como ponto de entrada para aprendizado da arquitetura de ’single-page application’ (aplicação de página única, como mencionado anteriormente).

    É simples de começar a usar, não necessita de nenhum linha de comando, basta extrair tudo numa pasta e abrir no browser. Estou testando aqui e em breve posto meus comentários a respeito.

  • Motion: animação web sem flash

    Publicado em 5 de março de 2010 Thomas Lopes 3 comentários

    Motion: animação sem flash

    Encontrei esse projeto através do LinkedIn. Incrível, o autor consegue gerar um ambiente animado, onde você pode interagir com outros elementos, o cenário tem profundidade, e você pode guiar seu personagem através desse ambiente, usando o teclado, para qualquer direção. Até aí normal, porém, ele fez tudo usando apenas Javascript, sem nenhum Flash sequer. Ver essa audácia me relembrou a época em que desenvolvi um game 2d em Java, na faculdade, o K-Libre99, totalmente do zero.

    O mais bacana é que ele demonstra que podemos sim ter coisas complexas feitas na web, com Javascript (que é nativo de qualquer browser hoje em dia), sem depender de plugins externos, como o Flash. Realmente, um trabalho excelente, demonstrando que a web não é dependente de Flash para criar experiências de usuário dinâmicas. Confira mais em http://www.geektestbox.com/devfiles/mdunham/brookside_beta/

  • Otimizando desempenho

    Publicado em 25 de janeiro de 2010 Thomas Lopes Sem comentários

    Cronômetro de Corrida

    Nos últimos dias, temos brigado muito por coisas muito pequenas, as vezes passageiras. Cada migalha desperdiçada é motivo para um nova discussão que acaba mudando o rumo das coisas… Calma gente, não estou tendo problemas de relacionamento não, são apenas discussões sadias de trabalho para se melhorar os níveis de performance nos aplicativos.

    Quando se atinge um certo número de usuários de uma única aplicação, devemos tomar certos cuidados. Muitas vezes, ignoramos alguns pontos que podemos melhorar, deixando 1KByte, 2KB mais leves, pois afinal, para um usuário parece tão pouco, mas quanto representa 2KB multiplicado por 100 mil usuários? 195 MB. É, assusta, e as cifras só tendem a aumentar.

    Com o advento da computação em nuvem, alguns perceberam que realmente deveriam otimizar suas aplicações, pois cada KB gasto vai representar algum valor que será, com certeza, debitado num cartão de crédito futuramente. Enquanto antigamente, bastava planejar a compra de uma máquina muito além das necessidades e ter um custo fixo, agora, a briga é para sempre diminuir a conta no fim do mês, como numa economia doméstica (certa vez, ouvi que toda economia é de migalhas. Concordo).

    Mas muitas vezes, desenvolvedores de aplicações esquecem de alguns detalhes como por exemplo, o peso dos arquivos da camada de apresentação de suas aplicações. Na Web, isso também deve entrar na conta: tamanho do HTML, CSS[bb], JS e imagens. E hoje em dia, são relativamente conhecidas técnicas para aprimorar esses estáticos para uma melhor experiência do usuário. Digo relativamente porque ainda me deparo com muitos websites, sistemas e gadgets por aí sem nenhuma otimização nesse sentido. No Brasil ainda temos muitos usuários que não dispõe de banda larga, e eles agradecem cada byte salvo.

    Ler o resto deste artigo »