Quinta-feira, 8 Novembro 2007

Slides das palestras do JustJava 2007, disponíveis para download

Dicas

Os slides das palestras do JustJava 2007, estão disponíveis para download.

Estão em diferentes formatos, PDF, OpenOffice e PowerPoint.

Recebemos uma avalanche de pedidos para acesso aos slides, finalmente eles estão disponíveis.
 

Escrito por claudio at 12:09 PM categorizado por SouJava

Tags: eventos java justjava noticias soujava

Quarta-feira, 7 Novembro 2007

Conversão de charset para UTF-8, modo gráfico

Dicas

Segue uma maneira fácil de converter arquivos ou nome de arquivos para UTF-8. Um exemplo é quando copia-se arquivos acentuados em windows para linux, o nome de arquivo não é convertido, ficando um nome ilegível. Então deve-se converter o nome do arquivo para UTF-8.

Na dica anterior, foi mostrado como modificar o conteúdo do arquivo para UTF-8. O uso da ferramenta konwert por linha de comando é útil quando se tem muitos arquivos a serem verificados. Quando se tem poucos arquivos e estão visíveis na interface gráfica, torna-se mais prático usar alguns cliques para resolver isso.

Então a dica fica com o uso de um script específico para o Konqueror (KDE) que abre um menu de contexto com opções de conversão. O script é o ToUTF-8, encontrado no kde-apps.org, as instruções de instalação estão no site.

Requisitos

  • Linux
  • KDE
  • Konqueror
  • recode

Eu uso o gerenciador de arquivos krusader, que acho bem mais prático do que o konqueror.

Clique na imagem abaixo, para ver como ele funciona. 

Clique na imagem para ampliar

Escrito por claudio at 5:26 PM categorizado por Dicas e Scripts

Tags: linux dicas

Terça-feira, 6 Novembro 2007

Computador do Maltron

Revelado, qual é o computador do Maltron, onde ele aprendeu todas as técnicas Java, Mobile, e Kendo (on-line)

Computador do Maltron

Escrito por claudio at 1:31 AM categorizado por Fotolog

Tags: diversao

Segunda-feira, 5 Novembro 2007

Conversão de charset para UTF-8

Em ambientes de desenvolvimento heterogêneos, onde existem diferentes sistemas operacionais e IDEs, é comum encontrar problemas de caracteres com encoding diferentes, como ISO-8859-1, UTF-8, etc.

No projeto que trabalho atualmente, existem windows e linux (por enquanto não tem apple), então é comum existirem arquivos com ISO-8859-1, ASCII e UTF-8.

Então não é uma boa idéia gravar arquivos .java, vogais com acentos e gravar em ISO-8859-1 e outro colega abrir esse arquivo em seu linux com UTF-8, uma bagunça.

Então segue um script para linux que verifica os encodings dos arquivos e outro que converte para UTF-8. Note que o script não mostra o arquivo se ele já estiver em UTF-8.

É necessário o utilitário konwert. Já usei anteriormente o recode e iconv, mas achei o konwert mais prático. E ele oferece uma opção interessante, onde ele tenta descobrir qual o encodingo do arquivo, através da opção any/pt/all-test

Script 1 - checagem do encoding

#!/bin/sh

if [ $# -lt 1 ] ; then
    echo ""
    echo " Informe um diretório para pesquisar os arquivos .java "
    exit 1
fi

find $1 -name \*.java -exec file {} \; | egrep -v 'ASCII|UTF' | while read s; do 
	ff=`echo $s | awk -F ':' '{print $1}'`;  
	file $ff; 
	echo " charset   "; konwert any/pt/all-test  $ff; 
done

Script 2 - Conversão para UTF-8

#!/bin/sh

if [ $# -lt 1 ] ; then
    echo ""
    echo " Informe um diretório para converter os arquivos .java para UTF-8"
    exit 1
fi

find . -name \*.java -exec file {} \; | grep 8859 | while read s; do 
	ff=`echo $s | awk -F ':' '{print $1}'`;   
	konwert cp1252-utf8 -O  $ff; 
done                      

No script de conversão é usado a opção -O, que faz com que o arquivo original seja trocado pelo arquivo com encoding UTF-8 

Escrito por claudio at 1:46 PM categorizado por Dicas e Scripts

Tags: linux dicas java

Domingo, 4 Novembro 2007

Quer uma chácra ?

Escrito por claudio at 5:06 PM categorizado por Fotolog

Tags: diversao fotos

Sexta-feira, 26 Outubro 2007

Descobrindo senha de banco de dados

Dicas

Você já passou por aquela situação de desconfiança, onde ao informar a senha de acesso ao banco de dados e pensou "poxa, tenho de informar a senha em texto limpo ?", desejando que a senha estivesse cifrada.

Isso por padrão ocorre em alguns servidores de aplicativos, onde a senha de acesso ao banco de dados é informada em texto limpo, em outros servidores de aplicativos a senha ecoa em asteriscos, deixando o usuário confortável que a senha está segura. Bem, não acredite nisso, a senha não está segura.

O que quero mostrar é que a senha pode ser extraida de outras maneiras, como inspecionar os pacotes de mensagens IP. O que pode garantir a senha é uma combinação de práticas e configurações para deixar o ambiente mais seguro.

Passo aqui um exemplo de como obter a senha do oracle configurado em um servidor de aplicativos conhecido no mercado.

Vejam abaixo na configuração da conexão, que a senha esta protegida por asteriscos


Faça os seguintes passos, para ver a senha no log

  1. Usar a biblioteca JDBC de debug da oracle: ojdbc14_d.jar
  2. Usar o driver XA oracle.jdbc.xa.client.OracleXADataSource
  3. Incluir as seguintes propriedades de JVM
    -Doracle.jdbc.Trace=true
    -Doracle.jdbc.LogFile=/var/tmp/oracle-trace/trace1
    
  4. Reiniciar o servidor de aplicativos

Basta acompanhar o log de trace do oracle ou do servidor de aplicativos, que a senha será impressa desta maneira

INFO: OracleXADataSource.getXAConnection()
03/10/2007 15:33:16 oracle.jdbc.xa.client.OracleXADataSource getXAConnection
INFO: OracleXADataSource.getXAConnection(user = claudio, passwd = admin123)
03/10/2007 15:33:16 oracle.jdbc.driver.PhysicalConnection setAutoCommit

Bonito não é ?

Para o Oracle é usado uma funcionalidade documentada, que é o trace das chamadas. Mas infelizmente, a senha é impressa junto. E vejam que nem com SSL, a senha é protegida.

E é necessário ter privilégios de administração do servidor de aplicativos.

Quando que isso pode ser útil ?

Já trabalhei em lugares onde a senha do banco de dados, era digitada no console do appserver, pelo próprio pessoal da equipe de DBA, e em algumas situações era necessário realizar alguma pesquisa no BD, então essa dica vale a pena.

Em banco de dados de código livre fica mais fácil, basta usar o código fonte do driver JDBC, modificar o código fonte para imprimir a senha e pronto.

Em banco de dados que não são de código livre, basta criar sua classe que estende DataSource e sobrecarregar o método getConnection e fazer um proxy para o DataSource do driver JDBC.

Então, percebam que os asteriscos no textfield não significam segurança para a senha do banco de dados.

Tenho essa dica há uns 3 anos e percebi que não escrevi sobre ela ainda.

Se essa dica foi útil para você, deixe um comentário, informando como ela lhe ajudou ! 

Escrito por claudio at 7:17 AM categorizado por Dicas e Scripts

Tags: java dicas

Quarta-feira, 24 Outubro 2007

Conexão Java 2007 - Palestra sobre performance

Conexão Java 2007, eu vou !

Já percebi outros blogueiros comentando sobre o Conexão Java 2007, próximo dia 09 de novembro em São Paulo. Então eu já estava atrasado para escrever sobre isso.

Recebi um convite para efetuar uma palestra sobre Performance de Aplicações Java, e aceitei com honra participar de tal evento que conta com prestígio da comunidade Java.

Performance é um tema bastante abrangente, e como tenho uma certa atração por esta área, então tenho muitas horas para conversar e explicar sobre esse tema, cobrindo, análise, ferramentas, técnicas, ambientes, código e infraestrutura. Provavelmente o evento não irá ceder o auditório para 3h de palestra + discussão.

Então nesta palestra coloco como foco a performance em aplicações Java, mostrando os problemas comuns em um projeto que não consdera a performance desde a concepção, e como consequência a aplicação não se comporta bem em produção.

Como irei focar no problema e sua solução não posso deixar de mostrar as ferramentas que dão suporte a resolução desses problemas. Basicamente irei mostrar esses tópicos

  • Performance na concepção do sistema
  • Problemas e soluções comuns de memória e CPU
  • Ferramentas e Técnicas


O objetivo nesta palestra é fornecer um conjunto de técnicas, dicas e ferramentas de como abordar e resolver o problema.

Se você trabalha em alguma empresa ou projeto que está com problemas em desempenho, venha e conheça um pouco do que será mostrado.


Escrito por claudio at 2:46 PM categorizado por SouJava

Tags: soujava java palestra eventos performance

 
     Navegue no histórico de mensagens: « First  « Prev   3 4 5 6 7   Next »  Last »