Gregui Shigunov


Função para criptografar com MD5 (Java)

Enviado em Informação, JAVA, Programação, Técnologia, dicas, internet por Gregui Shigunov no 17 17UTC Dezembro 17UTC 2007
Tags: , , , ,

    /**
* criptografa usando MD5
*
* @param valor
* @return
* @throws NoSuchAlgorithmException
*/

    public static String md5 (String valor) throws Exception {
MessageDigest md = MessageDigest.getInstance(“MD5″);
BigInteger hash = new BigInteger(1, md.digest(valor.getBytes()));
String s = hash.toString(16);
if (s.length() %2 != 0)
s = “0″ + s;
return s;
}

Exemplo de envio de e-email com Java

Enviado em JAVA, Programação, Técnologia, dicas, internet por Gregui Shigunov no 17 17UTC Dezembro 17UTC 2007
Tags: , , , , , ,

import java.io.IOException;
import java.io.PrintStream;

import sun.net.smtp.SmtpClient;

/**
* Classe para envio de email
*/

/**
* @author gregui
*
*/

public class Email {

   /**
* Construtora
*
*/

public Email() {

}

public boolean enviar() {

String to = “maurivanluiz@gmail.com,” +
kleber.martins@gmail.com“;

String from = “gregui@gmail.com“;

try {
SmtpClient client = new SmtpClient(“mail.xxxxx.com.br“);  //servidor smtp
client.from(from);
client.to(to);
PrintStream msg = client.startMessage();
msg.println(“to:” + to);
msg.println(“from:” + from);
msg.println (“Subject:Exemplo de Envio de e-mail”);
msg.print(“\r\n”);
msg.println(“Testando de email  http://gregui.wordpress.com”);

client.closeServer();
} catch (IOException e) {
System.out.println(e.getMessage());
return false;
}
return true;
}

    /**
* Exemplo de uso
* @param args
*/

public static void main(String args[]) {
Email mail = new Email();

mail.enviar();
}
}

Instanciando uma classe dinamicamente (JAVA)

Enviado em Informação, JAVA, Programação, dicas, internet por Gregui Shigunov no 17 17UTC Dezembro 17UTC 2007
Tags: , , , , , , , , , ,

Aqui vai exemplo de como instanciar um objeto dinamicamente!
String classeNome = “NomeDaClasse”;
Object[] contrutoraParam = new Object[0]; //parametros da contrutora

Object objeto = Class.forName (classeNome).getConstructors()[0].newInstance(contrutoraParam);

NomeDaClasse teste = (NomeDaClasse) objeto; //Casting

System.out.println(teste.toString());

Qualquer dúvida! estou a disposição!

Programação orientada a Objetos – Boas práticas de programação (1)

Tenho participações em fóruns como JavaFree e PortalJava. E notei que muitos programadores se “batem” com orientação a objetos, mesmo utilizando uma linguagem Orientada a Objetos como Java, Flex, Php.

Tentarei trazer dicas de orientação a objeto e boas práticas de programação, utilizando exemplos simples para o fácil entendimento. No momento estou bem ocupado, então posso demorar para postar coisas novas! ;)

Então…

Notem este código:
public class Motor {

}

public class Carro {
private Motor motor = new Motor();

     //construtora
public Carro(Motor motor) {
this.motor = motor;
}
}

Um exemplo muito simples, com dois objeto (Carro e Motor);

Agora, notem…
- A contrutora da classe “Carro”, informa (obriga) que um “Carro” tenha um “Motor”.
- Então antes de instanciar um carro, eu preciso instanciar um motor (motor pode ser “null”, nulo).
- Quando eu contruir um carro, eu incluo o motor no carro, mas notem a linha 2:
private Motor motor = new Motor();
- Se a construtora de “Carro” me obriga ter um “Motor”, por que diabo ela já tem um motor construído?

É mais ou menos como: “Vou contruir um carro 2.0, mas o carro já possuí um motor 1.0, então terei que tirar o motor 1.0, e substituir pelo 2.0″
(No mundo real isso é bom, já que eu teria um motor sobrando, mas … na programação há disperdício de processamento e memória para criar o motor 1.0, já que foi contruído e não foi utilizado)

- Agora você deve se perguntar, grande coisa… Não vai fazer muita diferença.
- Para um exemplo simples como esse sim, mas imagine um sistema complexo, com classe gigantes e complexas

Agora olhem a classe abaixo:

public class Carro {
private Motor motor = null;

    //construtora
public Carro(Motor motor) {
this.motor = motor;
}
}

No carro eu “declarei” mas não “instanciei” o Motor.
É mais ou menos como: “tenho um carro, agora só falta o motor (reservei espaço para o Motor)”

Uma outra Boa Prática de Programação (BPP) é, sempre informar o valor da variável ao declará-la.
Como no exemplo abaixo

Exemplo de utilização:

Motor motor_1; //não recomendado
Motor motor_2 = null; //OK
Motor motor_3 = new Motor(); //OK

motor_1 = new Motor();
motor_2 = new Motor();

Carro corsa = new Carro(motor_1);
Carro corsa_sedan = new Carro(motor_2);

Até a próxima ;)