Escrevendo Classes com Prototype 1.6+
Outubro 18, 2007
Não tenho dúvidas quanto ao poder da biblioteca Prototype, quando combinado com o script.aculo.us então fica melhor ainda!
A idéia deste post é apenas ilustrar como escrever uma classe javascript usando o prototype em uma outra oportunidade falo alguma coisa sobre o script.aculo.us.
A primeira coisa a se fazer é criar a classe, lembre-se estou utilizando Prototype 1.6.0RC1. É importante saber que a função initialize é uma espécie de construtor, ou seja, é onde você pode inicializar os atributos necessários para o funcionamento da sua classe, o exemplo abaixo ilustra a inicialização de um atributo chamado inputField, onde vou armazenar um id para um input type text.
Quando a classe é instanciada, os atributos e métodos devem ser acessados com a palavra this se você tentar acessar sem this o javascript não reconhecerá o seu atributo e/ou método.
var MinhaClasse = Class.create({
initialize: function(inputField){
this.inputField = inputField;
}
});
O próximo passo é definir algum método para nossa classe, o método click vai apenas executar um simples alert,
mas o mais importante deste exemplo é como vamos conectar o nosso inputField com o evento onClick. O prototype extende o DOM (Document Object Model), e adiciona alguns métodos muito úteis como por exemplo o observe.
Primeira coisa a se fazer é registrar o método click como um EventListener, com isso quando o evento for capturado, todos os atributos e métodos serão acessiveis dentro do método que esta sendo executado. Feito isso vamos começar a observar um evento, que em nosso exemplo será o onClick, para isso basta colocar apenas 'click' (o prototype se encarrega de fazer o resto!) e finalmente quando o evento acontecer o que executará, deve-se passar um método ou função, aqui utilizaremos um método chamado this.click. Outro método muito útil do prototype, é o Event.element, quem já utilizou javascript sabe como é complicado ter que ficar se preocupando com todos os browsers, aqui entra o Event.element ele já se preocupa com isso e nos entrega exatamente o que precisamos que é o target (ou o elemento que estamos observando). Finalmente um simples alert em nosso conteúdo!
var MinhaClasse = Class.create({
initialize: function(inputField){
this.inputField = inputField;
// registrando como um EventListener
this.click = this.click.bindAsEventListener(this);
// Aqui estamos observando o evento click no nosso inputField
$(this.inputField).observe('click', this.click);
},
click: function(event){
var element = Event.element(event);
alert(element.value);
}
});
Pronto agora é so salvar como MinhaClasse.js ou qualquer nome que você desejar, incluir primeiro o prototype.js e então MinhaClasse.js em sua página. Para utilizar a classe é necessário ter uma instância, você pode colocar dentro da tag body onLoad="" como no exemplo abaixo:
<html>
<head>
<script type='text/javascript' src='prototype.js'></script>
<script type='text/javascript' src='MinhaClasse.js'></script>
</head>
<body onLoad='new MinhaClasse(\'id_input\');'>
<input type='text' id='id_input' />
</body>
</html>
Claro que o exemplo é simples, mas é apenas a idéia do poder e do que é possível fazer, aconselho sempre que estiver desenvolvendo com prototype de uma olhadinha na documentação do prototype que tem muitas informações úteis e pequenos exemplos!
A ciência de amarrar o tênis!
Agosto 26, 2007
Eu sempre achei interessante as diversas formas de amarrar o tênis, mas eu nunca aprendi, ficava olhando facinado, tentando imaginar como fazer, claro isso a muito tempo atrás… sei lá talvez uns 15 anos atrás… ontem por um acaso, recebi em uma lista de amigos essas “diversas” formas de amarrar o tênis… achei muito legal e acho que deveria ser obrigatório os pais fazerem um curso de como amarrar o tênis e passar essa experiência pro filho! Aproveite!
Onde esta o windows.h ?!?
Agosto 21, 2007
Poisé, fazia um bom tempo que eu não encostava no Microsoft Visual C++ … Precisei urgentemente utilizar no trabalho e claro, estava completamente enferrujado! Primeiro problema, o compilador não identificava o tipo DWORD … mas porque? faltava a definição do DWORD que se encontra na biblioteca windows.h … fui faceiro dar um #include “windows.h” …
Não funcionou, o compilador não encontrava a biblioteca windows.h! E agora o que fazer??? Um simples download de 384 Mb do microsoft SDK resolve o problema! Após o download feito e instalado o SDK ainda tem o passo da configuração do ambiente de desenvolvimento, como setar o diretório de executáveis, setar o diretório de bibliotecas e includes, não vou dar o passo a passo, pois se encontra no site da microsoft, da uma passadinha lá para maiores detalhes, basta clicar aqui (Using the Platform SDK)
Você tem amor a vida?
Abril 23, 2007
Amar a vida não é simplismente dizer: Eu amo a mim mesmo e minha vida, mas é fazer valer a pena, é buscar a tua paz interior, realização e felicidade! Cada um tem um objetivo na vida o meu é ter qualidade de vida! Bom, enfim, hoje em uma lista de amigos que participo recebi um video interessantíssimo a respeito do Túnel da morte, o mais impressionante é que o túnel é novo… Este túnel fica em Moscou – Rússia, bom não poderia ser em outro local! Os Russos tem a fama de serem “doidos”, me responda, como é o nome da brincadeira mortal com uma arma? Se você respondeu: Roleta Russa acertou! =)
Eu tenho uma admiração enorme pelos russos, eles normalmente são muito práticos e objetivos! Existe uma lenda na época da corrida espacial que era necessário desenvolver uma caneta para escrever na gravidade zero, os americanos gastaram bilhões de dólares em pesquisa para desenvolver uma caneta funcional no espaço, sabe o que os Russos fizeram? Usaram um lápis! =) óbvio, simples e objetivo!
O Grande problema deste túnel é devido a temperatura interna, que pode chegar até -38o. Celsius e para melhorar mais ainda passa embaixo de um rio, temperatura negativa + umidade = gelo, ou seja é como se tivessem jogado litros de óleo na pista!
Extensão: 2.080 metros
Cidade: Moscow (área de Lefortovo)
Inaugurado: 2003
Ano do video: 2006
Mais informações:
Explorando novos horizontes!
Abril 23, 2007
mergulho – Porto de Galinhas – PE, originally uploaded by justmarkus.
O que você faz para tentar quebrar a rotina? Você gosta de rotina?! Bom eu particularmente acredito e gosto de uma certa rotina, isso nos da segurança, muitas pessoas odeiam rotina… Minha rotina não é, digamos, suave… mas também não é nada extremamente estressante que eu não possa sobreviver!
O que realmente importa nisso tudo? Ter uma rotina? Viver cada dia diferente do outro? Isso vai depender do que te faz feliz! Não importa como você leva a vida, importa como você quer levar a SUA vida, não importa o que as pessoas dizem a respeito da tua vida, importa o que você sente a respeito dela! Experimentar, tentar é sempre válido, mas faça isso por vontade própria e não porque alguém acha que você deve faze-lo! Curtir coisas simples da vida para alguns é entediante, mas talvez é porque não saibam o verdadeiro valor! Relaxe e tente curtir o simples…
Se quiser tentar algo diferente, aconselho fortemente (caso nunca tenha feito), fazer um mergulho com equipamento, uma experiência maravilhosa, muito animal que tive a felicidade de experimentar.
Felicidade é relativa, se para alguns ir para balada todos os dias, se acabar na cerveja é tudo, para mim ter uma vida saudável, ter minha namorada perto e poder aproveitar minhas férias ao máximo é o que me trás felicidade!
Afinal, o único motivo pelo qual trabalhamos é para ter férias!
Você sabe o que realmente o cliente quer?
Abril 22, 2007
É impressionante como as coisas neste mundo funcionam… Acredito que este post não seja apenas para os profissionais de TI. Quanto mais gente, entre o cliente e os que realmente fazem o produto, mais distorcido fica o que o cliente deseja, é como aquela famosa brincadeira de telefone sem fio… a falta de comunicação, ou melhor a falta de comunicação perfeita entre todas as partes é um problema, que acredito eu, que estamos longe de encontrar a solução perfeita, pois tudo que nós ouvimos pode ser interpretado de maneiras diferentes!
A tirinha, ilustra perfeitamente a mensagem que desejo passar neste post e o pior de tudo é o marketing prometendo coisas que não existem. Clientes pensando que precisam de um produto que até faz almoço sozinho, esse é o tipo de coisa extremamente comum…
Possível solução?! PARA TUDO! Vamos aprender a nos comunicar, afinal somos racional não?! será mesmo?
Mas a vida continua… a comunicação ruim irá se repetir muitas vezes!
Hello World!
Abril 17, 2007
Bem, eu sendo um programador, não poderia deixar de fazer um post com um simples: “Hello World” essa frase é simplismente sensacional… quem é q nunca na vida (claro sendo um programador), deixou de escrever esta simples e mágica frase?! Convenhamos, essa frase merece um post e sendo o meu primeiro post em um blog considero esta frase perfeita! Mas, essa frase nos trás dores de cabeça, vejamos e se ela não aparece? vc quebra a cabeça e a maldita não aparece… vc sai frustrado da sua humilde tentativa de imprimir um simples Hello World! Mas como diz um ditado famoso porém mediocre “Quer moleza? Senta no pudim!”.
Este blog eu pretendo escrever de tudo, revoltas, raivas, novidades, besteiras, comentários infames e desnecessários sobre vida e minhas viagens filosóficas!
Bem vindo ao meu mundo bizarro e simples de viver!



