Pesquisar este blog

terça-feira, 31 de agosto de 2010

Exemplo de Midlet

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import java.util.Date;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;


/**
 * @author agilar
 */
public class CadastroCliente extends MIDlet {
    private Display display;
    private Form frmCadastro;
    private TextField txtNome, txtEndereco, txtFone, txtEmail;
    private DateField txtDtCadastro;
    private ChoiceGroup sexo, casado;

    private void createGUI(){
        txtNome = new TextField("Nome", "", 70, TextField.ANY);
        frmCadastro.append(txtNome);

        txtEndereco = new TextField("Endereço", "", 70, TextField.ANY);
        frmCadastro.append(txtEndereco);

        txtFone = new TextField("Fone", "", 20, TextField.PHONENUMBER);
        frmCadastro.append(txtFone);

        txtEmail = new TextField("E-mail", "", 30, TextField.EMAILADDR);
        frmCadastro.append(txtEmail);

        txtDtCadastro = new DateField("Data Cadastro", DateField.DATE);
        txtDtCadastro.setDate(new Date());
        frmCadastro.append(txtDtCadastro);
        
        sexo = new ChoiceGroup("Sexo", ChoiceGroup.EXCLUSIVE);
        sexo.append("Masculino", null);
        sexo.append("Feminino", null);
        frmCadastro.append(sexo);
        
        casado = new ChoiceGroup("Casado", ChoiceGroup.EXCLUSIVE, new String[] {"Sim", "Não"}, null);
        frmCadastro.append(casado);

    }

    public void startApp() {
        display = Display.getDisplay(this);
        frmCadastro = new Form("Cadastro de Clientes");
        createGUI();
        display.setCurrent(frmCadastro);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}

quinta-feira, 12 de agosto de 2010

Arvore binária simples com os três métodos de caminhamento

/*
 * Árvore binária simples com os três métodos de caminhamento: 
 *   Pré-Fixado 
 *      Central 
 *   Pós-Fixado
 * 
 * Autor: Everton Agilar 
 * Data: 12/08/2010
 * 
 */


package aula.arvore;

public class Arvore {
 int valor;
 Arvore esq;
 Arvore dir;

 public Arvore(int valor){
  this.valor = valor;
  this.esq = null;
  this.dir = null;
 }
 
 public void add(Arvore no){
  if (no.valor < this.valor){
   if (esq == null){
    esq = no;
   }else {
    esq.add(no);
   }
  }
  else {
   if (no.valor > this.valor){
    if (dir == null){
     dir = no;
    }
    else {
     dir.add(no);
    }
   }
  }
 }
 
 public void caminhamentoPreFixado(){
  System.out.printf("%d%n", valor);  // a raiz é acessada por primeiro
  if (esq != null) 
   esq.caminhamentoPreFixado();
  if (dir != null) 
   dir.caminhamentoPreFixado();
 }
 
 public void caminhamentoCentral(){
  if (esq != null) 
   esq.caminhamentoCentral();
  System.out.printf("%d%n", valor);  // a raiz é acessada no meio   
  if (dir != null) 
   dir.caminhamentoCentral();
 }

 public void caminhamentoPosFixado(){
  if (esq != null) 
   esq.caminhamentoPosFixado();
  if (dir != null) 
   dir.caminhamentoPosFixado();
  System.out.printf("%d%n", valor);  // a raiz é a última acessada
 }

 public static void main(String[] args) {
  System.out.println("Demonstração de formas de caminhamento em árvore binária\n");
  
  Arvore arv = new Arvore(10);
  arv.add(new Arvore(8));
  arv.add(new Arvore(12));
  arv.add(new Arvore(4));
  arv.add(new Arvore(14));
  arv.add(new Arvore(2));
  arv.add(new Arvore(1));
  
  System.out.println("Caminhamento Pré-Fixado:");
  arv.caminhamentoPreFixado();
  
  System.out.println("\nCaminhamento In-Fixado ou Central:");
  arv.caminhamentoCentral();

  System.out.println("\nCaminhamento Pós-Fixado:");
  arv.caminhamentoPosFixado();
 }
}

quarta-feira, 11 de agosto de 2010

Regras Firewall Pessoal - iptables

#/bin/bash
# Regras de Firewall
# Autor: Everton Agilar
# Última alteração: 11/08/2010

# Limpa todas as tabelas
iptables -t filter -F INPUT
iptables -t filter -F OUTPUT
iptables -t filter -F FORWARD

# Define política padrão (DROP)
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP

# Permite pacotes de loopback
iptables -t filter -A INPUT -i lo -j ACCEPT

# Permite pacotes de entrada gerados dentro da rede
iptables -t filter -A INPUT -i wlan0 -p tcp -m state --state related,established -j ACCEPT
iptables -t filter -A INPUT -i wlan0 -p udp -m state --state related,established -j ACCEPT
iptables -t filter -A INPUT -i wlan0 -p icmp -m state --state related,established -j ACCEPT
iptables -t filter -A INPUT -i wlan0 -p tcp --sport 20:21 -j ACCEPT
iptables -t filter -A INPUT -i wlan0 -p tcp --sport 1863 -j ACCEPT
iptables -t filter -A INPUT -i wlan0 -p tcp --sport 443 -j ACCEPT


# Permite pacotes de saída para icmp,www,domain,ftp,msn,https
iptables -t filter -A OUTPUT -o wlan0 -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -o wlan0 -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -o wlan0 -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -o wlan0 -p tcp --dport 20:21 -j ACCEPT
iptables -t filter -A OUTPUT -o wlan0 -p tcp --dport 1863 -j ACCEPT
iptables -t filter -A OUTPUT -o wlan0 -p tcp --dport 443 -j ACCEPT