Arquivo da categoria ‘Programação’

JSP Compilation Problems no Jboss 4.2

Francisco em 29 de Novembro de 2007 @ 13:56

Se ocorrer o erro abaixo ou algum erro relacionado ao JspFactory no Tomcat 6 ou Jboss 4.2 retire da sua lib o jsp-api.jar

An error occurred at line: 25 in the generated java file The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory

Arquivado sob Programação | 2 comentários »

Eu sou Desenvolvedor de Software, mas não trabalho com computadores

Francisco em 21 de Novembro de 2007 @ 10:22

Eu sou Desenvolvedor de Software, mas não trabalho com computadores

By Francisco Guerios - Traduzido e adaptado de Karl Moore

Deixa eu explicar melhor. Você está numa festa de amigos e você conhece novas pessoas, depois das apresentações, a primeira pergunta é, no que você trabalha?. Então eu começo com a resposta óbvia “Eu sou um Desenvolvedor de Software.” Isso normalmente leva as pessoas ficarem perdidas, então eu tento uma abordagem diferente, “Eu escrevo software de computador.” Nesse ponto você sempre escuta “ahh você trabalha com computadores”.

Eu sempre imaginei que a mesma situação acontecia nas outras várias profissões. Se você é um médico alguém pergunta sobre algum problema físico recentemente encontrado. Se você é um vendedor alguém quer saber se você consegue desconto para ela. Se você trabalha numa companhia aérea alguém quer um upgrade grátis de categoria para a executiva. Se você é um psicólogo alguém pergunta se tem como descobrir o que ele está pensando.

Agora isso só ocorre se você trabalha com computadores, “você tem que saber tudo sobre qualquer coisa elétrica”.

“Meu video-cassete não funciona, você poderia dar uma olhada para mim?”

“Meu DVD sempre fica pulando, você sabe me dizer o que tem de errado com ele ?”

“Minha SKY+ não gravou ontem a noite, você sabe resetar o aparelho?”

“Eu acabei de comprar o SpongeBob SquarePants Print Studio, como ele funciona ?”

Enfim digo, o melhor conselho que posso lhe dar é “desliga, deixa parado um tempo e liga de novo”. O pessoal normalmente estranha quando digo isso, e presumem que não estudei direito os 4 anos de faculdade. Mas confiem em mim, não é isso que eles ensinam numa faculdade de Engenharia de Software.

Então eu tento explicar um pouco do que eu realmente faço. É normalmente neste ponto que eu fico educado e sorrindo, dai começo a perceber que a outra pessoa perde o interesse. Depois de um pouco mais de explicação, percebo que eu não quero deixar a outra pessoa falar. Mas inevitavelmente paro pra tomar um ar, e é ai que você escuta as benditas palavras, “Acho que você pode me ajudar, acabo de ter um problema no meu computador”.

Realmente eu tenho um computador, eu sei como ele funciona, eu conheço todas as partes e o que cada sigla significa, eu posso montar um e normalmente estrago o meu próprio computador regularmente. Mas, não é isso que eu realmente faço no trabalho. Eu realmente não gosto de fazer isso e genuinamente acho frustante quando o meu computador estraga. A última coisa que eu quero fazer é consertar o computador de outra pessoa, pois com certeza vou receber um telefonema 3 anos depois dessa mesma pessoa reclamando que o computador não funciona mais.
Como eu fui a última pessoa a enconstar nele, eu provavelmente fiz alguma coisa pra quebrar ele (História Verdadeira).

Eu posso tentar essa abordagem com o mecânico do meu carro quando preciso que ele seja consertado de novo (Isso vai funcionar?). Não é preciso dizer, consertar computadores não é minha praia.

Eu tiro o chapéu pra quem resolve problemas de hardware no seu trabalho. Eu sei que eu não gostaria de fazer isso, e também não invejo a posição deles quando encontram pessoas, eles realmente são os “caras do computador”. Nenhum problema está acima de suas habilidades, e eles normalmente não podem dizer não quando alguém pede por ajuda. Você não precisa conversar com o cara do computador, sobre problemas de computador, e normalmente é uma relação fácil de se manter. Eles obviamente tem muito tempo de sobra pois eles sempre aparecem para corrigir os problemas do seu computador. Melhor ainda, eles nunca te cobram por ter tomado todo o tempo de folga do dia.

Então na próxima vez que eu conhecer uma nova pessoa, vou tentar uma nova abordagem. Não sei nada sobre problemas de pele, não posso ter desconto nas pássagens áreas ou upgrade grátis de categoria, e eu realmente não sei o que vocês pensam. Não sei consertar o video-cassete, o DVD Player, o Sky+ ou te dizer como usar o SpongeBob SquarePants Print Studio. Eu realmente terminei minha faculdade de Engenharia de Software, realmente fiz todas as matérias, mas eu não sou o “Cara do Computador”. Eu sou um desenvolvedor de software, mas eu não trabalho com computadores.

Traduzido e adaptado de Karl Moore http://karldmoore.blogspot.com/

Arquivado sob Programação | 1 comentário »

Problema no Driver NVidia 162.18

Francisco em 10 de Novembro de 2007 @ 00:29

Pessoal como eu gosto de manter minha máquina com os Drivers Uptodate, resolvi instalar a atualização do driver da Nvidia 162.18_forceware_winxp_32bit_english_whql.exe

Após reiniciar tive uma surpresa muito ruim e realmente incomum em atualizações de Drivers da Nvidia, o tamanho da tela ficou maior do que o monitor suporta, ou seja aquele reloginho do lado ficou laaaaa pra direita.

Em termos técnicos a maldita placa de vídeo está mandando o tamanho de resolução incorreto para o monitor e acaba mostrando outra resolução no lugar.

Para nota meu monitor é um Samsung 931BW LCD Widescreen com placa de vídeo Nvidia 7300 GT.

Bom o que eu fiz ? Reverti o driver para a versão 93.71_forceware_winxp2k_english_whql.exe não teve jeito para resolver o problema da tela mudando nenhuma configuração

Quem tiver o mesmo problema comente ai, eu vi que o povo lá no exterior também tem o mesmo problema em monitores da philips, uns dizem que é problema do HDMI, outros dizem que é problema na placa e etc, a mesma discussão de sempre.

Até que a Nvidia resolva isso não instalem, ou se quiserem instalar me digam se funcionou no seu monitor LCD

Fica ai a dica.

Arquivado sob Programação | Sem comentários »

Horário de Verão na JVM

Francisco em 16 de Outubro de 2007 @ 10:33

Passamos por um problema de horário no log4j e etc por causa do fatídico horário de verão

Para corrigir adicione o -Duser.timezone=Etc/GMT+2 na execução da VM.

Não é uma solução muito elegante mas resolve.

Arquivado sob Programação | Sem comentários »

Detectada nova falha de segurança no Java

Francisco em 10 de Agosto de 2007 @ 16:59

Este artigo no slashdot
mostra uma falha de
segurança do Java que permite criar popup’s maximizadas
via applet, de forma que estas ocupem toda a área de trabalho, e não podem
ser fechadas.

Para mostrar o potencial dessa falha, o autor Giorgio Maone descreve:

- Imagina que você é um anunciante web.

- Imagina que pode abrir uma janela popup a partir de uma página web e
que não pode ser detectada pelos bloqueadores de popups

- Imagina que esta janela popup pode invadir toda janela da sua área
de trabalho.

- Imagina que esta janela popup não tem barra de título, menus, barra
de ferramentas, bordas, nada.. Impossível de ser fechada.

- Imagina que os usuários não podem movê-la, sequer minimizá-la.

Pois é, isso é possível usando Java applet. Caso queira ver um demo
trabalhando desta maneira, clique
aqui(
http://evil.hackademix.net/fullscreen/applet.html) (mas não se preocupe,
após alguns clicks a janela se fecha sozinha).

Parece que após o report de Giorgio para a Sun, a mesma já está trabalhando
para corrigir essa falha, mas acredito que não vai demorar muito tempo e
irão aparecer janelas como esta pela rede.

Fonte: http://www.javahispano.org
Link Permanente: http://www.javafree.org/news/view.jf?idNew=3625

Arquivado sob Programação | Sem comentários »

Comentários sobre XP Muito bom

Francisco em 1 de Agosto de 2007 @ 15:23

nerdson40 1 - nerdson40 1

Fonte: http://nerdson.com/blog/

Arquivado sob Programação, Happy Hour | Sem comentários »

Por que não utilizar Frames ?

Francisco em 21 de Junho de 2007 @ 17:58

1 - Os frames fazem com que seja difícil para que os usuários façam o bookmark da página.
2 - Frames geram request separados, o que pode ser problemático para
aplicações Web.

Estas 2 razões já são suficentes para não utilizá-los.

O que devemos utilizar no lugar ?

Inclusão de conteúdo é sempre preferível no lugar de frames.
Em JSP temos 3 possibilidades:

<%@ include file="header.jsp"% >
<jsp:include page="header.jsp"/>
<c:import url="header.jsp"/>

Prefira a terceira implementação pois é possível incluir jsp’s de outros sites.

Com JSF para incluir um cabeçalho faça :

<f:view>
...
<f:subview id="header">
<c:import url="header.jsp"/>
</f:subview>
...
</f:view>

Arquivado sob Programação | Sem comentários »

Cross-Site Script Attack

Francisco em 21 de Junho de 2007 @ 15:59

O link(em inglês) abaixo é muito interessante pois mostra como devemos nos defender de scripts maliciosos e cross-site script attack.

Vale a Pena a leitura

http://www.cert.org/advisories/CA-2000-02.html

Arquivado sob Programação | Sem comentários »

Padrão de XML Declaration em JSP, JSF ou HTML

Francisco em 21 de Junho de 2007 @ 00:35

Inciando meu blog vou escrever sobre esse padrão que muitos de nós ou não segue ou não sabe que deve usar ;)

Em páginas HTML/JSF existem 2 maneiras de se declarar o DOCTYPE

Normalmente utilizamos o texto puro “Moda antiga” para as nossas páginas JSF para que sejam mais fáceis de ler.

Como esse:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <%@ taglib uri=”http://java.sun.com/jsf/html” prefix=”h” %>
  <%@ taglib uri=”http://java.sun.com/jsf/core” prefix=”f” %>
  <f:view>
…… 

Isso éra aceitável até tempos atrás, mas hoje em dia a sua prática é um pouco repreensível.
Puramente esta forma não é um documento “HTML 4.01 Transitional”. Meramente serve para produzir um documento deste tipo no resultado.

Algumas ferramentas e editores XML não aceitam essa forma de “mentira” sobre o tipo de documento.

De qualquer jeito ou omita o DOCTYPE ou utilize a forma abaixo:

Leitores do XML-savvy gostariam de fazer um trabalho melhor .

Primeiro é desejável utilizar a correta declaração das tag librarys eliminando as <%...%> tags
Mas a frente se desejará emitir o devido DOCTYPE do HTML gerado

O Formato abaixo resolve os 2 problemas:

<?xml version="1.0" ?>
<jsp:root version="2.0"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<jsp:directive.page contentType="text/html"/>
<jsp:output omit-xml-declaration="no"
doctype-root-element="html"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<f:view>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>A Simple Java Server Faces Application
</head>
<body>
<h:form>
. . .
</h:form>
</body>
</html>
</f:view>

Fonte: Core JavaServer Faces 2nd Edition - Geary, David M.

Devemos utilizar a segunda forma para produzirmos códigos dentro do padrão e que os browsers/programas que os interpretarem façam da forma mais rápida possível.

E por hora é isso, vou continuar lutando pelo JavaBean Perfeito ;)

Arquivado sob Programação | Sem comentários »