Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

sábado, 18 de junho de 2011

...tentando entender Polimorfismo em Java! Pedi a meu amigo Ivan pra explicar.

By @Ivan_Lavanarc


Pois é.... nem só de hardware vive o homem! bora falar de coisa boa? Bora falar de java! Pedi a meu amigo e grande programador em Java, IVAN KNOW, pra falar um pouco sobre polimorfismo em java. blz então? ....


Um assunto abordado em todo curso que tem algum envolvimento com orientação a objeto é o Polimorfismo. Na minha vida de programador já vi muitas definições explicações sobre esse tema e a única coisa que fica clara é que Polimorfismo é uma palavra que vem do grego onde Poli significa muitos e morfus significa forma sendo assim a capacidade de assumir muitas formas. Até esse ponto todo mundo entende, mas quando começa o assunto de verdade, a maioria das pessoas que eu conheço (inclusive eu) não entende muita coisa e acaba tornando esse assunto algo evitado quando está escrevendo seus códigos. No entanto o Polimorfismo é uma propriedade da  Orientação a objeto muito útil que nos permite estruturar computacionalmente problemas reais com muito mais precisão.  Nesse artigo irei mostrar alguns exemplos de como o polimorfismo acontece na linguagem Java e qual são as vantagens de se utilizar esse recurso.

Na linguagem Java existem 3 tipos básicos de polimorfismo:  Paramétrico, Inclusão e Sobrecarga. O polimorfismo paramétrico é aquele no qual o tipo que o objeto vai assumir durante a execução do programa é passado a ele como parâmetro. As classes que tem essa propriedade de assumir tipos passados por parâmetros são conhecidas como classes genéricas.Um exemplo comum da aplicação desse tipo de polimorfismo se encontra quando utilizamos estruturas de dados já disponíveis no Java padrão como por exemplo a classe Vector. Veja o exemplo a seguir:


Figura 1. Exemplo 1.

Outro tipo de polimorfismo, que é talvez o mais utilizado, é o polimorfismo de sobrecarga no qual podemos escrever métodos com mesmo nome e diferentes parâmetros, dessa forma podemos de acordo com a forma de entrada proceder de forma diferente. Veja o exemplo:


Figura 2. Exemplo 2.


Agora chamamos os dois métodos e de acordo com a entrada eles, que parecem ser o mesmo, tem comportamentos diferentes

Figura 3. Exemplo Polimorfismo.


O terceiro tipo é o polimorfismo de inclusão, no qual construir um objeto do tipo Superclasse(classe pai) com o construtor de uma de suas subclasses(classe filha) . Esse tipo de polimorfismo é o mais discutido em sala de aula e é também o que a maioria das pessoas tem dúvida. No exemplo a seguir temos a classe “Pessoa” e a classe “PessoaFisica” que é herdeira da classe pessoa. A idéia é construir um objeto pessoa física numa variável do tipo Pessoa. A seguir mostrarei a estrutura das classes e um código utilizando o polimorfismo:


Figura 4. Classe Pessoa.

Figura 5. Pessoa Física.


Figura 6. Exemplo 3.


Esse último tipo de polimorfismo talvez seja o que traz mais vantagens para o programador, mas muitos programadores ao olharem esse código se perguntam “Qual a utilidade de construir uma classe pai com o construtor de uma classe filha? “. A resposta pra essa pergunta da pra fazer outro artigo(que eu pretendo fazer em breve), pois são muitas a ocasiões que esse recurso é muito útil. Mas, sucintamente, a utilidade desse tipo de polimorfismo é que em momentos diferentes do seu programa você vai precisar que um mesmo objeto se comporte de forma diferente mas esse assunto fica pra próxima.

quinta-feira, 16 de junho de 2011

... com meu TCC, por isso vou postar algo só pra descontrair!

Pois é, o bixo ta pegando.... mas um dia acaba (né possível!!)! To postando a realidade engenharística, nem sei quem escreveu isso, mas vi nesse site aki http://www.baixinho.net/o-que-e-ser-engenheiro/ (os baixinhos mandam.... \o/ #rá)

Vida de Engenheiro


* Você trabalha em horários estranhos (que nem as putas!) 

* Te pagam pra fazer o cliente feliz (que nem as putas!) 

* Seu trabalho sempre vai além do expediente (que nem as putas!) 

* Você é mais produtivo à noite (que nem as putas!) 

* Você é recompensado por realizar as idéias mais absurdas do cliente (que nem as putas!)

* Seus amigos se distanciam de você, e você só anda com outros iguais a você (que nem as putas!) 

* Quando vai ao encontro do cliente, você tem de estar sempre apresentável (que nem as putas!)

* Mas quando você volta, parece saído do inferno (que nem as putas!) 

* O cliente quer sempre pagar menos e quer que você faça maravilhas (que nem as putas!)

* Quando te perguntam em que trabalha, tem dificuldade de explicar (que nem as putas!) 

* Se as coisas dão errado, é sempre culpa sua (que nem as putas!) 

* Todo dia, ao acordar, você diz: NÃO VOU PASSAR O RESTO DA VIDA FAZENDO ISSO (que nem as putas)

Like a Boss!

sábado, 11 de junho de 2011

... com meu celular Motorola MOTOKEY™ YOUNG EDITION EX112!

Pois é... e eu pensando que ia finalmente ter um celular bom, “de marca”, dei adeus aos meus chingling e ai eis que o cel começa a ficar todo bugado! Blz que foi barato... mas por ser barato não quer dizer que tem que vir cheio de bug. Ok ok , bora começar a reza...

Tô falando desse celular aki:



Figura 1. Celular MOTOKEY™ YOUNG EDITION EX112 (http://lojatimbeta.vendapontocom.com.br/vitrine.asp?id=106470)

Bem, como mostra a Figura 1 esse cel tem como diferencial ter aplicativos para diversas redes sociais (que pelo menos no meu cel só funcionou uma vez!) e são por esses aplicativos que eu começo a relatar meu “causo” de estresse:

  • Orkut, twitter e Windows Live: primeiro mês consegui entrar beleza, depois o aplicativo nem abria mais. Pra entrar nesses redes sociais hj preciso usar o navegador normal, ou seja, aplicativos no cel só pra comer memória mesmo.
  • Facebook, Myspace e Youtube: hehehehe... esses estão blz!

Certo... se fosse só isso tava blz! O cel dito bom, porém o cara não consegue trocar o toque de mensagem (só pode trocar por alguns toques que já vem no cel), tipo... passei horas procurando o toque do morfador dos

 Power Rangers

para colocar como toque de mensagem e ai quando vou colocar no cel... quem disse que pode?? Não, não pode! ¬¬
Na moral como o cara faz um negócio que o usuário não pode personalizar da forma que quer? Tipo já até tinha me conformado com ele não ter a funcionalidade de bloquear as mensagens com senha, mas o negócio de trocar o toque da mensagem foi f...Certo... essa deixei passar tb!

 Ai os caras fazem um fone de ouvido com um botão que eu pensei... “humm... da pra atender o cel apertando nesse botão aki, massa ó!” Não, não da! ¬¬ Sem utilidade aparente. A principal coisa que ele deveria fazer (e acho que única) era poder atender o celular apertando nele, não sendo preciso pegar o cel e apertar em alguma tecla. Tem gente que faltou

ou dormiu

a aula engenharia de software quando o professor falou sobre USABILIDADE... Hehehe....

E agora o que me fez realmente relatar isso! A tela do celular congelar quando vc recebe uma mensagem!! Mano... q kié isso Motorola?? Assim... se eu receber uma mensagem às 5 da manhã e não ler a bendita, a tela fica congelada na hora que eu recebi a mensagem, logo, se for 10 da manhã e eu ainda não tiver lido a mensagem, no relógio do visor do cel vai ta dizendo que são 5 da manhã ainda (se ligaram?? Pois é... a hora que eu recebi a mensagem que ainda não foi lida). Pois é... e a pior parte. É ainda tem pior parte... Continuando o exemplo da mensagem de 5 da manhã... se vc colocar seu celular para despertar digamos 7 da manhã, ele NÃO vai tocar o alarme, pq o cel está congelado em 5 da manhã... vc vai acordar

Assim!

¬¬ ou seja, vc vai chegar atrasado na facul, ou no trabalho e não vai saber nem o que provocou isso... (maldito Motokey, mal consigo v seus movimentos!)

Like this!

quinta-feira, 9 de junho de 2011

... por não ter dinheiro para comprar um Adaptador/Conversor USB - XBee/XBee-Pro™. Por isso fiz o meu! =p

Quem é da área sabe do que to falando. É dessa belezinha aki:


Figura 1. Adaptador/Conversor USB - XBee/XBee-Pro™ (www.rogercom.com).

Esse conversor foi desenvolvido pela Rogercom e tem o mérito de se assemelhar ao pen drive, sendo assim, vc pode ter mais comodidade ao usá-lo. Como o blog é pra o pessoal que entende um pouco dessa tecnologia eu pensei em não explicar pra que serve essa placa, mas... então... essa placa serve pra vc configurar o XBee. Quando vc conecta essa placa no PC e abre o X-CTU (aplicativo da Maxstream disponibilizado para download gratuitamente) ele a reconhece como uma porta serial, então vc só precisa testar a conexão com o seu módulo XBee e depois configurá-lo.

Porém.... esse conversor custa em torno de R$ 109,00 (sem frete), ou seja, sou estudante, preciso me alimentar, não vou passar fome pra comprar isso (mas ate pensei em ficar uns dias sem comer sim). Então, o que fiz??
Fui pesquisar...
Em todo site que pesquisei sempre diziam que para implementar essa plaquinha era simples. Ai fiz essa liMda aki....


Figura 2. Adaptador XBee (feio, mas funciona!).

A diferença dessa minha placa para a ilustrada na Figura 1 é que a minha não é USB, ou seja vc vai ter que usá-la diretamente na porta serial do PC. Ota... vc tem que ter uma alimentação externa para a placa... eu uso uma bateria dessas de supermercado mesmo de 9 V. Fora isso... parecem placas gêmeas....

Para esse feito engenharístico vc vai precisar de (os preços podem variar, mas são mais ou menos esses valores ai mesmo):

1. 2- LED’s (Vermelho R$0,17 e Amarelo R$ 0,18)
2. Resistores:
·         1- 10KΩ (R$ 0,15)
·         1- 1KΩ (R$ 0,10)
·         1- 20 KΩ (R$ 0,10)
·         1 - 330Ω (R$ 0,10)
·         1- 220 Ω (R$ 0,19)
3. 1- Diodo 4007 (R$ 0,15)
4. 1- Regulador de tensão 7805 (R$ 1,00)
5. 1- MAX232 (R$ 1,96)
6. 2 - Soquetes para o XBee (R$ 2,50)
7. Capacitores:
·         4- 1 µF (R$0,15)
·         1- 470 µF (R$ 1,65)
·         2- 47 µF (R$ 0,39)
·         2- 100nF (R$ 0,10)
8. 1-Borne (R$ 0,59)
9. 1 - LM1117 (R$ 1,50)
10. 1 – DB9 (Fêmea) (R$ 0,59)
11. Placa de cobre para o circuito 10x5,5cm (R$ 3,00).

Somando tudo, vc vai ter sua placa por mais ou menos R$ 18,01, ou seja, economia de.... R$ 109,00 + R$ 40,00 (de frete se vc morar em Petrolina) dá R$ 149,00 - R$ 18,01 = R$ 130,99 LOLLLLLLLLLLL. 
Depois que vc comprar isso tudo ai, é só montar o seguinte circuito:


Figura 3. Circuito Adaptador XBee (Clique na figura pra ampliar).

Não, não vou postar o layout da placa, ai é querer d+ né? Então só uma sugestão (mas é importante que vc faça isso) monte seu circuito em protoboard antes de sair “queimando” placas por ai e.... sempre verifique a tensão que está chegando no MAX232 e no XBee (antes de conectá-los a placa). Valeu e boa sorte...

quarta-feira, 8 de junho de 2011

... tentando conectar meu módulo Xbee no software X-CTU e sempre aparecia a mensagem "unable to communicate with modem"!

Há pouco tempo estou utilizando os módulos Xbee para fazer comunicação sem fio, porém nesses últimos dias me deparei com alguns problemas.

1º o Xbee (Xbee-Pro ZB  (S2 -> não isso não é um coração.... leia-se “ésse dois”, “série dois”))que eu estava utilizando era emprestado, logo, tive que devolver... ¬¬

2º comprei um par, porém meu amigo, e parceiro de laboratório, me convenceu que poderíamos comprar um módulo mais barato e que poderíamos obter com ele o mesmo resultado. Como eu gosto de mexer em time que ta ganhando, acabei comprando esse mais barato, o XB24-ZB...

Quando meu professor orientador descobriu a “besteira” que eu tinha feito, ele disse:
- Quero v vc fazer esses módulos funcionarem de forma que os dois possam enviar e receber informações simultaneamente.
Tipo, o teacher achava que só os módulos que fossem PRO, poderiam fazer essa PROeza (piadinha infame....¬¬). Me desafiou véi....

Fui pesquisar...

Como sou pior que menino ruim, fui logo fuçar, primeiro claro como todo bom estudante que gosta de pegar as coisas tudo prontinhas... fui no rogercom.com (propaganda aê), entao tentei configurar os dois bixos como COORDENADOR AT.... parará e pá... fiz igual o cara disse... mas algo de estranho aconteceu, não consegui mais conectar o meu modulo Xbee....

Sempre que tentava conectar me aparecia a seguinte mensagem: “unable to communicate with modem”. Tente baixar a nova versão do X-CTU, atualizar o firmware, mas nada... pronto queimei!

Pesquisa vai pesquisa vem... encontrei num site o cara “explicando” (só consegui entender o que ele fez depois de quase uma hora! obs.: todo mundo que me conhece sabe que é exagero, mas.... quero dizer que o cara explicou muito ruim) como ele resolveu o problema dele que era o mesmo do meu.

Então... primeiro vamos ao erro. “unable to communicate with modem”, o X-CTU diz que o erro pode estar na escolha do baud rate, que podem estar diferentes ( o do dispositivo com o do X-CTU) , problemas com a porta serial ou a memória foi corrompida.  Pronto, o moço cheio de sorte como eu escolhi a última alternativa “memória corrompida”.
Agora vamos ao que interessa.... como resolvi!

1º conectei o adaptador USB no computador sem o módulo Xbee.

2º fui na aba Modem Configuration e coloquei as configurações default do meu módulo.

Modem XBEE: XB24-ZB
Function Set: Zigbee Coordinator AT
Version: 2064

3º mandei escrever “Write” (ainda sem o módulo Xbee conectado ao adaptador USB)
Quando ele termina de escrever aparece uma janela com algumas informações, nessa hora vc inseri o módulo Xbee na placa USB (sem desconectar do PC). Após conectado aperte o botão de reset do conector USB.  A janela de informações irá desaparecer e a escrita será feita no módulo corretamente... né fácil?? 

Pois é.... ai voltando ao desafio principal... fazer os dois dispositivos enviarem e receber informações....
Que fiz, que fiz?? Fui pesquisar.... ai encontrei essa vídeo aula (http://www.blogelectronica.com/TEMP/FLASH/ZIGBEE/XBEE_demo2.htm)... bem simples mesmo (porém em espanhol).... mas no mais é só o seguinte:

1º Coloque um Xbee no adaptador USB e abra o X-CTU, la vc vai configurá-lo como Zigbee Router AT e colocar um nome para identificá-lo no NI (no meu caso eu coloquei Roteador), por fim escreva.

2º coloque o outro Xbee e configure como Zigbee Coordinator AT e escreva.
Depois disso, com os dois módulos ligados, porem só o módulo que será o Coordenador precisa estar conectado ao computador, o outro pode estar só ligado a fonte mesmo.

No X-CTU, e com o Xbee que será coordenador conectado ao PC, vá na aba terminal e digite:
+++ (após uns segundos aparecerá a resposta OK)
ATND (irão aparecer informações sobre os módulos que foram encontrados pelo coordenador)
Após identificar o seu módulo é necessário apenar digitar o comando:
ATDNRoteador (tipo, ATND”nomeDoOutroMódulo”)
Ele responderá com OK e em seguida vc só precisa digitar WR (para escrever) ou ir até a aba Modem Configuration e clicar em “Write”.

terça-feira, 7 de junho de 2011

... com as pessoas me perguntando como fazer pra ter uma pasta protegida por senha sem utilizar um software!

Todo mundo sempre tem “aqueles” arquivos que não querem que todos acessem, minto?? Mas nem todo mundo sabe como bloquear o acesso sem a utilização de um software que faça isso. Então, por isso pensei em postar esse pequeno tutorial pra mostrar como é simples o bloqueio dessas pastas.

OBS: Leia o tutorial por completo antes de começar!
1º - Primeiro, claro, você deve criar uma pasta onde quiser com qualquer nome dentro dessa pasta, crie um arquivo.txt (no bloco de notas) com o seguinte comando:


cls

@ECHO OFF
title Folder Private
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST Private goto MDLOCKER
:CONFIRM
echo Tem certeza de que deseja bloquear a pasta (Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Private "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
echo Digite a senha para desbloquear pasta
set/p "pass=>"
if NOT %pass%== 123 goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Private
echo Folder Unlocked successfully
goto End
:FAIL
echo Senha Invalida
goto end
:MDLOCKER
md Private
echo Private foi criada com sucesso
goto End
:End



2º - Agora vá em Salvar Como e salve da seguinte forma: locker.bat 

3º - Volte para a pasta onde você salvou o arquivo bat.
4º - Abra o arquivo \'locker.bat\' dê ENTER 2 VEZES e irá aparecer uma pasta chamada \'Private\' . Essa será a pasta que ficará escondida e só será aberta com a senha que você escolheu.
5º - Depois ter criado a pasta \'Private\', clique novamente sobre o arquivo
\'locker.bat\' e irá aparecer a janelinha do Dos .. a seguinte pergunta será feita:


Tem certeza de que deseja bloquear a pasta (Y / N)

Digite Y e dê ENTER 2 VEZES

Perceba que a pasta \'Private\' desapareceu...

Ela está agora oculta e só será aberta quando clicar novamente no arquivo
\'locker.bat\', pois aí será solicitada a senha, com a seguinte frase

Digite a senha para desbloquear a pasta:

Senha padrão : 123

Caso queira mudar a senha

Antes de salvar o texto Digite CTRL + F e procure por 123 e troque pela senha que você quiser.