﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>Jaydson Gomes</title>
	<atom:link href="http://jaydson.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://jaydson.org</link>
	<description>Desenvolvimento Web e outras coisas</description>
	<lastBuildDate>Thu, 12 Aug 2010 02:09:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>pt</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
		<item>
		<title>Zend &#8211; registerAutoload is deprecated</title>
		<link>http://jaydson.org/zend-registerautoload-is-deprecated/</link>
		<comments>http://jaydson.org/zend-registerautoload-is-deprecated/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 02:07:59 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=614</guid>
		<description><![CDATA[Após atualizar a versão do Zend Framework tive problema com o registerAutoload.
Isso porque desde a versão 1.8 o Zend_Loader::registerAutoload está obsoleto.
Meu  código  estava mais ou menos assim:


include('Zend/Loader.php');
Zend_Loader::registerAutoload();



Para solucionar o problema basta usar o Zend_Loader_Autoloader.
Em minha implementação apenas o trecho abaixo resolveu o problema:


include('Zend/Loader/Autoloader.php');
$autoloader = Zend_Loader_Autoloader::getInstance();



]]></description>
			<content:encoded><![CDATA[<p>Após atualizar a versão do <a title="Zend Framework" href="http://framework.zend.com/" target="_blank">Zend Framework</a> tive problema com o registerAutoload.<br />
Isso porque desde a versão 1.8 o Zend_Loader::registerAutoload está obsoleto.<br />
Meu  código  estava mais ou menos assim:</p>
<pre>
<pre class="brush: php;">
include('Zend/Loader.php');
Zend_Loader::registerAutoload();
</pre>
</pre>
<p></p>
<p>Para solucionar o problema basta usar o <a title="http://framework.zend.com/manual/en/zend.loader.autoloader.html" href="http://framework.zend.com/manual/en/zend.loader.autoloader.html" target="_blank">Zend_Loader_Autoloader</a>.<br />
Em minha implementação apenas o trecho abaixo resolveu o problema:</p>
<pre>
<pre class="brush: php;">
include('Zend/Loader/Autoloader.php');
$autoloader = Zend_Loader_Autoloader::getInstance();
</pre>
</pre>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/zend-registerautoload-is-deprecated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Javascript &#8211; Recursão para executar N vezes uma função</title>
		<link>http://jaydson.org/javascript-recursao-para-executar-n-vezes-uma-funcao/</link>
		<comments>http://jaydson.org/javascript-recursao-para-executar-n-vezes-uma-funcao/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 05:33:17 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=598</guid>
		<description><![CDATA[Para quem gosta de desafios de programação em Javascript, encare esse post como um, senão encare apenas como uma dica mesmo.
Se encarou como desafio, tente implementar uma solução diferente(melhor?) para o problema:
- Criar uma função genérica (leia-se reuzável) que execute uma determinada função X vezes em Y milisegundos.
Sacaram a ideia?
Imaginem uma aplicação onde precisamos chamar [...]]]></description>
			<content:encoded><![CDATA[<p>Para quem gosta de desafios de programação em Javascript, encare esse post como um, senão encare apenas como uma dica mesmo.<br />
Se encarou como desafio, tente implementar uma solução diferente(melhor?) para o problema:<br />
- Criar uma função genérica (leia-se reuzável) que execute uma determinada função X vezes em Y milisegundos.<br />
Sacaram a ideia?<br />
Imaginem uma aplicação onde precisamos chamar diversas vezes uma função em um determinado intervalo.<br />
Este é o desafio, porém o legal é fazer isso em uma única função e sem usar variáveis auxiliares.<br />
<span id="more-598"></span><br />
Minha implementação segue abaixo:</p>
<pre class="brush: jscript;">
function _(i,m,callback){
     setTimeout(function(){
       return i&gt;1?_(--i,m,callback):false;
    },m);
    callback(i);
}
</pre>
<p>Simples, não?<br />
Mais abaixo vou explicar o que acontece.<br />
Com essa função é possível fazer implementações deste tipo:</p>
<pre class="brush: jscript;">
/*
   Irá executar 5 vezes no intervalo de 500 milisegundos a função anônima abaixo.
*/
_(5,500,function(){
        // XHR buscando um JSON
	$.getJSON('sample.json',function(jsonObject){
		console.log(jsonObject);
	});
});

/*
   Irá executar 44 vezes no intervalo de 1 segundo a função anônima abaixo.
*/
_(44,1000,function(){
       console.log('X');
});
</pre>
<p>Bom, esta função resolveu um problema específico que enfrentei, e resolvi posta-la para quem possa precisar um dia.<br />
Mas o interessante é sua implementação em poucas linhas e sua recursividade.</p>
<p>Explicação:<br />
Notem que a função recebe 3 parâmetros (i,m,callback) onde:<br />
i = Quantidade de vezes que a função deve ser executada<br />
m = Intervalo em milisegundos<br />
callback = Função a ser executada</p>
<p>A primeira ação da função é executar o setTimeout() passando a função e os milisegundos.<br />
Logo uma operação ternária para verificar se a quantidade é maior que 1. Porque isso?<br />
Porque para economizar variáveis auxiliares e outras possíveis complicações, o que fiz foi decrementar a quantidade de vezes, ou seja, se a função deve ser executada 5 vezes, começo em 5 até chegar a 1.<br />
Se ainda é maior então chamamos a mesma função recursivamente, e claro, decrementando a quantidade de vezes.<br />
<i><b>OBS:</b> O decremento à esquerda (&#8211;i) faz com que a variável i seja decrementada antes de ser passada para a função.</i><br />
A cada chamada, a função passada é executada e ainda devolve o índice atual para possível manipulação.</p>
<p>Enfim, esta foi minha solução, caso consigam desenvolver outra, ou já tenham feito algo parecido, postem ai! <img src='http://jaydson.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/javascript-recursao-para-executar-n-vezes-uma-funcao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>jQuery &#8211; Customizando expressões</title>
		<link>http://jaydson.org/jquery-customizando-expressoes/</link>
		<comments>http://jaydson.org/jquery-customizando-expressoes/#comments</comments>
		<pubDate>Wed, 26 May 2010 04:40:17 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Jquery]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=583</guid>
		<description><![CDATA[O jQuery é uma excelente biblioteca, e suas constantes atualizações e profissionalismo fazem com que nós programadores tenhamos uma potente arma na mão para solucionar qualquer problema.Mas mesmo o jQuery sendo tão completo, sempre haverá alguma situação ímpar em que ele não suprirá sua necessidade.Um dos motivos que levou o jQuery a chegar ao nível [...]]]></description>
			<content:encoded><![CDATA[<p>O jQuery é uma excelente biblioteca, e suas constantes atualizações e profissionalismo fazem com que nós programadores tenhamos uma potente arma na mão para solucionar qualquer problema.<br />Mas mesmo o jQuery sendo tão completo, sempre haverá alguma situação ímpar em que ele não suprirá sua necessidade.<br />Um dos motivos que levou o jQuery a chegar ao nível de biblioteca Javascript mais utilizada do mundo, além de sua excelente performance e extremo profissionalismo foi a facilidade e possibilidade de extender suas funcionalidades.<br />Hoje já são incontáveis os plugins que  existem para o jQuery.</p>
<p><span id="more-583"></span>Mas hoje venho falar de uma possibilidade muito interessante que mais uma vez devo a  dica ao <a title="Twitter Ricard Tomasi" href="http://twitter.com/ricardobeat" target="_blank">Ricardo Tomasi</a>, que é a customização de expressões.<br />Uma rápida pesquisa no Google e voces encontraram varios posts espalhados pelo mundo falando a respeito.<br />Customizar uma expressão consiste em incorporar ao jQuery um método que ele não possui nativamente.</p>
<p>Mas porque diabos fazer isso?<br />Acreditem, pode ser bem útil.</p>
<p>No curso de jQuery que estou ministrando na <a title="Target Trust" href="http://www.targettrust.com.br/web/" target="_blank">Target Trust</a>, ontem bolei um exercício simples para os alunos:</p>
<p><em><strong>&#8220;Mude a cor de fundo de todas as TD&#8217;s com indice ímpar da tabela com id tabela2&#8243;<br /></strong></em></p>
<p><em><span style="font-style: normal;">Sacaram a ideia?<br />Simples. O que eu queria, é que eles fizessem da maneira deles, usando um loop, verificando o <a title="Mod" href="http://pt.wikipedia.org/wiki/Opera%C3%A7%C3%A3o_m%C3%B3dulo" target="_blank">mod</a> do indice e assim aplicar o css no elemento, para então depois apresentar o <a title="Seletor :odd" href="http://api.jquery.com/odd-selector/" target="_blank">seletor odd</a> que faz exatamente isso, só que em uma linha.</span></em></p>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;"><em> </em></span></p>
<p><em> </em></p>
<p>$(&#8220;table td:odd&#8221;).css(&#8220;background-color&#8221;, &#8220;#bbbbff&#8221;);</p>
<p> </p>
<p><em> </em></p>
<p><em><span style="font-style: normal;">Tudo tranquilo, mas um dos alunos muito antenado achou o seletor e resolveu o problema facilmente!</span><span style="font-style: normal;"><br /></span><span style="font-style: normal;">Então mudei a estratégia, e pedi para ele implementar um algoritmo que apenas aplicasse o estilo nas TD&#8217;s com indice que fosse </span><span style="font-style: normal;"><a title="Numeros Primos" href="http://pt.wikipedia.org/wiki/N%C3%BAmero_primo" target="_blank">número primo</a></span><span style="font-style: normal;">.</span><span style="font-style: normal;"><br /></span><span style="font-style: normal;">Novamente o aluno conseguiu.</span><span style="font-style: normal;"><br /></span><span style="font-style: normal;">Foi ai que lembrei da possibilidade de customização das expressões!</span><span style="font-style: normal;"><br /></span><span style="font-style: normal;">Fiz a proposta para o aluno: Se tu conseguir criar uma expressão customizada que retorne elementos baseando-se nos numeros primos terá um post no meu blog!</span><span style="font-style: normal;"><br /></span><span style="font-style: normal;">Então ai esta. Abaixo segue o código implementado pelo aluno <a href='http://www.twitter.com/AndreLMPinto'>Andre Pinto</a> da turma de jQuery Maio/2010:</span></em></p>
<p> </p>
<pre>
<pre class="brush: jscript;">
jQuery.extend( jQuery.expr[':'], {
	prime: function(a, index){
		function isPrime(num){
			var numHalf = num / 2, counter, divCheck;
				if (num === 2){
					return true;
				}
				if (num &amp;amp;lt; 2 || numHalf === Math.floor(numHalf) ||
                                   num !== Math.floor(num)){
					return false;
				}else{
					for (counter = 3; counter &amp;amp;lt;= Math.sqrt(num);
                                              counter += 2){
						divCheck = num / counter;
						if (divCheck === Math.floor(divCheck)) {
							return false;
						}
					}
				return true;
			       }
		}
           return isPrime(index);
     }
});</pre>
</pre>
<p>
Para usar a expressão:</p>
<pre>
<pre class="brush: jscript;">
$('#tabela2 td:prime').css( { 'background-color' : 'red' } );
</pre>
</pre>
<p>
</p>
<p>
Parabéns ao André pela implementação.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/jquery-customizando-expressoes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Dissemine o conhecimento</title>
		<link>http://jaydson.org/dissemine-o-conhecimento/</link>
		<comments>http://jaydson.org/dissemine-o-conhecimento/#comments</comments>
		<pubDate>Thu, 06 May 2010 04:00:58 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Software Livre]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=566</guid>
		<description><![CDATA[Hoje resolvi mudar um pouco o foco nesse post.
Nada de código&#8230; e sim um pouco de filosofia[barata].
Quando convivemos diariamente com pessoas não adeptas ao software livre , percebemos claramente que as divergências de pensamento são enormes.
Desde a escolha por uma ferramenta, ou metodologia e até mesmo sobre a vida.
Hoje, vasculhando meus documentos, encontrei um arquivo txt com [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">Hoje resolvi mudar um pouco o foco nesse post.<br />
Nada de código&#8230; e sim um pouco de filosofia[barata].</div>
<div>Quando convivemos diariamente com pessoas não adeptas ao software livre , percebemos claramente que as divergências de pensamento são enormes.<br />
Desde a escolha por uma ferramenta, ou metodologia e até mesmo sobre a vida.</div>
<div>Hoje, vasculhando meus documentos, encontrei um arquivo txt com o nome &#8220;Leia-me novamente&#8221;. Curioso, fui abrir logo para ver o que o meu cérebro tinha me preparado.<span id="more-566"></span><br />
Ao abrir, encontro um pequeno texto que me faz refletir sobre muitas coisas e também me fez chegar a este post.</div>
<div>O texto é do filósofo francês, <a title="Michel Serres" href="http://pt.wikipedia.org/wiki/Michel_Serres" target="_blank">Michel Serres</a> e pra mim, tem tudo a ver com software livre.</div>
<blockquote>
<div>Se você tem R$20,00 e me dá R$20,00, no final, eu tenho R$20,00 e você não tem mais nada.</div>
<div id="_mcePaste">Se você sabe um teorema e me ensina, ao final eu tenho o teorema, mas você o conserva também.</div>
<div id="_mcePaste">Então, o conhecimento não obedece às leis da troca mercantil, ele tem mesmo a virtude</div>
<div id="_mcePaste">de fazer exatamente o oposto&#8230;Em vez de um jogo de resultado nulo, ele suscita a multiplicação</div>
<div id="_mcePaste">do seu valor.</div>
<div id="_mcePaste"><em><strong>Michel Serres</strong></em></div>
</blockquote>
<div>Leiam e tirem suas próprias conclusões.</div>
<div>Para esse que vos escreve, disseminar o conhecimento é mais do que prazer.</div>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/dissemine-o-conhecimento/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>nodeJS &#8211; Instalação</title>
		<link>http://jaydson.org/nodejs-instalacao/</link>
		<comments>http://jaydson.org/nodejs-instalacao/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 05:20:35 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[nodeJS]]></category>
		<category><![CDATA[POSI]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=556</guid>
		<description><![CDATA[Como comentado no post anterior, agora o objetivo é fazer um passo a passo para instalação do nodeJS em seu ambiente.
Em teoria o node suporta todos os sistemas operacionais POSIX inclusive o Windows, mas segundo o site oficial, no momento o node está sendo testado no Linux, Mac e Solaris.
Para rodar o node é necessário [...]]]></description>
			<content:encoded><![CDATA[<p>Como comentado no post anterior, agora o objetivo é fazer um passo a passo para instalação do nodeJS em seu ambiente.<br />
Em teoria o node suporta todos os sistemas operacionais <a title="POSIX" href="http://pt.wikipedia.org/wiki/POSIX" target="_blank">POSIX</a> inclusive o Windows, mas segundo o site oficial, no momento o node está sendo testado no Linux, Mac e Solaris.<br />
Para rodar o node é necessário ter o <a title="Python" href="http://www.python.org/" target="_blank">Python</a> 2.4 ou superior instalado.<br />
Levando em consideração que o <a title="V8" href="http://code.google.com/p/v8/" target="_blank">V8</a> vem incluído no pacote do node, não existe nenhuma outra dependência.</p>
<p>A instalação do node não é nada complexa, porém exige alguns cuidados.<br />
Estou no Ubuntu, e seguindo as instruções do site, de primeira não funcionou.<br />
Agradeço aqui ao <a title="Ricardo Tomasi" href="http://twitter.com/ricardobeat" target="_blank">Ricardo Tomasi</a> pelas dicas sobre a instalação do node.  ;)</p>
<p><span id="more-556"></span></p>
<p>São poucos passos, abra o terminal e  execute estes simples comandos:</p>
<pre>./configure
make
make install</pre>
<p>Se tudo funcionou, ou seja, não acusou nenhuma falha [FAIL] é porque o nodeJS foi instalado corretamente.<br />
No meu caso a falha ocorreu porque eu não tinha nenhum compilador GCC e G++.<br />
Bastou abrir o Synaptic, selecionar a categoria Development, procurar por G++ e pronto.<br />
G++ instalado agora o próximo passo é executar:</p>
<pre>sudo make test</pre>
<p><span style="font-size: small;"><span style="font-size: small;">Feito. Agora vamos criar um clássico Hello World com o node.<br />
Parto do princípio que tudo deu certo até aqui, e que o node está instaldo e pronto pra usar.<br />
Crie um arquivo Javascript com o seguinte conteúdo:</span></span></p>
<p><span style="font-size: small;"><span style="font-size: small;"> </span></span></p>
<pre>var sys = require('sys'),
http = require('http');
http.createServer(function (req, res) {
        setTimeout(function () {
               res.writeHead(200, {'Content-Type': 'text/plain'});
               res.write('Hello World');
               res.close();
        }, 2000);
}).listen(8000);
sys.puts('Server running at http://127.0.0.1:8000/');</pre>
<p><span style="font-size: small;"><span style="font-size: small;">Salve o arquivo com o nome que desejar dentro da pasta <em>test </em>que foi criada na raiz do node.<br />
Para testar:</span></span></p>
<pre>node nome_do_seu_arquivo.js</pre>
<p><span style="font-size: small;">A mensagem no terminal deve ser essa: &#8220;<span style="font-family: monospace; line-height: 18px; font-size: 12px; white-space: pre;">Server running at http<span class="sh_symbol"><span class="sh_symbol">:</span></span><span class="sh_comment"><span class="sh_comment">//127.0.0.1:8000/<span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: small;">&#8220;</span></span></span></span></span></p>
<p><span style="font-size: small;"><span style="font-size: small;"><span style="font-family: monospace; line-height: 18px; font-size: 12px; white-space: pre;"><span class="sh_comment"><span class="sh_comment"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: small;"> Acesse com o Browser o endereço para visualizar a aplicação Hello World em funcionamento. </span></span></span></span></span></span></p>
<p><span style="font-size: small;"><span style="font-size: small;"><span style="font-family: monospace; line-height: 18px; font-size: 12px; white-space: pre;"><span class="sh_comment"><span class="sh_comment"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: small;">Bom, com a breve introdução e com esse exemplo é possível ter uma ideia do que é nodeJS. O próximo passo é estudar a <a title="nodeJS Documentação" href="http://nodejs.org/api.html" target="_blank">Documentação</a> que é bem rica.<br />
Fico por aqui, qualquer dúvida entrem em contato que tentarei ajudar. <img src='http://jaydson.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </span></span></span></span></span></span></p>
<p><span style="font-size: small;"><span style="font-size: small;"><span style="font-family: monospace; line-height: 18px; font-size: 12px; white-space: pre;"><span class="sh_comment"><span class="sh_comment"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: small;"><br />
</span></span></span></span></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/nodejs-instalacao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>nodeJS &#8211; Introdução</title>
		<link>http://jaydson.org/nodejs-introducao/</link>
		<comments>http://jaydson.org/nodejs-introducao/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 06:23:51 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[nodeJS]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=539</guid>
		<description><![CDATA[
Há tempos que penso em testar o nodeJS, mas só esta semana pude parar e dedicar um pouco de tempo a este obejtivo.
Meu intuito com este post é apenas &#8220;compilar&#8221; algumas informações sobre o node e passar adiante para aqueles que ainda não tiveram a oportunidade de conhecer.
O que mais me motivou a investigar o [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jaydson.org/wp-content/uploads/2010/03/nodejs.png" title="nodejs" rel="lightbox[539]"><img class="alignnone size-full wp-image-550" title="nodejs" src="http://jaydson.org/wp-content/uploads/2010/03/nodejs.png" alt="" width="420" height="111" /></a></p>
<p>Há tempos que penso em testar o <a title="nodeJS" href="http://nodejs.org/" target="_blank"><strong>nodeJS</strong></a>, mas só esta semana pude parar e dedicar um pouco de tempo a este obejtivo.<br />
Meu intuito com este post é apenas &#8220;compilar&#8221; algumas informações sobre o node e passar adiante para aqueles que ainda não tiveram a oportunidade de conhecer.<br />
O que mais me motivou a investigar o node, foi o próprio nome. node<strong>JS.<br />
</strong>Assim como todo aficcionado por Javascript, sempre quero saber tudo a respeito da linguagem, assim como o que está sendo feito com ela.<br />
O que mais me chamou a atenção foi o termo: &#8220;<strong><a title="Server Side Javascript" href="http://en.wikipedia.org/wiki/Server-side_JavaScript" target="_blank">Server-side Javascript</a></strong>&#8220;. \o/<br />
Sim, isso mesmo. Javascript rodando no servidor.<br />
O que me expantou também foi o fato de existirem várias implementações deste tipo, são quase 50 [Link acima].</p>
<p><span id="more-539"></span></p>
<p>Vamos então as características do nodeJS:</p>
<div id="_mcePaste">
<ul>
<li><a title="Server Side Javascript" href="http://en.wikipedia.org/wiki/Server-side_JavaScript" target="_blank">Server-side Javascript</a> (Termo usado para se referir ao Javascript rodando no Servidor)</li>
<li>Built on <a title="Google V8" href="http://code.google.com/p/v8/" target="_blank">Google’s V8</a> (Engine Javascript do Google)</li>
<li>Evented, non-blocking I/O. Similar to EventMachine or Twisted. (Para saber mais sobre isso: <a title="Reactor Pattern" href="http://en.wikipedia.org/wiki/Reactor_pattern" target="_blank">http://en.wikipedia.org/wiki/Reactor_pattern</a>)</li>
<li>CommonJS module system.</li>
<li>8000 lines of C/C++, 2000 lines of Javascript, 14 contributors.</li>
</ul>
</div>
<p>Interessado em aprender mais assim como eu?<br />
Então, algumas referências:</p>
<p>Site do nodeJS<br />
<a title="nodeJS" href="http://nodejs.org/#about" target="_blank">http://nodejs.org/#about<br />
</a><br />
Módulo para rodar YUI dentro do node<br />
<a title="YUI nodeJS" href="http://yuilibrary.com/gallery/show/nodejs" target="_blank">http://yuilibrary.com/gallery/show/nodejs</a></p>
<p><a title="YUI nodeJS" href="http://yuilibrary.com/gallery/show/nodejs" target="_blank"> </a></p>
<p><span style="color: #000000;">Blog do Simon Willison falando sobre nodeJS</span><a title="YUI nodeJS" href="http://yuilibrary.com/gallery/show/nodejs" target="_blank"></p>
<p>http://simonwillison.net/2009/Nov/23/node/</p>
<p></a></p>
<p>Slides JSConf<br />
<a title="nodeJS JSConf" href="http://s3.amazonaws.com/four.livejournal/20091117/jsconf.pdf" target="_blank">http://s3.amazonaws.com/four.livejournal/20091117/jsconf.pdf</a></p>
<p><a title="YUI nodeJS" href="http://yuilibrary.com/gallery/show/nodejs" target="_blank"> </a></p>
<p>Aplicação exemplo com o node<br />
<a title="nodeJS exemplo" href="http://chat.nodejs.org/" target="_blank">http://chat.nodejs.org/</a></p>
<p>Vídeo com Ryan Dahl falando sobre o node em SãoFrancisco em janeiro deste ano</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="225" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=9968301&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="225" src="http://vimeo.com/moogaloop.swf?clip_id=9968301&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/9968301">NodeJS Synoposis</a> from <a href="http://vimeo.com/user2924382">Kris Kowal</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>No próximo post mostrarei  um passo a passo de como instalar o nodeJS e como fazer um &#8220;Hello World&#8221;.  :P</p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/nodejs-introducao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Criando um sistema de tarefas com o TheWebMind</title>
		<link>http://jaydson.org/criando-um-sistema-de-tarefas-com-o-thewebmind/</link>
		<comments>http://jaydson.org/criando-um-sistema-de-tarefas-com-o-thewebmind/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 04:01:37 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[TheWebMind]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=512</guid>
		<description><![CDATA[Hoje começo uma série de posts onde pretendo mostrar o poder do TheWebMind para criação de uma Aplicação.
Com o último release, uma das principais novidades é o módulo nativo Zend Models, que gera uma estrutura MVC  utilizando o Zend Framework.
Atualmente o TheWebMind encontra-se na versão Pre-Alpha, isso quer dizer que ainda não está totalmente estável, ainda possui [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje começo uma série de posts onde pretendo mostrar o poder do TheWebMind para criação de uma Aplicação.<br />
Com o <a title="TheWebMind - Ultimo Release" href="http://thewebmind.org/download" target="_blank">último release</a>, uma das principais novidades é o módulo nativo <a title="Zend Models" href="http://docs.thewebmind.org/index.php?title=Modules#Native_ZendModels" target="_blank">Zend Models</a>, que gera uma estrutura <a title="MVC" href="http://pt.wikipedia.org/wiki/MVC" target="_blank">MVC </a> utilizando o<a title="Zend Framework" href="http://framework.zend.com/" target="_blank"> Zend Framework.</a></p>
<p>Atualmente o TheWebMind encontra-se na versão <a title="TheWebMind - Pre-Alpha" href="http://code.google.com/p/webmind/source/browse/#svn/tags/pre-alpha-2.0.0" target="_blank">Pre-Alpha</a>, isso quer dizer que ainda não está totalmente estável, ainda possui bugs e melhorias a serem implementadas.<br />
Mas com o que temos hoje, é possível fazer muita coisa. E é isso que quero compartilhar.</p>
<p>Parto do princípio que quem estiver seguindo o tutorial já saiba o que é o <a title="TheWebMind" href="http://thewebmind.org/index.php" target="_blank">TheWebMind</a>, e conheça a teoria por traz de tudo.<br />
Caso contrário acesse a página da documentação: <a title="Docs - TheWebMind" href="http://docs.thewebmind.org/index.php?title=Main_Page" target="_blank">http://docs.thewebmind.org/index.php?title=Main_Page</a></p>
<p>Minha proposta é criar um sistema simples de tarefas.</p>
<p><span id="more-512"></span><br />
<strong><span style="color: #808080;"><span style="color: #003366;">Requisitos:</span><br />
</span></strong>O sistema deve permitir o cadastro de usuários.<br />
O usuário deve ter nome.<br />
A tarefa deve possuir título, descrição, data e um usuário vinculado.<br />
O sistema deve permitir o cadastro de várias tarefas para um usuário.<br />
O sistema deve possuir interface para edição e visualização dos dados, tanto de usuários como de tarefas.<br />
Resumindo, é um sistema bem simples, onde o usuário cadastra suas tarefas.</p>
<h3><strong><span style="color: #003366;"><span style="text-decoration: underline;">Passo 1 &#8211; Criando um projeto no TheWebMind</span></span></strong></h3>
<p>Para criar um projeto, acesse o menu <em><strong>File &gt; New Project</strong></em> e preencha os dados do projeto.<br />
OBS: Certifique-se de que você tem um banco de dados instalado e configurado  no seu server, e preencha corretamente os dados, informando o endereço, nome, porta, usuário e senha do banco de dados.<br />
São estas informações que o TheWebMind utiliza para gerar as tabelas.</p>
<h3 style="font-size: 1.17em;"><strong><span style="color: #003366;"><span style="text-decoration: underline;">Passo 2 &#8211; Escrevendo em WML</span></span></strong></h3>
<p>Criado o projeto, vamos escrever o código <a title="TheWebMind - WML" href="http://docs.thewebmind.org/index.php?title=Web-Mind-Language" target="_blank">WML </a>que atenda aos requisitos.<br />
A sintaxe da linguagem WML é baseada no conceito NLP (Natural Language Processing), que consiste basicamente em ser semelhante a linguagem humana natural(Português, Inglês, Espanhol, etc).<br />
Veja mais detalhes na documentação: <a title="TheWebMind - WML" href="http://docs.thewebmind.org/index.php?title=Web-Mind-Language" target="_blank">http://docs.thewebmind.org/index.php?title=Web-Mind-Language</a></p>
<p><a title="TheWebMind - WML" href="http://docs.thewebmind.org/index.php?title=Web-Mind-Language" target="_blank"></a></p>
<pre class="brush: php;">&lt;br /&gt;&lt;br /&gt;Sabemos que o usuario tem nome:string(100);&lt;br /&gt;A tarefa tem título:string(100);&lt;br /&gt;A tarefa tem descrição:text();&lt;br /&gt;A tarefa tem data:date();&lt;br /&gt;O usuario tem tarefa;&lt;br /&gt;&lt;br /&gt;</pre>
<h3 style="font-size: 1.17em;"><strong><span style="color: #003366;"><span style="text-decoration: underline;">Passo 3 &#8211; Visualizando as saídas</span></span></strong></h3>
<p>Clique no botão <img class="alignnone size-full wp-image-516" title="bt_play_over" src="http://jaydson.org/wp-content/uploads/2010/02/bt_play_over.gif" alt="bt_play_over" width="24" height="23" /> localizado na barra de tarefas acima do editor.</p>
<p>Depois de &#8220;compilado&#8221; o projeto, você poderá ver as saídas como diagrama ER, Dicionário de dados, e o código SQL no painel de abas logo abaixo do editor.</p>
<h3 style="font-size: 1.17em;"><strong><span style="color: #003366;"><span style="text-decoration: underline;">Passo 4 &#8211; Gerando o projeto</span></span></strong></h3>
<p>Para gerar o projeto clique  no botão <img class="alignnone size-full wp-image-517" title="compiler_over" src="http://jaydson.org/wp-content/uploads/2010/02/compiler_over.gif" alt="compiler_over" width="24" height="23" /> também localizado na barra de tarefas acima do editor.<br />
Uma tela de Wizard abrirá, guiando o usuário até o final.<br />
No <strong><em>Step 1 <span style="font-weight: normal;"><span style="font-style: normal;">selecione a segunda opção, que indica o banco de dados de desenvolvimento previamente cadastrado na tela de criar o projeto.<br />
Avance para o próximo passo clicando no botão <strong><em>Next</em></strong>.<br />
Uma tela com todos os módulos será exibida no <strong><em><span style="font-weight: normal;"><span style="font-style: normal;"><strong><em>Step 2</em></strong></span></span></em></strong>, selecione o ZendModels e avance para o próximo passo.<br />
No <strong><em>Step 3 </em><span style="font-weight: normal;">existem 2 opções relacionadas ao que o TheWebMind irá fazer em relação ao banco de dados.<br />
Esta opção deve ser cuidadosamente selecionada, pois se você selecionar a opção &#8220;be replaced&#8221; , o TheWebMind irá deletar a tabela existente, assim como todos os seus dados e criará uma nova com as alterações necessárias.<br />
A opção &#8220;be skipped&#8221; ignora qualquer alteração na base de dados.<br />
Agora clique em </span><em>Finish, <strong><em><span style="font-weight: normal;"><span style="font-style: normal;"><strong><span style="font-weight: normal;">e acompanhe a tela onde o TheWebMind mostra tudo que está acontecendo, como cópia de arquivos necessários, criação de tabelas, etc.</span></strong></span></span></em></strong></em></strong></span></span></em></strong></p>
<p><strong><em><span style="font-weight: normal;"><span style="font-style: normal;"><strong><em><strong><em><span style="font-weight: normal;"><span style="font-style: normal;"><strong><span style="font-weight: normal;">Pronto. Você acabou de criar um sistema com o TheWebMind. </span></strong></span></span></em></strong></em></strong></span></span></em></strong></p>
<h3 style="font-size: 1.17em;"><strong><span style="color: #003366;"><span style="text-decoration: underline;">Passo 5 &#8211; Visualizando o projeto gerado</span></span></strong></h3>
<p>Feito todo o trabalho, o TheWebMind irá exibir a mensagem &#8220;<strong>Finished</strong>, the project&#8217;s been generated <strong>here</strong>&#8220;.<br />
Uma tela com a arvore de arquivos gerados será exibida. É possível ver o conteúdo de um arquivo ao seleciona-lo.<br />
Acima da árvore, clique no botão &#8220;<strong><em>Explore Files</em></strong>&#8221; , este o conduzirá até a página onde a Aplicação foi gerada.</p>
<h3 style="font-size: 1.17em;"><strong><span style="color: #003366;"><span style="text-decoration: underline;">Passo 6 &#8211; Testando a Aplicação</span></span></strong></h3>
<p>Seguindo esses passos temos um simples sistema de tarefas funcionando.<br />
Para testar publiquei a aplicação gerada aqui: <a title="TheWebMind - TaskList" href="http://source.jaydson.org/TaskList/" target="_blank">http://source.jaydson.org/TaskList/<br />
</a>O ZendModels gera os formulários da aplicação, isso serve para testarmos se tudo esta funcionando corretamente.</p>
<p>Bom, este foi um pequeno tutorial de como fazer um sistema simples com o TheWebMind utilizando o ZendModels.<br />
Qualquer dúvida entrem em contato ou comentem.<br />
Abaixo segue o link para download da aplicação gerada no exemplo, mas para um melhor entendimento do TheWebMind sugiro que vocês façam o <a title="Download TheWebMind" href="http://thewebmind.org/download" target="_blank">download do TheWebMind</a>, e sigam todos os passos descritos acima.<br />
É muito fácil.</p>
<p>Download:  <a title="TheWebMind - Download TaskList" href="http://source.jaydson.org/downloads/TaskList.rar" target="_self">http://source.jaydson.org/TaskList.rar<br />
</a></p>
<p>Vejam um outro exemplo no blog do <a title="Twitter Felipe Nascimento" href="http://twitter.com/felipenmoura" target="_blank">@felipenmoura</a> : <a href="http://felipenascimento.org/en/portugues-brasil-criando-uma-aplicacao-funcional-com-thewebmind/">http://felipenascimento.org/en/portugues-brasil-criando-uma-aplicacao-funcional-com-thewebmind/</a></p>
<p><a href="http://felipenascimento.org/en/portugues-brasil-criando-uma-aplicacao-funcional-com-thewebmind/"></a></p>
<p><strong><span style="color: #003366;"><span style="text-decoration: underline;"><br />
</span></span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/criando-um-sistema-de-tarefas-com-o-thewebmind/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>TheWebMind Pre-Alpha 2.0.0</title>
		<link>http://jaydson.org/thewebmind-pre-alpha-2-0-0/</link>
		<comments>http://jaydson.org/thewebmind-pre-alpha-2-0-0/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 03:38:59 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[TheWebMind]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=510</guid>
		<description><![CDATA[O primeiro post do ano não poderia tratar de outra coisa, que não o projeto com o qual venho dedicado boa parte do meu tempo.
Como vocês devem saber, juntamente com o Felipe Nascimento sou Desenvolvedor/Líder do TheWebMind.
O projeto vem crescendo ao longo dos meses, e 2010 promete ser um ano de muito sucesso.
Desenvolvedores espalhados pelo [...]]]></description>
			<content:encoded><![CDATA[<p>O primeiro post do ano não poderia tratar de outra coisa, que não o projeto com o qual venho dedicado boa parte do meu tempo.<br />
Como vocês devem saber, juntamente com o <a title="Felipe Nascimento" href="http://felipenascimento.org/en" target="_blank">Felipe Nascimento</a> sou Desenvolvedor/Líder do <a title="TheWebMind" href="http://thewebmind.org" target="_blank">TheWebMind</a>.</p>
<p>O projeto vem crescendo ao longo dos meses, e 2010 promete ser um ano de muito sucesso.<br />
Desenvolvedores espalhados pelo Brasil e pelo mundo estão entrando em contato conosco mostrando interesse em participar de alguma maneira do TheWebMind.<br />
Aos poucos estamos nos organizando e selecionando pessoas engajadas que possam contribuir.</p>
<p>Semana passada foi um marco para o TheWebMind. Finalmente depois de muito trabalho, liberamos a versão <a title="TheWebMind - Pre-Alpha 2.0.0" href="http://code.google.com/p/webmind/source/browse/#svn/tags/pre-alpha-2.0.0">Pre-Alpha 2.0.0</a>.<br />
Está versão esta totalmente diferente da 1° versão lançada em 2009.<br />
Reescrevemos praticamente todo o core e reformulamos totalmente a interface.<br />
Construímos um novo módulo(<a title="ZendModels" href="http://docs.thewebmind.org/index.php?title=Modules#Native_ZendModels" target="_blank">ZendModels</a>) que gera código PHP baseado no Zend Framework.</p>
<p>Bom, aos interessados segue abaixo o link para download:<br />
<a title="Download TheWebMind Pre-Alpha 2.0.0" href="http://thewebmind.org/download_latest" target="_self">http://thewebmind.org/download_latest</a></p>
<p>Nas próximas semanas pretendo postar exemplos práticos de uso do TheWebMind,  principalmente usando o ZendModels para geração de código.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/thewebmind-pre-alpha-2-0-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>WML language</title>
		<link>http://jaydson.org/wml-language/</link>
		<comments>http://jaydson.org/wml-language/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 05:04:09 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[TheWebMind]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=498</guid>
		<description><![CDATA[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.), [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje vou falar um pouco sobre a <a title="WML" href="http://docs.thewebmind.org/index.php?title=Web-Mind-Language" target="_blank">WML</a>, a linguagem que o <a title="TheWebMind.org" href="http://thewebmind.org" target="_blank">TheWebMind</a> interpreta.<br />
A Web-Mind-Language(WML) é uma linguagem baseada no conceito NLP(<a title="Natural Language Processing" href="http://en.wikipedia.org/wiki/Natural_language_processing" target="_blank">Natural Language Processing</a>), que é um campo da ciência da computação que se preocupa com a interação entre linguagens de computadores e humanas(naturais).</p>
<p>A linguagem se assemelha muito com a natural (português, inglês, espanhol, etc.), apenas seguindo algumas regras de sintaxe.<br />
Este padrão, chamamos de <a title="Linguagem de Programação Discreta" href="http://docs.thewebmind.org/index.php?title=Linguagem_de_Programa%C3%A7%C3%A3o_Discreta" target="_blank">Linguagem de Programação Discreta</a>.<br />
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.</p>
<p><span id="more-498"></span></p>
<p>Um dos princípios mais básicos das linguagens de programação é que &#8220;tudo aquilo que não está certo, está errado&#8221;.<br />
Já no conceito de programação discreta, nem tudo que não é reconhecido pela linguagem, está necessariamente incorreto.<br />
Esta margem de erro possibilita tanto ao desenvolvedor, adaptar-se melhor à linguagem, quanto à própria linguagem de se adaptar e evoluir.</p>
<p>Programar em WML é extremamente simples, observem o exemplo abaixo:</p>
<pre class="brush: xml;">
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)
</pre>
<p>De primeira olhando o código temos a impressão de que algo esta estranho, não?<br />
Pois é asim mesmo que tudo funciona.<br />
O príncipio é escrever o código de maneira natural, como se estivéssemos documentando o projeto, ou apenas escrevendo sobre ele.<br />
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.</p>
<p>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.<br />
Abaixo algumas das saídas:</p>
<p><strong><span style="color: #3366ff;">Código SQL gerado pelo código feito acima:</span></strong></p>
<pre class="brush: sql;">
/*######################################################
 #   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;
</pre>
<p><span style="color: #3366ff;"><strong>Diagrama ER:</strong></span></p>
<div id="attachment_501" class="wp-caption alignnone" style="width: 626px"><img class="size-full wp-image-501" title="Digrama ER" src="http://jaydson.org/wp-content/uploads/2009/11/e1.png" alt="Digrama ER" width="616" height="242" /><p class="wp-caption-text">Digrama ER</p></div>
<p>Abaixo segue um vídeo curto que mostra como porgramar WML utilizando a IDE do Mind:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/PpAuH__KiMk&amp;hl=pt_BR&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/PpAuH__KiMk&amp;hl=pt_BR&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Por hoje é isso.</p>
<p>Em breve mais posts sobre esta incrível ferramenta.<br />
Por enquanto acessem o site e a documentação:</p>
<p><a title="Docs" href="http://docs.thewebmind.org/index.php?title=Main_Page" target="_blank">Docs.TheWebMind.org</a><br />
<a title="Site" href="http://thewebmind.org" target="_blank">TheWebMind.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/wml-language/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Como fazer mais em aplicações RIA escrevendo menos</title>
		<link>http://jaydson.org/como-fazer-mais-em-aplicacoes-ria-escrevendo-menos/</link>
		<comments>http://jaydson.org/como-fazer-mais-em-aplicacoes-ria-escrevendo-menos/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 03:54:53 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=492</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>Quando falamos em aplicações RIA utilizando Javascript, logo pensamos em uma biblioteca que nos auxilie na construção dessas aplicações.<br />
Dentre uma infinidade de bibliotecas e frameworks existentes atualmente, o jQuery continua sendo minha alternativa preferida.<br />
Sua simplicidade e ao mesmo tempo robustez proporcionam diversas funcionalidades indispensáveis no desenvolvimento de uma aplicação rica.</p>
<p>Juntamente com o <a title="Felipe Nascimento" href="http://felipenascimento.org/" target="_blank">Felipe Nascimento</a>, palestrei na <a title="Target Trust" href="http://www.targettrust.com/web/" target="_blank">Target Trust</a> (empresa de TI especializada em treinamentos aqui em Porto Alegre)  nesta terça-feira(17/11/2009) sobre a biblioteca <a title="jQuery" href="http://jquery.com/" target="_blank">jQuery</a>.<br />
O objetivo da palestra foi introduzir o jQuery de maneira que os ouvintes pudessem compreender o poder da biblioteca e do Javascript em si.<br />
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.</p>
<p><span id="more-492"></span></p>
<p>Abaixo então seguem os slides:</p>
<div id="__ss_2524938" style="width: 425px; text-align: left;"><a style="font: 14px Helvetica,Arial,Sans-serif; display: block; margin: 12px 0 3px 0; text-decoration: underline;" title="Como fazer mais em aplicações RIA escrevendo menos" href="http://www.slideshare.net/jaydson/como-fazer-mais-em-aplicaes-ria-escrevendo-menos-2524938">Como fazer mais em aplicações RIA escrevendo menos</a><object style="margin: 0px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=comofazermaisemaplicaesriaescrevendomenos-091117204710-phpapp01&amp;stripped_title=como-fazer-mais-em-aplicaes-ria-escrevendo-menos-2524938" /><param name="allowfullscreen" value="true" /><embed style="margin: 0px;" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=comofazermaisemaplicaesriaescrevendomenos-091117204710-phpapp01&amp;stripped_title=como-fazer-mais-em-aplicaes-ria-escrevendo-menos-2524938" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration: underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration: underline;" href="http://www.slideshare.net/jaydson">Jaydson Gomes</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/como-fazer-mais-em-aplicacoes-ria-escrevendo-menos/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
	</channel>
</rss>
