<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Cairo'sBlog - Mais um sobre tecnologia...</title><link>http://caironoleto.com</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/caironoleto" /><description>Ruby, Ruby On Rails, PHP, Technology, Tech, Apache CouchDB, CouchDB</description><language>en</language><lastBuildDate>Mon, 23 Nov 2009 17:16:25 PST</lastBuildDate><generator>http://wordpress.org/?v=2.9.2</generator><sy:updatePeriod xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">hourly</sy:updatePeriod><sy:updateFrequency xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">1</sy:updateFrequency><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/caironoleto" /><feedburner:info uri="caironoleto" /><geo:lat xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">-5.094370</geo:lat><geo:long xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">-42.756279</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Colhendo frutos do Pomodoro</title><link>http://feedproxy.google.com/~r/caironoleto/~3/zhcDCIq-n3A/</link><category>Dicas e Tutoriais</category><category>Pomodoro</category><category>Técnica do Pomodoro</category><category>Técnicas Ágeis</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cairo Noleto</dc:creator><pubDate>Mon, 23 Nov 2009 17:16:25 PST</pubDate><guid isPermaLink="false">http://caironoleto.com/?p=422</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>A pouco tempo eu comecei com essa história de <a title="The Pomodoro Technique" href="http://www.pomodorotechnique.com/" target="_blank">Pomodoro</a>. Eu já conhecia a técnica faz tempos, desde o ano passado. Na época ela passou como mais uma metodologia de concentração e foco, mas agora voltou então resolvi da uma chance ao Pomodoro.</p>
<p>As regras do Pomodoro são simples:<span id="more-422"></span></p>
<ul>
<li>Priorize suas tarefas logo no inicio do dia;</li>
<li>Você vai ter um intervalo de 25 minutos para resolver todas as tarefas, após esse tempo você descansa 5 minutos. Após 4 pomodoros (Que são 30 minutos &#8211; 25 da tarefa e 5 do descanso) você deve descansar por mais tempo, por 20 minutos;</li>
<li>Ao final de cada pomodoro, marque com um x ao lado da tarefa, ao concluir risque-a da lista.</li>
</ul>
<p>Claro que não entrei em detalhes nas regras, mas basicamente é isso. Sem mistério, simples e direto ao ponto. O único material que você precisa é de uma caneta e de um contador regressivo programável (25, 5 e 20 minutos) que tenha alarme.</p>
<p>Se você trabalha direto no computador, você pode usar algum software para controlar o tempo. Para Mac existe o <a title="Pomodoro" href="http://pomodoro.ugolandini.com/" target="_blank">Pomodoro</a> e em Air, que funciona em qualquer S.O., você pode usar o <a title="PomoDo" href="http://pomodo.areacriacoes.com.br/" target="_blank">PomoDo</a>.</p>
<p>O principal ponto que eu notei sobre o pomodoro é que eu sei quanto tempo eu gasto por cada tarefa. Contando as horas que eu trabalho por dia isso é muito importante, se aplicarmos o mesmo principio do gerenciamento financeiro, você não sabe que tem um problema até que você comece a contabilizar o quanto é o tamanho do seu problema.</p>
<p>Usar o pomodoro me fez ter algumas estatísticas interessantes, por exemplo, no período da manhã é o horário onde eu gasto menos pomodoros (Isso quer dizer menos produtividade). O período da tarde é o que eu mais faço pomodoros, mas não muitos, variam entre 4 a 6. Eu sei que da pra fazer até 8 pomodoros.</p>
<p>Em casa é o ambiente onde eu tenho o maior número de distrações. No trabalho eu tenho bem menos distrações, mas tenho o maior número de pomodoros interrrompidos.</p>
<p>E por último outra coisa legal, você começa a identificar as tarefas comuns e começa a medir a quantidade de pomodoros para completar uma tarefa, isso faz com que você possa se organizar melhor (Se você sabe que tem apenas 2 pomodoros disponíveis, você então faz uma tarefa que vá levar 2 pomodoros).</p>
<p>Eu realmente indico o pomodoro para quem não tem noção nenhuma de onde você gasta suas horas. Recomendo que você leia todo o <a title="The Pomodoro Technique Book" href="http://www.pomodorotechnique.com/resources/cirillo/ThePomodoroTechnique_v1-3.pdf" target="_blank">livro</a> antes, mas não precisa para começar a usar. Ler sobre as interrupções é importante, saber lidar com ela é muito importante.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/caironoleto?a=zhcDCIq-n3A:kIW3Zb8PRZc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=zhcDCIq-n3A:kIW3Zb8PRZc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/caironoleto?i=zhcDCIq-n3A:kIW3Zb8PRZc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=zhcDCIq-n3A:kIW3Zb8PRZc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/caironoleto/~4/zhcDCIq-n3A" height="1" width="1"/>]]></content:encoded><description>A pouco tempo eu comecei com essa história de Pomodoro. Eu já conhecia a técnica faz tempos, desde o ano passado. Na época ela passou como mais uma metodologia de concentração e foco, mas agora voltou então resolvi da uma chance ao Pomodoro.
As regras do Pomodoro são simples:

Priorize suas tarefas logo no inicio do dia;
Você [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://caironoleto.com/2009/11/23/colhendo-frutos-do-pomodoro/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><feedburner:origLink>http://caironoleto.com/2009/11/23/colhendo-frutos-do-pomodoro/</feedburner:origLink></item><item><title>Rails Summit 2009 e o lançamento do TrendTi.me!</title><link>http://feedproxy.google.com/~r/caironoleto/~3/RoRUqrPph7Y/</link><category>Rails</category><category>Ruby</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cairo Noleto</dc:creator><pubDate>Fri, 16 Oct 2009 16:29:26 PDT</pubDate><guid isPermaLink="false">http://caironoleto.com/?p=418</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Este ano o <a title="Rails Summit Latin America" href="http://www.railssummit.com.br/" target="_blank">Rails Summit</a> se consolidou como um dos maiores eventos de Rails do mundo. Infelizmente mais uma vez não pude ir e participar presencialmente ao evento, mas nem por isso eu não participei!</p>
<p>No <a title="Oxente Rails" href="http://oxenterails.com/" target="_blank">Oxente Rails</a>, evento realizado em Natal &#8211; RN, eu, Cleiton, Weldys e Cyrus começamos uma aplicação por brincadeira e zoação, nós criamos um livestream, foram 2 dias de muito trabalho e pouco descanço.</p>
<p><span id="more-418"></span></p>
<p>Na volta pra casa nós discutimos bastante sobre os rumos do livestream mas não chegamos a nenhum ponto. Logo no mês seguinte participamos do <a title="Rails For Kids" href="http://railsforkids.com/" target="_blank">Rails For Kids</a>, e mais uma vez estávamos com nosso Livestream, e dois dias depois nós cobrimos o Dev In Rio.</p>
<p>A cada novo evento nos surgiam mais e mais idéias, surgiram mais e mais feedback nesse tempo todo e resolvemos que iríamos fazer uma aplicação, bem estilo web x.0 e bem cara de Rails.</p>
<p>Daí surgiu a idéia do <a title="TrendTi.me" href="http://trendti.me/" target="_blank">TrendTi.me</a>, que é um stream ao vivo do que acontece sobre um determinado assunto em vários canais da mídia. Inicialmente estamos cobrindo tudo que acontece no twitter, flickr e youtube.</p>
<p>Nós marcamos a estréia do TrendTi.me no maior evento de Rails do Brasil, o Rails Summit (<a title="Rails Summit TrendTi.me" href="http://trendti.me/events/railssummit" target="_blank">Veja aqui o TrendTi.me</a>).</p>
<p>A cada dia nós temos mais e mais idéias, estamos anotando tudo para implementar! Estamos com um bom roadmap, a equipe ta ótima e o desenvolvimento melhor ainda!</p>
<p>Em breve terei mais novidades sobre o TrendTi.me!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/caironoleto?a=RoRUqrPph7Y:JJiR4nE_CPs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=RoRUqrPph7Y:JJiR4nE_CPs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/caironoleto?i=RoRUqrPph7Y:JJiR4nE_CPs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=RoRUqrPph7Y:JJiR4nE_CPs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/caironoleto/~4/RoRUqrPph7Y" height="1" width="1"/>]]></content:encoded><description>Este ano o Rails Summit se consolidou como um dos maiores eventos de Rails do mundo. Infelizmente mais uma vez não pude ir e participar presencialmente ao evento, mas nem por isso eu não participei!
No Oxente Rails, evento realizado em Natal &amp;#8211; RN, eu, Cleiton, Weldys e Cyrus começamos uma aplicação por brincadeira e zoação, [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://caironoleto.com/2009/10/16/rails-summit-2009-e-o-lancamento-do-trendti-me/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">6</slash:comments><feedburner:origLink>http://caironoleto.com/2009/10/16/rails-summit-2009-e-o-lancamento-do-trendti-me/</feedburner:origLink></item><item><title>Documentos aninhados no CouchDB</title><link>http://feedproxy.google.com/~r/caironoleto/~3/3yF-QacQrZQ/</link><category>Apache CouchDB</category><category>Banco de dados</category><category>CouchRest</category><category>Orientado a documentos</category><category>Pensamentos</category><category>Ruby</category><category>Banco de Dados Orientado a Documentos</category><category>CouchDB</category><category>Documentos</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cairo Noleto</dc:creator><pubDate>Mon, 07 Sep 2009 07:47:55 PDT</pubDate><guid isPermaLink="false">http://caironoleto.com/?p=404</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>O CouchDB é um banco de dados Orientado a Documentos. Isso significa que cada valor armazenado é um documento, e como tal, possui uma identificação única, uma revisão, e chaves/valores, que serão as informações do documento. Pensando dessa forma, várias coisas são melhores para serem classificadas assim do que em tabelas.</p>
<p>Existem duas formas de você utilizar os documentos, uma é fazendo dele como um documento real, e armazenar todas as informações possíveis dentro dele. A segunda forma é fazer referência à um outro documento. Existe uma diversidade da &#8220;melhor prática&#8221; no CouchDB, onde cada um dos <a title="Commiters" href="http://couchdb.apache.org/community/committers.html" target="_blank">desenvolvedores</a> tem uma visão diferente. O J. Chris, por exemplo, desencoraja o uso, a não ser que seja realmente um caso onde não tem como não se usar vários documentos.</p>
<p><span id="more-404"></span></p>
<p>Quem usa Ruby, tem nas suas mãos várias ferramentas para trabalhar com CouchDB. Eu uso o CouchRest, que é uma biblioteca feita em Ruby pelos criadores do CouchDB. Ela é simples e bem fácil de usar. Com ela você pode definir modelos para sua aplicação:</p>
<pre class="textmate-source merbivore"><span class="source source_ruby"><span class="variable variable_other variable_other_constant variable_other_constant_ruby">COUCHDB</span> <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="support support_class support_class_ruby">CouchRest</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">new</span>
<span class="support support_class support_class_ruby">COUCHDB_SERVER</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>default_database <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>your_database<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span>

<span class="meta meta_class meta_class_ruby"><span class="keyword keyword_control keyword_control_class keyword_control_class_ruby">class</span> <span class="entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby">Article<span class="entity entity_other entity_other_inherited-class entity_other_inherited-class_ruby"> <span class="punctuation punctuation_separator punctuation_separator_inheritance punctuation_separator_inheritance_ruby">&lt;</span> CouchRest::ExtendedDocument</span></span></span>
  use_database <span class="support support_class support_class_ruby">COUCHDB_SERVER</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>default_database
<span class="keyword keyword_control keyword_control_ruby">end</span></span></pre>
<p>Você não precisa definir nenhuma regra, a única coisa que vai ser inserida nesse documento é o <em>couchrest-type</em>. Onde ele define o tipo de documento:</p>
<pre class="textmate-source merbivore"><span class="source source_ruby"><span class="keyword keyword_operator keyword_operator_other keyword_operator_other_ruby">&gt;&gt;</span> article <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="support support_class support_class_ruby">Article</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>create<span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">(</span><span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>title</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>A melhor banda<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">)</span>
<span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>title<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>A melhor banda<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_rev<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>1-2513717810<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_id<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>69d8dac29a0b112707b280eec4374a59<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>couchrest-type<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Article<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span>
<span class="keyword keyword_operator keyword_operator_other keyword_operator_other_ruby">&gt;&gt;</span> article<span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">[</span><span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>title<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span>
<span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>A melhor banda<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span></span></pre>
<p>Quando você define no modelo o método <em>property</em>, ele adiciona automagicamente os gets/sets para a propriedade:</p>
<pre class="textmate-source merbivore"><span class="source source_ruby"><span class="meta meta_class meta_class_ruby"><span class="keyword keyword_control keyword_control_class keyword_control_class_ruby">class</span> <span class="entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby">Article<span class="entity entity_other entity_other_inherited-class entity_other_inherited-class_ruby"> <span class="punctuation punctuation_separator punctuation_separator_inheritance punctuation_separator_inheritance_ruby">&lt;</span> CouchRest::ExtendedDocument</span></span></span>
  use_database <span class="support support_class support_class_ruby">COUCHDB_SERVER</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>default_database

  property <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>title</span>
  property <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>author</span>
<span class="keyword keyword_control keyword_control_ruby">end</span></span></pre>
<pre class="textmate-source merbivore"><span class="source source_ruby"><span class="keyword keyword_operator keyword_operator_other keyword_operator_other_ruby">&gt;&gt;</span> article <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="support support_class support_class_ruby">Article</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>create<span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">(</span><span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>title</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>A melhor banda<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>author</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Cairo Noleto<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">)</span>
<span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>title<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>A melhor banda<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_rev<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>1-3604901785<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_id<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>2fe349c08d7d3150968b8de7b719d5d1<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>author<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Cairo Noleto<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>couchrest-type<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Article<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span>
<span class="keyword keyword_operator keyword_operator_other keyword_operator_other_ruby">&gt;&gt;</span> article<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>title
<span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>A melhor banda<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span>
<span class="keyword keyword_operator keyword_operator_other keyword_operator_other_ruby">&gt;&gt;</span> article<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>author
<span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Cairo Noleto<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span></span></pre>
<p>O CouchRest possui uma forma de declarar vários documentos em um só:</p>
<pre class="textmate-source merbivore"><span class="source source_ruby"><span class="variable variable_other variable_other_constant variable_other_constant_ruby">COUCHDB</span> <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="support support_class support_class_ruby">CouchRest</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">new</span>
<span class="support support_class support_class_ruby">COUCHDB_SERVER</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>default_database <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>your_database<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span>

<span class="meta meta_class meta_class_ruby"><span class="keyword keyword_control keyword_control_class keyword_control_class_ruby">class</span> <span class="entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby">Article<span class="entity entity_other entity_other_inherited-class entity_other_inherited-class_ruby"> <span class="punctuation punctuation_separator punctuation_separator_inheritance punctuation_separator_inheritance_ruby">&lt;</span> CouchRest::ExtendedDocument</span></span></span>
  use_database <span class="support support_class support_class_ruby">COUCHDB_SERVER</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>default_database

  property <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>title</span>
  property <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>authors</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>cast_as</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">[</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Author<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span>
<span class="keyword keyword_control keyword_control_ruby">end</span></span></pre>
<p>Assim, quando você armazenar esse documento via CouchRest, ele vai colocar todas as propriedades desse documento dentro do mesmo documento:</p>
<pre class="textmate-source merbivore"><span class="source source_ruby"><span class="keyword keyword_operator keyword_operator_other keyword_operator_other_ruby">&gt;&gt;</span> a <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="support support_class support_class_ruby">Article</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>create<span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">(</span><span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>title</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>A melhor banda do mundo!<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>authors</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">[</span><span class="support support_class support_class_ruby">Author</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>create<span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">(</span><span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>name</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Cairo Noleto<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">)</span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">)</span>
<span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>title<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>A melhor banda do mundo!<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_rev<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>1-2417824677<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_id<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>bfeaa06ad41bd8bdda50290ef10cbc5d<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>
  <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>authors<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">[</span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>name<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Cairo Noleto<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_id<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>f80f56083917f8b651495f2a445b4df0<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_rev<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>1-2108444623<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>
  <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>couchrest-type<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Author<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>couchrest-type<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Article<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span>
<span class="keyword keyword_operator keyword_operator_other keyword_operator_other_ruby">&gt;&gt;</span> a<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>authors<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>first<span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">[</span><span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>name<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span>
<span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Cairo Noleto<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span>
<span class="keyword keyword_operator keyword_operator_other keyword_operator_other_ruby">&gt;&gt;</span> a<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>authors<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>first<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>class
<span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="variable variable_other variable_other_constant variable_other_constant_ruby">Author</span></span></pre>
<p>Uma outra forma de se fazer isso é armazenar apenas a referência do documento nesse documento e usar uma view pra recuperar todos os documentos:</p>
<pre class="textmate-source merbivore"><span class="source source_ruby"><span class="variable variable_other variable_other_constant variable_other_constant_ruby">COUCHDB</span> <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="support support_class support_class_ruby">CouchRest</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">new</span>
<span class="support support_class support_class_ruby">COUCHDB_SERVER</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>default_database <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>your_database<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span>

<span class="meta meta_class meta_class_ruby"><span class="keyword keyword_control keyword_control_class keyword_control_class_ruby">class</span> <span class="entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby">Article<span class="entity entity_other entity_other_inherited-class entity_other_inherited-class_ruby"> <span class="punctuation punctuation_separator punctuation_separator_inheritance punctuation_separator_inheritance_ruby">&lt;</span> CouchRest::ExtendedDocument</span></span></span>
  use_database <span class="support support_class support_class_ruby">COUCHDB_SERVER</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>default_database

  property <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>title</span>
  property <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>authors</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>cast_as</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">[</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>String<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span>
<span class="keyword keyword_control keyword_control_ruby">end</span></span></pre>
<pre class="textmate-source merbivore"><span class="source source_ruby"><span class="keyword keyword_operator keyword_operator_other keyword_operator_other_ruby">&gt;&gt;</span> a <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="support support_class support_class_ruby">Article</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>create<span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">(</span><span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>title</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Ben 10 - Como funciona<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>authors</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">[</span><span class="support support_class support_class_ruby">Author</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>create<span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">(</span><span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>name</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Cairo Noleto<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">)</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>id<span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">)</span>
<span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>title<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Ben 10 - Como funciona<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_rev<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>1-3102640010<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_id<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>e7e6085ca37e7fe1da80273e0dea6fe0<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>
  <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>authors<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">[</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>a7fbb1522fc613a0a54da3c9c075ca04<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>couchrest-type<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Article<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span>
<span class="keyword keyword_operator keyword_operator_other keyword_operator_other_ruby">&gt;&gt;</span> a<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>authors<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>first<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>class
<span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="variable variable_other variable_other_constant variable_other_constant_ruby">String</span>
<span class="keyword keyword_operator keyword_operator_other keyword_operator_other_ruby">&gt;&gt;</span> a<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>authors<span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>first
<span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>a7fbb1522fc613a0a54da3c9c075ca04<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span>
</span></pre>
<p>Para recuperar todos os documentos nesse caso, iremos fazer uma view:</p>
<pre class="textmate-source merbivore"><span class="source source_ruby"><span class="variable variable_other variable_other_constant variable_other_constant_ruby">COUCHDB</span> <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="support support_class support_class_ruby">CouchRest</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">new</span>
<span class="support support_class support_class_ruby">COUCHDB_SERVER</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>default_database <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>your_database<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span>

<span class="meta meta_class meta_class_ruby"><span class="keyword keyword_control keyword_control_class keyword_control_class_ruby">class</span> <span class="entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby">Article<span class="entity entity_other entity_other_inherited-class entity_other_inherited-class_ruby"> <span class="punctuation punctuation_separator punctuation_separator_inheritance punctuation_separator_inheritance_ruby">&lt;</span> CouchRest::ExtendedDocument</span></span></span>
  use_database <span class="support support_class support_class_ruby">COUCHDB_SERVER</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>default_database

  property <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>title</span>
  property <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>authors</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>cast_as</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">[</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>String<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span>

  view_by <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>all_documents</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>
    <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>map</span> <span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>
    function(doc) {
      if (doc['couchrest-type'] == 'Article') {
        for (var i in doc['authors']) {
          emit(doc['authors'][i], null);
        }
      } else if (doc['couchrest-type'] == 'Author') {
        emit(doc['_id'], null);
      }
    }<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span>
<span class="keyword keyword_control keyword_control_ruby">end</span></span></pre>
<pre class="textmate-source merbivore"><span class="source source_ruby"><span class="keyword keyword_operator keyword_operator_other keyword_operator_other_ruby">&gt;&gt;</span> <span class="support support_class support_class_ruby">Article</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>by_all_documents
<span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span> <span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">[</span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>title<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Artigo: 0.290891879003595<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_id<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>2c4680c3772b984195d18043f45ca574<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_rev<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>1-1057019809<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>
  <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>authors<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">[</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>97cc55b7c6124c54b1a2b1b111285294<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>couchrest-type<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Article<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">{</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>name<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Nome 0.807179829913082<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span>
  <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_id<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>97cc55b7c6124c54b1a2b1b111285294<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>_rev<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>1-1103209569<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>couchrest-type<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_separator punctuation_separator_key-value">=&gt;</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">"</span>Author<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">"</span></span><span class="punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby">}</span><span class="punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby">]</span></span></pre>
<p>Assim você pode recuperar todos os documentos, sendo artigos ou autores. A diferença é que ele leva em consideração todos os documentos, ele realmente traz do CouchDB todos os documentos, já no CouchRest não, ele traz apenas o documento, os documentos aninhados são instanciados, eles não foram recuperados de seus documentos reais.</p>
<p>Assim, o CouchRest não lida com os documentos que mudaram de revisão, por quê ele cria as instâncias dos documentos aninhados a partir do documento. Do ponto de vista do CouchDB, ele não está trazendo os documentos aninhados com a ultima revisão, por quê ele não está pegando esses outros documentos.</p>
<p>O CouchRest trabalha da forma como o J. Chris desenhou o CouchDB, com um documento apenas. A necessidade de relação em documentos pode existir quando nesses casos, você precisa desses documentos em outros locais da sua aplicação. Se você quiser continuar da forma &#8220;CouchRest&#8221; você tem que preparar para que sua aplicação trabalhe de forma que ela sempre mantenha todos as revisão nas mais atuais (Ou talvez você nem precise dessa informação atualizada!).</p>
<p>De um jeito ou de outro, você vai ter que aprender como funciona as views e map-reduce. Você sempre vai ter que fazer alguma coisa nesse sentido dentro do CouchDB.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/caironoleto?a=3yF-QacQrZQ:WH2i57p4rsU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=3yF-QacQrZQ:WH2i57p4rsU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/caironoleto?i=3yF-QacQrZQ:WH2i57p4rsU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=3yF-QacQrZQ:WH2i57p4rsU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/caironoleto/~4/3yF-QacQrZQ" height="1" width="1"/>]]></content:encoded><description>O CouchDB é um banco de dados Orientado a Documentos. Isso significa que cada valor armazenado é um documento, e como tal, possui uma identificação única, uma revisão, e chaves/valores, que serão as informações do documento. Pensando dessa forma, várias coisas são melhores para serem classificadas assim do que em tabelas.
Existem duas formas de você [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://caironoleto.com/2009/09/07/documentos-aninhados-no-couchdb/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><feedburner:origLink>http://caironoleto.com/2009/09/07/documentos-aninhados-no-couchdb/</feedburner:origLink></item><item><title>Dois programadores pensam melhor do que um</title><link>http://feedproxy.google.com/~r/caironoleto/~3/VYHbebHfvUE/</link><category>Metodologias de desenvolvimento</category><category>Pensamentos</category><category>XP</category><category>Código compartilhaod</category><category>Compartilhação de Código</category><category>Desenvolvimento</category><category>Extreme Programming</category><category>Ilha de conhecimento</category><category>Ilhas de conhecimento</category><category>Pair Programming</category><category>Programação em Par</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cairo Noleto</dc:creator><pubDate>Thu, 03 Sep 2009 07:32:40 PDT</pubDate><guid isPermaLink="false">http://caironoleto.com/?p=392</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>O <a title="Extreme Programming" href="http://www.extremeprogramming.org/" target="_blank">XP</a> é uma metodologia de <a title="Agile software development" href="http://en.wikipedia.org/wiki/Agile_software_development" target="_blank">desenvolvimento Ágil</a>, alguns consideram como framework, outros, assim como eu, consideram como filosofia. Não <span style="text-decoration: line-through;">da</span> dá pra aprender XP em um dia e no segundo dia sua equipe já será extremamente Ágil. Isso é mentira. Assim como programação, XP só se aprende com o tempo, treinando dia após dia.</p>
<p>O XP possui práticas e dentre elas a que eu acho mais vantajosa é a <a title="Pair Programming" href="http://en.wikipedia.org/wiki/Pair_programming" target="_blank">Programação em Par</a>, que é a atividade onde dois programadores usam um computador e eles codificam juntos. Eu, quando comecei minha vida no desenvolvimento, não colocava muita fé nesse tipo de desenvolvimento. Cheguei a espalhar para outros programadores que duas pessoas em um computador não funcionava, e que seriam melhor um programador por computador.</p>
<p><span id="more-392"></span></p>
<p>Esse é o pensamento <a title="Frederick Winslow Taylor" href="http://en.wikipedia.org/wiki/Frederick_Winslow_Taylor" target="_blank">Taylor</a> de desenvolvimento de software ainda presente em várias empresas no mundo onde duas pessoas, cada um fazendo o seu trabalho, são mais eficientes do que as duas em um único computador. Quem tem mais experiência com desenvolvimento de software sabe que isso é uma afirmação falsa. Pode sim duas pessoas em um computador ser melhor do que uma.</p>
<p>O fato é que duas pessoas se motivam para desenvolver. Como estão em par, ver email, olhar os twitts, ler feeds, não entra nesse tipo de desenvolvimento. Em par, as distrações são menores porquê quem está desenvolvendo está preocupado apenas no código, e fica um dando pilha para o outro.</p>
<p>O design da solução se torna melhor e mais consistente. Aquele velho ditado popular que diz que <a title="Goooooooooooooogle" href="http://www.google.com/search?hl=en&amp;client=safari&amp;rls=en&amp;q=duas+cabeças+pensam+melhor+do+que+uma&amp;aq=f&amp;oq=&amp;aqi=" target="_blank">duas cabeças pensam melhor do que uma</a> é verdade, dois programadores pensam melhor na solução do problema, discutem mais, avaliam mais os riscos, escrevem melhor os testes.</p>
<p>Na equipe você acaba com ilhas de conhecimento. Programação em par é uma prática que se faz em no máximo algumas horas, então você sempre estará trocando de par e assim estará compartilhando mais rápido o conhecimento do negócio entre a equipe.</p>
<p>&#8220;<a title="Goooooooooooogle" href="http://www.google.com/search?hl=en&amp;client=safari&amp;rls=en&amp;q=Quem+pariu+Mateus%2C+que+balance+o+berço&amp;aq=f&amp;oq=&amp;aqi=" target="_blank">Quem pariu Mateus, que balance o berço</a>&#8220;. Uma outra vantagem é o codigo compartilhado, a prática ajuda para que todos saibam o que está sendo feito em cada parte do código, assim faz com que acabe o &#8220;Dono do código&#8221;, já que toda a equipe fez parte do desenvolvimento.</p>
<p>Ainda assim, alguns programadores não gostam de fazer programação em par, nesses casos não se pode forçar a barra. Faça apenas com que eles saibam que valores eles estarão perdendo. Não o demita só porquê ele não faz programação em par, talvez ela realmente seja bom sozinho. Mas faça com que ele compartilhe o código, que ele não crie ilha de conhecimento e que se comunique ao máximo com a sua equipe.</p>
<p>Mesmo que sua empresa não adote uma metodologia, eu recomendo que você a adote no seu dia a dia . A curto prazo você pode ter a sensação de que não está evoluindo muito, mas a médio e longo prazo, você, sua equipe e sua empresa começarão a ter o retorno mais rápido e a satisfação no desenvolvimento será bem maior.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/caironoleto?a=VYHbebHfvUE:k3HhBJlQxJ4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=VYHbebHfvUE:k3HhBJlQxJ4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/caironoleto?i=VYHbebHfvUE:k3HhBJlQxJ4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=VYHbebHfvUE:k3HhBJlQxJ4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/caironoleto/~4/VYHbebHfvUE" height="1" width="1"/>]]></content:encoded><description>O XP é uma metodologia de desenvolvimento Ágil, alguns consideram como framework, outros, assim como eu, consideram como filosofia. Não da dá pra aprender XP em um dia e no segundo dia sua equipe já será extremamente Ágil. Isso é mentira. Assim como programação, XP só se aprende com o tempo, treinando dia após dia.
O [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://caironoleto.com/2009/09/03/dois-programadores-pensam-melhor-do-que-um/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">4</slash:comments><feedburner:origLink>http://caironoleto.com/2009/09/03/dois-programadores-pensam-melhor-do-que-um/</feedburner:origLink></item><item><title>O mais importante é arte e não código!</title><link>http://feedproxy.google.com/~r/caironoleto/~3/M96pmoDDs7A/</link><category>Dicas e Tutoriais</category><category>Pensamentos</category><category>37 Signals</category><category>Design</category><category>layout</category><category>Rails</category><category>Ruby</category><category>Usabilidade</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cairo Noleto</dc:creator><pubDate>Wed, 02 Sep 2009 06:00:22 PDT</pubDate><guid isPermaLink="false">http://caironoleto.com/?p=382</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Nos últimos dias eu venho tentando aprender a fazer design sozinho. E sinceramente, design é algo que se aprende, mas é muito difícil. Não é tão simples como programação, aprender meio número de comandos e escrevê-los.</p>
<p>Se fosse assim, já estaria com o design que eu quero pronto. Mas não, não é tão simples. Falo sinceramente quando uma pessoa que sabe fazer design e é programador é um profissional completo.</p>
<p><span id="more-382"></span></p>
<p>Desing é mais complexo do que muitos pensam. Não é apenas colocar alguns formulários e pronto! Não, longe disso. Você tem que entender de cores, de tamanhos, de posição. Depois você tem que entender de usabilidade, saber que botão é melhor para colocar aqui, ou para colocar ali.</p>
<p>Eu tenho noção de usabilidade. Sei que posicionar um botão num lugar errado pode fazer com que os clientes não saibam usar o seu produto. Sei que isso é o que define o seu produto e sinceramente, eu vejo poucas empresas que apostam alto nessa parte que eu considero importante.</p>
<p>Não basta que a coisa seja bonita, ela tem que ser funcional, e o mais importante, o seu cliente tem que saber usar sem precisar de um manual.</p>
<p>Quando um programador, como eu, tento fazer um desing de um produto, eu só consigo pensar nas funcionalidades que eu vou implementar com JavaScript, ou o banco de dados que eu vou usar para armazenar os dados. Eu não consigo imaginar mais, não porquê eu não saiba (Tá, eu não sei, AINDA! ;) mas porquê como programador, eu não prático isso no meu dia-a-dia.</p>
<p>Para um designer é fácil ele fazer isso, é a profissão dele. É a mesma coisa, ele não conhece programação para poder fazer o meu trabalho. Se ele sabe, com certeza, para ele é mais fácil saber o que deve fazer.</p>
<p>Lembro muito bem no livro da <a title="37 Signals" href="http://37signals.com/" target="_blank">37 Signals</a>, <a title="Getting Real" href="http://gettingreal.37signals.com/GR_por.php" target="_blank">Getting Real</a>, onde eles falam que a melhor coisa que você faz no seu produto é começar pelo mais importante, o que seus clientes irão ver. O mais importante dessa abordagem é que você, como programador, só vai implementar o que é essencial para o produto funcionar. Nem uma linha a mais, nenhuma a menos.</p>
<p>A 37 Signals sabe que isso fará com que seu produto seja o mais simples possível. É verdade, o produto será. Mas por quê você apenas faz o essencial, não mais do que você vê. Para o seu cliente é a melhor abordagem! Em menos tempo ele tem o seu produto funcionando, com todos os recursos possíveis.</p>
<p>Foi nessa filosofia que o <a title="Ruby On Rails" href="http://rubyonrails.org/" target="_blank">Rails</a> foi desenvolvido. Não apenas para ser rápido, mas para está preparado para as mudanças do cliente. Em alguns minutos é possível mudar a forma como os dados estão sendo mostrados no Rails, mais uma vez, não apenas por que ele já é rápido e já vem com várias coisas disponíveis para que você faça a coisa mais rápido, mas por quê ele foi desenhado para que isso seja feito de forma rápida e sem dor, porquê foi essa praticidade que a 37 Signals estava precisando para resolver o seu problema.</p>
<p>Vai começar um novo produto e já escolheu o banco de dados, criou os models mas nem imagina como está as telas?! Peço que você reconsidere todo o seu trabalho, pois tenho certeza que esse seu produto não vai ser tão recompensante do que se você começar pelo design.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/caironoleto?a=M96pmoDDs7A:ygnIeNoz2c0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=M96pmoDDs7A:ygnIeNoz2c0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/caironoleto?i=M96pmoDDs7A:ygnIeNoz2c0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=M96pmoDDs7A:ygnIeNoz2c0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/caironoleto/~4/M96pmoDDs7A" height="1" width="1"/>]]></content:encoded><description>Nos últimos dias eu venho tentando aprender a fazer design sozinho. E sinceramente, design é algo que se aprende, mas é muito difícil. Não é tão simples como programação, aprender meio número de comandos e escrevê-los.
Se fosse assim, já estaria com o design que eu quero pronto. Mas não, não é tão simples. Falo sinceramente [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://caironoleto.com/2009/09/02/o-mais-importante-e-arte-e-nao-codigo/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">6</slash:comments><feedburner:origLink>http://caironoleto.com/2009/09/02/o-mais-importante-e-arte-e-nao-codigo/</feedburner:origLink></item><item><title>Aprendendo Agilidade fora da caixa</title><link>http://feedproxy.google.com/~r/caironoleto/~3/--zb57W_2V8/</link><category>Metodologias de desenvolvimento</category><category>Pensamentos</category><category>TDD</category><category>XP</category><category>Agile</category><category>Homem de Ferro</category><category>Iron Man</category><category>Métodologias ágeis</category><category>Scrum</category><category>Tony Stark</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cairo Noleto</dc:creator><pubDate>Tue, 01 Sep 2009 06:00:03 PDT</pubDate><guid isPermaLink="false">http://caironoleto.com/?p=377</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Podemos aprender em qualquer lugar, com qualquer coisa. Livros, vídeos, fotos, apresentações, músicas, filmes, etc. Se você ver a coisa com outra ótica poderá aprender muito.</p>
<p>Eu gosto muito de ver o filme do <a title="Iron Man" href="http://pt.wikipedia.org/wiki/Iron_Man_(filme)" target="_blank">Homem de Ferro</a>, gosto muito de ver toda aquela coisa tecnologica funcionando. Acho o máximo quando ele usa o &#8220;raio repulsor&#8221; e passa da barreira do som!</p>
<p><span id="more-377"></span></p>
<p>O mais importante de se tirar dessa história, é como uma equipe motivada pode ser melhor do que meia duzia de ótimos profissionais.</p>
<p>Tony Stark estava entre a vida e a morte, sem recursos e com uma equipe reduzida (Ele e Yin Sen). Yin Sen inventa um aparelho para manter o coração do Tony Stark batendo. Depois disso, Tony Stark inventa uma armadura para libertar os dois dali.</p>
<p>A versão 1.0 da armadura é cheia de bugs e nem se parece com a última versão do filme. Ela não é muito resistente nem tão Ágil, mas é com ela que Tony Stark foge.</p>
<p>Até aqui, a história dele é bem parecida com várias start ups pelo mundo. Pouco recursos, equipe motivada, velocidade para ter um primeiro release, bugs e mais bugs.</p>
<p>Quando ele sai, ele &#8220;recebe&#8221; investimento. Aprimora sua armadura e torna ela forte, resistente e Ágil.</p>
<p>Esse mesmo estágio acontece com algumas start ups, elas crescem, recebem investimentos ou começam a ter retorno. Geralmente, neste ponto, é que muitas start ups mudam! Aumentam o quadro de funcionários, crescem, mudam de atitude. Outras não, continuam com a mesma equipe, apenas melhoram a motivação, que além de lançar um produto, agora tem um incentivo financeiro.</p>
<p>A <a title="37 Signals" href="http://37signals.com/" target="_blank">37 Signals</a> sabe, pequenas equipes, mas extremamentes motivadas são melhores do uma &#8220;<a title="IBM" href="http://www.ibm.com/" target="_blank">IBM</a>&#8221; da vida sem motivação. E isso acontece no filme.</p>
<p>Tony Stark durante o filme tem um concorrente, Obadiah Stane. Ele junta os melhores engenheiros que o dinheiro pode pagar. Esses engenheiros não conseguem reproduzir o mesmo equipamento que Tony Stark possui. Para ter a primeira versão do Monge de Ferro ele tem que roubar o dispositivo do Tony para fazer a máquina dele funcionar.</p>
<p>Isso geralmente acontece em grandes corporações. Empresas como <a title="Microsoft" href="http://www.microsoft.com/" target="_blank">Microsoft</a>, <a title="Gooooooooooooooooogle" href="http://www.google.com" target="_blank">Google</a>, que não tem mais a mesma agilidade que possuiam quando começaram. Elas se tornaram grandes, com milhares de processos e camadas. Para inovar, elas precisam gastar muitos recursos e ter muitos profissionais.</p>
<p>Diferente das pequenas empresas, que com poucos recursos e com muita motivação conseguem fazer produtos de sucesso. Aprender a motivar a sua equipe pode ser mais importante do que fazer um ótimo produto. Sem uma equipe motivada, o melhor dos produtos terá uma péssima execução e assim não terá o retorno esperado. Produtos médios mas com uma ótima execução vão ser muito mais lucrativos.</p>
<p>Fica a dica, tente aprender pensando fora da caixa, existe muito mais valores que você pode detectar em outras coisas que você nem esperava encontrar!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/caironoleto?a=--zb57W_2V8:xFRKSqPJP98:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=--zb57W_2V8:xFRKSqPJP98:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/caironoleto?i=--zb57W_2V8:xFRKSqPJP98:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=--zb57W_2V8:xFRKSqPJP98:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/caironoleto/~4/--zb57W_2V8" height="1" width="1"/>]]></content:encoded><description>Podemos aprender em qualquer lugar, com qualquer coisa. Livros, vídeos, fotos, apresentações, músicas, filmes, etc. Se você ver a coisa com outra ótica poderá aprender muito.
Eu gosto muito de ver o filme do Homem de Ferro, gosto muito de ver toda aquela coisa tecnologica funcionando. Acho o máximo quando ele usa o &amp;#8220;raio repulsor&amp;#8221; e [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://caironoleto.com/2009/09/01/aprendendo-agilidade-fora-da-caixa/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://caironoleto.com/2009/09/01/aprendendo-agilidade-fora-da-caixa/</feedburner:origLink></item><item><title>Rails Initializers!</title><link>http://feedproxy.google.com/~r/caironoleto/~3/_X4E6-1TjKc/</link><category>Rails</category><category>Ruby</category><category>Environment</category><category>Environments</category><category>Initializers</category><category>Monkey Patch</category><category>Rails Initializers</category><category>Ruby on Rails</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cairo Noleto</dc:creator><pubDate>Mon, 31 Aug 2009 06:00:55 PDT</pubDate><guid isPermaLink="false">http://caironoleto.com/?p=370</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>No rails existem 4 lugares onde você pode configurar sua aplicação, no config/environment.rb, config/environments/production.rb, config/environments/development.rb, config/environments/test.rb.</p>
<p>Nesses 4 lugares você pode adicionar configurações para um do environments do rails (production, test e development) ou em todos os environments (config/environment.rb).</p>
<p><span id="more-370"></span></p>
<p>Dentro desses arquivos, você pode configurar gems específicas para cada environment, ou para toda a aplicação. Mas uma coisa que muitos fazem é centralizar nesses locais configurações de inicialização de constantes, de conexões com serviços externos, monkey patches entre outros.</p>
<p>Recentemente estou desenvolvendo um projeto e brincando com <a title="Apache CouchDB" href="http://couchdb.apache.org/" target="_blank">CouchDB</a> e <a title="CouchRest" href="http://github.com/mattetti/couchrest/tree/master" target="_blank">CouchRest</a>. No CouchRest eu resolvi fazer um <a title="Monkey Patch" href="http://en.wikipedia.org/wiki/Monkey_patch" target="_blank">monkey patch</a> e na hora de colocar eu não sabia a melhor forma. Depois de um pouco de buscas no google lembrei do config/initializers/.</p>
<p>Nesse lugar é onde você deve colocar as coisas que vão ser inicializadas junto com o Rails. Todos os arquivos serão executados após o carregamento dos plugins.</p>
<p>Por exemplo, você pode inicializar o <a title="MemCached" href="http://www.danga.com/memcached/" target="_blank">MemCached</a>, fazer com que ele conecte nos 4 servidores de cache que você tem, limpar a cache e colocar na cache toda a sua aplicação.</p>
<p>Ou você pode fazer um monkey patch.</p>
<p>Assim você mantem seus environments limpos.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/caironoleto?a=_X4E6-1TjKc:YuAsSSmMBNo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=_X4E6-1TjKc:YuAsSSmMBNo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/caironoleto?i=_X4E6-1TjKc:YuAsSSmMBNo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=_X4E6-1TjKc:YuAsSSmMBNo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/caironoleto/~4/_X4E6-1TjKc" height="1" width="1"/>]]></content:encoded><description>No rails existem 4 lugares onde você pode configurar sua aplicação, no config/environment.rb, config/environments/production.rb, config/environments/development.rb, config/environments/test.rb.
Nesses 4 lugares você pode adicionar configurações para um do environments do rails (production, test e development) ou em todos os environments (config/environment.rb).

Dentro desses arquivos, você pode configurar gems específicas para cada environment, ou para toda a aplicação. Mas uma [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://caironoleto.com/2009/08/31/rails-initializers/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://caironoleto.com/2009/08/31/rails-initializers/</feedburner:origLink></item><item><title>Rails 4 kids. Ajude!</title><link>http://feedproxy.google.com/~r/caironoleto/~3/BI7fiJArB5Q/</link><category>Ruby</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cairo Noleto</dc:creator><pubDate>Fri, 28 Aug 2009 18:47:43 PDT</pubDate><guid isPermaLink="false">http://caironoleto.com/?p=365</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><a title="Rails for Kids!" href="http://www.railsforkids.com/" target="_blank">Rails for Kids</a> é uma iniciativa muito bacana do <a title="e-Genial" href="http://www.egenial.com.br/" target="_blank">Carlos Eduardo, da e-Genial</a>. Quem não sabe ou não lembra, o Rails for Kids é um dia inteiro com muito Rails e toda a renda é para ajudar uma instituição que cuida de crianças.</p>
<p>Esse ano a instituição escolhida foi a <a href="http://www.railsforkids.com/site/favored" target="_blank">Cotolengo</a>. Sobre o evento, vai contar com os mais importantes Railers do Brasil, vai ser um <span style="text-decoration: line-through;">puta</span> grande evento sobre Rails. Vamos ajudar as crianças e vamos ganhar conhecimento <span style="text-decoration: line-through;">que é o este Brasil esta precisando, principalmente nosso estúpido senado</span>.</p>
<p><span id="more-365"></span></p>
<p>O Rails 4 kids acontecerá no dia 12 de setembro, não fique de fora dessa, não perca essa oportunidade de ajudar as crianças e poder contar com um dia inteiro de rails com os melhores do Brasil, faça já <a title="Inscrições Rails 4 Kids!" href="http://www.railsforkids.com/inscriptions" target="_blank">sua inscrição</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/caironoleto?a=BI7fiJArB5Q:e9VEur1sGtc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=BI7fiJArB5Q:e9VEur1sGtc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/caironoleto?i=BI7fiJArB5Q:e9VEur1sGtc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=BI7fiJArB5Q:e9VEur1sGtc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/caironoleto/~4/BI7fiJArB5Q" height="1" width="1"/>]]></content:encoded><description>Rails for Kids é uma iniciativa muito bacana do Carlos Eduardo, da e-Genial. Quem não sabe ou não lembra, o Rails for Kids é um dia inteiro com muito Rails e toda a renda é para ajudar uma instituição que cuida de crianças.
Esse ano a instituição escolhida foi a Cotolengo. Sobre o evento, vai contar [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://caironoleto.com/2009/08/28/rails-4-kids-ajude/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://caironoleto.com/2009/08/28/rails-4-kids-ajude/</feedburner:origLink></item><item><title>Regulamentação da Profissão de Analista de Sistemas e suas Correlatas</title><link>http://feedproxy.google.com/~r/caironoleto/~3/R6ofRVR5Hmc/</link><category>Carreira</category><category>Analista de Sistemas</category><category>Carreia</category><category>Profissão</category><category>Regulamentação da Profissão</category><category>Regulamentação da Profissão de Analista de Sistemas</category><category>Sistemas</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cairo Noleto</dc:creator><pubDate>Thu, 27 Aug 2009 05:36:47 PDT</pubDate><guid isPermaLink="false">http://caironoleto.com/?p=360</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Muito se tem falado sobre a Regulamentação da Profissão de Analista de Sistemas e suas Correlatas, a discussão é grande, e existe muita gente a favor, muita gente contra e algumas em cima do muro.</p>
<p>O que eu vejo é que muito se fala sem ao menos saber do que se trata. Pouca gente percebeu, mas quem leu a lei na íntegra sabe, para ministrar aulas, ou escrever em blogs (Eu sei que é muito, mas podemos interpretar a lei assim) sobre qualquer coisa que seja de domínio de um &#8220;Analista de Sistemas&#8221; só poderá ser feita por um Analista de Sistemas.</p>
<p><span id="more-360"></span></p>
<p>Não somente isso, mas pesquisas e experimentação só poderão ser feitas por Analistas de Sistemas. Ministrar aulas só poderá ser feita por Analistas de Sistemas.</p>
<p>A lei não da direitos as pessoas que são formadas, por exemplo, em Administração, mas com mestrado em Engenharia de Software a ministrar aulas de Engenharia de Software, pois isso só cabe aos formados em Ciências da computação, processamento de dados ou analistas de sistemas.</p>
<p>No twitter, alguns falaram que a maioria é Pessoa Jurídica e como empresa tanto faz a lei. Isso é um engano, a lei é clara, punirá quem estiver trabalhando como Analista de Sistemas e não for registrado no conselho regional de informática (CREI) ou quem facilitará a quem não é registrado e comprovado Analista de Sistemas a exercer a profissão.</p>
<p>Ninguém ainda sabe como ficará profissionais que trabalham em casa para empresas que ficam em outros estados (Como eu já trabalhei no ano passado). &#8220;Eu vou ter que me registrar no CREI aqui no Piauí, em São Paulo ou nos dois?! Por quê a sede da empresa é em São Paulo e eu trabalho em casa!&#8221;.</p>
<p>E como ficará o trabalho internacional!? Existem pessoas que fazem outsourcing para empresas na America do Norte, Europa e outros lugares do Mundo, como ficarão essas pessoas!?</p>
<p>Ninguém está preocupado com o impacto imediato que esta lei tem, e o pior, ninguém está se preocupando com o impacto dessa lei a daqui 10 anos. Onde o Brasil será mais uma vez uma nação que consumirá apenas a sucata que é criada lá fora, por que essa lei limitará em todos os aspectos o desenvolvimento tecnologico do nosso país.</p>
<p>Mais uma vez o Brasil está nadando contra a maré querendo &#8220;inventar&#8221; um impedimento do desenvolvimento de conhecimento. Mais uma vez o Brasil afundará com uma medida que não tem lógica. Mais uma vez nosso país está fazendo o contrário do que pensamos e queremos!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/caironoleto?a=R6ofRVR5Hmc:WlY_78GPg-E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=R6ofRVR5Hmc:WlY_78GPg-E:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/caironoleto?i=R6ofRVR5Hmc:WlY_78GPg-E:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=R6ofRVR5Hmc:WlY_78GPg-E:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/caironoleto/~4/R6ofRVR5Hmc" height="1" width="1"/>]]></content:encoded><description>Muito se tem falado sobre a Regulamentação da Profissão de Analista de Sistemas e suas Correlatas, a discussão é grande, e existe muita gente a favor, muita gente contra e algumas em cima do muro.
O que eu vejo é que muito se fala sem ao menos saber do que se trata. Pouca gente percebeu, mas [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://caironoleto.com/2009/08/27/regulamentacao-da-profissao-de-analista-de-sistemas-e-suas-correlatas/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">5</slash:comments><category domain="http://rss.financialcontent.com/stocksymbol">CREI</category><feedburner:origLink>http://caironoleto.com/2009/08/27/regulamentacao-da-profissao-de-analista-de-sistemas-e-suas-correlatas/</feedburner:origLink></item><item><title>Coding Dojo Piauí</title><link>http://feedproxy.google.com/~r/caironoleto/~3/1ctkVPUNwZQ/</link><category>Carreira</category><category>Coding Dojo</category><category>Coding Dojo Piauí</category><category>Dojo</category><category>Dojo Piauí</category><category>Treinamento</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cairo Noleto</dc:creator><pubDate>Fri, 21 Aug 2009 17:17:12 PDT</pubDate><guid isPermaLink="false">http://www.caironoleto.com/?p=355</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Um pouco de história <span style="text-decoration: line-through;">juro que não vai ser um post do <a title="AkitaOnRails" href="http://www.akitaonrails.com/">Akita</a> por aqui</span>. Durante o Oxente Rails fomos &#8220;contaminados&#8221; de coisas boas :D</p>
<p>Agile, Pair Programming, Espírito Open Source e resolvemos que devíamos trazer esse tipo de ambiente aqui para Teresina! Eu e o Cleiton conversamos com todos os piauienses que foram para o Oxente Rails e ficou certo uma data para realizarmos o primeiro Coding Dojo aqui no Piauí.</p>
<p><span id="more-355"></span></p>
<p>Foi um evento FODÁSTICO. Não tínhamos nenhuma experiência sobre como fazer o Coding Dojo ou como nos organizar ou qualquer outra coisa. Para um Dojo &#8220;Piloto&#8221; nós fomos muito bem!</p>
<p>Partimos para o segundo e foi melhor ainda. Não por que foi ótimo e resolvemos o problema, mas por que tivemos nossa primeira experiência ruim! E como nas metodologias Ágeis, nós aprendemos com os erros! O feedback foi essencial no segundo Coding Dojo.</p>
<p>Para o próximo, que vai acontecer nesta semana, considero que será um dos melhores! Vamos fazer um rodízio melhor!</p>
<p>Se você quiser participar do Coding Dojo, entre no <a title="Coding Dojo Piauí" href="http://groups.google.com/group/dojopi" target="_blank">nosso grupo</a> e fique ligado no que vai rolar na lista, ela está sendo super importante para a gente melhorar o Coding Dojo a cada edição!</p>
<p>Eu fico feliz em saber que tem <a title="Rafael Lima sobre o Coding Dojo Piauí!" href="http://twitter.com/rafaelp/status/3461044681">gente fora do nosso estado</a> que está gostando do que nós estamos fazendo aqui no Piauí! Eu acredito que nós podemos nos tornar uma potência em computação! Basta nos esforçarmos! :)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/caironoleto?a=1ctkVPUNwZQ:-1xaAZBYRAU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=1ctkVPUNwZQ:-1xaAZBYRAU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/caironoleto?i=1ctkVPUNwZQ:-1xaAZBYRAU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/caironoleto?a=1ctkVPUNwZQ:-1xaAZBYRAU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/caironoleto?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/caironoleto/~4/1ctkVPUNwZQ" height="1" width="1"/>]]></content:encoded><description>Um pouco de história juro que não vai ser um post do Akita por aqui. Durante o Oxente Rails fomos &amp;#8220;contaminados&amp;#8221; de coisas boas :D
Agile, Pair Programming, Espírito Open Source e resolvemos que devíamos trazer esse tipo de ambiente aqui para Teresina! Eu e o Cleiton conversamos com todos os piauienses que foram para o [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://caironoleto.com/2009/08/21/coding-dojo-piaui/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://caironoleto.com/2009/08/21/coding-dojo-piaui/</feedburner:origLink></item></channel></rss>
