O agroctock.com.br é um banco de imagens agrícolas com diversas categorias de imagens com alta qualidade. Dentre as categorias existe a de pecuária. Continue lendo »
Novo banco de imagens sobre pecuária
25 08 2017Comentários : Leave a Comment »
Tags: banco de imagens, dica
Categorias : Web
CLIENTEC – Cadastro On-Line de Clientes para micro e pequenas empresas
15 12 2009Introdução
Um número significativo de micro e pequenas empresas possuem pouco ou nenhum controle sobre dados de seus próprios clientes, e é neste tipo de ambiente onde o CLIENTEC pode ser utilizado. O CLIENTEC é um software WEB cujo objeto é gerenciar cadastro de clientes, emitir relatórios e etiquetas para mala direta (sim isso ainda é muito utilizado :).
Continue lendo »
Comentários : 3 Comments »
Categorias : Php
ESPERTO – Ferramenta Web Para a Construção Colaborativa de Sistemas Especialistas de Classificação
8 09 2009Saudações
Hoje apresentei dia 27/09/2009 o trabalho final da minha pós graduação, o trabalho desenvolvido foi uma ferramenta para a construção colaborativa de sistemas especialistas de classificação, ela ainda esta em fase beta mas se você quiser testar acesse http://esperto.battisti.etc.br.
Leia Também
Comentários : 1 Comment »
Categorias : Php
Battisti de Casa Nova
6 06 2009Saudações
É com grande alegria que venho por meio deste post informar a todos os amigos deste blog que estou de mudança, o novo endereço é battisti.etc.br.
O principal motivo que me levou a “sair” do wordpress.com é devido ao fato de não poder colocar coisas como vídeos , arquivos para download, impossibilidade de instalar plugins etc.. por isso tudo migurei para o endereço é battisti.etc.br.
Todo o conteúdo deste blog ficará aqui do jeito que está e se quiser ler os novos post vá no battisti.etc.br
[]’s Anselmo Battisti
Comentários : Leave a Comment »
Categorias : Php
SSHFS no Windows
25 04 2009Introdução
Precisava fazer um sshfs no windows
Como Fazer
Um japones muito tarado implementou o Dokan http://dokan-dev.net/en/download/
- Instale o Dokan Library
- Instale o c++ para windows http://www.microsoft.com/downloads/thankyou.aspx?familyId=200b2fd9-ae1a-4a14-984d-389c36f85647&displayLang=en
- Instale o Dokan SSHFS
- Reinicie e abra o Dokansshfs
Usei isso para mapear um projeto remoto no eclipse, funcinou muito bem.
Comentários : 2 Comments »
Categorias : Linux
Alternativa ao NOT IN com LEFT JOIN Postgres
25 04 2009Introdução
Manipular tabelas via SQL é uma arte, existem diversas formas de fazer a mesma coisa, veja as tabelas abaixo:
+------------+ | USUARIO | +------------+ | usr_cod | | usr_login | | pss_co | +------------+ +------------+ | PESSOA | +------------+ | pss_cod | | pss_nome | +------------+
O objetivo é descobrir quais pessoas ainda NÃO possuem usuários. Eu resolveria este problema da seguinte forma. Continue lendo »
Comentários : 5 Comments »
Categorias : SQL
Modem ZTE 636 3G Brt no Ubuntu 8.10 e 9.04
18 04 2009Introdução
A alguns meses comprei resolvi colocar internet na minha humilde residência, o problema que não tava afim de colocar uma linha telefônica em casa pois eu raramente fico em casa, então resolvi comprar uma internet 3G de 600k da Brasil Telecom. Continue lendo »
Comentários : 10 Comments »
Categorias : Linux
Ignorando Arquivos no SVN com a propriedade SVN:IGNORE
7 04 2009Introdução
Sou programador php e uso sempre o SVN para controlar as versões dos meus projetos, como também uso o smarty como ferramenta de templates tenho um problema crônico que é o seguinte: toda vez que vou dar um commit no meu projeto a pasta templates_c que é a pasta onde o smarty armazena o cache dos templates é enviada para o repositório.
Para resolver este problema você pode usar a propriedade svn:ignore, com ela você pode dizer que alguns arquivos ou até mesmo algum diretório seja ignorado pelo SVN.
Solução
- Acesse a pasta onde está o arquivo que você quer ignorar;
- svn propedit svn:ignore templates_c/;
- Será aberto o editor então você digira o * (todos os arquivos).
Conclusão
Pelo que li na documentação a esta propriedade não aceita expressão regular então o jeito é ignorar manualmente cada um dos tipos de arquivos desejados.
Se você estiver usando o eclipse você pode ignorar clicar com o botão direito na pasta Team / Set Propertie / svn:ignore / *
Comentários : Leave a Comment »
Categorias : Php
XAMPP 1.7.0 Problemas com PDO Select
29 03 2009O Problema
O XAMPP é um software muito usando por quem está começando a programar em PHP pois ele facilita a instalação do famoso trio (apache, php e mysql). Na versão 1.7.0 porém existe um problema de compilação e isso faz com que o apache trave quando uma consulta SELECT que usam a lib de conexão PDO for executada:
A Solução
- Pare o apache e o mysql;
- Acesse a pasta xampp\apache\bin;
- Apague o arquivo libmysql.dll;
- Renomeie o arquivo libmysql_5.0.51a.dll para libmysql.dll
- Starte o apache e o myysql.
Conclusão
Particularmente eu não entendo o motivo pelo qual o pessoal do XAMPP não resolveu este problema. Mas em todos os casos a solução é simples.
Achei a solução deste problema neste site
[]’s Anselmo Battisti
Comentários : 2 Comments »
Categorias : Php
Definindo Senha Para o Webmin
18 03 2009Introdução
Estes dias resolvi dar um “dist-upgrade’ e eis que meu webmin parou de funcionar, suspeitei que fosse problema de senha e era 🙂
Resolvendo o Problema
Para resolver este “problema” você precisa setar a senha usando o comando:
/usr/libexec/webmin/changepass.pl /etc/webmin usuario senha
Comentários : Leave a Comment »
Categorias : Linux
Isto Fica Feliz em Ser Útil (Homem Bicentenário)
10 03 2009Saudações
Venho à aproximadamente 4 anos escrevendo textos sobre assuntos que julgo serem relevantes (nos ultimos meses estou meio parado pois a minha carga de trabalho aumentou significativamente), em muitos momentos fiquei pensando se realmente o esforço em tentar disseminar um pouco do conhecimento que adquiri com o auxílio de outras pessoas realmente faria a diferença, afinal todos que tem um blog sabem que é necessário muit amor para produzir um bom post! Mas são e-mail como este que acabo de receber que me fazem acreditar que a velha frase dos dinopotianos é verdadeira:
– Uma gota de chuva eleva o oceano!
E-mail que recebi!
Anselmo,
Sou um leitor recente em seu blog, mas já venho parabernizá-lo por ele.
Raramente escrevo emails para as pessoas mas o seu realmente mereceu.
As duas apostilas de Ajax em seu blog são fantásticas.
Continue assim.
Muito obrigado a todos que de alguma forma conseguiram progredir em seus conhecimentos com a ajuda deste humilde blogueiro, e um abraço em particular para aqueles que deram seu feedback, sendo ele positivo ou negativo!
[]’s a Todos
Anselmo Battisti
Comentários : 5 Comments »
Categorias : Pensamento
Postgres CPanel LATIN1
24 02 2009Introdução
Quem já usou postgres juntamente com o CPanel sabe que o suporte que o CPanel oferece é bem fraquinho, tanto que até poucas versões atraz a criação de banco via CPanel estava bugada! ou seja, para se criar banco era necessário usar a boa e velha SQL para criar o banco e dar permissões aos usuários, quanto a isso não há problema algum, o X da questão é que ao se fazer isso todos os benefícios que o CPanel oferece como Backup, Controle de Disco e Permissões de Execução simplesmente não funcionam, e pior quando você vai migrar uma conta entre servidores o o outro o CPanel não copia as bases de dados que são geradas manualmente!
Na versão 11 do Cpanel estes problemas finalmente foram corrigidos mas ai apareceu outro, é como diz meu amigo @lfenciso.
– Se fosse fácil não seria um problema!
Quando você cria um banco Postgres via CPanel o ENCODING do mesmo fica com UTF8 aparentemente não tem como mudar isso! no nosso caso o sistema roda usando um banco LATIN1 e ai José? Baita problemão.
Solução
Para resolver este problema sem ter que mexer nas configurações do CPanel ou ainda atualizar o sistema fizemos o seguinte:
- Criamos o banco com UTF8
- Importamos o backup do banco que estava sendo usado pelo cliente que é LATIN1
- Como era de se esperar os caracteres com acento por exemplo estavam todos quebrados, para resolver isso:
- Na classe que é usada para esabelecer a conexão com o banco de dados dados execute!
- SET CLIENT_ENCODING TO ‘LATIN1’
Conclusão
Dessa forma o postgres automatigamente converte tudo o que vai da aplicação para o banco de LATIN1 -> UTF8 e tudo que vem do banco para aplicação de UTF8->LATIN1.
O ideal é sempre ter a aplicação e o banco trabalhando com o mesmo encoding porém no nosso caso isso não era possível então foi necessário o uso deste artifício do postgres.
[]’s Anselmo Battisti
Comentários : Leave a Comment »
Categorias : SQL
Recarregando Páginas Usando Javascript Limpando os Parâmetros da URL
11 02 2009Introdução
Precisava recarregar página via Javascript limpando os parâmetros da URL, exemplo:
meusite.com?teste=batata
tinha que virar
meusite.com
Pesquisei mas não achei nenhuma função nativa então implementei uma.
Solução
/* * recarregarSemParametro * Anselmo Battisti * battisti.wordpress.com * data 2009-02-10 */ function recarregarSemParametro(){ var url = window.location.href; if (url.indexOf("?") > -1 ){ url = url.substr(0,url.indexOf("?")).toLowerCase(); } window.location = url; } Exemplo: <a href='#' onClick='recarregarSemParametro()'>Recarregar</a>
OBS: Se alguém souber um jeito melhor de fazer isso por favor me avise!
Comentários : 7 Comments »
Categorias : Javascript, Web
Calcular o Último Dia do Mês
19 01 2009Introdução
Precisava calcular quantos anos uma pessoa teria no último dia do mês. Para calcular a idade em função de uma outra data basta fazer o seguinte:
select extract(year FROM age(current_date,to_date('01/01/2000','DD/MM/YYYY')))
Continue lendo »
Comentários : 3 Comments »
Categorias : SQL
Enviando E-mail pelo Gmail com Screenshot em Anexo via Terminal Shell
10 01 2009O Problema
Sou programador Web a cerca de 7 anos e nesse tempo todo passei por várias metodologias de desenvolvimento. Atualmente estou trabalhando com uma mistura de SCRUM com XP, com isso, a interação com o cliente final aumentou bastante e uma atividade que faço frequentemente é mandar screenshot da tela que estou implementando via e-mail para que o usuário de seu feedback. Como eu fazia isso: Continue lendo »
Comentários : 11 Comments »
Categorias : Linux
Feliz 2009
2 01 2009Saudações a Todos
O ano de 2008 foi realmente interessate:
- Terminei a minha graduação;
- Iniciei uma pós;
- Comecei a trabalhar em tempo integral na minha empresa;
- Fiz meu primeiro voo (agora é assim que se escreve) de negócio;
- Minha esposa começou a fazer faculdade de música;
- Voltei a jogar Capoeira;
- Meu blog finalmente começou a ter visitas significativas, é como se diz, Escreva e eles virão;
- Descobri que laços de amizade são mais fortes do que a distância;
- Joguei meu primeiro RPG Online;
- Comecei a twittar;
- Doei sangue pela primeira vez.
Objetivos para 2009
- Finalizar alguns projetos que ficaram pendentes em 2008;
- Terminar a pós;
- Praticar tai-chi; (já fui em algumas aulas)
- Trabalhar duro!
- Terminar de ler a saga do Mochileiro das Galáxias;
- Doar Sangue regularmente.
Que 2009 seja um ano muito bom para todos.
Comentários : 4 Comments »
Categorias : Pensamento
Doação de Sangue
29 12 2008Saudações a Todos
Como sabemos, fim de ano é um período onde ocorrem muitos acidentes automobilísticos graves. Em geral, as vítimas ficam meio “arrebentadas” por assim dizer. Por isso, resolvi fazer minha boa ação de 2008 e fui doar sangue.
O processo todo é bem simples:
- Vá até o Hemocentro;
- Preenche o cadastro;
- O médico vai fazer uma anaminese rápida;
- Enfiam a agulha no teu braço;
- Sai sangue por 5 minutos, o equivalente a 450 gramas;
- Come um lanchinho e vai pra casa;
Tempo total 35 minutos. As fotos do procedimento estão ai em baixo, foi meio complicado tirar a foto com apenas uma das mãos, exigiu perícia mas ficaram relativamente boas.
Essa foi a primeira vez que doei sangue achei bem divertido, sem contar que deve ter sido muito útil para algumas pessoas.
Comentários : 4 Comments »
Tags: doar sangue, sangue
Categorias : cotidiano
Como Ganhar Dinheiro?
20 12 2008Saudações a todos. Antes de mais nada quero dizer que isso não é um post é uma recita milagrosa sobre obter lucros sem sair de casa, ou algum ainda algum esquema fajuto de pirâmides mascarada, quero compartilhas apenas alguns pensamentos que tenho tido nos últimos dias.
Comentários : 3 Comments »
Categorias : Php
SSHFS Montando Diretório Remoto via SSH
17 12 2008Introdução
Um ambiente de desenvolvimento bastante comum que encontramos em empresas de produção de softwares para a web é:
- 1 Servidor com a infraestrutura completa (php, apache, mysql, etc…) geralmente na rede interna;
- N máquina de desenvolvimento que mapeiam pastas remotamente neste servidor.
Em geral o mapemanto entre o cliente e o servidor é feito via samba, pois é o padrão de conversação entre windows e linux, com isso o pessoal que usa linux acaba também usando o mapeamento via samba, porém existe uma forma mais interessante e rápida de montar diretórios remotos de Linux -> Linux. Continue lendo »
Comentários : 1 Comment »
Tags: Linux, sshfs
Categorias : Linux
Escolhendo uma biblioteca em PHP Para gerar Gráficos
16 12 2008Introdução
Esta semana estive às voltas com um problema relativamente simples mas que me tomou 3 dias de trabalho. Um de nossos clientes solicitou alguns gráficos cujos dados eram extraídos de um sistema que estamos implantando, até ai tudo bem, o problema foi que a qualidade dos gráficos gerados pelas bibliotecas convencionais do php é bem baixa, serilhados e problemas de contorno são constantes, salvo a lib pChart, porém ela ainda esta em um estágio ‘embrionário’ é não é muito fácil de usar e ainda possui alguns problemas de posicionamento de caracteres, sendo assim tive que partir para bibliotecas em Flash. Continue lendo »
Comentários : 4 Comments »
Tags: flash, Php
Categorias : Php
Calcular Diferença em Timestamp no Postgres
10 12 2008O Problema
Descobrir a quantidade de dias e horas que se passaram entre dois timestamp. Continue lendo »
Comentários : Leave a Comment »
Tags: postgres, SQL
Categorias : SQL
Instalar Ioncube PHP / Gentoo
3 12 2008O Problema
Instalar o loader do ioncube no nosso servidor de desenvolvimento local.
A Solução
- Acessar o site http://www.ioncube.com/loaders.php e baixar a versão correta para o seu SO;
- baixa via wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
- descompactar via tar -xzvf ioncube_loaders_lin_x86-64.tar.gz
- mv ioncube /usr/local
- edite o php.ini e acrescente a linha
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.so
- Reinicie o seu apache, se seu script não rodar olhe o log do apache
tail /var/log/apache2/error_log
Erros Encontrados Durante a Instalação
Failed loading /usr/local/ioncube/ioncube_loader_lin_5.0.so: /usr/local/ioncube/ioncube_loader_lin_5.0.so: wrong ELF class: ELFCLASS32
Isso aconteceu pq eu estava instalando uma versão 32bits e o kernel do meu servidor é 64.
Comentários : 2 Comments »
Tags: apache, Php
Categorias : Php
Postgres – LPAD AVG Date_Part e Cast
26 11 2008O Problema
Com base em uma tabela meu cliente necessitava extrair um relatório com as notas médias mensais que ele estava recebendo dos seus clientes. Continue lendo »
Comentários : Leave a Comment »
Tags: postgres, SQL
Categorias : SQL
vimdiff uma Ferramentas para Deploy de Aplicações PHP
22 11 2008Introdução
Já postei anteriormente sobre como “fazer deploy” de uma aplicação PHP utilizando o RSYNC. Pois bem, venho hoje apresentar uma “nova” ferramenta que te mostra a diferença entre dois arquivos, ai você me fala:
– Grande coisa eu uso o comando diff e pronto!
Certo mas o diff somente compara arquivos locais “por padrão”, e agora josé?
O vimdiff
O vimdiff
é um “modo alternativo” do Vim. Ele nos permite editar duas ou três versões de um arquivo simultaneamente enquanto nos mostra as diferenças entre elas. Não precisamos necessariamente editar esses arquivos: o simples fato de abrir 2 arquivos simultaneamente nesse programa já pode ser tudo o que precisamos, em algumas situações.
Segundo este blog
Mas o interessante do vimdiff
é que ele te permite visualizar a diferença entre um arquivos remotos e um arquivo local. Suponha que você tem seu ambiente de desenvolvimento local e quer saber qual a diferença entre um determinado arquivo que você está editando e um que já está em produção, para isso use:
vimdiff arquivo scp://usuario@ip//path/arquivo
Você receberá uma tela onde a esquerda esta o seu arquivo local e a direita o seu arquivo remoto.
Comentários : Leave a Comment »
Tags: Linux
Categorias : Linux
Seam Converter de Entity
20 11 2008O Problema
Exibir apenas uma coluna de uma determinada entidade, por exemplo exibir o nome de uma pessoa.
A Solução
package br.unioeste.sgppls; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; import javax.persistence.EntityManager; import org.jboss.seam.annotations.Name; @Name("ConverterEntityarConhecimento") @org.jboss.seam.annotations.faces.Converter public class ConverterEntityarConhecimento implements Converter { public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) { try { EntityManager entityManager = (EntityManager) org.jboss.seam.Component .getInstance("entityManager", true); Object o = entityManager.createQuery( "from ArConhecimento ar WHERE ar.arCnhCodigo = :codigo") .setParameter("codigo", arg2).getSingleResult(); return o; } catch (Exception e) { throw new ConverterException(e); } } public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) { try { ArConhecimento a = (ArConhecimento) arg2; return a.getArCnhCodigo(); } catch (Exception e) { throw new ConverterException(e); } } }
A Visão
Meu campo input esta ligado diretamente com o atributo que é uma outra entidade, sendo assim é necessário usar o conversor para exibir a coluna de ‘descrição’
<h:inputText value="#{projetoHome.instance.arConhecimento}" id="text" size="15" converter="ConverterEntityarConhecimento" required="true"/>
Comentários : 5 Comments »
Tags: converter, seam
Categorias : java, Seam
Seam Converter Boolean Sim/Não
20 11 2008O Problema
Converter atributos do tipo Boolean em String SIM caso true e NÃO caso false.
A Solução
package br.unioeste.sgppls; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.intercept.BypassInterceptors; @Name("ConverterBooleanString") @BypassInterceptors @org.jboss.seam.annotations.faces.Converter public class ConverterBooleanString implements Converter { public Object getAsObject(FacesContext arg0, UICompon ent arg1, String arg2) { try { if (arg2.equalsIgnoreCase("sim")) { return new Boolean(true); } else return new Boolean(false); } catch (Exception e) { throw new ConverterException (e); } } public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) { try { if (((Boolean)arg2) == true) { return "Sim"; } else return "Não"; } catch (Exception e) { throw new ConverterException (e); } } }
Na Visão
projetoHome.instance.prjPago é do tipo Boolean e na visão deve aparecer a String humanizada, então:
<h:outputText value="#{projetoHome.instance.prjPago}" converter="#{ConverterBooleanString}"/>
Comentários : 3 Comments »
Tags: converter, seam
Categorias : Seam
Selecionar Registros Duplicados – SQL
18 11 2008Problema
Haviam algumas empresas com cadastros duplicados e eu queria saber quais eram elas.
Solução
SELECT emp_cnpj, count(*) FROM empresa WHERE emp_cnpj <> '' GROUP BY emp_cnpj HAVING COUNT(*) > 1
Comentários : 33 Comments »
Tags: SQL
Categorias : SQL
Charset Seam Parameter Problem UTF-8 ISO-8859-1
15 11 2008O Problema
Estou usando algumas interfaces padrões geradas via seam-gen e nas telas de busca estava tendo problemas com os acentos, quando eu digitava balão o Seam mandava para o hibernate a solicitação de busca por balão.
A Solução
Depois de uma boa googlada achei esse tópico em um forum; a solução é bem simples. Se você estiver usando o JBoss e Tomcat edite o arquivo server.xml que está em server/default/deploy/jboss-web.deployer/server.xml e acrescente a linha em negrito:
<Connector port=”8080″ address=”${jboss.bind.address}”
maxThreads=”250″ maxHttpHeaderSize=”8192″
emptySessionPath=”true” protocol=”HTTP/1.1″
enableLookups=”false” redirectPort=”8443″ acceptCount=”100″
connectionTimeout=”20000″ disableUploadTimeout=”true”
useBodyEncodingForURI=”true”
/>
Reinicie o seu servidor e teste, deve dar tudo certo agora.
[]’s Anselmo Battisti
Comentários : 3 Comments »
Categorias : Php
Seam Popup Conversation
14 11 2008O Problema
Em minha aplicação necessitava vincular a cidade do endereço de uma pessoa, não podia usar um elemento html select pois o número de cidades era muito grande então resolvi fazer um popup que listava todas as cidades e com um filtro para que o usuário pude-se escolher a cidade.
A Solução
Na Visão
Para abrir a minha popup este código foi usado
<h:graphicImage value="/img/magnifier.gif" style="margin-left:5px; cursor:pointer" onclick="window.open('CidadeList.seam?pessoaCodigo=#{pessoaHome.pessoaCodigo}&cid=#{conversation.id}', 'Buscar Área do Conhecimento', 'height = 500, width = 400, scrollbars = 1')"/>
Pontos Importantes
- Não é possível utilizar o & para concatenar mais parâmetros a URL, é necessário ‘escapar’ o & através o &
- cid=#{conversation.id}: foi usado para manter a conversação entre a janela atual e a popup, sem isso você acaba iniciando um novo workspace, e com isso o que você manipula na popup não é refletido na janela parent;
Na tela onde estavam sendo listadas as cidades foi criado um h:commandLink que ao ser clicado chamava o método que vinculava a pessoa a cidade e setava os dados relativos na janela parent.
O XHTML que foi aberto pelo popup se parece com isso aqui:
<h:form id="arConhecimentoSearch" styleClass="edit"> <rich:simpleTogglePanel label="Parâmetros de Busca" switchType="ajax"> <s:decorate template="layout/display.xhtml"> <ui:define name="label">Descrição</ui:define> <h:inputText id="arCnhDescricao" value="#{cidadeList.cidade.nome}"/> </s:decorate> </rich:simpleTogglePanel> <div class="actionButtons"> <h:commandButton id="search" value="Pesquisar" action="/cidadeList.xhtml"/> </div> </h:form> <rich:panel> <f:facet name="header">Cidades Localizadas</f:facet> <div class="results" id="cidadeList"> <h:outputText value="Nenhuma cidade localizada." rendered="#{empty cidadeList.resultList}"/> <rich:dataTable id="cidadeList" var="cidade" value="#{cidade.resultList}" rendered="#{not empty cidade.resultList}"> <h:column> <f:facet name="header">Código</f:facet> #{cidade.codigo} </h:column> <h:column> <f:facet name="header">Nome</f:facet> #{cidade.nome} </h:column> <h:column> <f:facet name="header">Ações</f:facet> <h:form> <h:commandLink value="Select" action="#{cidadeHome.cidadeLocalizada(cidade)}" onclick="window.opener.document.getElementById('cidade_codigo').value = '#{cidade.codigo}'; window.opener.document.getElementById('cidade_descricao').innerHTML = '#{cidade.descricao'; window.close()"/> </h:form> </h:column> </rich:dataTable>
Pontos Importantes
- Não use s:link pois ele não permite que se passe parâmetros para o método, perdi um tempão pra descobrir isso :(.
- action=”#{cidadeHome.cidadeLocalizada(cidade)}: chama o método que irá ligar a cidade a pessoa;
- Para dar uma ‘enfeitada’ quando o cidadão clica na cidade então a janela será fechada e os dados serão exibidos na janela parent, isso é feito usando o código em javascript window.opener.document.getElementById(‘cidade_descricao’).innerHTML = ‘#{cidade.descricao’};
No Modelo
Para pedir ao SEAM que ligue a entidade cidade com a entidade pessoa então será usado o método
public void cidadeLocalizada(Cidade cidade) { pessoaHome.getInstance().setCidade(cidade); }
Finalizando
Aqui não está o código completo mas da pra ter uma idéia de como a ciosa funciona. Espero de alguma forma ter contribuído com alguém.
Comentários : 2 Comments »
Tags: java, jsf, seam
Categorias : Seam
Checkbox Seam Character Hybernate YesNoType
6 11 2008O Problema
Meu banco de dados não possiu suporte ao tipo de dado boolean, sendo assim, tenho que contornar o problema usando um CHAR(1). Quando fiz a engenharia reversa para o Hibernate ele definiu meu atributo como Character e nessa jogada eu queria usar um checkbox na minha visão para setar o valor do atributo como true/false. Meu código original era assim:
private Character prjPago; @Column(name = "Prj_pago") public Character getPrjPago() { return this.prjPago; }
A Solução
A solução foi alterar o tipo de dado do seu atributo para boolean e no mapeamento do Hibernate definir o tipo de dado como sendo YesNoType veja como ficou:
private Boolean prjPago; @Column(name = "Prj_pago") @Type(type = "org.hibernate.type.YesNoType") public Boolean getPrjPago() { return this.prjPago; }
E na minha camada de apresentação ficou algo parecido com isso aqui:
<h:selectBooleanCheckbox id="prjPago" value="#{projetoHome.instance.prjPago}" />
Referências
http://www.seamframework.org/16450.lace
http://forum.hibernate.org/viewtopic.php?p=2212819&sid=db8f69cc8753ebe4b8f40c2633367e85
Comentários : 2 Comments »
Tags: seam
Categorias : Seam
This client is too old to work with working copy / Gentoo
4 11 2008Estes dias ao tentar comitar uns arquivos no SVN recebi essa mensagem ‘this client is too old to work with working copy‘ WTF???? e com a ajuda do meu amigo enciso chegamos ao seguinte diagnóstico.
- O repositório SVN foi criado com uma versão velha do svn 1.3 ou 1.4;
- Usando uma ferramenta com uma versão nova do svn (tortoise ou o subeclipse já estão na versão 1.5) foi dado um commit, com isso teu work copy ficou com uma versão mais nova do que a tua ferramenta linha de comando consegue manipular.
Como resolver o problema: Atualiza a versão do seu svn linha de comando, como fazer?
Se você estiver usando o gentoo da um emerge subversion.
Comentários : Leave a Comment »
Tags: Linux
Categorias : Linux
CTRL + Espaço Autocompletar Eclipse
3 11 2008Estes dias peguei uma máquina onde eu apertava o CTRL + Espaço e o autocompletar do eclipse não funcionava, fiz mil coisas e no fim descobrimos que era o maldito MSN da micro$oft que estava usando o CTRL + Espaço como atalho para alguma outra coisa!
Comentários : 15 Comments »
Tags: eclipse
Categorias : Php, Programação
Criando Select no SEAM
31 10 2008Objetivo
Apresentar uma das formas de se criar um elemento HTML do tipo SELECT utilizando o Seam Framework. Continue lendo »
Comentários : 2 Comments »
Tags: java, seam
Categorias : Seam
Seam / Hibernate / JSF = Deus nos Acuda
29 10 2008Introdução
Estou começando a trabalhar com o SEAM e por isso resolvi postar aqui algumas coisas que estou nesses últimos 10 dias. Grande parte do conhecimento aqui descrito foi obtive com a valorosa ajuda do meu amigo Kadu e a curva de aprendizado como em praticamente tudo que envolva java e sua sopa de letrinhas é longa.
Alguns Links
- 3 Vídeo Aulas, a primeira mostra como rodar o jboss a segunda como iniciar um projeto no seam e a terceira como rodar o exemplos do seam;
- JBoss Tool: Plugin para o eclipse que facilita o trabalho com o JBoss;
- JSF: Introdução ao JSF.
Comentários : 5 Comments »
Tags: hibernate, jsf, seam
Categorias : java
UPDATE com CASE WHEN POSTGRES
28 10 2008Saudações a todos
Nos últimos como vocês sabem tenho tentado fazer o máximo de coisas possíveis usado SQL, estou surpreso com o que é possível ser feito só com SQL.
O Problema
Tinha que alterar o tipo de uma coluna de boolean para integer, facil né:
ALTER TABLE tabela ALTER COLUMN a TYPE integer
porém 😦
ERROR: column "a" cannot be cast to type "pg_catalog.int4"
Os tipos não são compatíveis. Continue lendo »
Comentários : 1 Comment »
Tags: postgres, SQL
Categorias : SQL
Instalando Plugin Manualmente Eclipse 3.4
14 10 2008Uma coisa que sempre me deixava irritado no eclipse era o fato de ter que ficar descompactando as pastas plugin e a features manualmente para dentro do diretório raiz do eclipse para cada plugin que eu estava instalando, na versão 3.4 para instalar um plugin manualmente faça o seguinte:
- Baixe o plugin, no meu caso vou baixar o jbostool (https://www.jboss.org/tools/download/index.html)
- Descompacte o plugin para dentro da pasta dropin que fica no diretório raiz do eclipse
- Inicialize o eclipse, pronto 🙂 seu plugin foi instalado automagincamente
[]’s Anselmo Battisti
Comentários : 2 Comments »
Tags: eclipse 3.4, plugin eclipse
Categorias : Programação
Case When SQL / Postgres
10 10 2008Saudações
Não o Battisti não morreu, apenas diminui a quantidade de posts pois nos últimos dias tenho encarados desafios realmente desafiadores, inclua nesse bolo o aprendizado de uma nova linguagem de programação, é meus amigos estou começando a mexer com Java pra Web, sendo assim, não se assustem se nesse santuário do PHP começarem a pipocar posts sobre Java :).
Sobre o CASE WHEN é o seguinte: tenho tentado fazer mais coisas via SQL a fim de otimizar um pouco o desempenho dos sistemas e nisso aprendi a usar esse cara, ai vai um exemplo:
SELECT cod, data case when tipo = 1 then 'Abacate' when tipo = 2 then 'Abobrinha' end as nome FROM vegetais
Isso ai é um If disfarçado :), vc pode fazer coisas mais complexas como por exemplo fazer uma outra SQL dentro do THEN de acordo com os dados que venham de um campo, exemplo:
SELECT cod, data case when tipo = 1 then select valor from abacate when tipo = 2 then select valor from abobrinha end as valor FROM vegetais
Nesse caso o valor da abobrinha e do abacate são armazenados em tabelas separadas então de acordo com o tipo o valor deve vir de sua respectiva tabela.
Bom é isso ai. Bom Sorte até mais e tchau!
Comentários : 3 Comments »
Tags: CASE WHEN, postgres
Categorias : SQL
Calculando a Idade via Postgres
17 09 2008Problema
Quero sabe a idade dos meus clientes!
Solução
SELECT extract(year from age(pessoa.pss_nascimento)) FROM pessoa
A coluna pss_nascimento deve ser do tipo date, caso não seja será necessário converte usando o comendo timestamp vide referência
Referência
http://pt.wikibooks.org/wiki/PostgreSQL_Pr%C3%A1tico/Fun%C3%A7%C3%B5es_Internas/Data_e_Hora
Comentários : 10 Comments »
Tags: postgres
Categorias : SQL
KDE Exibe Arquivos do /home/usuario no Desktop
13 09 2008Hoje finalmente fiz a atualização do Kutuntu 7.10 para o 8.04 o que me motivou foi as 3 travadas do meu micro hoje e além disso a gerência de memória não estava me satisfazendo, sendo assim atualizei!
Quando reiniciou o sistema BUMMM no meu desktop estava sendo listados os arquivos do /home/anselmo e não do /home/anselmo/Desktop como era de se esperar, vasculhei a net achei várias pessoas com o mesmo problema mas nenhuma solução, fui por conta nos .kde da vida pra corrigir o problema e nada, ai mudei a pergunta e ai está a resposta
“~/.config/user-dirs.dirs”.
#XDG_DESKTOP_DIR=”$HOME/” LINHA COM O PROBLEMA
XDG_DESKTOP_DIR=”$HOME/Desktop”
XDG_DOWNLOAD_DIR=”$HOME/”
XDG_TEMPLATES_DIR=”$HOME/”
XDG_PUBLICSHARE_DIR=”$HOME/”
XDG_DOCUMENTS_DIR=”$HOME/Documentos”
XDG_MUSIC_DIR=”$HOME/Música”
XDG_PICTURES_DIR=”$HOME/Imagens”
XDG_VIDEOS_DIR=”$HOME/”
anselmo@pc08:~$
http://ubuntuforums.org/showthread.php?t=718905
Comentários : 1 Comment »
Categorias : Php
Melhorando o Desempenho do Firefox 3 – Barra de Endereço
13 09 2008O problema!
Uma coisa que achei ruim no Firefox 3 foi a sua nova barra de endereço, me pareceu coisa de IE e no fim das contas percebi que ao invés de ajudar este recurso estava me atrapalhando pois frequentemente acesso páginas diferentes do mesmo domínio e isso tornava a busca na barra muito lenta.
Comentários : Leave a Comment »
Tags: firefox
Categorias : Linux
Engenharia de Software ‘Custo da Mudança’
9 09 2008Saudações intrépidos programadores, hoje quero começar com uma piada:
Logo que viu o código do ‘sistema legado’ que seria a sua primeira tarefa o programador Jr olha para o imediato direto e diz:
– Vocês não precisam de um programador e sim de um paleontólogo!
Bom vamos adiante :)!
Vocês já se perguntarem o que levou os primeiros engenheiros de software a organizar a metodologia tradicional de desenvolvimento da forma como ela é?
Planejamento -> Design -> Codificação -> Testes
A resposta não é muito obvia mas acho que cheguei a uma teoria no mínimo interessante!
A metodologia tradicional foi organizada dessa forma pois quando não se usava nenhuma metodologia o custo de uma mudanças é tão maior quanto mais próximo do fim do projeto, sendo assim, quando se bolou a primeira metodologia a idéia foi centralizar no inicio do processo toda a análise para que NÂO fossem necessário/permitido realizar mudanças em fases posteriores, o problema é que esta forma de pensar leva o software a:
- Ter um valor de desenvolvimento mais alto;
- Possuir funções que nunca serão utilizadas;
- Torna o cliente um inimigo durante a codificação.
- etc …
Com o advento das metodologias ágeis alguns desses pontos foram revistos e agora a coisa pode ser feita de uma maneira mais adequada.
[]’s Anselmo Battisti
Comentários : Leave a Comment »
Tags: engenharia de software
Categorias : Engenharia, Programação
Atualização de Sistema Web com Rsync / deployment rsync
30 08 2008Introdução
Trabalho com o desenvolvimento de sistemas Web há 8 anos aproximadamente, e, chega um momento na sua vida em que as coisas devem ser feitas de maneiras diferentes, agilizar processos, parar de ‘camelar’ tanto. Continue lendo »
Comentários : 2 Comments »
Tags: desenvolvimento, Linux, rsync
Categorias : Linux, Php
Estes dias no Mercado
29 08 2008Saudações
Estava eu fazendo minhas compras calmamente em um supermercado aqui perto de casa quando, eis que me deparo com a seguinte cena:
Meus amigos, esta lista de compras foi escrita em papel-higiênico ou seja a menina (letra bonita) que escreveu isso estava no troninho pois os primeiros ítens da lista dela são:
1 – Sabonete;
2 – Papel
Só em Cascavel vemos estas coisas 🙂
[]’s Anselmo Battisti
Comentários : 1 Comment »
Tags: brincadeira
Categorias : Brincadeiras
EXT Dicas e Truques III
16 08 2008Saudações
Bom neste post vou falar um pouco sobre:
- Adicionar eventos em objetos do EXT
- Manipular elementos HTML via Ext
- Manipular elementos do Ext através do seu html id
Bom vamos lá então
Comentários : Leave a Comment »
Tags: EXT, Javascript
Categorias : EXT, Javascript
MP3 no K3B, linux é uma beleza!
12 08 2008Hoje mais uma vez tive provas de que o mundo UNIX é o supra sumo dos SO, veja o meu problema:
Tinha prometido a um colega que iria gravar um CD, tinha que entregar o CD as 19:30, fui tentar gravar as 19:10, atrasado pra variar, quando coloquei o CD no drive o K3B já abriu automaticamente e me pediu se eu queria gravar um CD de dados ou música, olha que beleza !!!, cliquei em cd de música, em seguida o K3B me pediu para arrastar os arquivos que eu queria gravar, mas quando fui colocar as minhas MP3 no CD BAMMM, apareceu a mensagem:
Comentários : 35 Comments »
Tags: k3b, Linux, mp3
Categorias : Linux
Musica de Capoeira ‘Vai Clarear’
5 08 2008Saudações
Quando eu era criança lá em barbacena, brincadeira, sou de uma cidade chamada tupaãssi, não conheçe olha o google maps, voltando. Lá em tupãssi quando eu tinha 15 anos comecei a treinar capoeira, rapaz capoeira é um negócio muito divertido, é luta é dança e de vez em quando rola uma poradaria saudável. Infelizmente por motivos alheios a minha vontade tive que parar de treinar com 18 anos, mudei pra Cascavel terminei a faculdade e há uns 4 meses comecei a treinar Capoeira novamente em uma academia aqui perto de casa, o pessoal é bem animado mas na Capoeira tem que ter música e eu sempre gostei de cantar, não que eu seja um cantor muito pelo contrário mas na capoeira tem que ser cantador, ter rítmo já basta, mas tenho problemas em cantar pois as músicas que eu conheço o pessoal do grupo não conhece ai fica meio morno quando eu canto, mas as músicas são boas :), hoje vindo em bora comecei a cantarolar uma música antiga e acabei me lembrando dela inteira, vejam só devia fazer uns 8 anos que eu não cantava mais essa música e por isso vou postar aqui a letra:
Vai Clarear ‘Metre Fanho’
O meu mestre sempre dizia
Mas eu não entendia não
Como pode um mundo tão grande
Dar voltas que nem pião
Moleque não ligue pra isso
Isso tudo vai passar
Nas voltas que o mundo já deu, oiaiá
Nas voltas que ele ainda vai dar
Vai clarear, vai clarear
Tempestade foi se embora
A bonança vai chegar
(coro) Vai clarear, vai clarear
Não há mal que sempre dure
Todo mal vai acabar, oiaiá
(coro) Vai clarear, vai clarear
Toda fruta tem seu tempo
Esse tempo vai chegar
Se quiser tocar ai no seu berimbáu é moleza toque um São Banto Grande e solte a voz, ritmo acelerado 🙂
Dei uma googlada e acabei achando todas as letras deste CD, muito bom
Comentários : Leave a Comment »
Tags: Capoeira
Categorias : Capoeira
Salvando Texto Formatado Em Banco de Dados ‘tinyMCE’
29 07 2008Se você esta usando o tinyMCE e está tendo problemas com o salvamento de texto formatado no banco de dados ai vai a solução para os seus problemas:
/**
* rteSafe
*
* @abstract Limpa as aspas simples do código HTML, se isto o richeditor da pau
* pois as aspas não tem scape
*/
function rteSafe($strText) {
//returns safe code for preloading in the RTE
$tmpString = $strText;
//convert all types of single quotes
$tmpString = str_replace(chr(145), chr(39), $tmpString);
$tmpString = str_replace(chr(146), chr(39), $tmpString);
$tmpString = str_replace("'", "'", $tmpString);
//convert all types of double quotes
$tmpString = str_replace(chr(147), chr(34), $tmpString);
$tmpString = str_replace(chr(148), chr(34), $tmpString);
//replace carriage returns & line feeds
$tmpString = str_replace(chr(10), " ", $tmpString);
$tmpString = str_replace(chr(13), " ", $tmpString);
return $tmpString;
}
Basta passar o seu texto formatado por esta função antes de mandar para a SQL que faz a inserção no banco de dados, por exemplo:
$textoFormatado = rteSafe($textoFormatado);
Comentários : 6 Comments »
Categorias : Php
Localizar Texto/Palavra em Arquivo no Linux
28 07 2008Saudações
Bom ai vai uma dica sobre linux. Se você precisa saber se existe uma determinada palavra dentro de um arquivo você pode utilizar o seguinte comando:
grep -ni ‘palavra’ arquivo.txt
[]’s Anselmo Battisti
Comentários : 6 Comments »
Tags: Linux
Categorias : Linux
Fatal error: Cannot use object of type __PHP_Incomplete_Class as array
24 07 2008Saudações
Ai vai uma dica rápida e rasteira. Se você acaba de receber esta mensagem de um script PHP e não sabe o que está acontecendo vou contar como resolvi aqui:
Desabilita as variáveis gloais do php lá no php.ini
Comentários : 7 Comments »
Tags: Php
Categorias : Php
Gerenciamento de Projetos com dotProject
19 07 2008Saudações
Ontem a tarde um de nossos clientes entrou em contato conosco pedindo informações sobre ferramentas de gerenciamento de projetos, ele deu uma especulada se agente usava alguma ou ainda se poderíamos desenvolver alguma coisa para ele, eu que sou um cara muito gente boa falei:
– Olha aqui na empresa nós utilizamos a aproximadamente 2 anos uma ferramenta chamada dotProject e me ofereci para dar uma “pseuso introdução ao dotProject” para a equipe dele.
Bom organizei uma apresentação mais do que rápida usando o google docs que por sinal está funcionando muito bem, ai vai o link para a apresentação:
http://docs.google.com/Presentation?id=dgspmh6b_72fhwjdtg3
Fiquei mais pasmado quando descobri que no inicio desse ano foi lançado um livro justamente com este nome, olha ele ai:
Gerenciamento de Projetos com DotProject
Ainda não li mas é em português o que facilita para muita gente, bom é isso por hoje
[]’s Anselmo Battisti
Comentários : 6 Comments »
Tags: gerenciamento de projeto, projetos
Categorias : Livros
Gladiatus
16 07 2008Saudações
Bom comecei a jogar um RPG baseado em navegador web, o nome do jogo é gladiatus. Bem interessante o joguinho, para jogar é só clicar no link e se cadastrar e jogar, é de grátis :)-
http://s3.br.gladiatus.com/game/c.php?uid=82186
[]’s Anselmo Battisti
Comentários : 3 Comments »
Categorias : Php
PEAR – PHP Extension and Application Repository
15 07 2008Saudações
Trabalho com PHP a uns 7 anos e durante todo este tempo trabalhei normalmente, sem usar frameworks ou ferraemntas de terceiros, mas nos último mês venho percebendo testando diversas ferramentas e percebi que uma grande quantidade dos software/frameworks/plugins feitos em PHP possuem instaladores via PEAR. Em geral estes software também disponibilizam uma forma manual de instalar, o problema é que geralmente é muito complicado pois é necssário criar os links simbólicos, arquivos de configuração e tudo mais.
Hoje fui instalar uma biblioteca chamada propel, ele é um ORM e novamente vi lá a instalação via PEAR e mais uma vez fiz a instalação manual e deu um monte de pau, quando tava quase tudo pronto apareceu o seguinte erro:
“line 67: phing: command not found”
Caramba e agora? fui atraz e vi que este phing é um tipo de porte do famoso make, mais uma coisa pra instalar e configurar, logo vi que ele também dispunha de um instalador via PEAR, fiquei macho e resolvi instalar o bendito PEAR no nosso servidor de desenvolvimento, um gentoo.
Para instalar o PEAR foi fácil:
emerge dev-php/PEAR-PEAR
e para instalar este phing também foi bem simples:
pear install phing/phing
Com isso o propel funcionou!
Então ai vai minha sugestão, para servidores de desenvolvimento e de testes usem o PEAR pois facilita e muito a instalação de ferramentas de terceiros.
[]’s Anselmo Battisti
Comentários : 1 Comment »
Tags: framework, pear, Php
Categorias : Php
Bloquear Download de Arquivos Pelo .htaccess
12 07 2008Se você por exemplo não querer que arquivos .pdf sejam acessados diretamente via URL, por exemplo: http://seusite/file.pdf o que você faz?
Bom se o site estiver sendo fornecido por um servidor Apache e se o mod rewrite estiver habilitado então é só adicionar a seguinte regra no .htaccess
RewriteEngine On RewriteRule \.(pdf)$ - [F]
Comentários : 13 Comments »
Categorias : Php
CONST não funciona no IE
4 07 2008Salve guereiros da webSelva.
Hoje mais uma vez estava eu brigando um um código JS que não funcionava no IE, mas funcionava no Opera 9+ e nos Firefox, olha o código:
const SISTEMA_URL = 'http://192.168.0.1/~anselmo/sistema';
Fui pesquisar e descobri que a const é uma especificação da Mozilla e não funciona no IE, uma pena vou ter que usar var.
[]’s Anselmo Battisti
Comentários : Leave a Comment »
Tags: ieprodre, Javascript
Categorias : ieprodre, Javascript, Web
Vamos Falar Sobre Frameworks
27 06 2008Saudações a todos!
Hoje quero compartilhar com vocês alguns pensamentos sobre frameworks:
O que é Framework?
Bom as melhores definições sobre o que é um framework eu encontrei foi nesse site, em resumo podemos dizer que:
- Provê uma solução para uma família de problemas semelhantes;
- É uma aplicação quase completa, mas com pedaços faltando que serão desenvolvidos pelo programador. Continue lendo »
Comentários : 8 Comments »
Tags: framework, Php, Programação
Categorias : Php, Programação
Piada de Micreiro
19 06 2008Kadu: Anselmo que se ta lendo ultimamente?
Anselmo: cara to lendo o ext-all.js mas ta complicado!!
Não entendeu
ExtJs.com
Comentários : 2 Comments »
Categorias : Php
Transmissão de Conhecimento, usando a função dir do Firebug
19 06 2008O firebug é uma extensão para o navegador firefox que tem por objetivo auxiliar desenvolvedores web durante o processo de criação de um site/aplicativo. Continue lendo »
Comentários : Leave a Comment »
Tags: ExtJS, firebug, firefox, Javascript
Categorias : Javascript
Annotation em Java
14 06 2008Saudações
Bom no site da SUN tem uma porção de coisa falando sobre annotation, vou dar minha contribuição.
Comentários : 3 Comments »
Tags: java
Categorias : java
Reflexão em Java
14 06 2008Reflexão é o processo onde se consegue em tempo de execução informações (métodos, atributos e construtores) de uma classe. Continue lendo »
Comentários : 2 Comments »
Tags: java, reflexão
Categorias : java
Socket em Java
7 06 2008Vou colocar aqui alguns exemplos de socket em Java que vi hoje. Continue lendo »
Comentários : 3 Comments »
Categorias : java
Conexão Java com Banco Derby
31 05 2008A conexão com banco de dados em Java pode ser feita de várias formas, a mais comum é através de drivers JDBC. Para fazer uma consulta em um banco DERBY você pode fazer o seguinte: Continue lendo »
Comentários : 2 Comments »
Categorias : java, Programação
Marcar Todos/Vários Checkbox de uma Vez usando Prototype
29 05 2008Saudações
Todo mundo já teve que fazer um checkbox que ao ser clicado “ticava” todos os outros checkbox de uma lista. Hoje novamente passei por isso e escrevi um código Javascript que modéstia a parte achei bem bonitinho. Continue lendo »
Comentários : Leave a Comment »
Tags: checkbox, Javascript, Prototype
Categorias : Javascript, Prototype
Banco de Dados em Javascript ?
22 05 2008Bom estava precisando que um pedaço do meu banco de dados fosse acessado pelo cliente diretamente por Javscript, ai vc pergunta porque? eu respondo! Porquê o cliente está em um ambiente, pasmem, sem acesso a internet. Sim estes lugares ainda existem acreditem! Continue lendo »
Comentários : 11 Comments »
Tags: banco de dados, Javascript
Categorias : Javascript
Frase do Dia
14 05 2008A clique dado não se olha o dedo.
Anselmo Battisti
Um colega nosso estava feliz que hoje ele tinha recebido um clique em seu blog, nisso um colega da mesa ao lado disse: – eeeeeee fui eu quem cliquei. lol ai sai a frase
Comentários : Leave a Comment »
Categorias : Frases do Dia
Inserindo Código Fonte no Latex
11 05 2008Se você está precisando inserir código fonte em um documento Latex existem várias formas. No site do tex-br.org. você poderá encontrar alguns exemplos, o que geralmente é a inserção de código fonte através do package listings, e como isso funciona Anselmo?:
Comentários : 12 Comments »
Tags: Latex
Categorias : Latex
TinyMCE, Básico e Como Salvar os Dados Usando AJAX
7 05 2008Saudações
Pessoal a algum tempo uso o tinymce como editor WYSIWYG nos projetos Web que participo, sempre usei ele no modo básico, ou seja, só colocava ele no sistema e boa, hoje tive que fazer duas coisas mais legais lol:
- Salvar os dados do Tiny através de AJAX;
- Criar um plugin com uns botões personalizados; Continue lendo »
Comentários : 31 Comments »
Tags: Javascript, TinyMCE
Categorias : Javascript
Calendário Simples em Javascript
4 05 2008Saudações
Pessoal ontem fiquei muito puto da cara com todos os calendário em Javascripts que já foram escritos na face da Web, me irritei com o seguinte:
- Alguns tinhas imagens e CSS demais;
- Outros tinham JS monstros como por exemplo o jscalendar tem mais de 50K;
- Milhões de funções e configurações inúteis;
- Escrever um monte de JS para fazer o calendário aparecer no HTML;
- Nenhum era melhor do que a Grazi Nua (isca pros taradão de plantão) Continue lendo »
Comentários : 24 Comments »
Categorias : Javascript
IE não suporta observador Javascript em elementos SPAN
19 04 2008Saudações bravos programadores Web, cada dia que passa mais acredito que:
Felizes aqueles que programam para ambiente Desktop pois não se preocupam com portabilidade entre Navegadores Web. Continue lendo »
Comentários : 2 Comments »
Categorias : IE7, ieprodre, Javascript
IE7 – Problema com type Radio
17 04 2008Saudações
Hoje em mais uma de minhas brigas homéricas com o IE7 descobri que: Para um campo do tipo radio funcionar no IE7 a propriedade name deve ser escrita antes da propriedade value.
Exemplo
<input type=’checkbox’ value=’10’ name=’teste’ /> NÃO FUNCIONA NO IE7
<input type=’checkbox’ name=’teste’ value=’10’ /> FUNCIONA NO IE7
E meus clientes ainda perguntam o motivo pelo qual eu uso, Firefox Opera Mozilla e não o IE7 me poupem !
Obs: Eu estava inserindo estes campos via Javascript
[]’s Anselmo Battisti
Comentários : 2 Comments »
Categorias : IE7, Javascript
EXT – Teclas de Atalho
8 04 2008Introdução
Existem duas formas básicas de colocar teclas de atalho no EXT:
- Usando o evento keydow
- Usando o Ext.KeyNav Continue lendo »
Comentários : 7 Comments »
Tags: EXT, Javascript
Categorias : EXT
Adicionar e Remover Elementos Combobox EXT
8 04 2008Introdução
Que o EXT fornece excelentes componente isso já está provado, infelizmente algumas coisas não são muito fáceis de descobrir, neste texto pretendo mostrar os códigos de como adicionar e remover elementos de um combobox em tempo de execução, ou seja, com o usuário utilizando a aplicação. Continue lendo »
Comentários : Leave a Comment »
Tags: Add new tag, EXT
Categorias : EXT
CSS Focus em input no IE
31 03 2008A algum tempo atrás escrevi um texto sobre como alterar o css de um input usando a regra focus, o problema que o maledeto do IE, nem mesmo o IE7 consegue entender esta simples regra, então como de costume nos programadores temos que inventar mecanismos para as coisas funcionarem no IE, enfim, ai vai uma função em Javascript usando a biblioteca prototype que faz isso, quando o focus vai para um input ele altera o CSS do mesmo, e quando o focus sai, ou seja, quando acontece o blur o CSS volta ao normal, tem que fazer e desfazer a treta do CSS pra ficar bom Continue lendo »
Comentários : 4 Comments »
Tags: IE, Javascript
Categorias : ieprodre, scripts
Problemas Com o IE7
27 03 2008Hoje decidi de uma vez por todas parar de dar suporte ao ie6 nos sistemas e apenas dar suporte ao ie7, nossos clientes são orientados a usar o Firefox (que está a anos luz do IE), e eles usam e gostam e depois de algumas semanas não mais usam o IE pra nada, o problema são os clientes dos nossos clientes, eles ainda usam IE :(, o IE 6 é um pesadelo e por esta razão agora vamos dar um basta nele e dar suporte apenas ao IE7, perdemos muito tempo brigando com compatibilidade de um navegador extremamente atrasado. Continue lendo »
Comentários : 3 Comments »
Tags: IE, Javascript
Categorias : Javascript
Colocar o Foco no Primeiro Campo da Página (input type=’text’)
22 03 2008Reza a lenda que um desenvolvedor que preze pela usabilidade em suas aplicações deve se atentar aos detalhes. E muitas vezes um único detalhe aumenta consideravelmente a usabilidade geral da aplicação. Um bom exemplo deste fato é setar o foco no primeiro campo input do formulário da página. Continue lendo »
Comentários : 1 Comment »
Categorias : Javascript, scripts
Função Que Retorna o Próximo n Dia – PHP
22 03 2008Motivação
O PHP não traz nativamente funções simples para manipular data, sempre temos que apenas para o time, sendo assim muita gente escreve suas próprias funções mais mnemônicas.
Comentários : 1 Comment »
Tags: date, Php, time
Categorias : Php
IE não é browser é pesadelo! ou (innerHTML em Tabela)
15 03 2008Bom vou colocar ao longo dos próximos dias algumas pérolas advindas desse navegador que não serve nem como bucha de canhão na guerra das malvinas! Venham o trecho de código abaixo: Continue lendo »
Comentários : 3 Comments »
Categorias : ieprodre
Primeira Manhã de Pós e eu NÃO FUI
15 03 2008Bem vou contar o que me aconteceu de ontem a noite até hoje de manhã.
- Meia noite fui trancar a porta da minha casa e crash (uma onomatopéia típica de gibis) a minha chave quebrou DENTRO da fechadura; Continue lendo »
Comentários : 2 Comments »
Categorias : Php
Pós-Graduação Na Unioeste
15 03 2008Saudações a todos, hoje é uma sexta feira diferente em minha vida pois amanhã eu que vos digito iniciarei mais uma jornada em minha vida, uma jornada acadêmica em busca do sossego para esta minha mente ávida por conhecimento, amanhã começa a minha pós, logo logo (dentro de um ano e meio mais precisamente) se não chover nem faltar chuva vou me evoluir, tipo os pokemon, lembram deles? de um bacharelzinho para uma pós-graduadozinho, ai como disse meu amigo Anderson vou estas apto a dar manutenção em 7 servidores linux simultaneamente sem fazer cagada!
Bom devido a esse fato talvez poste com menos frequencia neste maravilhoso, lindo, fudidão, blog do battisti, não abandonarei vocês queridos leitores (oi mãe, ela não programa em php mas faz uma torta salgada que é uma coisa de louco).
Comentários : 2 Comments »
Categorias : cotidiano
VirtualBox Ubuntu 7.10 com Kernel 2.6.24
10 03 2008A alguns meses atrás meu amigo Gabriel me indicou o virtualbox para que eu pudesse usar no linux alguns programas em windows.
Devido a um problema com o meu headset bluetooth motorola h500 resolvi atualizar meu kernel (que era o 2.6.22) para o 2.6.24 o que aconteceu foi que depois do update do kernel o VirtualBox parou de funcionar pois eu não tinha adicionado um dos módulo, depois de bater cabeça fiz o seguinte: Continue lendo »
Comentários : 4 Comments »
Categorias : Linux
Prototype Ajax Bind e Outras ‘Futilidades’
5 03 2008Saudações
Hoje precisei fazer uma interface para um de nossos sistemas que devido a quantidade monstruosa de chamas em AJAX que ao olhar para o meu firebug achei que estava usando o Gtalk (outra piadinha de micriro tá loco!), mas enfim com toda essa movimentação cliente servidor e tudo mais surgiram vários problemas, uns novos outros fantasmas antigos e que eu sempre lidava com eles com o meu jeito maroto de programar :), mas eis que vamos ao primeiro problema do dia, o BIND. Continue lendo »
Comentários : 2 Comments »
Categorias : Brincadeiras, Javascript, Linux, Pensamento, Programação, scripts
Removendo Classes CSS de Elementos Usando Javascript / Prototype
4 03 2008Supondo que você esteja desenvolvendo um formulário e resolve usar uma classe CSS para marcar os campos input que estão com problemas, a cada nova submissão você precisa retirar o CSS de erro dos campos input, como fazer isso usando a prototype:
$$('.suaclassedeerro').each(function(node){ node.removeClassName('suaclassedeerro'); });
A função $$ é o seletor dinâmico de elementos através de regras CSS, o retorno dessa função é um vetor, a função each itera sobre todos os elementos de um vetor, para cada node do vetor será aplicada a função javascript removeClassName que remove uma classe de um elemento.
Eu sou defensor da seguinte tese:
– Programar usando qualquer Framework (desde que funcione é claro) é melhor do que programar tudo na unha!
Um abraço e até a próxima.
Comentários : 2 Comments »
Categorias : Javascript
Eu as Formigas e meu LCD
4 03 2008Hoje vou contar uma história inusitada que me aconteceu, e que ainda está acontecendo. Tenho um LDC SOYO 19 polegadas widescreen fudidão! Ele já ta meio baleado com dois death pixel e um que tá na beixa da cova digamos assim um semi death pixel (um pixel zombi).
Eis que noto um pontinho preto na tela lá pelas 13:30 pensei comigo – Caramba mais um death pixe, de repente o ponto preto se mexeu, chequei mais perto e vi que era uma formiga não titubiei e taquei o dedo nela mas a bicha não morreu e continuou se mexendo, meu cérebro primata se assustou com aquilo e me lembrei da propaganda da masca que o cara pisa em cima e ela não morre, sabem, mas voltando ela continuava viva ai que caiu minha ficha. ELA ESTAVA DENTRO DO LCD, sim é isso mesmo entre a fatia preta e a fatia colorida do LCD, fiz até um vídeo mas não coloquei no iutubil ainda! Continue lendo »
Comentários : 4 Comments »
Categorias : Brincadeiras
Rules Postgres & UML com Dot
26 02 2008Traduzindo literalmente rules são regras, ou seja alguma coisa que sempre vai acontecer em função de outra coisa, por exemplo, sempre que tem jogo de futebol aumenta o nível de stress da minha esposa, isso é uma regra, bom lá em casa pelo menos é :).
Quando falamos de banco de dados as regras são coisas muito úteis, por exemplo, veja a figura abaixo:
Comentários : 2 Comments »
Categorias : Linux, SQL
Curriculum no LATEX
21 02 2008Pessoal, todo mundo necessita de um curriculum, mas não basta tem um monte de cursos e saber um monte de coisa, é preciso ter seu curriculum com uma boa aparência e nada melhor do que o LaTeX para te ajudar a fazer isso!
Existem vários pacotes que ajudam a montar curriculum, esse é um deles. O que eu uso é o nativo aquele basicão que vem no próprio mictex.
\usepackage{CV}Para ver como vai ficar veja o meu curriculum.pdf 🙂
Para ver e baixar o código fonte em LaTeX e baixar clique aqui!
Depois de fazer seu Curriculum da uma lida nisso aqui pra relaxar
Comentários : 4 Comments »
Categorias : Php
Rsync com Caminho Relativo ou (Sincronizar Apenas Arquivos)
21 02 2008Vou descrever o problema que tive e depois vou mostrar a solução que um camarada da lista do rsync me mandou:
Precisava sincronizar duas pastas (bom é um post sobre rsync nada mais natural do que sincronizar as coisas), a pasta origem e a pasta destino, o problema é que na pasta de origem tinha uns lixo que eu não queria nem sincronizar nem apagar, veja o diagrama em ASCII abaixo:
Comentários : 2 Comments »
Categorias : Linux
Frases do Dia
20 02 2008UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity.
Autor Desconhecido
Comentários : Leave a Comment »
Categorias : Frases do Dia
DOT – Uma linguagem para criar gráficos
19 02 2008Vou começar com dois links, leiam eles e você não precisam ler o resto deste post 🙂
Página em português sobre o assunto, foi ali que eu descobri esta tal de DOT
Página com exemplos do que se pode fazer
Como esse negócio funciona, muito simples. Escreva em um arquivo texto: Continue lendo »
Comentários : 1 Comment »
Tags: dot
Categorias : Linux
Instalar APTANA, PDT no Eclipse
15 02 2008Primeiro vá até o site http://www.eclipse.org/downloads/ e baixe a última versão do Eclipse.
O PDT necessita do plugin WTP que por sua vez precisa GEF, para instala-los abra o eclipse e vá e:
HELP / Software Update / Find and Install,
escolha o Europa Discovery Site e depois instale primeiro o GEF depois o WTP caso haja alguma dependência clique no botão SELECIONAR REQUERIDO.
Depois de instalar os pré-requisitos adicione o site
http://download.eclipse.org/tools/pdt/updates/
E instale o PDT, simples e rápido, uma dica não tente instalar estes caras manualmente pois não funciona.
Comentários : 2 Comments »
Categorias : Php
Remover Acentos PHP
15 02 2008/** * Remover os acentos de uma string * * @param string $str * @return string */ public static function removerAcento($str){ $from = 'ÀÁÃÂÉÊÍÓÕÔÚÜÇàáãâéêíóõôúüç'; $to = 'AAAAEEIOOOUUCaaaaeeiooouuc'; return strtr($str, $from, $to); }
O legal dessa implementação é que ela é muito simples e usa dos recursos nativos do PHP.
Comentários : 9 Comments »
Categorias : Php
Rapidinha do Postgres – JDBC Postgres
15 02 2008A URL de conexão JDBC para um banco postgres é:
jdbc:postgresql://ip-do-servico/nome-do-banco
Um bom plugin do eclipse para manipular base de dados é o SQL Explorer.
O Driver JDBC do postgres pode ser obtido neste endereço, quando for baixar preste muita atenção na versão do seu postgres porque se você pegar a versão errada há grandes chances da conexão não funcionar.
Comentários : Leave a Comment »
Categorias : SQL
Having Mysql
13 02 2008Consulta para listar todos os e-mail duplicados em uma tabela, mas serve para qualquer coluna.
SELECT email FROM tabela GROUP BY email HAVING count(email) > 1 ORDER BY email
Comentários : 11 Comments »
Categorias : SQL
Frases do Dia
13 02 2008There´s no place like 127.0.0.1
Piada de Desenvolvedor Web
Como apagar a internet, muito fácil digite rm -rf http://
Anselmo Battisti
Comentários : 2 Comments »
Categorias : Php
Converter Formato Data Postgres e Mysql
12 02 2008Para converter o formato de um campo do tipo data no postgres use o comando to_char, exemplo:
SELECT to_char(nome_campo, 'MM/DD/YYYY') as nome_campo FROM tabela
Isso irá retornar a data no formado mês/dia/ano.
Meu amigo Anderson deu a dica de como converter datas via SQL no Mysql
SELECT DATE_FORMAT(nome_campo, '%d/%m/%Y') as nome_campo FROM tabela
Comentários : 6 Comments »
Categorias : SQL
print_r Javascript
8 02 2008Para quem está acostumando a usar o print_r no PHP sente falta de uma função parecida no Javascript,
function print_r(theObj){ if(theObj.constructor == Array || theObj.constructor == Object){. document.write("
- ");
for(var p in theObj){
if(theObj[p].constructor == Array||
theObj[p].constructor == Object){
document.write("
- ["+p+"] => "+typeof(theObj)+" "); document.write("
- ["+p+"] => "+theObj[p]+" "); } } document.write("
- ");
print_r(theObj[p]);
document.write("
Peguei o código deste site
ATUALIZAÇÃO – 31/05/2008
Se você utiliza o firebug ai vai uma dica de debug:
- Clique em script;
- Abra o arquivo que você que tem a variável que você quer dar o print_r;
- Clique no número da linha logo abaixo da variável (o firebug irá criar um breakpoint)
- De um F5 e veja o firebug mostra as variáveis
Para uma versão mais detalhada, em inglês, consulte este site
Comentários : 2 Comments »
Categorias : Javascript
LaTeX – Footnote dentro de Table
6 02 2008Quando você coloca um footnote dentro de uma tabela ele simplesmente não aparece! Para solucionar o problema use o footnotemark e o footnodetext, exemplo de uso:
\begin{table}[htb] \centering \large \setlength{\arrayrulewidth}{2\arrayrulewidth} \setlength{\belowcaptionskip}{10pt} \caption{\it Caption da Tabela.} \begin{tabular}{|l|r|} \hline \multicolumn{2}{|c|}{\textbf{Mesclar Duas Colunas}} \\ \hline \textbf{Módulo} & \textbf{Dias}\\ \hline Modulo I & 10 \footnotemark[1] \\ \hline Módulo II & 5 \footnotemark[2]\\ \hline \end{tabular} \end{table} \footnotetext[1]{Nota do Módulo I.} \footnotetext[2]{Nota do Módulo II}
Achei esta nesse site.
E por hoje é só pessoal
Comentários : 17 Comments »
Categorias : Latex, tic-tac
Backup no Mysql – mysqldump e mysql Uma Dupla Dinâmica
2 02 2008Bom eu já usei muito o MySql na minha vida, mas nos últimos dois anos mudei primeiro para o SqlServer e atualmente uso o Postgres que por sinal é um banco muito completo e com ferramentas excelentes, bom vamos ao MySql.
Hoje precisei restaurar uma base de dados mysq vou narrar os acontecimentos:
Comentários : 6 Comments »
Categorias : Linux, Web
Pidgin é o Cara
31 01 2008A algum tempo seguindo uma sugestão do meu amigo rafa uso o pidgin, ele é um agregador de comunicadores instantâneos, eu uso ele para integrar o gtalk e o msn. Pois bem, ele tem um monte de recursos legais e hoje descobri dois que são simplesmente matadores. Continue lendo »
Comentários : 1 Comment »
Categorias : cotidiano
Javascript Undefined
30 01 2008Para testar se uma variável javascript está setada ou não faça o seguinte:
if(typeof variavel == 'undefined'){ alert('vazia'); } else { alert('cheia'); }
Comentários : 6 Comments »
Categorias : Javascript
EXT – Dicas e Truques III
30 01 20081 – Selecionar um Objeto
Se você precisa colocar em uma variável um objeto do EXT que foi criado inline, exemplo,adicionar mais uma aba a este tabPanel criado inline em um layout.
{ region: 'center', id : 'tabPanelCentral', xtype: 'tabpanel', items: { title: 'Inicio' } }
use o Ext.getCmp(‘tabPanelCentral’), isso irá retornar em uma variável o objeto tabPanel ai é só chamar uma função que dentro tenha
var tabs= Ext.getCmp('tabPanelCentral'); tabs.add({ title: texto, id : id, iconCls: 'tabs', html: 'Tab Body ', closable:true }).show();
Comentários : Leave a Comment »
Categorias : Php