27 de abril de 2010

Segurança da Informação

Segue link de 2 sites que possuem podcast na área de segurança da informação.

http://www.staysafepodcast.com.br/

http://www.naopod.com.br/

estou escutando e achei bem interessante, da pra agregar uns conhecimentos na área.

20 de abril de 2010

Fotos Frenéticas de um Vulcao, causando na Europa... Parece brincadeira, mas não é!!!!!!



Achou que essa imagem foi feita no photoshop? Para sua surpresa e minha também, não foi feita nele, isso é real. :S

Vejam mais fotos no link abaixo:

http://www.boston.com/bigpicture/2010/04/more_from_eyjafjallajokull.html

Várias fotos mostrando a ira de um vulcão, o Eyjafjallajokull!! ( como pronuncia isso? Eijafjalllaaaajokulllllll? :S pqp não tinha um nome mais simples).

18 de abril de 2010

Hacker de 9 anos invade sistema de notas de escolas americanas

"Garoto burlou segurança de plataforma de aulas virtuais e conseguiu mudar senhas de professores e apagar aulas."

A segurança passo longe viu...

16 de abril de 2010

Vivendo do Ócio - Ao Vivo - "Som, luzes e terror"

12 de abril de 2010

O que vai cair além da nota no dia 19/04

O conteúdo da prova será todo o conteúdo do módulo 1 até o HTML do módulo 2.

"Resumo" da matéria, faça o download, clique aqui.

ps. É um resumo pequeno....

Se você souber tudo que tem no resumo você irá bem na prova, garanto! ... ou não...

Prova Adiada

Por Alberto Correia,

Bom dia pessoal, tudo bem?

só completando o que já conversei com alguns alunos, nossa prova não será hoje e sim na semana que vem, dia 12/04.

O conteúdo da prova será todo o conteúdo do módulo 1 até o HTML do módulo 2. Vou deixar o dia de hoje pra vocês tirarem dúvidas.

Os seminários não serão cobrados na prova.

Hoje teremos a apresentação do Grupo da semana passada.

Atenciosamente,

Alberto Correia

----------------------

Pessoal,


Errei a data, nossa prova será no dia 19/04 (segunda-feira que vem).

Desculpe-me pelo erro.

Att
Alberto Correia

9 de abril de 2010

Teste

SÓ PARA OS INTELIGENTES

Se não acertar nenhum desses exercícios

É bom você aprender logo a ZURRAR (voz do burro),
a ESCOICEAR (dar coices) e ficar RABUDO (que tem
grande rabo/cauda).

Boa sorte !!!



Exercicios para treinar o cérebro


Exercícios para cérebros enferrujados
Não deixe de ler..
De aorcdo com uma peqsiusa

de uma uinrvesriddae ignlsea,

não ipomtra em qaul odrem as

Lteras de uma plravaa etãso,

a úncia csioa iprotmatne é que

a piremria e útmlia Lteras etejasm

no lgaur crteo. O rseto pdoe ser

uma bçguana ttaol, que vcoê

anida pdoe ler sem pobrlmea.

Itso é poqrue nós não lmeos

cdaa Ltera isladoa, mas a plravaa

cmoo um tdoo.


Sohw de bloa.



Fixe seus olhos no texto abaixo e deixe que a sua mente leia corretamente o que está escrito..

35T3 P3QU3N0 T3XTO 53RV3 4P3N45 P4R4 M05TR4R COMO NO554 C4B3Ç4 CONS3GU3 F4Z3R CO1545 1MPR3551ON4ANT35! R3P4R3 N155O! NO COM3ÇO 35T4V4 M310 COMPL1C4DO, M45 N3ST4 L1NH4 SU4 M3NT3 V41 D3C1FR4NDO O CÓD1GO QU453 4UTOM4T1C4M3NT3, S3M PR3C1S4R P3N54R MU1TO, C3RTO? POD3 F1C4R B3M ORGULHO5O D155O! SU4 C4P4C1D4D3 M3R3C3! P4R4BÉN5!

8 de abril de 2010

Professor Tiburcio no Campus Party

Aula do professor Tiburcio direto do Campus Party 2010.

rs.. Palestra do Marcelo Tas que aconteceu no Campus Party 2010, ele tem um visão muito legal da INTERNET.

Ps.: o segundo video só os 40 segundo iniciais que é o final da "palestra"

att





5 de abril de 2010

No aula,

Hoje (05/04/2010) não haverá aula de Programação para Internet I com o prof Alberto Correia, será que deu tempo para avisar. =]

att

2 de abril de 2010

Árvores Genéricas - AED II

Árvores Genéricas - AED II

Escreva um programa em Java que leia uma seqüência de pares (chave: int, elemento: string) fornecidos pelo usuário e monte uma árvore de pesquisa genérica atendendo às regras da estrutura.

O programa deve permitir:

* Inserção, remoção e busca de elementos informados pelo usuário;
* Exibir a árvore na tela, de modo que a estrutura possa ser visualizada, ou seja, de maneira que possamos conferir a estrutura da árvore.

Estou colocando a resoluções que consegui fazer, não digo que esteja certo, mais pelos teste que fiz os erros encontrados foram solucionados.

Para ilustrar segue a arvoré resultante do exemplo:

([10, 22])
([3, 8, 9][11, 15, 16][])
([][4, 5, 7][][])([][12, 14][][17])
([][][][])([][13][])([][])
([][])




App

package ArvoreGenerica;

import java.util.ArrayList;

public class app {

public static void main (String arg[]){

ArrayList imp;
String r;

Arvore arv = new Arvore();
arv.novoFilho(22, "el:22");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(10, "el:10");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(15, "el:15");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(16, "el:16");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(9, "el:9");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(8, "el:8");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(3, "el:3");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(5, "el:5");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");

arv.novoFilho(7, "el:7");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");

arv.novoFilho(11, "el:11");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");

arv.novoFilho(4, "el:4");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(12, "el:12");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");

arv.novoFilho(14, "el:14");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(13, "el:13");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(17, "el:17");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
r = arv.getElemento(9);
System.out.println(r);

r =arv.removeKey(10);
r =arv.removeKey(9);
r =arv.removeKey(3);
r =arv.removeKey(7);
r =arv.removeKey(4);
System.out.println("removido "+r);

imp = arv.ImpAravoreElemento();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");

}
}


Arvore


package ArvoreGenerica;

import java.util.ArrayList;


public class Arvore {
//Nó raiz
private Nodo root;
//quantidade de nos
private int size;
//para armazenar os elementos quando usado os metodos de percorrer
private ArrayList lista;
//Altura é o nivel do nodo mais externo + 1
public int altura;

//Construtor sem Nó raiz
public Arvore(){
root = null;
size = 0;
lista = new ArrayList();
}

//Construtor passando o Nó raiz
public Arvore(int k, String x){
root = new Nodo(k,x,null);
size = 0;
lista = new ArrayList();
}

public Nodo getRoot() {
return root;
}

public void setRoot(int k, String x){
root = new Nodo(k,x,null);
}

public void setSize(int size) {
this.size = size;
}

public int Size() {
return size;
}

//Se possui algum filho o Nó é interno
public boolean isInternal(Nodo n){
if (n.possuiFilho())
return true;
return false;
}

//Se não possuir filho é Nó externo (folha)
public boolean isExternal(Nodo n){
if (n.possuiFilho()==false)
return true;
return false;
}

public boolean isRoot(Nodo n){
if (n.getPai()==null)
return true;
return false;
}

public boolean isEmpty(){
if (getRoot()==null)
return true;
return false;
}


/**
* Partindo da raiz irá verificar o valor do nó para adicionar o novo nó
* @param n
* @param v
*/
private void addOrder(Nodo n, int k, String x){
if (n.possuiFilho()==false)
n.setElemento(k, x, n);
else{
//informa a chave e recebe qual o filho
Filho f = n.getFilho(k);
//Se o filho for nulo insere este nete filho o novo nodo
//se o filho não nulo chama novamente o metodo addOrder
if (f.getElemento()==null){
Nodo novo = new Nodo(k,x,n);
f.setElemento(novo);
altura = novo.getNivel()+1;
}
else{
Nodo novo = (Nodo)f.getElemento();
addOrder(novo,k,x);
}

}
}

public void novoFilho(int k, String x){
if (isEmpty()==false){
addOrder(root,k,x);
}
else
setRoot(k,x);
this.size++;
}


public int getAltura(){
return altura;
}

private ArrayList ImpFilho(Nodo n, int lin, ArrayList imp){
lin++;

ListaFilho lF = n.getlFilhos();
Filho f = lF.getHead();
if (imp.size()==lin){
imp.add("");
}
imp.set(lin,imp.get(lin)+"(");
while (f!=lF.getTail()){
if (f.getElemento()==null){
imp.set(lin, imp.get(lin)+"[]");
}
else{
imp.set(lin,imp.get(lin)+""+((Nodo)f.getElemento()).getChave());

imp = ImpFilho((Nodo)f.getElemento(),lin,imp);
}
f=f.getProximo();
}
if (f.getElemento()==null){
imp.set(lin, imp.get(lin)+"[]");
}
else{
imp.set(lin,imp.get(lin)+""+((Nodo)f.getElemento()).getChave());
imp = ImpFilho((Nodo)f.getElemento(),lin,imp);
}
imp.set(lin,imp.get(lin)+")");
return imp;
}

public ArrayList ImpAravore(){
ArrayList imp = new ArrayList();
Nodo n = getRoot();
if (n!=null){
int lin=0;
imp.add("("+n.getChave()+")");

imp = ImpFilho(n,lin,imp);
}else
imp.add("[Vasio]");
return imp;

}


private ArrayList ImpFilhoElemento(Nodo n, int lin, ArrayList imp){
lin++;

ListaFilho lF = n.getlFilhos();
Filho f = lF.getHead();
if (imp.size()==lin){
imp.add("");
}
imp.set(lin,imp.get(lin)+"(");
while (f!=lF.getTail()){
if (f.getElemento()==null){
imp.set(lin, imp.get(lin)+"[]");
}
else{
imp.set(lin,imp.get(lin)+""+((Nodo)f.getElemento()).getElemento());

imp = ImpFilhoElemento((Nodo)f.getElemento(),lin,imp);
}
f=f.getProximo();
}
if (f.getElemento()==null){
imp.set(lin, imp.get(lin)+"[]");
}
else{
imp.set(lin,imp.get(lin)+""+((Nodo)f.getElemento()).getElemento());
imp = ImpFilhoElemento((Nodo)f.getElemento(),lin,imp);
}
imp.set(lin,imp.get(lin)+")");
return imp;
}

public ArrayList ImpAravoreElemento(){
ArrayList imp = new ArrayList();
Nodo n = getRoot();
if (n!=null){
int lin=0;
imp.add("("+n.getElemento()+")");

imp = ImpFilhoElemento(n,lin,imp);
}else
imp.add("[Vasio]");
return imp;

}

private String findElemento(int k, Nodo n, int cc){

Filho f = n.getFilho(k);

if (f.getElemento()!=null){
n = (Nodo)f.getElemento();
for(int i=0;i


Nodo


package ArvoreGenerica;

import java.util.ArrayList;

public class Nodo {
private ArrayList chave;
private ArrayList elemento;
private Nodo pai;
private ListaFilho lFilhos;
private int nivel;

public Nodo(int k, String x, Nodo Pai){
chave = new ArrayList();
chave.add(k);

elemento = new ArrayList();
elemento.add(x);

this.pai = Pai;

lFilhos = new ListaFilho();
lFilhos.insertFist(null);
lFilhos.insertFist(null);

if (Pai!=null)
nivel = Pai.getNivel()+1;
}

public boolean chaveMenor(int k){
if (chave.get(0)>k)
return true;
return false;
}

public boolean chaveMaior(int k){
if (chave.get(chave.size()-1)k){//Se a 1ª chave for maior do k, então insere no começo
this.chave.add(null);
this.elemento.add(null);
for(int i=this.chave.size()-1;i>0;i--){
this.chave.set(i,this.chave.get(i-1));
this.elemento.set(i, this.elemento.get(i-1));
}
this.chave.set(0,k);
this.elemento.set(0, x);
lFilhos.insertFist(null);
}
else
if (chave.get(chave.size()-1)chave.get(pos)){
pos++;
}
Filho f = lFilhos.getHead();
for (int i=0;i getChave(){
return chave;
}

public ListaFilho getlFilhos(){
return lFilhos;
}

}


ListaFilho


package ArvoreGenerica;

public class ListaFilho {
private Filho Head;
private Filho Tail;
private int Size;

public ListaFilho(){
Head = null;
Tail = null;
Size = 0;
}

public void insertFist(Object elemento){
Filho novo = new Filho(elemento);

novo.setProximo(Head);
Head = novo;
Size++;
if (Tail==null)
Tail=novo;
}

public void insertLast(Object elemento){
Filho novo = new Filho(elemento);
if (Tail!=null){

Tail.setProximo(novo);
Tail = novo;
Size++;
}
else
{
insertFist(elemento);
Tail=Head;
}
}

public Object removeFirst(){
Filho nodo = Head;
Head = nodo.getProximo();
Size--;
return nodo;
}

public Object removeLast(){
Filho nodo = Head;
while (nodo.getProximo()!=null){
Tail = nodo;
nodo = nodo.getProximo();
}
Tail.setProximo(null);
Size--;
return nodo;

}

public Object [] RetornaLista(){
Object [] lista = new Object[Size];

Filho nodo = Head;

int i=0;
while(nodo!=null){
lista[i]=nodo.getElemento();
i++;
nodo = nodo.getProximo();
}

return lista;

}

public Filho getHead(){
return this.Head;
}

public Filho getTail(){
return this.Tail;
}

public int getSize(){
return Size;
}
}


Filho


package ArvoreGenerica;

public class Filho {
private Object Elemento;
private Filho Proximo;

public Filho(Object elemento){
Elemento = elemento;
Proximo = null;
}

public Object getElemento(){
return Elemento;
}

public void setElemento(Object elemento){
Elemento = elemento;
}

public Filho getProximo(){
return Proximo;
}

public void setProximo(Filho proximo){
Proximo = proximo;
}
}

1 de abril de 2010

Google Wave agora é pra valer

Google afirma nesta quinta-feira que irá transportar todos os usuários do seu serviço de e-mail, Gmail, para a mais revolucionaria ferramenta criada pela empresa, Google WAVE.

Esta migração deverá afetar todos os usuários do Gmail e ocorrerá da mesma maneira que foi feita com o novo Orkut, onde usuários serão escolhidos pela empresa e poderão enviar convites para outros usuários, isso durante 3 meses e depois deste período todos os usuários serão migrados automaticamente.

Os especialistas afirmam que é uma ótima estratégia do Google, pois o Wave possui diversas ferramentas que revoluciona a forma de se comunicar pela WEB.

Caso deseja ser um dos primeiros a migrar sua conta do Gmail para o Google Wave acesse o link abaixo, onde também encontrará a reportagem completa.

Acesse o link

\º/ - primeiro post



Feliz 1º de Abril