Archive for maio, 2012

Debug remoto com o NetBeans e Tomcat no Linux

Passei algum tempo pra fazer isso funcionar, mas finalmente consegui. Debugar (depurar) em um servidor remoto é bastante útil e economiza bastante tempo. No meu caso, tenho uma lib (jar) que é importada no projeto, e a única forma de debugar ela com o projeto rodando, foi utilizando o debug remoto (mesmo estando no mesmo servidor).

É bastante interessante utilizar um Tomcat que foi instalado separadamente, e não o que foi instalado com o NetBeans. No meu caso, não instalei do repositório (apt, yum etc.), mas baixei o pacote compactado no site e extraí na pasta /opt/tomcat6.

O procedimento foi testado no Linux Mint Debian Edition (LMDE), mas muito provavelmente funcionará em outras distribuições, especialmente Debian e Ubuntu. A versão do NetBeans é a 7.1.1 e o Tomcat 6.0.35.

Vá no Terminal e digite o seguinte comando

sudo java -jar -Xdebug -Djava.compiler=NONE -Xrunjp:transport=dt_socket,server=y,suspend=n,address=7001 -Duser.dir="/opt/tomcat6" -Djava.endorsed.dirs="/opt/tomcat6/common/endorsed" "/opt/tomcat6/bin/bootstrap.jar" start

Lembre-se de substituir pelos diretórios corretos para o seu caso.

Se a mensagem "INFO: Server startup in X ms" apareceu, quer dizer que até aí deu tudo certo.

Depois é só ir no NetBeans para anexar o depurador. Acesse o menu "Depurar" (em inglês deve ser "Debug") e depois "Anexar Depurador" (em inglês deve estar como "Attach Debugger").

Coloque a porta 7001 e o host deve ser a máquina onde está o tomcat (o IP ou o nome). E pronto. Agora é só abrir sua aplicação e colocar os pontos de interrupção onde você quizer!

Informação adicionada em 26/12/2012:

Graças à colaboração (através dos comentários) de Afonso, vou mostrar uma forma bem mais simples (e que resolverá seu problema caso não esteja conseguindo debugar)

Ao invés de chamar o tomcat através da linha abaixo:

sudo java -jar -Xdebug -Djava.compiler=NONE -Xrunjp:transport=dt_socket,server=y,suspend=n,address=7001 -Duser.dir="/opt/tomcat6" -Djava.endorsed.dirs="/opt/tomcat6/common/endorsed" "/opt/tomcat6/bin/bootstrap.jar" start

Simplesmente adicione ao catalina.sh, logo após os comentários (linhas que começam com #), a linha abaixo:

CATALINA_OPTS=”-Xdebug -Xrunjdwp:transport=dt_socket,address=7001,server=y,suspend=n”

E reinicie seu Tomcat. O resto dos passos você pode fazer da mesma forma, e assim você poderá depurar/debugar suas classes remotamente!

Fonte: http://ahm507.blogspot.com.br/2006/12/netbeans-remote-debugging.html


Como criar listas sequenciais no PostgreSQL com a função generate_series

Essa é uma dica bem especifica, mas que provavelmente vai ser útil em algum momento na vida de um programador e/ou DBA.

Como criar uma lista sequencial a partir de dados que não existem em uma tabela? Por exemplo: eu quero criar um select que retorne uma lista de 1 a 100 (cada número em uma linha). Como fazer isso? Veja aqui o exemplo:

select generate_series(1,100) as sequencia

Acho que não precisa nem explicar né? O primeiro parâmetro do generate_series é o início da lista, e o segundo o é o fim da lista.

Quer outro exemplo? Imagine que seu gerente pediu pra totalizar as vendas diárias do mes de abril de 2012, ou seja, trazer uma lista com quanto vendeu em cada dia. Mas tem um problema: no dia 3 não vendeu nada. Como você vai exibir um total de um dado que não existe? O generate_series vai te ajudar! Veja o exemplo:

select generate_series(0,29) + date '2012-04-01' as data

O select acima vai trazer uma lista com todos os dias de Abril de 2012. E eu não precisei de tabela nenhuma pra isso.

Saiba mais aqui: http://blog.redfin.com/devblog/2008/05/fun_with_generate_series.html


E-book gratuito sobre LibreOffice Calc Avançado

Não é novidade que o LibreOffice vem ganhando cada vez mais espaço, e muitas pessoas que antes só conheciam o Microsoft Office, agora estão começando a experimentar o LibreOffice. Mas apesar de o OpenOffice (antecessor do LibreOffice) já existir há um bom tempo, não há tanto material escrito disponível sobre o assunto, especialmente de uma ferramenta: o LibreOffice Calc, que é equivalente ao Microsoft Excel.

Para suprir o espaço aberto nessa Lacuna, os irmãos Ueritom Ribeiro Borges e Klaibson Natal Ribeiro Borges resolveram escrever o e-book LibreOffice Calc Avançado, que é totalmente gratuito. Os temas abordados no livro são:

1. FUNÇÕES INTERMEDIÁRIAS E AVANÇADAS
1.1 FUNÇÃO SE
1.2 FUNÇÃO CONT.SE
1.3 FUNÇÃO SOMASE
1.4 FUNÇÃO CONT.NÚM
1.5 FUNÇÃO CONT.VALORES
1.6 FUNÇÕES E E OU
1.7. FUNÇÃO PROCV7

2. RECURSOS ADICIONAIS DO CALC
2.1 AUTOFILTRO
2.2 CLASSIFICAR DADOS
2.3 VALIDAÇÃO
2.4 DEFINIR NOMES
2.5 PROTEGER CÉLULAS

3. ASSISTENTE DE DADOS
3.1 TABELA DINÂMICA
3.2 CRIANDO GRÁFICOS A PARTIR DE UMA TABELA DINÂMICA

4. MACROS
4.1 – PROGRAMANDO MACROS E FUNÇÕES
4.2 – CRIANDO FUNÇÕES CALC NO BASIC

Para baixar o e-book, clique aqui.


Quer aprender a usar o Linux? Que tal umas video-aulas em português pra ajudar?

Aprender a usar e administrar um desktop ou servidor Linux é curiosidade de muita gente – e não só quem trabalha com TI! – mas algumas vezes quando estamos estudando alguma coisa, ficamos empacados no início, sem saber muito pra onde ir.

Video-aulas são formas interessantes de ajudar a quebrar esse bloqueio, e quando são na sua lingua nativa, melhor ainda. É por isso que a ActiveInfo Tecnologia em Treinamentos, sediada em Curitiba disponibilizou um curso gratuito em vídeo-aulas sobre Administração de Sistemas Linux. É uma grande colaboração para os novos usuários e futuros administradores de sistemas Linux.

O curso é dividido em 13 partes:

  1. Introdução ao Linux
  2. Comandos Básicos
  3. Editores de Texto
  4. Usuários e Grupos
  5. Programação Shell Script
  6. Particionamento
  7. Instalação de Programas
  8. Agendamento de Tarefas
  9. Cotas de Disco
  10. Processos
  11. Hardware
  12. Compartilhamento
  13. Carregadores de Boot
     

Gostou? Então acesse aqui e comece a estudar!


Agora a moda é computação na nuvem, então que tal aprender a subir um servidor na Amazon e ainda ter 1 ano grátis?

Agora quase todo site da área tem bastante assunto relacionado a cloud computing (ou computação na nuvem). Claro que colocar um servidor na nuvem tem suas vantagens e desvantagens. Mas pra quem está começando ou quer hospedar uma aplicação ou site pequeno ou médio, tem muito mais vantagens que desvantagens.

Como se não bastasse, a Amazon, que é o maior provedor de computação na nuvem, dá um ano de graça pra você montar seu servidor. Você só precisa de um celular e um cartão de crédito internacional válido – que são usados para identificar você.

Não tem mais desculpa. Se você quizer aprender a levantar um servidor na nuvem, agora tem um e-book explicando tudo! E o melhor: é de graça!

O material foi elaborado por Roberto Silva, editor e fundador do Planeta Tecnologia e por José Papo, evangelista da Amazon Web Services no Brasil.

Para baixar o e-book, clique aqui!


O Projeto Libcdr agora permite a leitura e conversão de arquivos de todas as versões do Corel DRAW

O Projeto Libcdr agora permite ler e converter para SVG (formato livre) arquivos de todas as versões do Corel Draw. O libcdr fez algo que nem a Corel foi capaz.

A biblioteca agora é capaz de ler arquivos CDR de todas as versões – da 1 à 16. As versões mais antigas do Corel – codinome Waldo – usavam um sistema de arquivos que não têm nada a ver com as versões atuais para armazenar os arquivos CDR. Era 1987, quando os sistemas ainda eram de 16 bits.

Em 1992 a Corel lançou o Corel Draw 3, que criava arquivos baseados no padrão RIFF. A versão 5 foi a última a ler os arquivos gerados na versão 1 e 2, e só podia gravar nas versões 3 e 4 (além da 5).

O Waldo estava enterrado. Até agora.

Pronto para uma viagem no tempo? Fridrich Strba, o desenvolvedor principal do libcdr, liberou um screenshot do Corel DRAW 2:

Corel Draw v2

Agora veja essa mesma imagem convertida em SVG

SVG

Isso só serve para confirmar, mais uma vez, a importância de armazenar arquivos em formatos livres. Os próprios "fabricantes" de software negligenciam as versões antigas de seus formatos, o que faz com que, muitas vezes, dados importantíssimos sejam perdidos.

Tradução livre do artigo: Libcdr resurrects Waldo, gets basic spot colors support


Como apagar todos os arquivos de um tipo (extensão) de uma pasta e suas subpastas no Linux

Se você precisar apagar todos os arquivos com um tipo (extensão) no Linux, tem uma linha de comando que vai te ajudar. É essa:

 

rm -rf `find /diretorio/que/quer/apagar/ -iname "*.extensao"`

Por exemplo:

rm -rf `find /home/tiago/NetBeansProjects/MeuProjeto -iname "*.class"`

A linha acima vai apagar todos os arquivos com extensão .class da pasta /home/tiago/NetBeansProjects/MeuProjeto Simples assim. O procecedimento foi testado no Ubuntu 10.04 LTS Desktop


  • Publicidade

  • Redes Sociais

    Facebook  Twitter
  • Estatísticas

    Page Views (desde março de 2010):

    Estatísticas detalhadas
  • Novidades por e-mail!

    Digite seu e-mail:


    Fique tranquilo. Seu e-mail não será usado para outros fins, e você poderá se descadastrar quando quizer.

    Eu!

    Tiago Passos
    Todo o conteúdo desse site esta licenciado sob a licença Creative Commons 3.0 (CC BY 3.0). Você pode copiar e modificar o conteúdo desde que cite o autor.
    iDream theme by Templates Next | Powered by WordPress