quarta-feira, 24 de dezembro de 2008

Trabalho de Conclusão de Curso

Olá a todos,

Neste link está a minha monografia de final de curso. Deixei bem enxuta, não enrolei. Depois, conto sobre as situações inusitadas que passei. O software só vou disponibilizar quando tirar a patente.

Até mais

p.s: Estou usando o servidor da faculdade e as vezes ele cai.

segunda-feira, 22 de dezembro de 2008

Desligar computador a Distância no Windows usando Java

Hoje, pensei em uma idéia para desligar meu computador a distância. Consegui e a técnica é bem simples.

Primeiro, no computador que será desligado é necessário que algum código que estabeleça uma conexão em uma porta qualquer (acima da porta 1024) a fim de aguardar a ordem de desligamento.

O desligamento é feito pelo comando "shutdown.exe" do Windows (está na pasta c:\WINDOWS\system32\)

Então, criei uma classe que estabelece uma conexão por TCP na porta 10001. E ela espera somente duas "frases".

Frase 1 - Senha para o desligamento
Frase 2 - argumentos para o desligamento

A senha é importante para que nenhum outro código (além do seu) desligue a máquina.
Os argumentos para o desligamento são os mesmos do comando "shutdown.exe".

A classe que dá a ordem para desligar deve enviar a senha e os argumentos para a porta do computador a ser desligado. E pronto.

A classe ShutListener é o ouviente para ordem. Deixa-a rodando na máquina que vc pretende desligar.

A classe ShutLauncher é o disparador.

p.s: Uso de ShutLauncher

Abra o terminal e vá aonde o .class está e execute
java ShutLauncher 111.111.111.111 -r

O primeiro argumento é o ip da máquina a ser desligado e -r fará com que seja aberta uma janela dizendo o Windows será encerrado dentro 30 segundos.

Argumentos que podem ser passados:
-Abra o terminal e digite: shutdown /?
-Este artigo pode ajudar: link

Comentários:
- Você pode facilmente adaptar para o Linux.
- TCP é usado para garantir que as mensagens enviadas sejam recebidas, pois, TCP implementa transporte confiável. Eu poderia ter usado UDP e implementar o transporte confiável, mas, não estava com disposição para isso.

sexta-feira, 19 de dezembro de 2008

Viva o Linux

Oi pessoal,

Essa tarde instalei o Linux (distribuição Ubuntu) na minha máquina.

Instalei diretamente do Windows, usando o seguinte instalador:

wubi-installer

E que experiência agradável é ter esse S.O rodando no meu computador. Todos os programas que testei rodaram mais rápido, a internet é mais rápida e estável (talvez seja por causa do Firefox). Também, é possível trabalhar com várias áreas de trabalho ao mesmo tempo (estou com nove).

A parte gráfica é bem mais bonita que a do Windows Xp (já vi a do Windows Vista, mas, não reparei).

A segurança é muito melhor que a do Windows.

Instalar programas é um pouco diferente, tem que ligar o modo super usuário e mudar o modo de leitura do .bin a ser executado.

Conforme for descobrindo coisas interessantes vou postando.

Abraço a todos.

terça-feira, 16 de dezembro de 2008

Arquivo .class

O arquivo com extensão .class é resultado da compilação correta (pelo javac) de um .java.

Hoje, abri um .class em um editor de texto padrão e vi que ele contém texto contendo nome de atributos, herança, parte do código dentro dos métodos e dentre outros.

Então, é possível juntar os dois no modo binário (não o contrário).

Isso justifica o fato de ser possível transformar um .class no seu respectivo .java.

Para comprovar o que digo, o código cria um arquivo em modo binário e insere informação em ascii e binário. Abra o arquivo gerado e veja o resultado