Rapidinha

 Se você quer saber mais sobre o Autor, não deixe de conferir a sessão exclusiva com a meta informação do site.
 
powered_by.png, 1 kB

Home arrow Computação arrow Artigos
Artigos
A História da Internet PDF Imprimir E-mail
Por Thomas Lopes   
25 de March de 2009
Última Atualização ( 25 de March de 2009 )
 
jQuery: De olho nos gaps PDF Imprimir E-mail
Por Thomas Lopes   
09 de March de 2009

Qual webdeveloper nunca usou JQuery? Muito difícil... Bom, mas vamos falar de algo que nem todos os developers 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.

ao usar a função load, você carrega um arquivo remoto (seja ele html puro ou um arquivo dinâmico, como PHP ou outra linguagem), mas o tempo que ele leva para ser processado nem sempre é igual. E se você precisa esperar que o conteúdo seja totalmente carregado antes de proceder com o script?Colocar um timeout? No way, uma vez que você não tem controle sobre o tempo de execução em todas as plataformas e clientes... Logo, o Callback está aí para sanar essa questão.

Porém...

Temos que tomar cuidado ao usar o Callback, uma vez que o desempenho dos sistemas ainda podem afetar a funcionalidade de seu código, e fazer você perder várias horas de seu precioso descanso...Veja esse trecho de código que trabalhei recentemente:

jQuery().ready(function() {
    jQuery.getJSON('/php/data.drafts.php?l=10&f=json', function(data){
      jQuery.each(data, function(i, item){
        jQuery('#latestDraftsTable tbody').append('<tr><td>'+item.id+'</td><td>' + item.title + '</td><td>' + item.date+ '</td></tr>');
      });
    });
    jQuery('#latestDraftsTable').tablesorter({widgets: ['zebra']});
);

Alguém consegue perceber o erro, ou melhor, a Zebra? Muito difícil. Mas ao rodar o código, não acontecia o esperado: que minha tabela apresentasse o comportamento de uma tabela ordenável que o jQuery UI tablesorter plugin proporciona (ou seja, deu Zebra e não ocorreu a Zebra). Aí eu descobri o problema: a penúltima linha do código nem estava sendo executada... Seriam Gaps de performance?

Diferentes paradigmas

Fosse uma linguagem das antigas qualquer, onde o paradigma procedural imperava, esse código não teria problema, pois cada instrução só seria disparada ao final da anterior. No Javascript, a coisa não é bem assim, ainda mais quando se trata de AJAX - Assynchronous Jacascript and XML - uma requisição que é disparada e outra estrutura interna fica encarregada de processar os resultados quando eles chegarem. Ao efetuar a função getJSON, a requisição é disparada, e já passamos para a próxima linha (onde eu chamo o tablesorter na tabela), porém, não deu tempo da requisição JSON retornar e popular a tabela. Resultado: minha tabela fica populada mas não fica ordenável.

Graças a um amigo developer fera em JS, eu consegui perceber isso e reordenaro código de maneira que ele funcionasse como o esperado:

Código corrigido

jQuery().ready(function() {
    jQuery.getJSON('/php/data.drafts.php?l=10&f=json', function(data){
      jQuery.each(data, function(i, item){
        jQuery('#latestDraftsTable tbody').append('<tr><td>'+item.id+'</td><td>' + item.title + '</td><td>' + item.date+ '</td></tr>');
      });
      jQuery('#latestDraftsTable').tablesorter({widgets: ['zebra']});
   });
);

Assim, o tablesorter vai ocorrer dentro do callback, logo após ter terminado de ser populada a tabela. Na realidade, os callbacks foram feitos exatamente para situações como essa: quando a coisa vai demorar um pouco e você não tem certeza do quanto...

 

Última Atualização ( 13 de March de 2009 )
 
960 Grid System: Framework CSS PDF Imprimir E-mail
Por Thomas Lopes   
09 de March de 2009

Ok, falamos de Frameworks Web... mas isso aqui ainda pode soar estranho para alguns: um framework CSS!!! Isso mesmo, uma forma de você acelerar seus projetos, até na hora de montar o layout do mesmo. Ele se chama 960 Grid System

Funciona assim: ele provê uma estrutura de 12 ou 16 colunas (divisível por 3 e por 4 em diante, respectivamente), possibilitando que vc estruture o layout sobre essa quantidade de colunas. Assim, vc tem um 'wireframe', ou melhor, um esqueleto onde colocar o resto do layout, sem ter que ficar se preocupando com dimensões, floatings, cleas, etc.

O que mais chamou-me a atenção, além da facilidade para ter a estrutura base, é o sketh que vem junto, em PDF< que você imprime, e pode rascunhar na mão o layout sobre o wireframe das colunas e depois chamar a div correta. Ou seja, você 'enxerga' o layout do site de forma intuitiva já junto ao cliente, tornando o próximo passo muito trivial.

Confira:  http://960.gs/

Última Atualização ( 09 de March de 2009 )
 
PHP Orientado a Objetos PDF Imprimir E-mail
Por Thomas Lopes   
29 de January de 2009

Capa do LivroO PHP é uma das linguagens mais utilizadas no mundo. Sua popularidade se deve à facilidade em criar aplicações dinâmicas com suporte à maioria dos bancos de dados existentes e ao conjunto de funções que, por meio de uma estrutura flexível de programação, permitem desde a criação de simples portais até complexas aplicações de negócio.

O uso da orientação a objetos juntamente com o emprego de boas práticas de programação nos possibilita manter um ritmo sustentável no desenvolvimento de aplicações. O foco deste livro é demonstrar como se dá a construção de uma aplicação totalmente orientada a objetos. Para isso, implementaremos alguns padrões de projeto (design patterns) e algumas técnicas de mapeamento objeto-relacional, além de criarmos vários componentes para que você possa criar complexas aplicações de negócio com PHP.

Dica do Gotcha IT blog

 

 

 
Recuperando arquivos do pendrive PDF Imprimir E-mail
Por Thomas Lopes   
01 de November de 2008

PenDriveVocê estava fazendo sua monografia já tinha mais de 6 meses, adiantado boa parte do projeto e protótipo, codificado aquele componente que seu chefe vinha pedindo a semanas... E de repente, você deleta uma pasta sem querer. Seus cabelos começam a cair de desespero, e você já está pensando em ligar pra secretaria da faculdade para solicitar aquela extensão do prazo de entrega do TCC... Calma! Ainda pode ter solução!

Última Atualização ( 01 de November de 2008 )
 
© 2012 THLopes.com
Joomla! is Free Software released under the GNU/GPL License.