Segunda-feira, 30 Julho 2007

Como encontrar uma classe ?

Dicas Nesta dica mostrarei duas dicas que me ajudam muito no dia a dia.

1) Encontrar em qual biblioteca está uma classe 

Existem diversas situações onde é necessário encontrar em qual biblioteca encontra-se uma determinada classe Java.

Em 2004 coloquei uma dica de um script bash que resolve isso. Esse script mostra todos os arquivos que ele vasculhou para procurar a classe, mesmo que a classe não estivesse no arquivo, ele seria mostrada mesmo assim, causando desperdício de tempo e de tela.

Então aproveitei um tempinho e arrumei o script, onde é mostrado apenas o arquivo que contém a classe procurada e ainda arrumei a impressão da tela.

#!/bin/sh

usage="Uso:        findJavaClass directory ClassName   "

if [ $# -lt 2 ] ; then
    echo $usage
    exit 1
fi

if [ -d $1 ] ; then
    FIND_CMD="find $1"
else 
    echo "Diretorio nao existe"
    exit 1    
fi

$FIND_CMD -name \*.jar | while read jar_file ; 
do
    found_class=`unzip -l $jar_file | awk '{print $4}' | grep  $2`
    num_classes=`echo $found_class | wc -c`
    if [ $num_classes -gt 1 ] ; then 
        echo ""
        echo "Arquivo:"
        echo "    $jar_file"
        echo "Classes:"
        echo $found_class | sed 's/\ /\n/g' | sed 's/^.*/\ \ \ \ &/g'
    fi
done

  

E o um resultado como exemplo:

$ findJavaClass ~/javaSoftware/netbeans-5.5.1/ide7/modules/ext/jaxws21/ Task

Arquivo:
    /home/claudio/javaSoftware/netbeans-5.5.1/ide7/modules/ext/jaxws21/http.jar
Classes:
    sun/net/httpserver/ServerImpl$ServerTimerTask.class

Arquivo:
    /home/claudio/javaSoftware/netbeans-5.5.1/ide7/modules/ext/jaxws21/jaxb-xjc.jar
Classes:
    com/sun/istack/tools/ProtectedTask$AntElement.class
    com/sun/istack/tools/ProtectedTask.class
    com/sun/tools/jxc/AptBasedTask$1.class
    com/sun/tools/jxc/AptBasedTask$AptAdapter.class
    com/sun/tools/jxc/AptBasedTask$InternalAptAdapter.class

  

2) Como mostrar o conteúdo de um arquivo que está compactado ?

Quantas vezes por dia você descompacta um arquivo só para olhar o conteúdo do manifest ?

Então segue mais uma dica, onde não é necessário descompactar o arquivo.

$ unzip -c /home/claudio/javaSoftware/netbeans-5.5.1/ide7/modules/ext/jaxws21/jaxb-xjc.jar META-INF/MANIFEST.MF
  

Escrito por claudio at 2:56 AM categorizado por Dicas e Scripts

Tags: linux dicas java

Sábado, 28 Julho 2007

Completar números com zeros a esquerda

Ao lidar com impressão de números em relatórios, geralmente é necessário preencher todas as posições com o número zero a esquerda.

Exemplo:

É necessário preencher um campo de 10 posições, onde dado um número qualquer, que seja menor do que a quantidade de posições, então as posições do lado esquerdo devem ser preenchidos com o número zero.

Número Impressão
382 0000000382
450018 0000450018


Uma das técnicas mais comuns é usar a quantidade total de números do campo e adicionar com zeros a esquerda e depois remover os zeros excedentes.

int n = 38002;
String zeros = "0000000000";
String numero = zeros + n;
System.out.println(numero.substring(numero.length() - 10));

No Java 5 existe um método printf, copiado da linguagem C que permite formatar a impressão do resultado. 

int n = 38002;
System.out.printf("%010d", n);

Esta é apenas uma das funcionalidades adicionadas ao Java 5 que aos poucos são incorporadas no dia a dia dos projetos.

Atualização em 28/julho:

Nem tudo é impresso no console, mas manipulações de variáveis, então basta usar outro método que retorna uma String. No exemplo abaixo, a variável f, contém o número formatado.

String f = String.format("%010d", n);
System.out.printf(f);

Escrito por claudio at 5:07 AM categorizado por Dicas e Scripts

Tags: java dicas

Sexta-feira, 27 Julho 2007

Oportunidade de trabalho na Summa Technologies

Summa-Tech

Segue algumas oportunidades para trabalho na Summa-Tech

1 Estágio
1 Desenvolvedor Júnior
1 Desenvolvedor Pleno

Envie seu currículo para a Thais
 

Estágio


Curso:
  • Engenharia da Computação e afins
  • Ciências da Computação
  • Sistemas de Informação
Requisitos Técnicos:
  • Desenvolvimento de aplicações em JAVA

Mandatório:

  • Conhecimento em OO
  • Lógica e programação e Conhecimento de Algoritmos

Desenvolvedor Junior

Experiência:
Acadêmica ou profissional nos desenvolvimento de aplicações Java

Recém-formado:

  • Engenharia da Computação e afins
  • Ciências da Computação
  • Sistemas de Informação

Requisitos Técnicos:

  • Conhecimento de OO
  • Linguagem Java
  • Lógica de programação, Conhecimento de Algoritmos e Estrutura de dados
  • SQL Básico

Desejável:

  • Tecnologias Java JEE
  • Tecnologias Web
  • Unix (Linux, BSD, Solaris...)
  • IDEs Java: Eclipse, Netbeans etc.

Diferencial:

  • Sun Certified Java Programmer

Desenvolvedor Pleno

Experiência:
Profissional nos desenvolvimento de aplicações Java JSE

Formação:

  • Engenharia da Computação e afins
  • Ciências da Computação
  • Sistemas de Informação

Requisitos Técnicos:

  • Conhecimento avançado em Java SE
  • Sockets
  • IO / NIO
  • Multi-threading
  • Protocolos de Rede
  • Programação Concorrente
Desejável:

  • Java 2D/3D
  • Flash
  • Tecnologias Java EE
  • Tecnologias Web
  • Sistemas Operacionais: Windows e Unix
  • Bancos de Dados Relacionais

Diferencial:

  • Sun Certified Java Programmer
  • Sun Certified Java Developer

Escrito por claudio at 2:49 AM categorizado por Summa-Tech

Tags: summa oportunidade vaga java

Quinta-feira, 26 Julho 2007

Repúdio a CPMF

Excluindo as conversas de bar, de corredor e irritações individuais, o que você já fez para manifestar sua indignação quanto à CPMF ?

A FIESP, CIESP, OAB e outras entidades começaram um abaixo assinado, contra a prorrogação desta emenda constitucional que deverá ser votada até setembro.

Em uma notícia no site deles, consta que em 2006 o governo fiscalizou de nossos bolsos R$ 32 bilhões, e nos 11 anos de imposto, cerca de R$ 185 bilhões. Isso é algo que interessa muito os corruptos no poder e seus irmãos metralhas, que não irão se esforçar para diminuir o escoamento de dinheiro.

As empresas multinacionais e bancos podem quebrar e o governo ajudar, pois isso é mais lucro do que acabar com a CPMF, apenas uma dica, o BB em 2006 teve lucro de R$ 2,4 bilhões.

Existe outra iniciativa de repúdio a CPMF, do site Xô CPMF.

Infelizmente eu já não consigo acreditar em mais nada que venha do governo. Se existe alguma boa ação, deve ser para ganhar uma confiança temporária, para poder roubar mais nas próximas ações.

Não tenho o costume de escrever sobre isso, que é mais um comentário sobre esse estúpido sistema tributário brasileiro.

Escrito por claudio at 5:49 AM categorizado por Diversos

Tags: politica

Segunda-feira, 23 Julho 2007

Como usar openssl e md5sum para verificar integridade de arquivos

Kernel Panic

Sempre preciso copiar arquivos entre solaris, linux e windows. Para verificar se o arquivo foi copiado com sucesso, uso um algoritmo aplicado no arquivo que faço a cópia, que efetua um cálculo único. Esse algoritmo é o MD5. Para invocar o cálculo desse algoritmo uso uma ferramenta no linux chamado md5sum.

Essa ferramenta, efetua o cálculo e a verificação de integridade de um arquivo.

Por que usar verificação de integridade na cópia de arquivos ?
Pois a cópia pode ter sido corrompida na transferência.

Então segue um exemplo de usar o md5sum

Criar o hash

md5sum arquivo.tar > arquivo.tar.md5

Verificar o hash

md5sum -c arquivo.tar.md5

A verificação do hash, usa o seguinte formato para verificação

534a15536aa0152e178361983c678cc0  arquivo.tar.md5

O motivo desta dica, não é necessariamente sobre o md5sum, mas porque essa ferramenta não está disponível nativamente no solaris, onde uso o openssl.

No solaris, para criar o hash, uso openssl da seguinte maneira

openssl dgst -md5 <arquivo>

Que gera um resultado da seguinte maneira

$ openssl dgst -md5 list.conf
MD5(list.conf)= e5c8ebe8e2113448fd318328cf5ca582

Que é diferente do md5sum, então não é possível realizar a verificação de integridade usando checksums md5.

Por isso criei um script bash, para solaris que faz uma tarefa semelhante do utilitário md5sum.

Download do script bash md5sum_solaris.sh

Dependências: openssl, awk, sed

O código é o seguinte:

#!/bin/bash

if [ "$1" ] ; then
    if [ $1 = '-c' ] && [ $2"x" != 'x'  ] ; then
        shift
        cat $1 | while read hash_line
        do
            hash_value=`echo $hash_line | awk '{print $1}'`
            filename=`echo $hash_line | awk '{print $2}'`
            echo -n $filename": "
            if [ -f "$filename" ] ; then
                hash_var=`openssl dgst -md5 $filename | awk '{print $2}'` ;
                if [ $hash_var == $hash_value ] ; then
                    echo "OK"
                else
                    echo "FAILED"
                fi
            else
                echo "FAILED: No such file or directory"
            fi
        done
    else
        openssl dgst -md5 $*  |  sed 's/[\(\)=]//g;s/MD5//g' | awk '{print $2"  "$1}'
    fi
else 
    echo "Usage:
    $0 -c hashs.md5      to verify checksums
    $0             to create checksums
    "
fi

Escrito por claudio at 3:56 AM categorizado por Dicas e Scripts

Tags: linux dicas

Sexta-feira, 6 Julho 2007

MetalAd, para os navegadores metaleiros

Tem um serviço bacana, chamado MetalAd, que publica uma imagem com as bandas metaleiras preferidas, que são mantidas no last.fm, veja o meu:

Clique na imagem para você criar um para o seu perfil. Note que é necessário ter conta no last.fm 

No meu perfil do last.fm (claudio4j), essa imagem é atualizada diariamente. 

Escrito por claudio at 3:51 AM categorizado por Musicas, Rock, Shows, etc.

Tags: musica servicos

Terça-feira, 3 Julho 2007

JustJava 2007, Palestras, tutoriais, discussões técnicas

JustJava 2007

JustJava 2007, será a 6a edição de um evento que já marca o cenário brasileiro de desenvolvimento de software para a tecnologia Java. Lembro que ainda morava em São Paulo, quando assisti ao 1o JustJava localizado na Av. Pompéia, e teve a presença do John Gage junto com Bruno Souza, comentando sobre as novidades do JavaOne.

O tempo passou e temos um evento com duração de 3 dias, com tutoriais, palestras técnicas, discussões e muito networking. Tenho participado dos eventos anteriores e este ano continua um prazer colaborar com a disseminação da tecnologia Java.

Neste ano o JustJava será efetuado novamente nas instalações do SENAC Santo Amaro, veja os dados do evento:

Local: SENAC Santo Amaro,
Avenida Engenheiro Eusébio Stevaux, n. 823
Data 02 a 04 de agosto
Horário 8:30h a 19h
 

 


Marquem em suas agendas a data e fique ligado no website e lista de notícias do SouJava e JustJava pois será divulgado a programação do evento e formulário de inscrições.

Escrito por claudio at 6:29 PM categorizado por SouJava

Tags: soujava java justjava palestra eventos

Palestras do JustJava em Análise

Recebemos muitas submissões de palestras para o evento JustJava 2007. Como de sempre, muitos temas, cobrindo desde Java no Desktop, Servidor, Java FX, Scripting, Java 3D, etc.

Estamos com um time que começou a análise de palestras, e temos a intenção de disponibilizar uma grade preliminar esta semana. Será publica na lista de noticias do SouJava, site do SouJava e no site do JustJava.

Agradeço ao pessoal que submeteu as palestras, fique ligado nos próximos dias.

Escrito por claudio at 4:04 PM categorizado por SouJava

Tags: soujava java justjava

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