O que é este site?
MercadoAjax é um serviço de busca de produtos no MercadoLivre que exibe os resultados rapidamente, sem recarregar toda a página a cada consulta.
Aprender é Bom Demais!!!
28.11.09 às 16:46 por Jonas
MercadoAjax é um serviço de busca de produtos no MercadoLivre que exibe os resultados rapidamente, sem recarregar toda a página a cada consulta.
27.11.09 às 18:06 por Jonas

Quem trabalha com Wordpress de forma profissional com certeza deve conhecer um plugin chamado WP-DownloadManager, do Lester Chan, um dos mais atuantes desenvolvedores de plugins para Wordpress, veja alguns.
Pois bem, o Wp-DownloadManager é uma mão na roda para disponibilizar arquivos para download, permite criar categorias, ordenar a disponibilização dos arquivos e ainda faz estatÃsticas de download.
Tenho usado ele na intranet de um dos meus empregadores, com sucesso. Mas vamos aos problemas que precisei solucionar.
1. Temos diversas categorias de downloads, e acertamos que a ordem que mostrarÃamos os arquivos aos usuários era os mais novos primeiros, ordenados pelo file_id dos arquivos, veja abaixo a tabela do plugin.
CREATE TABLEÂ `wp_downloads` ( `file_id` int(10) NOT NULL auto_increment, `file` tinytext NOT NULL, `file_name` text NOT NULL, `file_des` text NOT NULL, `file_size` varchar(20) NOT NULL default '', `file_category` int(2) NOT NULL default '0', `file_date` varchar(20) NOT NULL default '', `file_updated_date` varchar(20) NOT NULL default '', `file_last_downloaded_date` varchar(20) NOT NULL default '', `file_hits` int(10) NOT NULL default '0', `file_permission` tinyint(2) NOT NULL default '0', PRIMARY KEYÂ (`file_id`) ) ENGINE=MyISAMÂ DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
Tudo estava funcionando maravilhas, os usuários fazem o upload dos arquivos, levando em consideração que os mais antigos devem ser inseridos primeiro, e ai será exibido como planejamos, ficando assim:
277/2009 – Designa Comissão Especial …..
» 42.5 KiB – 5 downloads – 02 de novembro de 2009
276/2009 – Designa Comissão Especial encarregada de elaborar …..
» 41.0 KiB – 3 downloads – 05 de novembro de 2009
275/2009 – Designa o servidor ….l
» 43.0 KiB – 2 downloads – 10 de novembro de 2009
O problema é que como a intranet atual foi migrada de uma versão anterior, onde não existia um CMS, vários arquivos foram inseridos a esmo, e que ao serem exibidos não correspondem a lista descrescente por nome, como no exemplo acima.
Embora que sistema permita mudar isso facilmente, isso não era possÃvel de se fazer, pois iria afetar todas as outras categorias, pois as mudanças de ordenação são globais.
Vejamos a solução:
Primeiro foi dado um Select na tabela WP_DOWNLOADS para retonar o último FILE_ID.
SELECT max(file_id) FROMÂ wp_downloads
retornou: 969
Com o uso de um contador, é possÃvel simular uma contagem sequencial, veja:
set @contador:=970; SELECT (@contador:=@contador+1), wp_downloads.* FROM `wp_downloads` WHERE `file_category`= 10 order by `file_name` asc
Ou seja, a idéia é fazer com que os valores desse SELECT sequencial possa ser aplicado na coluna file_id da tabela wp_downloads.
Com a ajuda de meu amigo Edcley Firmino – o papa do SQL -, chegamos a decisão de fazer uma Procedure utilizando RowID. Veja como ficou:
BEGIN DECLARE vcontador INT; declare b,vfile_id int; DECLARE cursor_1 CURSOR FOR SELECT file_id FROM wp_downloads WHERE file_category= 10 order by file_name ASC; DECLARE EXIT HANDLER FOR NOT FOUND SET b=1; OPEN cursor_1; set vcontador := 970; REPEAT FETCH cursor_1 INTO vfile_id; update wp_downloads set file_id = vcontador where file_id = vfile_id; set vcontador := vcontador + 1; UNTIL b=1 END REPEAT; CLOSE cursor_1; END
Pronto, ao executar-mos essa procedure, todos os registros da coluna File_ID foram atualizados, e então foi possÃvel voltar a exibir corretamente os arquivos em ordem decrescente.
Funciona maravilhosamente bem… é isso.
26.11.09 às 18:23 por Jonas
26.10.09 às 16:45 por Jonas

A YUI Library é um framework Javascript concorrente do famoso Jquery. É formado por um conjunto de utilitários e controles para criação de interfaces web interativas e ricas. Ele utiliza recursos como DOM, DHTML e Ajax.
Abaixo segue um roteiro da galeria de exemplos da versão YUI 3, analise e veja se é interessante utilizar este framewok
21.10.09 às 23:14 por Jonas
Uma das coisas que mais gosto na vida é viajar…algumas pessoas não entendem o porque disso, e acham até uma besteira eu já ter programado todos os feriados, e as possÃveis viagens que vou fazendo no decorrer do ano. Participo inclusive de diversas comunidades e redes sociais ligadas ao turismo.
Mas achei uma frase de Alain de Bouton, que acredito que retrata exatamente este sentimento de querer viajar a cada oportunidade.
“Nossas viagens expressam como poderia ser a vida, fora das restrições do trabalho e da luta pela sobrevivência”

13.10.09 às 17:15 por Jonas
Howto:Â Corrigindo Charset – LAOP (Linux+Apache+Oracle+PHP)
=============================================
Vamos ao cenário:
“Eu possuo um servidor Debian com Apache, PHP, e Client do Oracle 9i entre outras coisas. Na hora de mandar as informações para o banco se a informação contiver acentuação ela grava com erro no banco por exemplo:
Se eu quiser gravar joão no banco fica: joco
Eu ja fiz o teste e realizei um insert direto na base através do sql plus e não deu problema os acentos aparecem, o problema acontece apenas quando eu envio a informação através de uma página PHP. E o mesmo acontece quando tenta recuperar a informação do Banco.
Tentei mudar o charset da página com:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
Mas mesmo assim as informações apareciam com caracteres estranhos.
Para Acentuação:
Adicione as seguinte linhas no arquivo: /usr/local/apache2/bin/envvars
NLS_LANG="portuguese_brazil.we8iso8859p1" export NLS_LANG
O arquivo envvars pode estar em outro local, depedendo de como foi realizada a instalação, em um dos meus servidores o aquivo estava em: /etc/apache2/envvars
Provavelmente se as linhas forem adicionadas no /etc/profile o problema também se resolva, porém não testei…
Após isso é so reiniciar o Apache e testar.
06.10.09 às 01:43 por Jonas
/usr/local/pgsql/bin/pg_dump BASE > arquivo_backup.sql
/usr/local/pgsql/bin/psql -d BASE -f ARQUIVO.sql
Veja como importar arquivo SQL utilizando console PSQL.
psql -d BASEDEDADOS -f ARQUIVO.SQL -U USUARIO
Exemplo:
#su postgres
#psql -d bancoxyz -f meubanco.SQL -U postgres
para ver o que está sendo executado, adicione: -a
29.09.09 às 23:46 por Jonas

A maioria dos visitantes deste blog que atuam na área de desenvolvimento de sistemas, encontram-se na faixa etária de 20 a 35 anos. Algo que é muito difÃcil de se ver são pessoas acima dos 40 anos que mantém a mesma vontade de aprender coisas novas, no mesmo rÃtmo de quando eram adolescentes, principalmente em se tratando de programação.
O vÃdeo abaixo é um screencasts do vedovelli, com um cara que é realmente o oposto, Luca Bastos…. veja na entrevista o que motiva alguém a continuar desenvolvendo….
http://www.vimeo.com/663134229.09.09 às 00:56 por Jonas
29.09.09 às 00:00 por Jonas

Vanadium é um plugin para jQuery que permite validar formulários de maneira simples e com poucas linhas de código. Permite validar campos obrigatórios, numéricos, email e outros.
Validar formulários é muito importa no desenvolvimento web, pois previne-se a inserção de dados inválidos ou em formato inadequado.
Obivamente estas validações devem vir acompanhadas de uma validação do lado do servidor para ter uma dupla proteção. Veja como utilizar do lado do cliente a biblioteca Vanadium para validar seus formulários.
Como utilizar o Vanadium
A primeira coisa a fazer é baixar o script do site oficial (), pode-se escolher qualquer versão: vanadium.js contém comentários que podem ser utilizados para edita. O vanadium-min.js é o mesmo script, porém de forma comprimida para acelerar o carregamento.
O próximo passo é incluir a biblioteca Jquery (eu prefiro utilizar o Jquery diretamente do Google AJAX Libraries API), e Vanadium diretamente em sua página, dentro das tags Head, para fazer uso de seus métodos.
Agora é so adicionar diretamente nos campos de nosso formulário, o tipo de validação que queremos aplicar, isso é fácil fazer através do uso de classes de estilos. Alguns dos tipos de validações:
Por exemplo, digamos que tenhamos um formulário de registro, onde os campos usuário e senha são obrigatórios, e o campo de email deve aceitar somente email válido, então terÃamos um formulário assim:
Simples assim, com isso já teremos nosso formulário validado.
Agora se deseja personalizar esta validação basta modificar os estilos e as mensagens de erros e confirmações. Veja mais detalhes diretamente no site da biblioteca.
Link: Vanadium