WML language
Posted by jaydson in theWebMind.org on 19 de novembro de 2009
Hoje vou falar um pouco sobre a WML, a linguagem que o TheWebMind interpreta.
A Web-Mind-Language(WML) é uma linguagem baseada no conceito NLP(Natural Language Processing), que é um campo da ciência da computação que se preocupa com a interação entre linguagens de computadores e humanas(naturais).
A linguagem se assemelha muito com a natural (português, inglês, espanhol, etc.), apenas seguindo algumas regras de sintaxe.
Este padrão, chamamos de Linguagem de Programação Discreta.
Em uma linguagem de programação discreta, as instruções são totalmente variáveis podendo inclusive sofrer alterações durante seu uso, ou por conta de costumes do próprio usuário, bem como idioma, dialeto, crenças, etc.
Um dos princípios mais básicos das linguagens de programação é que “tudo aquilo que não está certo, está errado”.
Já no conceito de programação discreta, nem tudo que não é reconhecido pela linguagem, está necessariamente incorreto.
Esta margem de erro possibilita tanto ao desenvolvedor, adaptar-se melhor à linguagem, quanto à própria linguagem de se adaptar e evoluir.
Programar em WML é extremamente simples, observem o exemplo abaixo:
Bom, nós sabemos que cada professor pode ter um ou mais aluno também sabemos que todo aluno possui muitos professor nos foi passado que o aluno tem um nome:string(100) e que o professor possui um nome:string(100)
De primeira olhando o código temos a impressão de que algo esta estranho, não?
Pois é asim mesmo que tudo funciona.
O príncipio é escrever o código de maneira natural, como se estivéssemos documentando o projeto, ou apenas escrevendo sobre ele.
Feito isso, a engine do Mind irá aplicar uma série de regras em cima do código, e interpretará o conhecimento que lhe foi passado.
Com o código acima, o Mind consegue gerar diversas saídas como Diagrama de Entidade e Relacionamento, Dicionário de Dados, Código SQL, e até mesmo gerar código usando um módulo específico.
Abaixo algumas das saídas:
Código SQL gerado pelo código feito acima:
/*######################################################
# Generated by Mind 02:58 11/19/2009 #
# Generate PostgreSQL DataBase Commands #
######################################################*/
/* DDL: table professor */
CREATE SEQUENCE professor_seq;
CREATE TABLE professor
(
pk_professor integer default nextval('professor_seq') unique not null,
nome varchar(100),
PRIMARY KEY(pk_professor)
);
/* DDL: table aluno */
CREATE SEQUENCE aluno_seq;
CREATE TABLE aluno
(
pk_aluno integer default nextval('aluno_seq') unique not null,
nome varchar(100),
PRIMARY KEY(pk_aluno)
);
/* DDL: table professor_aluno */
CREATE SEQUENCE professor_aluno_seq;
CREATE TABLE professor_aluno
(
pk_professor_aluno integer default nextval('professor_aluno_seq') unique not null,
fk_professor integer ,
fk_aluno integer ,
PRIMARY KEY(pk_professor_aluno)
);
/* Adding Foreign Keys */
ALTER TABLE professor_aluno ADD CONSTRAINT professor_aluno_professor FOREIGN KEY (fk_professor) REFERENCES professor(pk_professor) MATCH FULL;
ALTER TABLE professor_aluno ADD CONSTRAINT professor_aluno_aluno FOREIGN KEY (fk_aluno) REFERENCES aluno(pk_aluno) MATCH FULL;
Diagrama ER:

Digrama ER
Abaixo segue um vídeo curto que mostra como porgramar WML utilizando a IDE do Mind:
Por hoje é isso.
Em breve mais posts sobre esta incrível ferramenta.
Por enquanto acessem o site e a documentação:
Como fazer mais em aplicações RIA escrevendo menos
Posted by jaydson in Javascript, Jquery on 18 de novembro de 2009
Quando falamos em aplicações RIA utilizando Javascript, logo pensamos em uma biblioteca que nos auxilie na construção dessas aplicações.
Dentre uma infinidade de bibliotecas e frameworks existentes atualmente, o jQuery continua sendo minha alternativa preferida.
Sua simplicidade e ao mesmo tempo robustez proporcionam diversas funcionalidades indispensáveis no desenvolvimento de uma aplicação rica.
Juntamente com o Felipe Nascimento, palestrei na Target Trust (empresa de TI especializada em treinamentos aqui em Porto Alegre) nesta terça-feira(17/11/2009) sobre a biblioteca jQuery.
O objetivo da palestra foi introduzir o jQuery de maneira que os ouvintes pudessem compreender o poder da biblioteca e do Javascript em si.
Quem teve a oportunidade de acompanhar a palestra conheceu um pouco da história do jQuery, sua origem e também ver as inúmeras possibilidades e funcionalidades.
Abaixo então seguem os slides:
TheWebMind – Um novo paradigma
Posted by jaydson in theWebMind.org on 16 de novembro de 2009
Como todos sabem, neste último sábado palestramos sobre o projeto TheWebMind no Tche Linux 2009.
A palestra explica o funcionamento da plataforma Mind, assim como a sintaxe da linguagem entre todas outras funcionalidades.
Estou preparando alguns exemplos sobre o uso do TheWebMind. Em breve posto aqui no Blog.
Segue abaixo os slides para quem não pode comparecer.
TheWebMind no TcheLinux 2009
Posted by jaydson in theWebMind.org on 10 de novembro de 2009
Para quem ainda não conhece, vale muito a pena dar uma estudada no projeto da qual me sinto muito orgulhoso de fazer parte, o TheWebMind.
Esse projeto tem um objetivo bem audacioso: Entender um problema e resolve-lo da melhor maneira possível. Claro que tudo isso no mundo do desenvolvimento de Software.
Quando vamos desenvolver um sistema precisamos inicialmente de um escopo. Após isso é feita a análise visando o sistema como um todo e por ai vai… Modelagem de banco de dados, Diagramas, Modelo de Classes etc.
Existem diversas metodologias, e cada sistema é único, porém muitas tarefas acabam se repetindo.
Leia o resto desse post »
Extreme JavaScript Performance
Posted by jaydson in Javascript on 9 de novembro de 2009
Acabei de ler aqui os slides do Thomas Fuchs, que para quem não conhece, é um dos Gurus do Javascript.
O Thomas além de ser o criador da biblioteca Script.aculo.us é membro do core da bilbioteca Prototype, e semana passa anunciou o Scripty2.
O Scripty2 nada mais é do que o próprio Script.aculo.us porém totalmente reescrito e otimizado.
Javascript levado a sério
Posted by jaydson in JSON, Javascript, Jquery, Palestras on 23 de outubro de 2009
Javascript é a linguagem de script mais popular da internet.
Porém, mesmo com toda essa fama, o Javascript ainda é incompreendido.
Segundo Douglas Crockford, um dos mestres da linguagem, essa incompreensão tem varias origens.
Este foi um dos tópicos na palestra que fiz na III Mostra de iniciação científica do Senac-RS.
Javascript – Problema com Evento Change
Posted by jaydson in Browsers, Javascript, Jquery on 14 de outubro de 2009
Semana passada deparei-me com um problema no Internet Explorer (Déjà vu).
A funcionalidade que precisavamos implementar era bem simples:
Verificar se o formulário foi alterado. Ou seja, se o usuário está na página e resolve simplesmente sair e o formulário foi alterado, precisavamos alerta-lo.
O que me ocorreu na hora foi utilizar o Evento change do <form>.
Leia o resto desse post »
Capturar erros Ajax com jQuery
Posted by jaydson in Javascript, Jquery, Jquery-Plugins on 15 de setembro de 2009
Capturar erros Ajax é mais uma tarefa que o jQuery nos da uma boa ajuda.
O que quero dizer com isso é que a biblioteca nos fornece uma série de informações úteis que as vezes passam desapercebidas pelos desenvolvedores.
A primeira coisa a se notar é o evento error.
Neste evento podemos passar uma função(callback) que será executada quando a requisição falhar. São passados 3 parâmetros para esta função:
O objeto XMLHttpRequest, uma String que descreve o tipo do erro que aconteceu e um objeto exceção(opcional).
Uma boa observação é que nunca teremos o evento Success e o evento Error juntos na mesma requisição(meio óbvio isso).
Javascript e Acessibilidade
Posted by jaydson in Javascript on 2 de setembro de 2009
Capitulo 1 – Uma discussão e tanto.
Coloquei o título “Javascript e Acessibilidade“, pois foi esse o causador de uma das maiores threads no grupo Javascript Brasil.
O debate iniciou quando um dos usuários perguntou a opnião dos participantes do grupo sobre alguns sites que ele havia desenvolvido:
http://www.congressoatitude.com.br
http://www.aredesforgirls.com.br
Pessoalmente gostei bastante dos 2 sites. Mas a pergunta dele era no quesito acessibilidade, e foi ai que as coisas esquentaram.
Para minha surpresa muitas respostas guiavam para a não utilização de Javascript, ou pelo menos para dosagem de seu uso.
jQuery Marcar / Desmarcar CheckBoxes
Sabem quando temos uma lista bem grande de <inputs> do tipo checkbox, onde o usuário terá de selecionar quais são as opções desejadas?
Exemplo:
Check1
Check2 Check3 Check4 Check5 Check6