sexta-feira, 26 de novembro de 2010

Exemplo de Remote Method Invocation

Exemplo simples de usar RMI em Java para calcular imposto:

Calculadora.java

public interface Calculadora extends java.rmi.Remote { 
    public String imposto(String a, long b)
        throws java.rmi.RemoteException; 
  
}


CalculadoraCliente.java

import java.rmi.RemoteException; 
import java.net.MalformedURLException; 
import java.rmi.NotBoundException; 
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import javax.swing.JFrame;

public class CalculadoraCliente{ 


    public static void main(String[] args) { 
        try { 
            Registry registry =LocateRegistry.getRegistry("localhost", 1500);
            Calculadora c = (Calculadora) registry.lookup("calculando");
            System.out.println( c.imposto("Ana", 1000) );
            System.out.println( c.imposto("Maria", 1500) );
            System.out.println( c.imposto("Braga", 1800) );
             
        } 
        catch (RemoteException re) { 
            System.out.println(); 
            System.out.println("RemoteException"); 
            System.out.println(re); 
        } 
        catch (NotBoundException nbe) { 
            System.out.println(); 
            System.out.println("NotBoundException"); 
            System.out.println(nbe); 
        } 
        catch (
            java.lang.ArithmeticException ae) { 
            System.out.println(); 
            System.out.println("java.lang.ArithmeticException"); 
            System.out.println(ae); 
        } 
    } 



CalculadoraImpl.java

public class CalculadoraImpl extends java.rmi.server.UnicastRemoteObject implements Calculadora { 

    public CalculadoraImpl() throws java.rmi.RemoteException { 
        super(); 
    } 

    public String imposto(String a, long b)
        throws java.rmi.RemoteException { 
        System.out.println ("Calculando imposto");
        String tmp ="";
        if(b<1200){
            tmp = a + " pagará "+ (b-(b*0.05)) +" de imposto";
        }else if(b>=1200 && b<1800){
            tmp = a + " pagará "+ (b-(b*0.10))+" de imposto";
        }else{
            tmp = a + " pagará "+ (b-(b*0.15))+" de imposto";
        }


        return tmp;
    } 

     


CalculadoraServidor.java
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class CalculadoraServidor {

   public CalculadoraServidor() {
     try {
       Calculadora c = new CalculadoraImpl();
       Registry registry =LocateRegistry.createRegistry(1500);
       registry.bind("calculando",c);
     } catch (Exception e) {
       System.out.println("Problema: " + e);
     }
   }

   public static void main(String args[]) {
     new CalculadoraServidor();
   }
}


Copie, melhore e disponibilize.


Até mais!

terça-feira, 23 de novembro de 2010

Leão Azul: um ser mitológico

Reza a lenda que, em tempos idos, por volta de 33 a.C., existiu um Leão que habitava e dominava as savanas da Grécia pré-olímpica. 
Naquela época, nasceram as três irmãs górgonas - Medusa, Esteno e Euríale - que, sendo expulsas de sua terra natal por Atena - deusa grega da sabedoria, do ofício, da inteligência e da guerra justa - foram espalhar o terror e o medo entre a pacata população grega da região de “azulinopoulos”, ao norte da Grécia. 
Sendo informado pos Zeus - o Deus dos Deuses e dos Homens - o Leão se abalou das savanas para o norte do país, para combater e dar fim ao terror implantado pelas irmãs górgonas. Sendo o Rei dos Animais desde sempre, caberia a ele recobrar a ordem e impor novamente a paz e a justiça entre os seres vivos da região na qual reinava.
Contam os pergaminhos que foram várias batalhas sangrentas entre o Leão e as irmãs górgonas - sempre lideradas por Medusa. Numa delas, na última batalha, o LEÃO, em desvantagem e incessantemente hostilizado pelas três malignas irmãs, teve que recuar para se proteger do olhar petrificante de Medusa - a mais letal dentre as górgonas, então acabou se precipitando num gêiser que expelia baforadas de vapor de Gálio (metal azulado). Uma vez envolto na névoa azulada de Gálio, o Leão teve seu corpo recoberto pelo tom azul, tornando-se um Leão Azul. Conseguiu retornar à superfície e, camuflado pelo vapor azul do gêiser, surpreendeu as górgonas. Com duas patadas certeiras, matou Esteno e Euríale. Ao pular sobre Medusa, conseguiu derrubá-la e arrancar seus cabelos-de-serpentes. Sufocando-a com suas patas poderosíssimas, asfixiou-a e decretou o seu desencarne. Mas, num último tufo de ar expelido por seus pulmões em brasa, Medusa conseguiu lançar seu último olhar petrificante para dentro dos globos oculares impávidos do Leão Azul. 
Assim, Medusa morreu, mas acabou por petrificar o Leão Azul para todo o sempre, transformando-o num ícone e num mártir para as gerações gregas vindouras. Tornou-se um Ser Mitológico. Saiu da vida para entrar nos livros de História. Virou lenda e desapareceu, apesar de nunca ter sido esquecido.
Esse Leão Azul petrificado foi descoberto por paleontólogos remistas, em visita à Grécia na 1ª Olimpíada da Era Moderna (1896), e trazido para Belém do Pará, sendo aclamado o MASCOTE DO CLUBE DO REMO em 1905.
Nenhum outro Mascote teria sido tão apropriado a um Clube que, desde então, se consolidou no cenário esportivo a partir de memoráveis triunfos e incontáveis glórias.
Até hoje, ainda segundo a lenda, o Leão Azul petrificado habita o gramado do Baenão - Estádio do CLUBE DO REMO. Ali se encontra - imponente e majestoso - fitando o horizonte, rugindo impavidamente e despejando sobre tão belo tapete a energia vitoriosa acumulada em várias e várias batalhas épicas e sagazes do passado.


Por: Gilberto Silveira (Beto Dickinson)

sábado, 21 de agosto de 2010

OpenCV e PATH

Tô fazendo esse post para lembrar alguns problemas que encontrei durante a instalação do OpenCV 2.1. Instalei mais de uma vez para solucionar e chequei as variáveis de ambiente. Setei o PATH manualmente.
Bom, é isso. Caso esqueça, voltarei aqui!

Atualizando...
Surgiram alguns problemas de compilação, então eu tive que remover e instalar novamente. Dessa vez utilizei a versão 2.0 do OpenCV no Windows 7. Problemas de compilação sumiram e pude desenvolver algumas coisa usando a biblioteca. Por enquanto, é isso.

sexta-feira, 20 de agosto de 2010

Perdi o poster! E agora!?

Fui apresentar um poster do Projeto SHIVA no Computer on The Beach 2010. Embarquei em Belém, fiz uma conexão no Rio de Janeiro e finalmente cheguei em Florianópolis. Cheguei ao hotel e para minha "felicidade" a minha reserva não tava confirmada, ou seja, tinha quarto para uma noite e depois teria que arrumar outro. Não foi difícil, fiz umas ligações e consegui um próximo ao hotel do evento, era um hotel melhor e um pouco mais caro, valeu o dinheiro.
No segundo do evento, já estava no novo hotel, quando lembro do maldito poster do artigo. Lembrei dele, mas não fazia idéia de onde o fujão estava. Procurei no quarto, nas malas, liguei para o taxista e nada... Então, pra que perder mais tempo? Peguei uma lista telefônica e comecei a rezar, como era de se esperar ninguém consegueria imprimir um poster em menos de 3 dias. Que "maravilha"! Como poderia apresentar o artigo sem o poster? Deixei a lista telefônica de lado... não ajudou em nada mesmo. Entrou em ação o Google, algumas pesquisas mais tarde, entrei em contato com um brother que disse que faria para me entregar meio-dia sendo que eu teria que estar com o arquivo lá na plotagem dele antes das 8:00 horas. Acordei 6:00 H, peguei um taxi e cheguei ao tal lugar. Perguntei pelo figura e ele mandou só um recado: "A máquina não tá ligando!". Olha que legal! O cara não veio nem ver o arquivo ou dar uma justificada, dizendo que a isso nunca aconteceu... Apenas mandou o recado.
Comecei a ficar revoltado, mas tinha que imprimir o poster de qualquer maneira. Comecei a andar e perguntar na rua onde poderia imprimir o poster. Até que um camarada que trabalha com fotocópias disse que para ficar pronto até meio-dia só no Beto Plotagem. Como nada é fácil ou divertido quando o tempo está jogando contra... Era distante dali, então peguei o primeiro ônibus desci no terminal e peguei o segundo chegando ao shopping beiramar desço e começo a procurar a plotagem. Finalmente, encontro e consigo tudo em menos de uma hora. Dessa vez fácil e bem rápido. Pego o poster e entrego antes do prazo final. O resto do evento foi tranquilo, apresentei o artigo sem problemas. A seguir a distância do hotel para o local onde imprimi o poster.
Deixo aqui um registro de um muito obrigado o Sr. Beto e sua esposa pelo atendimento de primeira. Poster em Floripa é no Beto Plotagem! =D