<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Blog do Ensinar</title>
	
	<link>http://ensinar.wordpress.com</link>
	<description>Compartilhando Conhecimento</description>
	<lastBuildDate>Thu, 10 Jan 2013 14:14:22 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain="ensinar.wordpress.com" port="80" path="/?rsscloud=notify" registerProcedure="" protocol="http-post" />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Blog do Ensinar</title>
		<link>http://ensinar.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ensinar.wordpress.com/osd.xml" title="Blog do Ensinar" />
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/BlogDoEnsinar" /><feedburner:info uri="blogdoensinar" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://ensinar.wordpress.com/?pushpress=hub" /><feedburner:emailServiceId>BlogDoEnsinar</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Os números de 2010</title>
		<link>http://feedproxy.google.com/~r/BlogDoEnsinar/~3/GKVOF_Fa_hY/</link>
		<comments>http://ensinar.wordpress.com/2011/01/02/os-numeros-de-2010/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 23:34:54 +0000</pubDate>
		<dc:creator>Rodrigo Ribeiro</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ensinar.wordpress.com/?p=1758</guid>
		<description><![CDATA[Os duendes das estatísticas do WordPress.com analisaram o desempenho deste blog em 2010 e apresentam-lhe aqui um resumo de alto nível da saúde do seu blog: O Blog-Health-o-Meter™ indica: Uau. Números apetitosos Cerca de 3 milhões de pessoas visitam o Taj Mahal todos os anos. Este blog foi visitado cerca de 29,000 vezes em 2010. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1758&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Os duendes das estatísticas do WordPress.com analisaram o desempenho deste blog em 2010 e apresentam-lhe aqui um resumo de alto nível da saúde do seu blog:</p>
<p><img style="border:1px solid #ddd;background:#f5f5f5;padding:20px;" src="http://s0.wp.com/i/annual-recap/meter-healthy5.gif" alt="Healthy blog!" width="250" height="183" /></p>
<p>O <em>Blog-Health-o-Meter™</em> indica: Uau.</p>
<h2>Números apetitosos</h2>
<p><a href="http://ensinar.files.wordpress.com/2010/05/visao_geral.jpg"><img style="max-height:230px;float:right;border:1px solid #ddd;background:#fff;margin:0 0 1em 1em;padding:6px;" src="http://ensinar.files.wordpress.com/2010/05/visao_geral.jpg?w=288" alt="Imagem de destaque" /></a></p>
<p>Cerca de 3 milhões de pessoas visitam o Taj Mahal todos os anos. Este blog foi visitado cerca de <strong>29,000</strong> vezes em 2010. Se este blog fosse o Taj Mahal, eram precisos 4 dias para que essas pessoas o visitassem.</p>
<p>&nbsp;</p>
<p>Em 2010, escreveu <strong>36</strong> novo artigo, aumentando o arquivo total do seu blog para 168 artigos. Fez <em>upload</em> de <strong>36</strong> imagens, ocupando um total de 3mb. Isso equivale a cerca de 3 imagens por mês.</p>
<p>The busiest day of the year was 17 de maio with <strong>368</strong> views. The most popular post that day was <a style="color:#08c;" href="http://ensinar.wordpress.com/2010/05/16/encontro-nosqlbr-eu-fui/">Encontro no:sql(br). &#8211; Eu fui!</a>.</p>
<h2>De onde vieram?</h2>
<p>Os sites que mais tráfego lhe enviaram em 2010 foram <strong>google.com.br</strong>, <strong>search.conduit.com</strong>, <strong>twitter.com</strong>, <strong>pt-br.wordpress.com</strong> e <strong>android-vs-ipad.co.cc</strong></p>
<p>Alguns visitantes vieram dos motores de busca, sobretudo por <strong>5s&#8217;s</strong>, <strong>cerebro</strong>, <strong>linux</strong>, <strong>pingu</strong> e <strong>hadoop</strong></p>
<h2>Atracções em 2010</h2>
<p>Estes são os artigos e páginas mais visitados em 2010.</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">1</div>
<p><a style="margin-right:10px;" href="http://ensinar.wordpress.com/2010/05/16/encontro-nosqlbr-eu-fui/">Encontro no:sql(br). &#8211; Eu fui!</a> <span style="color:#999;font-size:8pt;">maio, 2010</span><br />
15 comentários</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">2</div>
<p><a style="margin-right:10px;" href="http://ensinar.wordpress.com/2009/04/29/d-olho-na-qualidade-5ss/">D-Olho na Qualidade 5Ss</a> <span style="color:#999;font-size:8pt;">abril, 2009</span><br />
9 comentários</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">3</div>
<p><a style="margin-right:10px;" href="http://ensinar.wordpress.com/2009/01/31/certificacao-oca-oracle/">Certificação OCA &#8211; Oracle</a> <span style="color:#999;font-size:8pt;">janeiro, 2009</span><br />
6 comentários</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">4</div>
<p><a style="margin-right:10px;" href="http://ensinar.wordpress.com/2009/04/11/certificacao-oca-dba-11g/">Certificação OCA DBA 11G</a> <span style="color:#999;font-size:8pt;">abril, 2009</span><br />
25 comentários</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">5</div>
<p><a style="margin-right:10px;" href="http://ensinar.wordpress.com/2009/10/20/d-olho-na-qualidade-5ss-parte-2/">D-olho na qualidade 5Ss (parte 2)</a> <span style="color:#999;font-size:8pt;">outubro, 2009</span><br />
3 comentários</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ensinar.wordpress.com/1758/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ensinar.wordpress.com/1758/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1758&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/BlogDoEnsinar/~4/GKVOF_Fa_hY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ensinar.wordpress.com/2011/01/02/os-numeros-de-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/abff8c8b7e86bce27ce4eb6939049ba3?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">Rodrigo Ribeiro</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/meter-healthy5.gif" medium="image">
			<media:title type="html">Healthy blog!</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/visao_geral.jpg?w=288" medium="image">
			<media:title type="html">Imagem de destaque</media:title>
		</media:content>
	<feedburner:origLink>http://ensinar.wordpress.com/2011/01/02/os-numeros-de-2010/</feedburner:origLink></item>
		<item>
		<title>RubyConf 2010 – estivemos lá! – Segundo dia</title>
		<link>http://feedproxy.google.com/~r/BlogDoEnsinar/~3/urXVHIy2QH0/</link>
		<comments>http://ensinar.wordpress.com/2010/11/11/rubyconf-2010-estivemos-la-segundo-dia/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 19:32:58 +0000</pubDate>
		<dc:creator>Fabrício Ferrari de Campos</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[rubyconf]]></category>

		<guid isPermaLink="false">http://ensinar.wordpress.com/?p=1727</guid>
		<description><![CDATA[O segundo dia começou com o keynote do Evan Phoenix, que palestrou sobre o Rubinius, uma Virtual Machine para Ruby. Na palestra houve uma visão geral do Rubinius que é um plataforma para rodar código Ruby e houve grande destaque na parte de performance que o Rubinius fornece e também nas facilidades que ele traz, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1727&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>O segundo dia começou com o keynote do<strong> <a href="http://twitter.com/evanphx" target="_blank">Evan Phoenix</a></strong>, que palestrou sobre o <a href="http://rubini.us/" target="_blank">Rubinius</a>, uma Virtual Machine para Ruby. Na palestra houve uma visão geral do Rubinius que é um plataforma para rodar código Ruby e houve grande destaque na parte de performance que o Rubinius fornece e também nas facilidades que ele traz, como por exemplo para fazer testes de performance.<strong> </strong></p>
<p><a href="http://twitter.com/headius" target="_blank"><strong>Charles Nutter</strong></a> falou sobre o <a href="http://jruby.org/" target="_blank">JRuby</a>, a máquina virtual Ruby que roda sobre a JVM. Ele explicou detalhes, funcionalidades e vantagens do JRuby como:</p>
<ul>
<li>Instalação e configuração rápida do JRuby;</li>
<li>Ampla gama de plataformas suportadas pelo JRuby, incluindo Windows, Z/OS, AS/400, Android.</li>
<li>Suporte a Threads nativas reais no JRuby;</li>
<li>Uso e reúso de bibliotecas Java e bibliotecas nativas no JRuby;</li>
<li>Diferenças de performance grandes em relação a VM Ruby &#8220;canônica&#8221;;</li>
<li>Compilador JIT;</li>
<li>Rails executa corretamente no JRuby;</li>
<li>Suporte a quase toda API do Ruby até 1.9.</li>
</ul>
<p>Também tivemos exemplos rápidos de aplicativos durante a palestra:</p>
<ul>
<li>&#8220;jirb&#8221;, o console interativo do JRuby;</li>
<li>Um simulador de piano rodando no JRuby;</li>
<li>Um renderizador de círculos rodando no JRuby para o Android;</li>
<li>Um jogo que usava JMonkeyEngine rodando no JRuby.</li>
</ul>
<p>A palestra do <a href="http://twitter.com/dchelimsky" target="_blank"><strong>David Chelimsky</strong></a> foi muito interessante pois ele falou sobre a manutenção do equilíbrio,  reduzindo a duplicação de códigos em uma variedade de formas e os  riscos associados a cada um. estratégias para reduzir a duplicação, sem  sacrificar princípios de design como encapsulamento, baixo acoplamento e  alta coesão.</p>
<p>O princípio <a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself" target="_blank">DRY</a> (<em>Don’t Repeat Yourself</em>) sugere que  “cada pedaço do conhecimento deve ter uma única representação  autoritativa dentro de um sistema.” Uma orientação forte, mas muitas  vezes é atendido sem uma clara compreensão de suas motivações  subjacentes, nem a consideração de outros princípios que poderiam levar o  código a outras direções.</p>
<p>Depois do almoço houve a palestra do <a href="http://twitter.com/olabini" target="_blank"><strong>Ola Bini</strong></a> que falou sobre &#8220;O passado e o futuro das linguagens de programação&#8221;. A palestra dele foi bem interessante, pois mostrou as linguagens em que o Ruby foi inspirado, baseado em suas características principais.</p>
<p><a href="http://twitter.com/CHACON" target="_blank"><strong>Scott Chacon</strong></a> palestrou sobre Git, e sua palestra foi separada em duas partes: na primeira ele falou das novas funcionalidades da <a href="http://git-scm.com/" target="_blank">última versão do Git</a> (1.7.3) e na segunda parte falou sobre alguns comandos do Git que não são tão populares. Maiores detalhes da palestra do Chacon podem ser encontrados na sua <a href="http://git-tips.heroku.com/" target="_blank">apresentação</a>.</p>
<p>Após o <em>coffee break</em> o <a href="http://twitter.com/alegomes" target="_blank"><strong>Alexandre Gomes</strong></a> falou de algumas escolhas, erros, acertos, atitudes e coragem? Como por exemplo: Computação ou medicina? Passar num concurso, enviar curriculos ou abrir  uma empresa? Web, mobile ou desktop? Desde os tempos de escola somos  inundados de questões que somente o curso da vida nos é capaz de  responder. Em nossa formação escolar, somos orientados a seguir um único  caminho, o caminho da estabilidade, segurança e conforto. Educam-nos a  sermos submissos e obedientes e, condutas fora do padrão esperado são  rechaçadas e condenadas ao castigo. Protagonizando essa história,  estamos nós,  sob avaliação incisiva dos olhos críticos da sociedade.  Poucos, acertam de primeira em suas escolhas de vida. Outros, no  entando, não têm a mesma sorte e atrofiam-se em gaiolas de outro sem  gozar do prazer de se viver dia após dia.</p>
<iframe src='http://www.slideshare.net/slideshow/embed_code/5598074' width='450' height='369'></iframe>
<p>Fez refletir-nos sobre  todos estes fatos, usando exemplos reais de rotinas de profissionais na  mais diferentes situações e analisando porque a paixão pelo trabalho é a  principal virtude compartilhada por profissionais e empreendedores de  sucesso.</p>
<h4><img title="Palestra do Evan Phoenix sobre Rubinius" src="http://ensinar.files.wordpress.com/2010/10/5120987918_504a921411.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></h4>
<div>A última palestra do Ruby Conf 2010 foi a de <a href="http://twitter.com/jimweirich" target="_blank"><strong>Jim Weirich</strong></a>, uma das  palestras mais aguardadas do evento, onde todos foram reunidos no mesmo  horário e na mesma sala.</div>
<div>Figura importante no mundo Ruby, Jim é o cientista-chefe da  EdgeCase LLC, uma empresa de desenvolvimento Rails localizado em  Columbus Ohio.</div>
<div>A palestra falou sobre os princípios <a href="http://en.wikipedia.org/wiki/Solid_(object-oriented_design)" target="_blank">SOLID</a> que  são um conjunto de princípios de design que melhoram um design orientado  a objeto.</div>
<div>Os cinco princípios são:</div>
<ul>
<li>Princípio da Responsabilidade Individual</li>
<li>Principio Aberto / Fechado</li>
<li>Princípio da substituição Liskov</li>
<li>Princípio da Segregação de Interface</li>
<li>Princípio da Inversão de Dependência</li>
</ul>
<div>Jim  explicou cada um dos princípios, dando exemplos e principalmente  fazendo muitas perguntas à platéia para que todos que quisessem opinar  ficassem a vontade para falar a respeito das práticas de programação do  SOLID.</div>
<div>O SOLID surgiu das linguagens de programação OO como C++ e Java,  durante a palestra, Jim explicou como é possível utilizar o SOLID no  Ruby on Rails.</div>
<h4>Conclusão</h4>
<p>A RubyConf 2010 foi excelente, com ótimas palestras sobre temas bem variados e com palestrantes de alto nível. No geral, as palestras foram de nível intermediário para avançado, isso é ruim por um lado, pois em várias acabamos &#8220;boiando&#8221;, mas em contrapartida é bom, pois nos faz perceber que precisamos aprender mais e força as pessoas a terem mais interesse em buscar entender melhor os assuntos e se aprofundar mais.</p>
<p><img title="Pessoal no coffee break" src="http://ensinar.files.wordpress.com/2010/10/5120382279_3a4bccbcb8.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></p>
<p>Esperamos que a RubyConf 2011 seja melhor ainda (com wifi funcionando rs). Parabéns a todos da organização e ao Fabio Akita pelo trabalho singular que vem exercendo na comunidade Ruby.</p>
<p><strong>Autores:</strong></p>
<p>Bruna Oliveira</p>
<p>Daniel Sakuma</p>
<p>Fabrício Campos</p>
<p>Glaucia Mekaru</p>
<p>William Nishio</p>
<p><strong>Fonte imagens:</strong></p>
<p><a href="http://www.flickr.com/photos/locaweb/" target="_blank">http://www.flickr.com/photos/locaweb/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ensinar.wordpress.com/1727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ensinar.wordpress.com/1727/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1727&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/BlogDoEnsinar/~4/urXVHIy2QH0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ensinar.wordpress.com/2010/11/11/rubyconf-2010-estivemos-la-segundo-dia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0e4e8657638dfdc01ac4e6bcdc1c8571?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">Fabrício Ferrari de Campos</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/10/5120987918_504a921411.jpg" medium="image">
			<media:title type="html">Palestra do Evan Phoenix sobre Rubinius</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/10/5120382279_3a4bccbcb8.jpg" medium="image">
			<media:title type="html">Pessoal no coffee break</media:title>
		</media:content>
	<feedburner:origLink>http://ensinar.wordpress.com/2010/11/11/rubyconf-2010-estivemos-la-segundo-dia/</feedburner:origLink></item>
		<item>
		<title>RubyConf 2010 – estivemos lá! – Primeiro dia</title>
		<link>http://feedproxy.google.com/~r/BlogDoEnsinar/~3/lymmSbCCEAo/</link>
		<comments>http://ensinar.wordpress.com/2010/10/29/rubyconf-2010-estivemos-la-primeiro-dia/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 14:54:34 +0000</pubDate>
		<dc:creator>Fabrício Ferrari de Campos</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[rubyconf]]></category>

		<guid isPermaLink="false">http://ensinar.wordpress.com/?p=1707</guid>
		<description><![CDATA[Ocorreu entre os dias 26 e 27 a RubyConf Brasil, o maior evento de Ruby na América Latina. O evento foi no Centro de Convenções Frei Caneca, aqui em São Paulo. E nós da Voice Technology estivemos lá. A seguir, segue as nossas impressões sobre a RubyConf 2010. Organização A organização da RubyConf foi muito [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1707&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Ocorreu entre os dias 26 e 27 a RubyConf Brasil, o maior evento de Ruby na América Latina. O evento foi no Centro de Convenções Frei Caneca, aqui em São Paulo. E nós da Voice Technology estivemos lá. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A seguir, segue as nossas impressões sobre a RubyConf 2010.</p>
<p><img class="aligncenter size-full wp-image-1710" title="Nishio, Bruna, Glaucia e Fabrício" src="http://ensinar.files.wordpress.com/2010/10/rubyconf.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></p>
<h4>Organização</h4>
<p>A organização da RubyConf foi muito boa, vários pontos merecem destaque:</p>
<ul>
<li>A presença de uma &#8220;mestra de cerimônias&#8221;, para coordenar as trocas de palestras e dá os avisos, que ficou praticamente na sala 1, enquanto o Fabio Akita ficou na sala 2, cumprindo muito bem o papel também;</li>
<li><em>Coffee Break</em> bem organizado, o único problema era o pouco espaço do saguão, frente a tantas pessoas que foram (a RubyConf LOTOU!);</li>
<li>As tradicionais <em>Booth Babes</em> da Locaweb (rs) que ajudaram nas horas das perguntas e do credenciamento.</li>
</ul>
<p>Além disso, a localização do evento foi bem acertada, por ser perto do metro e como foi dentro do Shopping Frei Caneca, na hora do almoço, havia várias opções de restaurantes.</p>
<h4>Palestras</h4>
<p>Foram muitos palestras e não tem como falar sobre cada uma, mas vamos dá uma visão geral de como foram as que a nossa equipe participou (houveram duas trilhas).</p>
<p><img class="aligncenter size-full wp-image-1711" title="Abertura feita pelo Fabio Akita" src="http://ensinar.files.wordpress.com/2010/10/akita.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></p>
<p>A RubyConf começou com o <em>keynote</em> do<strong> Fabio Akita</strong>, onde ele deu uma visão geral sobre &#8220;ecossistema&#8221; em volta do Ruby, principalmente falando sobre Rails e a sua jornada como evangelizador de Rails, contando como ele começou com a linguagem e o <em>framework</em> e também citando as pessoas que fazem a diferença na comunidade, como por exemplo, o brasileiro José Valim, que é membro do <em>core team</em> do Rails.</p>
<p>Depois do <em>keynote</em> do Akita teve um excelente <em>coffee break</em>, onde o pessoal pode fazer o <em>networking</em>, e várias pessoas referências da comunidade estavam presentes na RubyConf.</p>
<p>Após o <em>coffee</em> havia duas trilhas de palestras e nossa equipe foi assistir a palestra do <strong>Yehuda Katz</strong> na sala 1, que falou sobre o uso de javascript do lado servidor e do cliente, dando boas dicas sobre como usar de forma eficiente. E também falou sobre o desenvolvimento do <a href="http://jquery.com/" target="_blank">jQuery</a> e <a href="http://www.sproutcore.com/" target="_blank">SproutCore</a>, dando boa enfâse na parte da performance do Sproutcore.</p>
<p>A palestra do <strong>Chris Wanstrath</strong>, co-fundador do <a href="http://github.com/" target="_blank">Github</a>, foi dada pelo <strong>Scott Chacon</strong>, que também é da equipe do GitHub. O tema da palestra foi o <a href="http://github.com/defunkt/resque">Resque</a>, que é um sistema gerenciador de <em>jobs</em> em filas, que é uma boa alternativa para trabalhar com a execução de vários <em>jobs</em> e a distribuição deles de forma paralela.</p>
<p>O Resque é um projeto desenvolvido pelo próprio pessoal do GitHub para ajudar eles a processarem o grande volume de <em>jobs</em> do próprio GitHub. Após utilizar vários sistemas de filas, como por exemplo, o <a href="http://github.com/tobi/delayed_job" target="_blank">Delayed Job</a>, eles acabaram optando por desenvolver o Resque , que hoje já conta com várias empresas utilizando ele e vários <a href="http://wiki.github.com/defunkt/resque/plugins" target="_blank">plugins</a>.</p>
<p>Após o almoço, houve a palestra do <strong>José Valim</strong>, onde foi abordada as mudanças que o Rails 3 trouxe e o que será implementado na versão 3.1, que deverá sair em dezembro desse ano. A palestra foi muito boa, e deu pra perceber que o <em>core team</em> do Rails, está atuando fortemente para tornar o Rails cada vez melhor, tanto na parte da performance quanto na melhora do código em si, se preocupando bastante em deixar mais DRY e também mais modularizado e assim, flexível.</p>
<p>Logo após a palestra de José Valim, na sala 2 o tema era &#8220;Integrando o  iPhone com Ruby on Rails + Geração de gráficos com Ruby on Rails&#8221;,  apresentada por <strong>Pedro Franceschi</strong>.</p>
<p>Mais do que o tema, talvez o que  chamou bastante atenção foi o palestrante: um garoto de apenas 14 anos  que ganhou notoriedade desbloqueando aparelhos da Apple como Iphone e  Ipod touch. Interessado em programação desde os oito anos de idade,  atualmente, Pedro trabalha em uma empresa de tecnologia no Rio de  Janeiro desenvolvendo aplicativos e jogos para diversos produtos da  Apple.</p>
<p>Durante a palestra, apesar da pouca idade, o garoto mostrou  bastante conhecimento técnico e desenvoltura em sua apresentação,  mostrando e explicando códigos em Ruby on Rails de aplicativos que rodam  no celular.</p>
<p>Na segunda parte da palestra, Pedro apresentou diversas  gems utilizadas para gerar gráficos, explicando as vantagens e  desvantagens de se utilizar cada uma dessas bibliotecas.</p>
<p>A palestra do <strong>Ricardo Panaggio</strong> e <strong>Thiago Pradi</strong>, foi sobre as suas experiências na <a href="http://rubysoc.org/" target="_blank">RubySoC</a> e ocorreu em paralelo com a do Pedro, na sala 1. Foi bem legal a palestra, deu pra entender bem o intuito de se participar de um evento como a RubySoC, onde o participante tem que contribuir com algum projeto open-source, seja uma solução própria, ou a melhoria de algo, e poderá receber até $5.000 pelo trabalho no projeto open-source. Ou seja, além da oportunidade de aprender MUITO e contribuir com a comunidade, o participante ainda irá receber por isso. Um ponto bem bacana que foi falado, foi que a participação em projetos open-source é uma ótima maneira de aprendizado, e não só no que tange a linguagem de programação, mas como também no uso do inglês e do trabalho e comunicação em conjunto, principalmente pela forte interação entre o participante e o seu mentor.</p>
<p>Depois da palestra do Ricardo e do Thiago houve o coffee break da tarde e logo após o coffee a última palestra do dia, do<strong> Lucas Húngaro</strong> onde ele compartilhou os seus conhecimentos sobre Rails.</p>
<iframe src='http://www.slideshare.net/slideshow/embed_code/5571832' width='450' height='369'></iframe>
<p>O tema da palestra do Lucas parecia bastante interessante, mas logo no início deu para perceber que a apresentação foi feita as pressas e que não foi feita nenhuma prévia para verificar os slides no projetor.</p>
<p>Foi praticamente impossível acompanhar a apresentação pelo telão, pois a cor escolhida para o fundo foi um roxo tão escuro e a fonte em preto que tornou impossível ler qualquer coisa pelos slides. Lá para o fim da apresentação, o palestrante resolveu das um jeito na fonte, mas isso não impediu a platéia de gritar alguns comandos e atalhos para ver se dava uma forcinha ao Lucas.</p>
<p>Mas basicamente a palestra falou um pouco sobre algumas gems utilizadas e recomendadas, tais como: <a href="http://github.com/dsboulder/query_reviewer" target="_blank">query_reviewer</a> e <a href="http://github.com/eladmeidar/rails_indexes" target="_blank">rails_indexes</a> para otimização e performance de banco de dados, <a href="http://github.com/noahd1/oink" target="_blank">oink</a> para profiling e <a href="http://github.com/staugaard/kasket" target="_blank">kasket</a> e <a href="http://github.com/grosser/cachy" target="_blank">cachy</a> para <em>caching</em>.</p>
<p>Além de abordar técnicas e soluções para problemas em rails, sugestões como utilização de <em>checklists</em> durante o desenvolvimento como uma boa forma de adquirir bons hábitos e se o projeto está difícil de ser testado em isolamento ele está mal projetado e deve ser revisto.</p>
<p>A palestra abordou também temas como <a href="http://en.wikipedia.org/wiki/Solid_%28object-oriented_design%29" target="_blank">SOLID</a>, <a href="http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_defensiva" target="_blank">programação defensiva</a> e <a href="http://en.wikipedia.org/wiki/Law_of_Demeter" target="_blank">lei de Demeter</a>.</p>
<p>E assim foi encerrado o primeiro dia, que foi excelente. Ainda teve depois a desconferência, com várias <em>lightning talks</em>, mas a gente acabou não assistindo, o que foi uma pena, pois pelos comentários no Twitter, foram excelentes.</p>
<p>Em breve publicaremos as nossas impressões sobre o segundo dia da RubyConf. Fique de olho no Ensinar. <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Autores:</strong></p>
<p>Bruna Oliveira</p>
<p>Daniel Sakuma</p>
<p>Fabrício Campos</p>
<p>Glaucia Mekaru</p>
<p>William Nishio</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ensinar.wordpress.com/1707/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ensinar.wordpress.com/1707/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1707&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/BlogDoEnsinar/~4/lymmSbCCEAo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ensinar.wordpress.com/2010/10/29/rubyconf-2010-estivemos-la-primeiro-dia/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0e4e8657638dfdc01ac4e6bcdc1c8571?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">Fabrício Ferrari de Campos</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/10/rubyconf.jpg" medium="image">
			<media:title type="html">Nishio, Bruna, Glaucia e Fabrício</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/10/akita.jpg" medium="image">
			<media:title type="html">Abertura feita pelo Fabio Akita</media:title>
		</media:content>
	<feedburner:origLink>http://ensinar.wordpress.com/2010/10/29/rubyconf-2010-estivemos-la-primeiro-dia/</feedburner:origLink></item>
		<item>
		<title>Estamos loucos!</title>
		<link>http://feedproxy.google.com/~r/BlogDoEnsinar/~3/MOgsbQgGGnw/</link>
		<comments>http://ensinar.wordpress.com/2010/06/25/estamos-loucos/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 18:12:42 +0000</pubDate>
		<dc:creator>Fabrício Ferrari de Campos</dc:creator>
				<category><![CDATA[Livros]]></category>
		<category><![CDATA[pessoas]]></category>
		<category><![CDATA[ricardo semler]]></category>
		<category><![CDATA[você está louco?]]></category>

		<guid isPermaLink="false">http://ensinar.wordpress.com/?p=1676</guid>
		<description><![CDATA[Estou ainda na metade do livro do Ricardo Semler &#8220;Você está louco!&#8221;, mas já foi possível perceber que realmente estamos loucos. Costumamos ser 8 ou 80 no que se diz respeito ao pensar. Pensamos pouco ou quase nada e tomamos atitudes idiotas/erradas ou pensamos muito e perdemos o tempo e até a paciência para agir. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1676&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Estou ainda na metade do livro do <a href="http://pt.wikipedia.org/wiki/Ricardo_Semler" target="_blank">Ricardo Semler</a> <a href="http://compare.buscape.com.br/voce-esta-louco-uma-vida-administrada-de-outra-forma-ricardo-semler-8532520944.html" target="_blank">&#8220;Você está louco!&#8221;</a>, mas  já foi possível perceber que realmente estamos loucos.</p>
<p>Costumamos  ser 8 ou 80 no que se diz respeito ao pensar. Pensamos pouco ou quase  nada e tomamos atitudes idiotas/erradas ou pensamos muito e perdemos o  tempo e até a paciência para agir.</p>
<p>Vivemos num mundo  pseudo-democrático, pseudo pois não sabemos fazer bom uso dessa  democrácia. E isso se estende desde a nossa casa até a presidência da  república.</p>
<p>Hoje mais do que nunca as pessoas gostam de falar, até  porque há muitos meios para isso, desde um scrap até um tweet. Mas  sobra blá-blá e falta ação.</p>
<p>Conversamos e conhecemos muitas  pessoas, mas na hora que precisamos de alguém para ajudar em algo, é  difícil encontrar uma pessoa capaz de ajudar.</p>
<p>Somos acomodados  por natureza, e muitos se aproveitam disso para fazerem corpo mole, se  preocuparem só com o próprio umbigo. Um pena, uma vez que hoje com a  Internet somos capazes de grande ações e mobilizações, mas preferimos  mandar CALA BOCA, ao invés, de mandar BAIXAR OS SALÁRIOS DOS LADRÕES DE  BRASÍLIA.</p>
<p>A Terra é um lugar complexo sem dúvidas, principalmente  porque muitos já perderam a fé no ser humano. Eu ainda tenho um pouco  de fé nele, mas confesso que às vezes, é difícil.</p>
<p>Acredito que o  Brasil, o mundo, poderia ter muito mais Ricardos Semler do que tem, o  ser humano tem uma capacidade enorme para agir, mas muitos fazem sub-uso  dessa capacidade, ou pior, usam de forma errada.</p>
<p>Não seremos  capazes de virar a nossa própria mesa, até o momento que tivermos  preocupados com a mesa dos outros.</p>
<p>Precisamos usar melhor a nossa  capacidade e entender que <strong>todos</strong> nós somos capazes, basta para isso <strong>aprender</strong> (o Semler tinha metas de leitura de 80 a 100 livros por ano!), <strong>agir</strong> (aos 22 anos ele já estava num processo de compra de uma empresa a beira da falência), correr atrás (herdeiro da Semco, ele poderia ter ficado sentado esperando o pai passar a empresa para ele) e <strong>unidos</strong> (o Ricardo Semler não seria tudo que ele é hoje, sem a ajuda de pessoas de confiança e amigos).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ensinar.wordpress.com/1676/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ensinar.wordpress.com/1676/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1676&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/BlogDoEnsinar/~4/MOgsbQgGGnw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ensinar.wordpress.com/2010/06/25/estamos-loucos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0e4e8657638dfdc01ac4e6bcdc1c8571?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">Fabrício Ferrari de Campos</media:title>
		</media:content>
	<feedburner:origLink>http://ensinar.wordpress.com/2010/06/25/estamos-loucos/</feedburner:origLink></item>
		<item>
		<title>Escola – Fábrica de Pessoas, parecida com a de Software</title>
		<link>http://feedproxy.google.com/~r/BlogDoEnsinar/~3/HP25J6qu2kM/</link>
		<comments>http://ensinar.wordpress.com/2010/06/20/escola-fabrica-de-pessoas-parecida-com-a-de-software/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 02:46:46 +0000</pubDate>
		<dc:creator>andrepanta</dc:creator>
				<category><![CDATA[Gerenciamento]]></category>
		<category><![CDATA[Livros]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[escola]]></category>
		<category><![CDATA[ricardo semler]]></category>
		<category><![CDATA[você está louco?]]></category>

		<guid isPermaLink="false">http://ensinar.wordpress.com/?p=1672</guid>
		<description><![CDATA[O Fabrício me emprestou o livro Você Está Louco, do Ricardo Semler. As palestras que já havia visto dele na internet são muito boas, o cara é sensacional. Mas, o tempo passava e eu nunca lia o livro dele, até que ele veio parar na minha mesa. Não vou falar muito mais sobre o livro, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1672&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>O <a href="http://twitter.com/fabricioffc">Fabrício</a> me emprestou o livro <a href="http://www.americanas.com.br/AcomProd/1472/507246">Você Está Louco</a>, do <a href="http://pt.wikipedia.org/wiki/Ricardo_Semler">Ricardo Semler</a>. As <a href="http://mitworld.mit.edu/speaker/view/470">palestras que já havia visto dele</a> na internet são muito boas, o cara é sensacional. Mas, o tempo passava e eu nunca lia o livro dele, até que ele veio parar na minha mesa. Não vou falar muito mais sobre o livro, vou falar de um aspecto que ele levantou quando falava de escola e do projeto <a href="http://www.lumiar.org.br/2009/home.php">Lumiar</a>, e que tem muito a ver com software.</p>
<p>No mundo de software, muito dinheiro, estudo e tempo foram gastos tentando trazer o conceito de linha de montagem para o software. O paralelo era claro: se entra ferro e sai um carro, pode muito bem entrar uma idéia e sair um software, é só cada um ter sua atividade muito bem definida, sem bem específico. O final da história todos conhecem: este modelo vem fracassando com o passar do tempo e as pessoas têm ido em busca de algo mais humano, que valorize o indivíduo e a interação entre eles.</p>
<p>Até aí nada de novo e o que tem a escola a ver com isso? Vejam a observação que ele faz no livro e que está transcrita abaixo:</p>
<blockquote><p>Pós-revolução industrial, o importante era fazer transitar massas de crianças pela escola, para alimentar o dragão do mercado de trabalho. Assim, emulou-se a linha de montagem nas escolas, com carteiras fixas, professor para 20 ou 30 alunos (40 ou mais até), estruturar modular de 55 minutos e disciplinas verticalmente construídas.</p></blockquote>
<p>É&#8230; realmente parecia que este modelo estava fadado ao sucesso, muito bem pensado. Assim conseguimos ganhos extraordinários construindo carros. Mas as coisas ficaram mecânicas demais e esqueceu-se de levar em conta que não era só chegar e despejar conteúdo para alunos que são chamados pelo número. É necessário despertar o prazer de ler, aprender, descobrir coisas novas. Você não está despejando conteúdo, está formando a pessoa.</p>
<p>Além disso, assim como na fábrica de software, praticamente não aproveitamos a interação entre diferentes matérias. Existem algumas tentativas em projetos conjuntos, mas as coisas são bem separadas.</p>
<p><strong>Recuperando o contato pessoal</strong></p>
<p>Na proposta de educação do projeto Lumiar, as crianças seriam acompanhadas por um tutor desde os primeiros anos de vida até se formarem. Este tutor cuida de cerca de 15 crianças e determina em conjunto com os pais e as crianças quais as aulas mais importantes para ela no momento. Simples e eficiente. Sem testes, mas sim, o tutor avaliando em conjunto com pais e aluno se ele está pronto para mais conhecimento.  Além disso, as aulas são dadas somente por pessoas que gostem muito do assunto. Faz todo sentido né ?</p>
<p><strong>Educando uma criança, um grande projeto de escopo fechado</strong></p>
<p>Por que ao entrarmos na escola, com cerca de 6 anos, já temos um cronograma definido do que vamos aprender até os 14? Os pais, o tutor ou alguém que acompanhe de perto o aluno e o próprio aluno poderiam definir o que é o mais apropriado para a criança aprender naquele momento, o que irá trazer mais valor para o cliente, no caso a criança.</p>
<p>Como disse o <a href="http://www.bizrevolution.com.br/bizrevolution/2010/06/eu-escutei-os-conselhos-de-pessoas-mais-inteligentes-do-que-eu-e-ignorei-a-todos-.html">Ricardo Jordão no seu blog</a>, porque raios eu tenho que decorar quem foi Mem de Sá? Está no Google e quando vou precisar disso, quantas vezes você precisou?</p>
<p>É ingenuidade minha, mas nunca havia pensado nas escola como um modelo de fábrica. É claro que tem escolas que tentam ser diferentes, mas achei interessante este paralelo do modelo convencional de escola, com o modelo convencional de software.</p>
<p>Ahh&#8230; e leiam o livro, nem é novo&#8230;  é muito bom!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ensinar.wordpress.com/1672/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ensinar.wordpress.com/1672/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1672&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/BlogDoEnsinar/~4/HP25J6qu2kM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ensinar.wordpress.com/2010/06/20/escola-fabrica-de-pessoas-parecida-com-a-de-software/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f2ccb2db73f5e2d1848eeae8a7c80071?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">andrepanta</media:title>
		</media:content>
	<feedburner:origLink>http://ensinar.wordpress.com/2010/06/20/escola-fabrica-de-pessoas-parecida-com-a-de-software/</feedburner:origLink></item>
		<item>
		<title>VTLabs – Palpite na Copa pelo Twitter</title>
		<link>http://feedproxy.google.com/~r/BlogDoEnsinar/~3/ldkPJgvGoSM/</link>
		<comments>http://ensinar.wordpress.com/2010/06/15/vtlabs-palpite-na-copa-pelo-twitter/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 14:36:03 +0000</pubDate>
		<dc:creator>andrepanta</dc:creator>
				<category><![CDATA[Divulgação]]></category>
		<category><![CDATA[bolão]]></category>
		<category><![CDATA[copa]]></category>
		<category><![CDATA[palpitecerto]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://ensinar.wordpress.com/?p=1663</guid>
		<description><![CDATA[Pessoal, Como parte de um projeto de pesquisa aqui na Voice, desenvolvemos o Palpite Certo, uma aplicação para coletar palpites para os jogos do Brasil na copa via Twitter. Acessa lá http://bit.ly/palpitecerto, o ganhador ganhará uma camisa de uma seleção a sua escolha. Update 18/06/10 Colocamos o projeto no GitHub, segue abaixo o link: http://github.com/vtlabs/PalpiteCerto [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1663&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Pessoal,</p>
<p>Como parte de um projeto de pesquisa aqui na Voice, desenvolvemos o Palpite Certo, uma aplicação para coletar palpites para os jogos do Brasil na copa via Twitter.</p>
<p><img class="size-full wp-image-1668 alignnone" title="#PalpiteCerto" src="http://ensinar.files.wordpress.com/2010/06/palpite_certo.png?w=450" alt=""   /></p>
<p>Acessa lá <a href="http://bit.ly/palpitecerto">http://bit.ly/palpitecerto</a>, o ganhador ganhará uma camisa de uma seleção a sua escolha.</p>
<p><span style="color:#ff0000;"><strong>Update 18/06/10</strong></span></p>
<p>Colocamos o projeto no GitHub, segue abaixo o link:</p>
<p><a href="http://github.com/vtlabs/PalpiteCerto" target="_blank">http://github.com/vtlabs/PalpiteCerto</a></p>
<p>Até mais,</p>
<p>André</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ensinar.wordpress.com/1663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ensinar.wordpress.com/1663/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1663&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/BlogDoEnsinar/~4/ldkPJgvGoSM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ensinar.wordpress.com/2010/06/15/vtlabs-palpite-na-copa-pelo-twitter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f2ccb2db73f5e2d1848eeae8a7c80071?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">andrepanta</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/06/palpite_certo.png" medium="image">
			<media:title type="html">#PalpiteCerto</media:title>
		</media:content>
	<feedburner:origLink>http://ensinar.wordpress.com/2010/06/15/vtlabs-palpite-na-copa-pelo-twitter/</feedburner:origLink></item>
		<item>
		<title>Post.new(“HAML”, “Rails”)</title>
		<link>http://feedproxy.google.com/~r/BlogDoEnsinar/~3/LJmDMCgaeUg/</link>
		<comments>http://ensinar.wordpress.com/2010/06/02/post-newhaml-rails/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 15:21:22 +0000</pubDate>
		<dc:creator>Fabrício Ferrari de Campos</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[haml]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://ensinar.wordpress.com/?p=1608</guid>
		<description><![CDATA[A vida de um desenvolvedor Ruby on Rails não é feita apenas de código Ruby. Sendo necessário também saber html e javascript por exemplo. Quando falamos de html no ecossistema Rails, logo vem a cabeça os arquivos html.erb. Esses que contém a cara da nossa aplicação web e é uma mistura de html e Ruby, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1608&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>A vida de um desenvolvedor Ruby on Rails não é feita apenas de código Ruby. Sendo necessário também saber html e javascript por exemplo.</p>
<p>Quando falamos de html no ecossistema Rails, logo vem a cabeça os arquivos <strong>html.erb</strong>. Esses que contém a cara da nossa aplicação web e é uma mistura de html e Ruby, possível graças ao <a href="http://www.ensta.fr/~diam/ruby/online/ruby-doc-stdlib/libdoc/erb/rdoc/classes/ERB.html" target="_blank">ERB</a>, que é uma implentação do <a href="http://en.wikipedia.org/wiki/ERuby" target="_blank">eRuby</a> em Ruby.</p>
<p>No entanto, há outras alternativas ao uso do ERB e uma delas é o <a href="http://haml-lang.com/" target="_blank">HAML</a> (HTML Abstraction Markup Language &#8211; &#8220;Linguagem de marcação abstraída do HTML&#8221;).</p>
<h3>Hello World!</h3>
<p>Para trabalhar com o HAML no Rails, precisamos instalar a gem haml. Para isso execute o seguinte comando na pasta do seu projeto:</p>
<p><strong>sudo gem install haml<br />
</strong></p>
<p>Se preferi você pode também especificar a gem no seu arquivo <strong>environment.rb</strong> (o que é uma boa prática), adicionando a seguinte linha.</p>
<p><em>config.gem &#8216;haml&#8217;</em></p>
<p>E depois executar a rake task que irá instalar as gems especificadas no seu arquivo <strong>environment.rb</strong>.</p>
<p><strong>rake gems:install</strong></p>
<p>Instalada a gem já podemos começar a brincar. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>No exemplo abaixo é apresentado um exemplo de um Hello World &#8220;parrudo&#8221;, primeiro utilizando ERB e depois utilizando o HAML.</p>
<p><pre class="brush: xml; pad-line-numbers: 2;">
Hello World!
&lt;p&gt;
  1+1 é:
  &lt;b&gt;&lt;%= 1 + 1 %&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
  Contando de 1 a 5:
  &lt;%for i in (1..5)%&gt;
    &lt;i&gt;&lt;%= i %&gt;&lt;/i&gt;
  &lt;%end%&gt;
&lt;/p&gt;
&lt;br/&gt;
&lt;table border=&quot;1&quot;&gt;
    &lt;th&gt;
      Grupo G
    &lt;/th&gt;
    &lt;tr&gt;
      &lt;td&gt;
        Brasil
      &lt;/td&gt;
     &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;
        Coreia do Norte
      &lt;/td&gt;
     &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;
        Costa do Marfim
      &lt;/td&gt;
     &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;
        Portugal
      &lt;/td&gt;
     &lt;/tr&gt;
&lt;/table&gt;
</pre></p>
<p>Agora o mesmo exemplo em HAML:</p>
<p><pre class="brush: xml; pad-line-numbers: 2;">
Hello World!
%p
  1+1 é:
  %b= 1 + 1
%p
  Contando de 1 a 5:
  - for i in (1..5)
    %i= i
%br
%table{:border =&gt; 1}
  %th
    Grupo G
  %tr
    %td
      Brasil
  %tr
    %td
      Coreia do Norte
  %tr
    %td
      Costa do Marfim
  %tr
    %td
      Portugal
</pre></p>
<p>E o resultado é o mesmo, tanto com o ERB quanto com o HAML.</p>
<p><img class="size-full wp-image-1632 alignnone" title="Resultado dos códigos acima" src="http://ensinar.files.wordpress.com/2010/06/print.gif?w=450" alt=""   /></p>
<h3>Diferenças</h3>
<p>A primeira diferença notada é a quantidade de linhas para escrever usando o HAML, menor que com o ERB, uma vez que foi preciso de 37 linhas com o ERB, enquanto com o HAML apenas 24 já bastaram. Outra diferença é a sintaxe menos verbosa do HAML.</p>
<p>Além disso, há outras diferenças importantes que é bom saber para não cometer erros:</p>
<ul>
<li>O HAML utiliza marcações menos verbosas, utilizando porcentagem (<strong>%</strong>) e essas marcações não são fechadas como no HTML;</li>
<li>Ao transformar para HTML a gem haml sabe quando uma marcação termina pela identação;</li>
<li>A identação é super importante no HAML, e você irá perceber isso ao identar errado, pois irá dá erro de sintaxe;</li>
<li>Código Ruby é identificado colocando-se um traço (<strong>-</strong>), e quando queremos exibir a saída do código, colocamos um igual (<strong>=</strong>), ao invés, do traço (<strong>-</strong>);</li>
<li>É possível especificar as propriedades das marcações, utilizando chaves (<strong>{}</strong>) e informando a propriedade como um símbolo (ex.: <strong>:color</strong>) e atribuindo o valor como fazemos em Ruby, com a &#8220;seta&#8221; (<strong>=&gt;</strong>);</li>
<li>Como não é necessário fechar a marcação, não é necessário colocar <strong>end</strong>, pois a gem haml irá saber do <strong>end</strong>, pela identação. E como o HAML segue o princípio <a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself" target="_blank">DRY</a> e utiliza da identação para reconhecer as marcações, ele não iria deixar você colocar um <strong>end</strong>, sendo que com a identação já é possível saber que aquele trecho de código possui um <strong>end</strong>.</li>
</ul>
<h3>Gerando scaffold em HAML</h3>
<p>Legal, mas se utilizamos o scaffold para gerar as nossas views, iremos ter um trabalho do cão para alterar os arquivos para HAML, uma vez que o scaffold gera arquivos ERB.</p>
<p>Pensando nisso o <a href="http://github.com/norman" target="_blank">Norman Clarke</a> criou o <a href="http://github.com/norman/haml-scaffold" target="_blank">haml-scaffold</a>, cuja principal diferença para o scaffold é que ele gera as views em HAML, ao invés, de ERB. Para instalar essa gem, basta digitar:</p>
<p><strong>sudo gem install haml_scaffold</strong></p>
<p>A gem haml_scaffold tem algumas dependências a gem <a href="http://haml.hamptoncatlin.com/" target="_blank">haml</a> (que já temos), <a href="http://github.com/mislav/will_paginate/">will_paginate</a> e <a href="http://mocha.rubyforge.org/">mocha</a>.  Para instalar as dependências você pode especificar essas gems no <strong>environment.rb </strong>e rodar a rake task ou instalar da forma tradicional.</p>
<p>Abaixo, segue as duas formas.</p>
<p><em><strong>Via rake gems:install</strong></em></p>
<p>No arquivo <strong>environment.rb</strong> acrescente:</p>
<p><em>config.gem &#8220;will_paginate&#8221; </em></p>
<p><em>config.gem &#8220;mocha&#8221;</em></p>
<p>Salve o arquivo e execute na pasta do seu projeto:</p>
<p><strong>rake gems:install</strong></p>
<p><em><strong>Via gem install</strong></em></p>
<p><strong>sudo gem install will_paginate mocha</strong></p>
<p>Instalado agora teremos um novo gerador, o haml_scaffold. Um exemplo de uso segue abaixo:</p>
<p><strong>script/generate haml_scaffold Post title:string content:text published:boolean</strong></p>
<p>Você notará que todas as views foram geradas em HAML e já temos dois <a href="http://rails.rubyonrails.org/classes/ActionView/Partials.html" target="_blank">partials</a>, que são usados na criação/edição e outro na listagem.</p>
<h3>Conclusão</h3>
<p>Utilizando HAML as nossas views ficam bem enxutas, com o tempo acostumamos com as novas marcações e acaba sendo mais produtivo e prazeroso usar o HAML. Além disso, somos forçados a identar corretamente o código, e erros de HTML acabam não mais acontecendo.</p>
<p>Além disso, acaba sendo muito mais fácil dá manutenção num código gerado com o HAML, do que com o ERB, uma vez que ele é mais curto, menos verboso e identado. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Espero que vocês tenham gostado de conhecer o HAML e como podemos utilizá-lo no Rails, qualquer dúvida sintam-se à vontade em colocar nos comentários.</p>
<p><strong>Saiba mais:</strong></p>
<p>Site oficial com vários exemplos e explicações:</p>
<p><a href="http://haml-lang.com/" target="_blank">http://haml-lang.com/</a></p>
<p>Post do Marcos Tapajós, comparando a performance do ERB X HAML:</p>
<p><a href="http://tapajos.me/2010/01/05/haml-versus-erb" target="_blank">http://tapajos.me/2010/01/05/haml-versus-erb</a></p>
<p><strong>Ambiente utilizado</strong></p>
<p><strong>SO:</strong> Ubuntu 10.04</p>
<p><strong>Rails:</strong> 2.3.8</p>
<p><strong>Gems:</strong> haml (3.0.6), haml_scaffold (1.1.0), will_paginate (2.3.14) e mocha (0.9.8).</p>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:2391px;width:1px;height:1px;overflow:hidden;">rake gems:install</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ensinar.wordpress.com/1608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ensinar.wordpress.com/1608/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1608&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/BlogDoEnsinar/~4/LJmDMCgaeUg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ensinar.wordpress.com/2010/06/02/post-newhaml-rails/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0e4e8657638dfdc01ac4e6bcdc1c8571?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">Fabrício Ferrari de Campos</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/06/print.gif" medium="image">
			<media:title type="html">Resultado dos códigos acima</media:title>
		</media:content>
	<feedburner:origLink>http://ensinar.wordpress.com/2010/06/02/post-newhaml-rails/</feedburner:origLink></item>
		<item>
		<title>Cobertura do evento “Ruby+Rails no mundo real 2010″</title>
		<link>http://feedproxy.google.com/~r/BlogDoEnsinar/~3/jLqFoYS4Wao/</link>
		<comments>http://ensinar.wordpress.com/2010/06/01/cobertura-do-evento-rubyrails-no-mundo-real-2010/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 14:29:37 +0000</pubDate>
		<dc:creator>Rodrigo Ribeiro</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Guru-SP]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://ensinar.wordpress.com/?p=1599</guid>
		<description><![CDATA[Pessoal, No sábado passado (29-05-10) Eu e o Fabrício Campos estivemos na segunda edição do evento &#8220;Ruby+Rails no mundo real 2010&#8243;, organizado pela Tempo Real Eventos em parceria com o GURU-SP (Grupo de usuários Ruby de São Paulo). Para os interessados em saber quais foram as novidades mostradas nesse evento, eu escrevi uma cobertura do [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1599&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:justify;">Pessoal,</p>
<p style="text-align:justify;">No sábado passado (29-05-10) Eu e o <a href="http://qualidadebr.wordpress.com/">Fabrício Campos</a> estivemos na segunda edição do evento &#8220;Ruby+Rails no mundo real 2010&#8243;, organizado pela <a href="http://www.temporealeventos.com.br/?area=130">Tempo Real Eventos</a> em parceria com o <a href="http://www.guru-sp.org/">GURU-SP</a> (Grupo de usuários Ruby de São Paulo).</p>
<p style="text-align:justify;">Para os interessados em saber quais foram as novidades mostradas nesse evento, eu escrevi uma cobertura do que aconteceu e um resumo de cada palestra no meu blog.</p>
<p style="text-align:justify;">Quer conferir? Então acesse o link abaixo:</p>
<p style="text-align:justify;"><a href="http://templariodatecnologia.wordpress.com/2010/05/31/minhas-impressoes-rubyrails-no-mundo-real-2010-290510/">Minhas impressões – Ruby+Rails no mundo real 2010 – 29/05/10</a></p>
<p style="text-align:justify;">No ano passado eu também escrevi a cobertura da primeira edição do evento (rs) e foi publicada aqui no Blog do Ensinar. Acesse o post pelo link abaixo:</p>
<p style="text-align:justify;"><a href="http://ensinar.wordpress.com/2009/04/19/minhas-impressoes-ruby-rails-no-mundo-real-2009-040409/">Minhas impressões – Ruby + Rails no Mundo Real 2009 – 04/04/09</a></p>
<p style="text-align:justify;">Acompanhe também as atualizações do <a href="http://twitter.com/#search?q=%23rubyreal2010">pessoal que está postando no twitter acerca do evento</a>!</p>
<p style="text-align:justify;">Até mais e boa leitura a todos!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ensinar.wordpress.com/1599/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ensinar.wordpress.com/1599/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1599&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/BlogDoEnsinar/~4/jLqFoYS4Wao" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ensinar.wordpress.com/2010/06/01/cobertura-do-evento-rubyrails-no-mundo-real-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/abff8c8b7e86bce27ce4eb6939049ba3?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">Rodrigo Ribeiro</media:title>
		</media:content>
	<feedburner:origLink>http://ensinar.wordpress.com/2010/06/01/cobertura-do-evento-rubyrails-no-mundo-real-2010/</feedburner:origLink></item>
		<item>
		<title>Todo mundo trabalha</title>
		<link>http://feedproxy.google.com/~r/BlogDoEnsinar/~3/J7xLFxVOYmo/</link>
		<comments>http://ensinar.wordpress.com/2010/05/28/todo-mundo-trabalha/#comments</comments>
		<pubDate>Fri, 28 May 2010 02:09:04 +0000</pubDate>
		<dc:creator>andrepanta</dc:creator>
				<category><![CDATA[Livros]]></category>
		<category><![CDATA[livros]]></category>
		<category><![CDATA[rework]]></category>
		<category><![CDATA[trabalho]]></category>

		<guid isPermaLink="false">http://ensinar.wordpress.com/?p=1592</guid>
		<description><![CDATA[Olá pessoal, Semana passada eu li o livro Rework, do pessoal da 37 Signals. É um livro que segue a linha do primeiro, o Getting Real. É um livro com dicas de gestão de uma empresa, de um produto, baseado na experiência deles. Para quem não sabe, eles criaram o Basecamp, um software como serviço [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1592&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Olá pessoal,</p>
<p>Semana passada eu li o livro <a href="http://37signals.com/rework/">Rework</a>, do pessoal da <a href="http://37signals.com/">37 Signals</a>. É um livro que segue a linha do primeiro, o <a href="http://gettingreal.37signals.com/GR_por.php">Getting Real</a>. É um livro com dicas de gestão de uma empresa, de um produto, baseado na experiência deles. Para quem não sabe, eles criaram o <a href="http://basecamphq.com/">Basecamp</a>, um software como serviço para gerenciamento de projetos e nada mais nada menos que o badalado framework de desenvolvimento Web, o <a href="http://www.rubyonrails.pro.br/">Rails</a>.</p>
<p>Em boa parte do livro eles focam no fato de fazer o simples, somente o necessário e principalmente trabalhar focado no seu objetivo. É um livro de leitura fácil, organizado em textos de pouco mais de uma página cada. Neste post vou traduzir um pequeno texto do livro, chamado: Todo mundo trabalha!</p>
<blockquote><p><strong>Todo mundo trabalha</strong></p>
<p>Com um time pequeno, você precisa de pessoas que irão fazer o trabalho, não delegá-lo. Todo mundo deve estar produzindo. Ninguém deve estar acima do trabalho.</p>
<p>Isto significa que você deve evitar contratar delegadores, aquelas pessoas que amam dizer às outras o que fazer. Delegadores são peso morto para um pequeno time. Eles enchem os outros inventando trabalho. E quando eles estão sem trabalho para delegar, eles inventam mais &#8211; independente se o trabalho precisa ser feito.</p>
<p>Delegadores amam colocar pessoas em reuniões, também. Na verdade, reuniões são as melhores amigas de um delegador. Lá é onde ele parece importante. Enquanto isso, todos os outros que estão na reunião é impedido de resolver o trabalho real que precisa ser feito.</p></blockquote>
<p>Antes de delegar uma atividade ou principalmente antes de contratar alguém, pense se você realmente precisa delegar, se não dar para você mesmo fazer esta atividade.</p>
<p>Quem quiser saber mais sobre o livro, o pessoal da <a href="http://bluesoft.wordpress.com/2010/05/18/rework/">Bluesoft</a> fez um vídeo sobre o livro, no <a href="http://bluesoft.wordpress.com/2010/05/18/rework/">blog</a> deles.</p>
<p>Até mais pessoal&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ensinar.wordpress.com/1592/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ensinar.wordpress.com/1592/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1592&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/BlogDoEnsinar/~4/J7xLFxVOYmo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ensinar.wordpress.com/2010/05/28/todo-mundo-trabalha/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/f2ccb2db73f5e2d1848eeae8a7c80071?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">andrepanta</media:title>
		</media:content>
	<feedburner:origLink>http://ensinar.wordpress.com/2010/05/28/todo-mundo-trabalha/</feedburner:origLink></item>
		<item>
		<title>Encontro no:sql(br). – Eu fui!</title>
		<link>http://feedproxy.google.com/~r/BlogDoEnsinar/~3/i7BYw6uIQzk/</link>
		<comments>http://ensinar.wordpress.com/2010/05/16/encontro-nosqlbr-eu-fui/#comments</comments>
		<pubDate>Sun, 16 May 2010 18:39:46 +0000</pubDate>
		<dc:creator>Fabrício Ferrari de Campos</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[cassandra]]></category>
		<category><![CDATA[couchdb]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[no:sql(br).]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[redis]]></category>
		<category><![CDATA[rest]]></category>

		<guid isPermaLink="false">http://ensinar.wordpress.com/?p=1543</guid>
		<description><![CDATA[Ontem às 08:30 começou o no:sql(br)., um evento sobre banco de dados NoSQL (Not only SQL). Para quem não conhece o assunto, recomendo a leitura deste artigo. O evento foi organizado pelo Alexandre Porcelli e inicialmente era para ser uma reunião de usuários de NoSQL. Porém, para a nossa sorte, acabou tomando maiores proporções, e [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1543&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Ontem às 08:30 começou o <a href="http://nosqlbr.com/" target="_blank">no:sql(br).</a>, um evento sobre banco de dados NoSQL (<a href="http://pt.wikipedia.org/wiki/NoSQL" target="_blank">Not only SQL</a>). Para quem não conhece o assunto, recomendo a leitura deste <a href="http://blog.nahurst.com/visual-guide-to-nosql-systems" target="_blank">artigo</a>.</p>
<p>O evento foi organizado pelo <a href="http://twitter.com/porcelli" target="_blank">Alexandre Porcelli</a> e inicialmente era para ser uma reunião de usuários de NoSQL. Porém, para a nossa sorte, acabou tomando maiores proporções, e uma reunião que poderia ser realizada sem maiores problemas numa sala de aula, teve que ser transferido para o auditório do Hotel Park Suites ITC Vila Olímpia, localizado na zona sul de São Paulo.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-1561" style="border:0 none;margin:0;" title="no:sql(br)." src="http://ensinar.files.wordpress.com/2010/05/nosql_br.jpg?w=450&#038;h=350" alt="" width="450" height="350" /></p>
<p>Eu e o <a href="http://templariodatecnologia.wordpress.com/" target="_blank">Rodrigo Ribeiro</a> tivemos a força de vontade e a nerdice, para acordar bem cedo em pleno sabadão, para ir a esse primeiro evento de NoSQL no Brasil (acredito que seja o primeiro).</p>
<p>Abaixo relato as minhas expectativas, impressões e falo um pouco sobre cada palestra que ocorreu. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h4>Expectativas</h4>
<p>Confesso que eu só fui me interessar pelo evento na última quinta-feira (hehe). Após ter tido que pesquisar sobre bancos NoSQL para um novo projeto que estamos desenvolvendo aqui na Voice. E ao pesquisar e estudar tive dificuldades em entender esse &#8220;novo&#8221; paradigma, e então, lembrei do <a href="http://nosqlbr.com/" target="_blank">no:sql(br).</a> que foi divulgado pelo Rodrigo na lista do <a href="http://groups.google.com/group/ensinar" target="_blank">Ensinar</a>. Só aí que fui me interessar pelo evento, justamente para clarear as minhas ideias sobre o assunto e poder aprender mais, uma vez que seria uma excelente oportunidade de aprender sobre NoSQL e principalmente, quando usar um NoSQL.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-1566" style="border:0 none;margin:0;" title="Visão geral do auditório" src="http://ensinar.files.wordpress.com/2010/05/visao_geral.jpg?w=450&#038;h=350" alt="" width="450" height="350" /></p>
<h4>Abertura &#8211; Alexandre Porcelli (<a href="http://porcelli.github.com/OpenSpotLight/" target="_blank">OpenSpotLight</a>)</h4>
<p>O Alexandre Porcelli, idealizador do evento, fez a abertura do mesmo, falando sobre como foi a origem do evento, que como disse antes, era para ser uma reunião de usuários NoSQL, e uma desculpa para ir num buteco depois. Porém, a conversa que começou no twitter, acabou tomando maiores proporções (o poder do twitter é incrível) e já no primeiro dia de inscrições foram mais de 100 inscritos!</p>
<p>O <a href="http://thestrangeloop.com/" target="_blank">Strange Loop</a> foi uma das inspirações para o evento, por sua característica mais simples e de baixo custo. E no caso do <a href="http://nosqlbr.com/" target="_blank">no:sql(br).</a> o custo para os participantes foi ZERO!</p>
<p style="text-align:left;"><img class="aligncenter size-full wp-image-1551" style="border:0 none;margin:0;" title="Abertura - Alexandre Porcelli" src="http://ensinar.files.wordpress.com/2010/05/alexandre-abertura.jpg?w=450&#038;h=350" alt="" width="450" height="350" /></p>
<p style="text-align:left;">O Alexandre lembrou que o evento não era para falar mal de banco relacionais, afinal NoSQL, é sobre escolha e não sobre ser contra algo. E depois o Alexandre fez um jabá de seu projeto open-source o <a href="http://porcelli.github.com/OpenSpotLight/" target="_blank">OpenSpotLight</a>, que objetiva ser um Google para a área de TI (Google4IT).</p>
<p>No final da abertura, o Porcelli informou que estará organizando um novo evento para o próximo semestre, que será sobre Linguagens Emergentes &amp; DSLs.</p>
<h4>noSQL anti-patterns &#8211; Gleicon Moraes (<a href="http://www.locaweb.com.br" target="_blank">Locaweb</a>)</h4>
<p>Na verdade o tema correto da apresentação seria SQL anti-patterns, como foi lembrado pelo <a href="http://blog.ramgarlic.com/" target="_blank">Luciano Ramalho</a>.</p>
<p>O Gleicon fez uma apresentação bem legal, foi a que eu mais gostei. Falando sobre anti-patterns SQL, que muitas vezes ocorre não por má vontade do desenvolvedor e sim porque o mesmo não conhece outras alternativas (leia-se NoSQL).</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-1557" style="border:0 none;margin:0;" title="Gleicon Moraes" src="http://ensinar.files.wordpress.com/2010/05/gleicon.jpg?w=450&#038;h=350" alt="" width="450" height="350" /></p>
<p>Abaixo uma apresentação utilizada pelo Gleicon no evento da Locaweb, mas que é a base senão até igual a apresentação utilizada ontem.</p>
<iframe src='http://www.slideshare.net/slideshow/embed_code/3017313' width='450' height='369'></iframe>
<p>Na apresentação Gleicon deixou bem claro a importância de conhecer NoSQL, pois muitas vezes fazemos a escolha errada, por não conhecer outras formas de implementação. Outros pontos frisados foram:</p>
<ul>
<li>Não há bala de prata
<ul>
<li>considere alternativas;</li>
<li>pense fora da normalização;</li>
<li>considere a desnormalização como uma opção;</li>
<li>simplificar.</li>
</ul>
</li>
<li>Algumas mudanças organizacionais são necessárias, o desenvolvedor precisa tomar conta dos dados;</li>
<li>&#8220;Estou otimizando&#8221;, quando na verdade a pessoa está aprendendo a fazer as coisas;</li>
<li>É importante conhecer/aprender as ferramentas certas;</li>
<li>Boa parte dos problemas ocorrem por causa da mentalidade &#8220;relacional&#8221;;</li>
<li>Verifique se você está muito dependente de cache, cache é bom, mas é remendo. Por isso a dependência de cache pode significar um alerta;</li>
<li>Pense mais sobre os seus dados.</li>
</ul>
<h4>Performance e simplicidade com Chave/Valor utilizando REDIS &#8211; Luiz Fernando Teston (<a href="http://porcelli.github.com/OpenSpotLight/" target="_blank">OpenSpotLight</a>)</h4>
<p>O Teston, que também participa do projeto <a href="http://porcelli.github.com/OpenSpotLight/" target="_blank">OpenSpotLight</a>, começou a sua apresentação dando um introdução sobre chave/valor que é o modelo de dados utilizado pelo <a href="http://code.google.com/p/redis/" target="_blank">Redis</a>.</p>
<p>Depois da introdução foi comentado que o Redis armazena os dados em memória, por isso é mais rápido. E é possível configurar de quanto em quanto tempo que ele irá persistir esses dados em disco. E além de poder adicionar strings, o Redis também pode armazenar uma lista de itens, set ordenado e array de bytes.</p>
<p>A respeito das chaves:</p>
<ul>
<li>O index é pela chave;</li>
<li>Os ids são criados usando auto increment (como no banco relacional);</li>
<li>Chaves naturais podem ser usadas (ex.: nome do usuário do twitter);</li>
<li>Criar chave muito grande não é performático.</li>
</ul>
<p>A instalação do Redis é bem simples e quem usa Windows precisa instalar o <a href="http://www.cygwin.com/" target="_blank">Cygwin</a>.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-1556" style="border:0 none;margin:0;" title="Luiz Fernando Teston" src="http://ensinar.files.wordpress.com/2010/05/feston.jpg?w=450&#038;h=350" alt="" width="450" height="350" /></p>
<p>Depois o Feston falou sobre os comandos existentes no Redis, maiores detalhes podem ser obtidos <a href="http://code.google.com/p/redis/wiki/CommandReference" target="_blank">nessa página</a> da documentação do Redis.</p>
<p><em>Qual cenário que você indica o uso do Redis?</em></p>
<p>Quando a busca por dados na memória é possível e quando o seu modelo de dados se adequa bem ao modelo chave/valor.</p>
<p>Por fim, o Feston deixou bem claro que o Redis não tem limitação de memória, uma vez que ele pode fazer uso de memória virtual.</p>
<h4>O papel do REST no Neo4J e CouchDB, um comparativo &#8211; Guilherme Silveira (<a href="http://www.caelum.com.br/" target="_blank">Caelum</a>)</h4>
<p>Um dos poucos palestrantes que eu já conhecia, embora não tenha visto nenhuma palestra ao vivo, só as gravadas (rs). O Guilherme Silveira é sem dúvidas um dos grandes entusiastas de REST, e aliás, ele é o desenvolvedor do <a href="http://restfulie.caelumobjects.com/" target="_blank">Restfulie</a>.</p>
<p>A palestra foi bem voltada para o mundo Web e focando em REST. E de início o Guilherme falou sobre escalabilidade, dizendo que &#8220;escalar é dá vazão para mais&#8221; e a web &#8220;é o maior sistema distribuído que o ser humano criou&#8221;, portanto, podemos aprender bastante coisas sobre escalabilidade com a Web.</p>
<p>Foi falado da importância de ser stateless, pois assim o servidor não precisa saber quem é você e o usuário pode ser &#8220;servido&#8221; por qualquer servidor (quando você faz uma pesquisa no Google, por exemplo, para o usuário a impressão é de está acessando o servidor do Google, quando na verdade ele está acessando e sendo servido por vários servidores).</p>
<p>O Guilherme lembrou que cache é fundamental para a escalabilidade, e podemos cachear tanto no cliente, intermediários e no servidor.</p>
<p>Dentre os pontos principais da apresentação destaco:</p>
<ul>
<li>Evite bater no BD, ou seja, usar cache e perguntar só uma vez ou só para confirmar se a informação é a atual;</li>
<li>Ao ínves de usar uri pattern, usar links;</li>
<li>Há uma RFC para links, a <a href="http://tools.ietf.org/html/rfc5829" target="_blank">5829</a>;</li>
<li>Usar melhor o header do html, por exemplo colocando um link de histórico nele;</li>
<li>O trabalho do BD não é cachear;</li>
</ul>
<p>O auge da apresentação foi quando o Guilherme falou sobre visibilidade, o problema é que eu não me lembro muito bem o que ele falou (rs).</p>
<p><img class="aligncenter size-full wp-image-1558" title="Guilherme Silveira" src="http://ensinar.files.wordpress.com/2010/05/guilherme.jpg?w=450&#038;h=350" alt="" width="450" height="350" /></p>
<p>Pegar um sistema em camadas e tentar fazer tudo numa única camada, não é solução nenhum pouco inteligente, uma vez que é importante desaclopar os componentes da sua arquitetura.</p>
<p>No final o Guilherme ainda apresentou um exemplo usando Ruby e Sinatra, onde ele transformar os valores obtidos no CouchDB em links e depois ele falou sobre o <a href="http://qcon.com.br/" target="_blank">QCon</a>, que parece ser um evento bem interessante (estou pensando em ir).</p>
<p>A apresentação do Guilherme foi bem legal, mesmo ele não falando muito sobre o CouchDB, cuja interface é via REST. Ele fala de uma maneira bem empolgada e a apresentação tinha imagens que garantiam boas risadas da platéia.</p>
<h4>Introdução ao MongoDB &#8211; direto da fonte! &#8211; Alberto Lerner (<a href="http://www.10gen.com/" target="_blank">10gen</a>)</h4>
<p>A apresentação do Alberto, que veio de Nova York só para participar do evento, foi sobre o <a href="http://www.mongodb.org/" target="_blank">MongoDB</a> do pessoal da <a href="http://www.10gen.com/" target="_blank">10gen</a>, um banco de dados orientado a documentos open-source.</p>
<p>A palestra foi bem legal, principalmente pelo fato de ser introdutória (hehe) e ter mostrado as características e comandos do MongoDB.</p>
<p>O Alberto começou a apresentação falando sobre a origem do nome, que veio da palavra inglesa &#8220;hu<strong>mongo</strong>us&#8221; que é usada de forma coloquial e significa gigante (para nós brasileiros não é um bom nome rs).</p>
<p>Os documentos são armazenados no formato JSON, e numa analogia com uma banco de dados relacional:</p>
<ul>
<li>O documento JSON seria o registro;</li>
<li>As collections seria uma tabela;</li>
<li>Os índices seriam os índices mesmo;</li>
<li>O embedding e o linking seria o join.</li>
</ul>
<p>Depois o Alberto apresentou os <a href="http://www.mongodb.org/display/DOCS/Tutorial" target="_blank">comandos</a> principais do MongoDB, esclarencendo que o MongoDB não tem uma linguagem de consulta, o que existe são expressões/comandos, que são usados no formato JSON.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-1550" style="border:0 none;margin:0;" title="Alberto Lerner" src="http://ensinar.files.wordpress.com/2010/05/alberto.jpg?w=450&#038;h=350" alt="" width="450" height="350" /></p>
<p>Algumas características interessantes do MongoDB:</p>
<ul>
<li>É possível acrescentar dados, por meio de um update;</li>
<li>Não existe um schema dentro das coleções, ou seja, as collections podem ser dinâmicas;</li>
<li>Há upserts, que podem atualizar se documento já existe, ou cria se ele não existe;</li>
<li>Você pode armazenar o seu dado da forma que ele ocorre na &#8220;natureza&#8221;.</li>
</ul>
<p>O Alberto também falou um pouco sobre replicação e <a href="http://en.wikipedia.org/wiki/Shard_%28database_architecture%29" target="_blank">sharding</a>, onde deu para perceber que o MongoDB é bem flexível.</p>
<p>Dentre as empresas que já usam o MongoDB, destaque para o <a href="http://sourceforge.net/" target="_blank">SourceForge</a> e a <a href="http://foursquare.com/" target="_blank">FourSquare</a>.</p>
<p>No final o Alberto convidou o pessoal a participar do projeto do MongoDB, dizendo que a língua não é uma barreira, o importante é a contribuição. E todo o código do MongoDB está disponível no <a href="http://github.com/mongodb" target="_blank">GitHub</a>.</p>
<h4>Tio: um NoSQL made in Brasil &#8211; Rodrigo Strauss (<a href="http://www.1bit.com.br/" target="_blank">1bit</a>)</h4>
<p>A apresentação do Rodrigo Strauss foi sobre o seu projeto chamado <a href="http://code.google.com/p/tio/" target="_blank">Tio</a>, que é um servidor de estrutura de dados com publish subscribe.</p>
<p>Os slides da apresentação já foram disponibilizados pelo Rodrigo e podem ser conferidos no link abaixo:</p>
<p><a href="http://docs.google.com/present/view?id=dg9kbfzn_73m4c7qvc6" target="_blank">http://docs.google.com/present/view?id=dg9kbfzn_73m4c7qvc6</a></p>
<p>O Tio é um projeto no qual o Rodrigo vem trabalhando já há 3 anos, e na época em que ele começou NoSQL ou não existia ou não era &#8220;mainstream&#8221;.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-1564" style="border:0 none;margin:0;" title="Rodrigo Strauss" src="http://ensinar.files.wordpress.com/2010/05/rodrigo.jpg?w=450&#038;h=350" alt="" width="450" height="350" /></p>
<p>E a ideia do Tio é que o seu uso seja tão fácil quanto usar a sua linguagem de programação. O core do Tio, é o <a href="http://en.wikipedia.org/wiki/Publish/subscribe" target="_blank">publish subscribe</a>, onde qualquer um pode assinar para receber as mensagens da sua aplicação.</p>
<p>Algumas características do Tio:</p>
<ul>
<li>Para usar o Tio você pode conectar via telnet/netcat;</li>
<li>Ocupa 700k de memória (com a base limpa é claro);</li>
<li>Você modela os dados igual você modela na sua aplicação;</li>
<li>Desenvolvido em C++;</li>
<li>Há uma api em Python, criada pelo próprio Rodrigo;</li>
</ul>
<p>O Rodrigo ainda fez uma demostração do Tio fazendo um aplicação de chat, que depois basicamente só precisava da implementação do lado do cliente, e para isso ele utilizou a API em Python.</p>
<p>No final o Rodrigo ainda falou sobre as vantagens, limites e o que existe atualmente (tudo isso pode ser conferido no link que passei da apresentação).</p>
<h4>Nas Nuvens com KVM, JBoss REST-Easy e InfiniSpan &#8211; Edgar Silva &amp; Samuel Tauil (<a href="http://www.br.redhat.com/" target="_blank">Red Hat Brasil</a>)</h4>
<p>A apresentação do Edgar Silva e do Samuel Tauil, começou com o Edgar falando sobre o <a href="http://www.linux-kvm.org/page/Main_Page" target="_blank">KVM</a>, que possibilita a virtualização nativa no SO. E a virtualização possibilita uma melhor utilização do hardware.</p>
<p>O Edgar lembrou que para NoSQL você precisa de uma:</p>
<ul>
<li>Infraestrutura;</li>
<li>Armazenamento;</li>
<li>Acesso.</li>
</ul>
<p>Depois foi falado um pouco sobre REST, onde a ideia é de mapeamento de verbos de serviços na Web usando URIs. Exemplo: <em>tv/canal/121</em> [recurso|objeto|valor]</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-1555" style="border:0 none;margin:0;" title="Edgar e Samuel" src="http://ensinar.files.wordpress.com/2010/05/edgar_e_samuel1.jpg?w=450&#038;h=350" alt="" width="450" height="350" /></p>
<p>O Samuel falou sobre o <a href="http://www.jboss.org/infinispan" target="_blank">Infinispan</a>, que é uma plataforma dados em grid open-source, voltada para permitir o cache distribuído.</p>
<p>A parte da apresentação do Samuel foi focada em mostra o Infinispan na prática, mostrando a inserção de dados por meio de uma interface swing e visualizando os mesmos no navegador web.</p>
<p>No final o Edgar voltou e mostrou um pouco do <a href="http://www.jboss.org/resteasy" target="_blank">REST-Easy</a>.</p>
<h4>Divide et impera &#8211; Processamento massivo com Hadoop, Pig e HBase &#8211; Vinicius Carvalho (<a href="http://www.sambatech.com.br/" target="_blank">SambaTech</a>)</h4>
<p>A minha expectativa para essa palestra estava alta, pois eu já tinha brincado/apanhado um pouco com o Hadoop (até fiz um <a href="http://ensinar.wordpress.com/2009/06/16/hadoop-introducao/" target="_blank">post</a> aqui no Ensinar), e queria saber como o pessoal da SambaTech está usando o Hadoop.</p>
<p>O Vinicius começou a apresentação explicando sobre o projeto Hadoop e depois contanto que eles usam ele para o processamento de logs, mas ainda a caráter de &#8220;prova de conceito&#8221;, embora executem toda sexta-feira o script escrito em Pig lá na Amazon.</p>
<p>O Hadoop é um framework de MapReduce mais utilizado, implementado em  Java, capaz de executar Petabytes</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-1565" style="border:0 none;margin:0;" title="Vinicius Carvalho" src="http://ensinar.files.wordpress.com/2010/05/vinicius.jpg?w=450&#038;h=350" alt="" width="450" height="350" /></p>
<p>Foi falado também sobre Grid Computing, onde a ideia principal é a distribuição da computação (processamento). E se formos pensar, uma arquitetura cliente-servidor já é um exemplo, embora &#8220;tosco&#8221;, de computação distribuída.</p>
<p>Depois o palestrante falou sobre o paradigma do MapReduce, no qual o objetivo é  mapear (map doh!)  dados que estão armazenanados de forma distribuída e depois processá-los (reduce).</p>
<p>O desafio do pessoal da SambaTech era fazer em Pig, o que antes era feito por um script em perl, que rodava em uma máquina.</p>
<p>Mais que raios é esse Pig, você deve está se perguntando&#8230; ele é uma linguagem de data-flow, de alto nível para você escrever as suas funções MapReduce.</p>
<p><em>Por que Hadoop?</em></p>
<p>O Vinicius falou as razões pelas quais eles investiram no Hadoop:</p>
<ul>
<li>Dado está disponível (twitter. facebook)</li>
<li>Storage está barato</li>
<li>Web 2.0 demanda de inteligentes soluções</li>
<li>Cloud computing</li>
</ul>
<p>O interessante da palestra foi a explicação sobre o Pig, que como disse antes é a linguagem utilizada para escrever as funções MapReduce, e a sua utilização adicionar 20% de overhead. Putz, então usar Pig é ruim!? Nem tanto, pois ele facilita bastante as coisas, uma vez que criar map/reduce não é fácil, pois o paradigma é diferente e na hora de criar o workflow que a coisa complica ainda mais.</p>
<p>A apresentação do Vinicius teve que ser encerrada antes dele falar sobre o <a href="http://hadoop.apache.org/hbase/" target="_blank">HBase</a>, que acredito que era o assunto principal para o evento. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  A respeito dos slides, a cor azul do texto no fundo branco, tornava praticamente impossível a leitura dos slides e havia muito texto.</p>
<h4>Estudo de caso: avaliando o Apache Cassandra como cache distribuído &#8211; Julio Viegas (<a href="http://www.globalcode.com.br" target="_blank">GlobalCode</a>)</h4>
<p>A apresentação do Julio foi sobre como eles estão trabalhando com NoSQL lá no <a href="http://www.spcnegocios.org.br/" target="_blank">SPC Brasil</a>, para não substituir o Oracle e sim usar o Cassandra como cache. O sistema deles tem cerca de 100 transações por segundo, 22 processos, cache mutáveis com replicação via <a href="http://ehcache.org/" target="_blank">Ehcache</a> + rmi, sendo esse cache chave + valor.</p>
<p>O Julio tentou usar o <a href="http://www.terracotta.org/enterprise-suite/" target="_blank">Terracotta</a>, mas não foi uma experiência muito legal, devido a instrumentação.</p>
<p>Foram avaliados os seguintes NoSQL do tipo chave + valor:</p>
<ul>
<li><a href="http://memcached.org/" target="_blank">Memcached</a>;</li>
<li><a href="http://code.google.com/p/redis/" target="_blank"> Redis</a> (todas chaves em memória);</li>
<li> <a href="http://project-voldemort.com/" target="_blank">Voldemort</a> (muito ruim pesquisa sobre ele no Google rs);</li>
<li><a href="http://cassandra.apache.org/" target="_blank"> Apache Cassandra</a>;</li>
</ul>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-1559" style="border:0 none;margin:0;" title="Julio Viegas" src="http://ensinar.files.wordpress.com/2010/05/julio.jpg?w=450&#038;h=350" alt="" width="450" height="350" /></p>
<p>Alguns pontos interessante sobre o Cassandra:</p>
<ul>
<li>Criado pelo Facebook, e usado em parte dele;</li>
<li>Open-source;</li>
<li>Baseado no <a href="http://en.wikipedia.org/wiki/Dynamo_%28storage_system%29" target="_blank">Amazon Dynamo</a>;</li>
<li>Tem como usuários: digg, reddit, cisco webex, rackspace, twitter;</li>
<li>Baseado no modelo chave + valor;</li>
<li>Tipos dinâmicos versionados com timestamp;</li>
<li>Atomicidade por chave;</li>
<li>Configuração simples (isso é bem legal).</li>
</ul>
<p>O pessoal do SPC precisava de:</p>
<ul>
<li>Armazenamento descentralizado;</li>
<li>Tolerante a falhas;</li>
<li>Elástico: adicione mais servidores a quente;</li>
<li>Escala horizontalmente.</li>
</ul>
<p>E o Cassandra trabalha justamente com disponibilidade e tolerância a perda de partições. sacrificando um pouco da consistência (afinal não é possível ter o máximo de disponibilidade, consistência e tolerância a falhas ao mesmo tempo <a href="http://www.julianbrowne.com/article/viewer/brewers-cap-theorem" target="_blank">CAP</a>).</p>
<p>Com o Cassandra não é possível fazer order by, por isso é necessário gravar já de forma ordenada.</p>
<p>A apresentação do Julio foi bem interessante, deu para conhecer o Cassandra, que aliás, é o NoSQL que <a href="http://java.dzone.com/articles/nosql-dzone-poll-results" target="_blank">as pessoas mais usam ou tem interesse em usar</a>.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-1552" style="border:0 none;margin:0;" title="Cassandras" src="http://ensinar.files.wordpress.com/2010/05/cassandras.jpg?w=450&#038;h=350" alt="" width="450" height="350" /></p>
<p>Depois ainda teve um painel de discussão, no qual a pláteia e os palestrantes bateram um bate-papo sobre noSQL, falando desde de quando não usar um banco de dados relacional até as dificuldades em implantar um banco noSQL, que em boa parte das vezes, ocorre por causa da cultura da empresa, ou melhor, das pessoas.</p>
<p>No final ainda teve o happy/breja hour, mas eu não participei, pois já estava cansado (dia todo com o note no colo é osso) e a viagem para casa era longa <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<h4>Conclusão</h4>
<p>O <a href="http://nosqlbr.com/" target="_blank">no:sql(br).</a> foi muito bom! Uma organização EXCELENTE, melhor que muito evento pago (e uns até bem pagos) por aí. Os coffee breaks foram sensacionais (pensou que eu tinha esquecido de falar deles rs). A galera que estava presente estava realmente a fim de saber sobre o assunto (acho que todos que estavam lá, era por interesse próprio e foram por vontade própria) e mostraram ter o espírito de comunidade, muitos contribuiram com doações antes do evento e durante o evento, quando o chapéu do Borcelli passou (hehe).</p>
<p>As palestras foram muito boas, e a grade estava bem diversa, então deu para ter uma boa visão geral do mundo de NoSQL. Só senti falta de uma apresentação introdutória, embora o foco do evento tenha sido para as pessoas que já tinham um conhecimento/experiência prévia sobre NoSQL.</p>
<p>Minhas expectativas foram superadas, agora eu entendi melhor o paradigma do NoSQL e nessa semana estarei fazendo mais testes com o CouchBD de início, e talvez depois com o MongoDB, os dois que tem o modelo de dados por documentos, que parecem que se adequam melhor para a nossa necessidade (relatórios de chamadas).</p>
<p>Além disso, pude rever um pessoal do Guru-SP (dia 29 tem o <a href="http://guru-sp.com/evento/" target="_blank">Ruby on Rails no Mundo Real 2010</a>, estaremos lá!) e ainda conhecer e conversar um pouco com o Akita, que deu uma <a href="http://adhearsion.com/" target="_blank">dica</a> que pode ser bem útil para nós. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Para terminar o post, gostaria de dá os parabéns ao <a href="http://twitter.com/porcelli" target="_blank">Alexandre Porcelli</a>, pelo excelente evento! E também a todos que foram, afinal como o Porcelli falou &#8220;é um evento da comunidade para a comunidade&#8221;. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:2567px;width:1px;height:1px;overflow:hidden;">-Se o seu modelo de dados se adequa bem ao modelo chave/valor</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ensinar.wordpress.com/1543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ensinar.wordpress.com/1543/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ensinar.wordpress.com&#038;blog=4689390&#038;post=1543&#038;subd=ensinar&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/BlogDoEnsinar/~4/i7BYw6uIQzk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ensinar.wordpress.com/2010/05/16/encontro-nosqlbr-eu-fui/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0e4e8657638dfdc01ac4e6bcdc1c8571?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">Fabrício Ferrari de Campos</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/nosql_br.jpg" medium="image">
			<media:title type="html">no:sql(br).</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/visao_geral.jpg" medium="image">
			<media:title type="html">Visão geral do auditório</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/alexandre-abertura.jpg" medium="image">
			<media:title type="html">Abertura - Alexandre Porcelli</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/gleicon.jpg" medium="image">
			<media:title type="html">Gleicon Moraes</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/feston.jpg" medium="image">
			<media:title type="html">Luiz Fernando Teston</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/guilherme.jpg" medium="image">
			<media:title type="html">Guilherme Silveira</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/alberto.jpg" medium="image">
			<media:title type="html">Alberto Lerner</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/rodrigo.jpg" medium="image">
			<media:title type="html">Rodrigo Strauss</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/edgar_e_samuel1.jpg" medium="image">
			<media:title type="html">Edgar e Samuel</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/vinicius.jpg" medium="image">
			<media:title type="html">Vinicius Carvalho</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/julio.jpg" medium="image">
			<media:title type="html">Julio Viegas</media:title>
		</media:content>

		<media:content url="http://ensinar.files.wordpress.com/2010/05/cassandras.jpg" medium="image">
			<media:title type="html">Cassandras</media:title>
		</media:content>
	<feedburner:origLink>http://ensinar.wordpress.com/2010/05/16/encontro-nosqlbr-eu-fui/</feedburner:origLink></item>
	</channel>
</rss>
