<?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/"
	>

<channel>
	<title>Blog do Robson Dantas &#187; Javascript</title>
	<atom:link href="http://blogdodantas.dxs.com.br/category/tecnologia_informatica/desenvolvimento-de-software/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogdodantas.dxs.com.br</link>
	<description>Tecnologia, segurança, cotidiano, pesca esportiva e inutilidades</description>
	<lastBuildDate>Tue, 31 Jan 2012 02:31:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
		<item>
		<title>Javascript tutorial: o que são closures ?</title>
		<link>http://blogdodantas.dxs.com.br/2011/09/07/javascript-tutorial-o-que-sao-closures/</link>
		<comments>http://blogdodantas.dxs.com.br/2011/09/07/javascript-tutorial-o-que-sao-closures/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 01:54:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento de software]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[closure]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tutorial javascript]]></category>

		<guid isPermaLink="false">http://blogdodantas.dxs.com.br/?p=582</guid>
		<description><![CDATA[Post de hoje é rápido e apenas para compartilhar um excelente guia/tutorial de javascript que recebi na lista de html5. Achei fantástico pela didática aplicada, incluindo um faça você mesmo, integrado ao jslint. Se você tem dificuldades com closures, callbacks, funções como argumentos, deve dar uma passadinha por lá. http://nathansjslessons.appspot.com/ Espero que gostem. Robson Bookmarks]]></description>
			<content:encoded><![CDATA[<p>Post de hoje é rápido e apenas para compartilhar um excelente guia/tutorial de javascript que recebi na lista de html5. Achei fantástico pela didática aplicada, incluindo um faça você mesmo, integrado ao jslint.</p>
<p>Se você tem dificuldades com closures, callbacks, funções como argumentos, deve dar uma passadinha por lá.</p>
<p><a href="http://nathansjslessons.appspot.com/" onclick="javascript:pageTracker._trackPageview('out/nathansjslessons.appspot.com');">http://nathansjslessons.appspot.com/</a></p>
<p>Espero que gostem.</p>
<p>Robson</p>
<p class="bookmark-me">Bookmarks<a title="technorati.com" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2011%2F09%2F07%2Fjavascript-tutorial-o-que-sao-closures%2F" onclick="javascript:pageTracker._trackPageview('out/www.technorati.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/technorati.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="del.icio.us" href="http://del.icio.us/post?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2011%2F09%2F07%2Fjavascript-tutorial-o-que-sao-closures%2F&amp;title=Javascript+tutorial%3A+o+que+s%C3%A3o+closures+%3F" onclick="javascript:pageTracker._trackPageview('out/del.icio.us');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/delicious.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="digg.com" href="http://digg.com/submit?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2011%2F09%2F07%2Fjavascript-tutorial-o-que-sao-closures%2F&amp;title=Javascript+tutorial%3A+o+que+s%C3%A3o+closures+%3F" onclick="javascript:pageTracker._trackPageview('out/digg.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/digg.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.facebook.com" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2011%2F09%2F07%2Fjavascript-tutorial-o-que-sao-closures%2F&amp;t=Javascript+tutorial%3A+o+que+s%C3%A3o+closures+%3F" onclick="javascript:pageTracker._trackPageview('out/www.facebook.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/facebook.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="bookmarks.yahoo.com" href="http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2011%2F09%2F07%2Fjavascript-tutorial-o-que-sao-closures%2F" onclick="javascript:pageTracker._trackPageview('out/bookmarks.yahoo.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/yahoo.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.google.com" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2011%2F09%2F07%2Fjavascript-tutorial-o-que-sao-closures%2F&amp;title=Javascript+tutorial%3A+o+que+s%C3%A3o+closures+%3F" onclick="javascript:pageTracker._trackPageview('out/www.google.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/google.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> </p><p><script type="text/javascript"><!--
google_ad_client = "pub-3400408440819022";
/* 468x60, criado 02/11/10 */
google_ad_slot = "1718761682";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>]]></content:encoded>
			<wfw:commentRss>http://blogdodantas.dxs.com.br/2011/09/07/javascript-tutorial-o-que-sao-closures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando node.js no Windows</title>
		<link>http://blogdodantas.dxs.com.br/2011/01/13/instalando-node-js-no-windows/</link>
		<comments>http://blogdodantas.dxs.com.br/2011/01/13/instalando-node-js-no-windows/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 15:24:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tecnologia e informática]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[node.js]]></category>

		<guid isPermaLink="false">http://blogdodantas.dxs.com.br/?p=494</guid>
		<description><![CDATA[Você conhece o Node.js ? Se a resposta for não, sugiro dar uma olhada. É algo muito poderoso, e muito simples ao mesmo tempo. Usando sintaxe javascript, é possível codificar coisas de forma bem rápida, como por exemplo esse webserver abaixo: var net = require('net'); var dataToSend; var socketServer; net.createServer(function (socket) { socketServer = socket; [...]]]></description>
			<content:encoded><![CDATA[<p>Você conhece o<a href="http://nodejs.org" onclick="javascript:pageTracker._trackPageview('out/nodejs.org');" target="_blank"> Node.js</a> ? Se a resposta for não, sugiro dar uma olhada.</p>
<p>É algo muito poderoso, e muito simples ao mesmo tempo. Usando sintaxe javascript, é possível codificar coisas de forma bem rápida, como por exemplo esse webserver abaixo:</p>
<pre>var net = require('net');
var dataToSend;
var socketServer; 

net.createServer(function (socket)
{
  socketServer = socket;
  socket.write("Server Initialized.");
  setInterval ( writeToSocketServer, 33 );
  socket.on("data,:" function (data)
  {
    dataToSend = data
  });

}).listen(8124, "127.0.0.1");

function writeToSocketServer()
{
  if (dataToSend) socketServer.write(dataToSend);
}</pre>
<p>Além desse simples exemplo, tem uma biblioteca em desenvolvimento, com um monte de coisas prontas. <a href="http://nodejs.org/docs/v0.3.4/api/" onclick="javascript:pageTracker._trackPageview('out/nodejs.org');" target="_blank">Veja aqui</a>.</p>
<p>Para instalar no Windows, você precisa basicamente:</p>
<ul>
<li>Instalar o cygwin (&#8216;emulador&#8217; do linux)</li>
<li>Baixar os fontes</li>
<li>Compilar</li>
<li>Instalar</li>
<li>Rodar</li>
</ul>
<p>Cygwin:</p>
<ul>
<li>Baixe o <a href="http://cygwin.com/setup.exe" onclick="javascript:pageTracker._trackPageview('out/cygwin.com');" target="_blank">setup</a>;</li>
<li> No momento da instalação, procure os pacotes:
<ul>
<li>devel → gcc-g++</li>
<li>devel → git</li>
<li>devel → make</li>
<li>devel → openssl</li>
<li>libs → openssl-devel</li>
<li>devel → pkg-config</li>
<li>devel → zlib-devel</li>
<li>python → python</li>
</ul>
</li>
<li>É legal adicionar também editores: vim e mc</li>
<li>Depois de instalado, vamos baixar o fonte, compilar e instalar</li>
</ul>
<p>Baixando:</p>
<p>1) Fazer <a href="http://nodejs.org/#download" onclick="javascript:pageTracker._trackPageview('out/nodejs.org');" target="_blank">download </a>do node.js</p>
<p>2) Supondo que você instalou o cygwin em c:\cygwin, abra esse diretório via windows explorer, procure a pasta home e abra o único diretório que está lá. Mova o download do node.js para essa pasta.</p>
<p>3) Pelo menu iniciar, abra o Cygwin Bash Shell e digite:</p>
<p>$ cd ~<br />
$ ./configure<br />
$ make<br />
$ make install</p>
<p>Rode o exemplo que passei acima, e pronto! Node.js rodando.</p>
<p>Não deixe de ler as documentações, há muita coisa feita e rodando. Estou brincando com esse <a href="https://groups.google.com/forum/#!topic/nodejs/4CYZ7H0gjSg" onclick="javascript:pageTracker._trackPageview('out/groups.google.com');" target="_blank">jQuery</a> para ele, muito funcional.</p>
<p>Dúvidas ? Sugestões ? Utilize o campo de comentários.</p>
<p class="bookmark-me">Bookmarks<a title="technorati.com" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2011%2F01%2F13%2Finstalando-node-js-no-windows%2F" onclick="javascript:pageTracker._trackPageview('out/www.technorati.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/technorati.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="del.icio.us" href="http://del.icio.us/post?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2011%2F01%2F13%2Finstalando-node-js-no-windows%2F&amp;title=Instalando+node.js+no+Windows" onclick="javascript:pageTracker._trackPageview('out/del.icio.us');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/delicious.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="digg.com" href="http://digg.com/submit?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2011%2F01%2F13%2Finstalando-node-js-no-windows%2F&amp;title=Instalando+node.js+no+Windows" onclick="javascript:pageTracker._trackPageview('out/digg.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/digg.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.facebook.com" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2011%2F01%2F13%2Finstalando-node-js-no-windows%2F&amp;t=Instalando+node.js+no+Windows" onclick="javascript:pageTracker._trackPageview('out/www.facebook.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/facebook.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="bookmarks.yahoo.com" href="http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2011%2F01%2F13%2Finstalando-node-js-no-windows%2F" onclick="javascript:pageTracker._trackPageview('out/bookmarks.yahoo.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/yahoo.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.google.com" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2011%2F01%2F13%2Finstalando-node-js-no-windows%2F&amp;title=Instalando+node.js+no+Windows" onclick="javascript:pageTracker._trackPageview('out/www.google.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/google.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blogdodantas.dxs.com.br/2011/01/13/instalando-node-js-no-windows/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Substring em Python</title>
		<link>http://blogdodantas.dxs.com.br/2009/02/03/substring-em-python/</link>
		<comments>http://blogdodantas.dxs.com.br/2009/02/03/substring-em-python/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 16:42:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento de software]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[substring em python]]></category>

		<guid isPermaLink="false">http://blogdodantas.dxs.com.br/?p=201</guid>
		<description><![CDATA[Dica do dia para Python! Para quem está acostumado com linguagens de script tipo PHP, Perl e Javascript, pode ter um pouco de dificuldade com o Python, pelo simples fato de ele encarar muitas das operações como arrays. Um dos problemas que tive no começo, foi trabalhar com conjunto de strings. Mas depois de habituado, [...]]]></description>
			<content:encoded><![CDATA[<p>Dica do dia para Python!</p>
<p>Para quem está acostumado com linguagens de script tipo PHP, Perl e Javascript, pode ter um pouco de dificuldade com o Python, pelo simples fato de ele encarar muitas das operações como arrays.</p>
<p>Um dos problemas que tive no começo, foi trabalhar com conjunto de strings. Mas depois de habituado, achei até mais fácil. Vamos para um exemplo:</p>
<p><strong>EM PHP:</strong><br />
<em>$a=&#8221;abcdefghijk&#8221;;<br />
echo substr($a, 2, 3);</em></p>
<p><em>resulta em <strong>cde</strong></em></p>
<p><strong>EM PYTHON:<br />
</strong><em>a=&#8221;abcdefghijk&#8221;<br />
print a[2:5]</em></p>
<p><em>resulta em <strong>cde</strong></em></p>
<p>ou&#8230;</p>
<p><em>def substr(str,origem, tamanho):<br />
return str[origem:tamanho+origem]</em></p>
<p><em>print substr(&#8220;abcdefgkijk&#8221;,2,3)</em></p>
<p><em>resulta em <strong>cde</strong><br />
</em></p>
<p>Isso foi só para ilustrar um pouco a idéia de que as strings, no Python, são uma representação de arrays em C e os arrays são tratados como conjuntos matemáticos. Quando você começar a brincar, vai ver muito a palavra &#8220;range&#8221;.</p>
<p>Lembra da teoria dos conjuntos da matémática ? Aqui você realmente na prática acontecendo.</p>
<p><strong>X PERTENCE À R, TAL QUE X ESTÁ ENTRE 2 E 3. </strong></p>
<p> <img src='http://www.dxs.com.br/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p class="bookmark-me">Bookmarks<a title="technorati.com" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F02%2F03%2Fsubstring-em-python%2F" onclick="javascript:pageTracker._trackPageview('out/www.technorati.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/technorati.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="del.icio.us" href="http://del.icio.us/post?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F02%2F03%2Fsubstring-em-python%2F&amp;title=Substring+em+Python" onclick="javascript:pageTracker._trackPageview('out/del.icio.us');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/delicious.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="digg.com" href="http://digg.com/submit?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F02%2F03%2Fsubstring-em-python%2F&amp;title=Substring+em+Python" onclick="javascript:pageTracker._trackPageview('out/digg.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/digg.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.facebook.com" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F02%2F03%2Fsubstring-em-python%2F&amp;t=Substring+em+Python" onclick="javascript:pageTracker._trackPageview('out/www.facebook.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/facebook.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="bookmarks.yahoo.com" href="http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F02%2F03%2Fsubstring-em-python%2F" onclick="javascript:pageTracker._trackPageview('out/bookmarks.yahoo.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/yahoo.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.google.com" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F02%2F03%2Fsubstring-em-python%2F&amp;title=Substring+em+Python" onclick="javascript:pageTracker._trackPageview('out/www.google.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/google.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blogdodantas.dxs.com.br/2009/02/03/substring-em-python/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Especialista em OpenSocial</title>
		<link>http://blogdodantas.dxs.com.br/2008/09/17/especialista-em-opensocial/</link>
		<comments>http://blogdodantas.dxs.com.br/2008/09/17/especialista-em-opensocial/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 19:10:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento de software]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Opensocial]]></category>
		<category><![CDATA[Tecnologia e informática]]></category>
		<category><![CDATA[criar aplicacao opensocial]]></category>
		<category><![CDATA[opensocial]]></category>
		<category><![CDATA[opensocial orkut]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://blogdodantas.dxs.com.br/?p=136</guid>
		<description><![CDATA[Escrevi há alguns meses sobre o potencial do OpenSocial, aqui, no meu blog. Quem ouviu e correu atrás, se deu bem e antecipou ao mercado. A demanda por profissionais está razoável e poucas pessoas dominam a plataforma. Nesse meio tempo, entre versões beta e especificações, tenho acompanhado constantemente a evolução do OpenSocial, fazendo parte inclusive [...]]]></description>
			<content:encoded><![CDATA[<p>Escrevi há alguns meses sobre o potencial do OpenSocial, aqui, no meu blog. Quem ouviu e correu atrás, se deu bem e antecipou ao mercado. A demanda por profissionais está razoável e poucas pessoas dominam a plataforma.</p>
<p>Nesse meio tempo, entre versões beta e especificações, tenho acompanhado constantemente a evolução do OpenSocial, fazendo parte inclusive da lista oficial de discussão dando sugestões, enviando bugs, etc.</p>
<p>Acabei me tornando um verdadeiro especialista em OpenSocial e viciado no desenvolvimento de widgets. Se você não tem a mínima idéia do que é o OpenSocial, basta entrar no seu Orkut e ver os aplicativos rodando. BuddyPoke é um exemplo e um dos mais conhecidos.</p>
<p>Basicamente, o OpenSocial é um conjunto de APIs escritas em Javascript que possibilita ao desenvolvedor integrar com as funcionalidades nas redes sociais. Esse conjunto de APIs possui uma especificação padronizada, que é mantida por uma equipe de arquitetos da <strong>Google, MySpace, Hi5</strong> e outras pessoas que contribuem para o processo.</p>
<p>Em outras palavras, seria totalmente possível utilizar um mesmo aplicativo em todas as redes sociais, fazendo uso exclusivamente das APIs descritas e padronizadas. Utilizei o <em>&#8220;seria&#8221;</em> justamente para deixar claro que nem sempre é verdade; para os programadores que estão lendo esse post, basta lembrar-se do SQL Ansi &#8211; nem sempre a mesma query roda em Oracle, Sql Server, MySQL, etc.. sempre tem algo que é um pouco diferente.</p>
<p>Enfim, se você tem interesse em começar a codificar e usar a plataforma OpenSocial, você precisa saber razoavelmente bem Javascript e HTML, além de abrir uma conta de desenvolvedor em uma rede social para fazer deploy e testar os Widgets. No caso do orkut, essa conta chama-se Sandbox e pode ser acessada em http://sandbox.orkut.com . Quando começar a entrar no mundo, perceberá o tamanho potencial que isso tem.</p>
<p>Depois disso, o material inicial que recomendo é o site de OpenSocial no Google que possui diversos artigos, desde carregar lista de contatos, até trabalhar com dados persistentes e uso de RSS.</p>
<p>http://code.google.com/apis/opensocial/articles/</p>
<p>Mão na massa! Para clarear o seu trabalho e ajudar no entendimento, aqui vai algumas dicas:</p>
<ul>
<li>O arquivo do OpenSocial é um .xml com estrutura definida. Dentro dele você pode trabalhar com HTML, Javascript e CSS, ou se preferir, pode usar qualquer linguagem de programação, setando o cabeçalho como text/xml e jogando a estrutura no XML requerido, usando UTF8;</li>
<li>As redes sociais fazem cache da sua aplicação e para você testar existem algumas manhas para fazer o processo sem cache. No caso do Orkut, acrescente o parâmetro bpc=1 na url (bypasscache=1);</li>
<li>Existem basicamente 2 formas de visualizar o aplicativo: Profile e Canvas. Profile é quando o box abre dentro do perfil do usuário e canvas, quando o aplicativo abre inteiramente na página, clicando no nome do aplicativo;</li>
</ul>
<p>É isso!</p>
<p>Em breve vou colocar aqui algumas referências de Widgets que escrevi usando OpenSocial e que estão rodando no Orkut, iGoogle ou MySpace.</p>
<p>Tem dúvida, comentário ou sugestão ? Poste aqui.</p>
<p class="bookmark-me">Bookmarks<a title="technorati.com" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2008%2F09%2F17%2Fespecialista-em-opensocial%2F" onclick="javascript:pageTracker._trackPageview('out/www.technorati.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/technorati.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="del.icio.us" href="http://del.icio.us/post?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2008%2F09%2F17%2Fespecialista-em-opensocial%2F&amp;title=Especialista+em+OpenSocial" onclick="javascript:pageTracker._trackPageview('out/del.icio.us');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/delicious.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="digg.com" href="http://digg.com/submit?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2008%2F09%2F17%2Fespecialista-em-opensocial%2F&amp;title=Especialista+em+OpenSocial" onclick="javascript:pageTracker._trackPageview('out/digg.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/digg.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.facebook.com" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2008%2F09%2F17%2Fespecialista-em-opensocial%2F&amp;t=Especialista+em+OpenSocial" onclick="javascript:pageTracker._trackPageview('out/www.facebook.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/facebook.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="bookmarks.yahoo.com" href="http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2008%2F09%2F17%2Fespecialista-em-opensocial%2F" onclick="javascript:pageTracker._trackPageview('out/bookmarks.yahoo.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/yahoo.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.google.com" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2008%2F09%2F17%2Fespecialista-em-opensocial%2F&amp;title=Especialista+em+OpenSocial" onclick="javascript:pageTracker._trackPageview('out/www.google.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/google.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blogdodantas.dxs.com.br/2008/09/17/especialista-em-opensocial/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Biblioteca Javascript &#8211; Gerar e validar CPF</title>
		<link>http://blogdodantas.dxs.com.br/2008/08/13/biblioteca-javascript-gerar-e-validar-cpf/</link>
		<comments>http://blogdodantas.dxs.com.br/2008/08/13/biblioteca-javascript-gerar-e-validar-cpf/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 14:04:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento de software]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tecnologia e informática]]></category>
		<category><![CDATA[gerador de cpf]]></category>
		<category><![CDATA[javascript cpf]]></category>
		<category><![CDATA[validar cpf]]></category>

		<guid isPermaLink="false">http://blogdodantas.dxs.com.br/?p=108</guid>
		<description><![CDATA[Essa é mais uma de minhas criações Quem disse que gerente não sabe programar ? E qual programador acha que vai me enganar ? Hehehe. Quantas vezes você se deparou codificando, quando precisou usar alguns cpf´s de teste para validar uma rotina ? Ou melhor, quando você precisou validar um CPF ? Pois bem, para acabar com [...]]]></description>
			<content:encoded><![CDATA[<p>Essa é mais uma de minhas criações <img src='http://www.dxs.com.br/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Quem disse que gerente não sabe programar ? E qual programador acha que vai me enganar ? Hehehe.</p>
<p>Quantas vezes você se deparou codificando, quando precisou usar alguns cpf´s de teste para validar uma rotina ? Ou melhor, quando você precisou validar um CPF ?</p>
<p>Pois bem, para acabar com esse problema, desenvolvi umas funções em javascript <strong>para gerar e validar CPFs.</strong> Isso mesmo: <strong>Gera CPF e Valida CPF</strong>.</p>
<p>PS: Faça uso do bom juízo com isso. Use estritamente para fins benéficos. <img src='http://www.dxs.com.br/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Quer usar? <a href="http://www.dxs.com.br/cpflib.rar"  target="_blank">Então faça download da rotina de geração e validação de cpf aqui</a>.</p>
<p>Gostou? Comente.</p>
<p>By Prof. Pardal Produções Tabajara.</p>
<p class="bookmark-me">Bookmarks<a title="technorati.com" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2008%2F08%2F13%2Fbiblioteca-javascript-gerar-e-validar-cpf%2F" onclick="javascript:pageTracker._trackPageview('out/www.technorati.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/technorati.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="del.icio.us" href="http://del.icio.us/post?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2008%2F08%2F13%2Fbiblioteca-javascript-gerar-e-validar-cpf%2F&amp;title=Biblioteca+Javascript+%26%238211%3B+Gerar+e+validar+CPF" onclick="javascript:pageTracker._trackPageview('out/del.icio.us');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/delicious.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="digg.com" href="http://digg.com/submit?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2008%2F08%2F13%2Fbiblioteca-javascript-gerar-e-validar-cpf%2F&amp;title=Biblioteca+Javascript+%26%238211%3B+Gerar+e+validar+CPF" onclick="javascript:pageTracker._trackPageview('out/digg.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/digg.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.facebook.com" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2008%2F08%2F13%2Fbiblioteca-javascript-gerar-e-validar-cpf%2F&amp;t=Biblioteca+Javascript+%26%238211%3B+Gerar+e+validar+CPF" onclick="javascript:pageTracker._trackPageview('out/www.facebook.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/facebook.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="bookmarks.yahoo.com" href="http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2008%2F08%2F13%2Fbiblioteca-javascript-gerar-e-validar-cpf%2F" onclick="javascript:pageTracker._trackPageview('out/bookmarks.yahoo.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/yahoo.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.google.com" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2008%2F08%2F13%2Fbiblioteca-javascript-gerar-e-validar-cpf%2F&amp;title=Biblioteca+Javascript+%26%238211%3B+Gerar+e+validar+CPF" onclick="javascript:pageTracker._trackPageview('out/www.google.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/google.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blogdodantas.dxs.com.br/2008/08/13/biblioteca-javascript-gerar-e-validar-cpf/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

