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

<channel>
	<title>Keep Learning &#187; Anúncios</title>
	<atom:link href="http://www.makemesimple.com/blog/category/anuncios/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.makemesimple.com/blog</link>
	<description>Conhecimento nunca é o bastante</description>
	<lastBuildDate>Wed, 28 Apr 2010 21:28:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Evitando over-stubbing com Mocha</title>
		<link>http://www.makemesimple.com/blog/2009/03/18/evitando-over-stubbing-com-mocha/</link>
		<comments>http://www.makemesimple.com/blog/2009/03/18/evitando-over-stubbing-com-mocha/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 16:45:29 +0000</pubDate>
		<dc:creator>Lucas Húngaro</dc:creator>
				<category><![CDATA[Anúncios]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Test-Driven Development]]></category>

		<guid isPermaLink="false">http://www.makemesimple.com/blog/?p=191</guid>
		<description><![CDATA[Não é segredo que não sou &#8220;fã&#8221; da maneira como a comunidade de desenvolvedores utiliza mocks e stubs. A meu ver, trata-se de mal uso de uma ferramenta muito útil.
Com esse tipo de uso surgem alguns problemas, tais como over-mocking e over-stubbing, ou seja, o uso abusivo de mocks e stubs. O abuso de mocks [...]]]></description>
			<content:encoded><![CDATA[<p>Não é segredo que não sou &#8220;fã&#8221; da maneira como a comunidade de desenvolvedores utiliza mocks e stubs. A meu ver, trata-se de mal uso de uma ferramenta muito útil.</p>
<p>Com esse tipo de uso surgem alguns problemas, tais como over-mocking e over-stubbing, ou seja, o uso abusivo de mocks e stubs. O abuso de mocks torna seus testes quebradiços, isto é, testes que falham sem que haja alteração de comportamento do componente sob verificação. O abuso de stubs torna seus testes fracos, isto é, testes que saem de sincronia com o código, verificando comportamento que já não é real, mas continuam passando.</p>
<p>Um exemplo de abuso de mocks:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">it <span style="color:#996600;">&quot;should be successful&quot;</span> <span style="color:#9966CC; font-weight:bold;">do</span>
  Account.<span style="color:#9900CC;">expects</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:new</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">with</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:current_user</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0066ff; font-weight:bold;">@user</span>, <span style="color:#ff3333; font-weight:bold;">:first_name</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;Test&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:last_name</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;Test&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">returns</span><span style="color:#006600; font-weight:bold;">&#40;</span>@account<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#0066ff; font-weight:bold;">@account</span>.<span style="color:#9900CC;">expects</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:login_method</span>=<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">with</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#6666ff; font-weight:bold;">CONFIG::LOGIN::OpenID</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#0066ff; font-weight:bold;">@account</span>.<span style="color:#9900CC;">expects</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:has_email_and_password</span>=<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">at_least_once</span>
  <span style="color:#0066ff; font-weight:bold;">@account</span>.<span style="color:#9900CC;">expects</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:has_openid</span>=<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">twice</span>
  do_edit
  response.<span style="color:#9900CC;">should</span> be_success
  response.<span style="color:#9900CC;">should</span> render_template<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;edit&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>Note que até métodos de atribuição são colocados sob expectativas. Se a implementação sofrer uma alteração simples, fazendo, por exemplo, com que algum desses métodos não seja mais chamado, mesmo que não haja qualquer modificação no comportamento, o teste falhará.</p>
<p>Um exemplo do abuso de stubs:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">it <span style="color:#996600;">&quot;has been modified a lot of times&quot;</span> <span style="color:#9966CC; font-weight:bold;">do</span>
  Dependency.<span style="color:#9900CC;">stubs</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:a_method</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  NoLongerADependency.<span style="color:#9900CC;">stubs</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:something</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">returns</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF; font-weight:bold;">false</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  AnotherDependency.<span style="color:#9900CC;">stubs</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:nonexistent_method</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">returns</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">10</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  MyClass.<span style="color:#9900CC;">new</span>.<span style="color:#9900CC;">do_something</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>Com esse tipo de abordagem, você pode acabar com problemas como fazer stubs de métodos que não existem mais ou até mesmo de objetos que já não são mais uma dependência.</p>
<p>Uma forma de evitar isso com o Mocha (além, é claro, de estudar o uso correto das ferramentas) é utilizar algumas configurações providas pelo framework através de sua classe Configuration:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#6666ff; font-weight:bold;">Mocha::Configuration</span>.<span style="color:#9900CC;">prevent</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:stubbing_non_existent_method</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;">#impede stubbing de métodos inexistentes</span>
&nbsp;
<span style="color:#6666ff; font-weight:bold;">Mocha::Configuration</span>.<span style="color:#9900CC;">prevent</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:stubbing_method_unnecessarily</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;">#impede stubbing de métodos não utilizados</span>
&nbsp;
<span style="color:#6666ff; font-weight:bold;">Mocha::Configuration</span>.<span style="color:#9900CC;">prevent</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:stubbing_non_public_method</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;">#impede stubbing de métodos não-públicos</span>
&nbsp;
<span style="color:#6666ff; font-weight:bold;">Mocha::Configuration</span>.<span style="color:#9900CC;">prevent</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:stubbing_method_on_non_mock_object</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;">#impede stubbing em objetos &quot;reais&quot;</span></pre></div></div>

<p>Nos exemplos acima, caso encontre um dos usos &#8220;indevidos&#8221;, o Mocha lançará uma exceção do tipo Mocha::StubbingError. Isso ocorre por termos utilizado o método prevent. Há outras configurações possíveis, sendo providos três nívels de configuração:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;"># padrão - permite a condição</span>
<span style="color:#6666ff; font-weight:bold;">Mocha::Configuration</span>.<span style="color:#9900CC;">allow</span><span style="color:#006600; font-weight:bold;">&#40;</span>condition<span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
<span style="color:#008000; font-style:italic;"># apenas emite um aviso quando ocorre a condição</span>
<span style="color:#6666ff; font-weight:bold;">Mocha::Configuration</span>.<span style="color:#9900CC;">warn_when</span><span style="color:#006600; font-weight:bold;">&#40;</span>condition<span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
<span style="color:#008000; font-style:italic;"># lança um erro quando ocorre a condição</span>
<span style="color:#6666ff; font-weight:bold;">Mocha::Configuration</span>.<span style="color:#9900CC;">prevent</span><span style="color:#006600; font-weight:bold;">&#40;</span>condition<span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>

<p>Essas configurações podem ser um auxílio para o aprendizado do uso correto e equilibrado da ferramenta.</p>
<p>Leia mais:<br />
<a href="http://mocha.rubyforge.org/classes/Mocha/Configuration.html" target="_blank">Mocha::Configuration RDoc</a><br />
<a href="http://blog.floehopper.org/articles/2009/02/09/mocha-configuration" target="_blank">Mocha Configuration &#8211; James Mead</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemesimple.com/blog/2009/03/18/evitando-over-stubbing-com-mocha/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Google Doctype</title>
		<link>http://www.makemesimple.com/blog/2008/05/16/google-doctype/</link>
		<comments>http://www.makemesimple.com/blog/2008/05/16/google-doctype/#comments</comments>
		<pubDate>Fri, 16 May 2008 07:14:26 +0000</pubDate>
		<dc:creator>Lucas Húngaro</dc:creator>
				<category><![CDATA[Anúncios]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.makemesimple.com/blog/?p=125</guid>
		<description><![CDATA[O mais novo lançamento da Google chama-se Doctype. Trata-se de uma enciclopédia aberta (a la Wikipedia) para documentar padrões web abertos como HTML e CSS e outros tópicos sobre desenvolvimento como segurança e caching. De quebra ainda estão disponíveis 8 mil linhas de Javascript que formam a biblioteca Javascript desenvolvida pela Google.
A intenção é criar [...]]]></description>
			<content:encoded><![CDATA[<p>O mais novo lançamento da Google chama-se <a href="http://code.google.com/doctype/" target="_blank">Doctype</a>. Trata-se de uma enciclopédia aberta (a la Wikipedia) para documentar padrões web abertos como HTML e CSS e outros tópicos sobre desenvolvimento como segurança e caching. De quebra ainda estão disponíveis 8 mil linhas de Javascript que formam a biblioteca Javascript desenvolvida pela Google.</p>
<p>A intenção é criar uma referência completa sobre padrões web, tudo com casos de teste. Uma iniciativa muito interessante, vale a pena conferir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemesimple.com/blog/2008/05/16/google-doctype/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile Web Development with Rails, 3rd Edition</title>
		<link>http://www.makemesimple.com/blog/2008/04/24/agile-web-development-with-rails-3rd-edition/</link>
		<comments>http://www.makemesimple.com/blog/2008/04/24/agile-web-development-with-rails-3rd-edition/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 15:42:00 +0000</pubDate>
		<dc:creator>Lucas Húngaro</dc:creator>
				<category><![CDATA[Anúncios]]></category>

		<guid isPermaLink="false">http://www.makemesimple.com/blog/2008/04/24/agile-web-development-with-rails-3rd-edition/</guid>
		<description><![CDATA[Foi anunciada hoje a terceira edição do principal livro sobre Rails no mercado: Agile Web Development with Rails, que agora cobrirá o Rails 2. Na terceira edição, Sam Ruby participará como escritor-líder, junto com Dave Thomas e David Heinemeier Hansson.
]]></description>
			<content:encoded><![CDATA[<p>Foi anunciada hoje a terceira edição do principal livro sobre Rails no mercado: <a href="http://pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition" target="_blank">Agile Web Development with Rails</a>, que agora cobrirá o Rails 2. Na terceira edição, <a href="http://intertwingly.net/blog/2008/04/23/Third-Edition" target="_blank">Sam Ruby participará</a> como escritor-líder, junto com Dave Thomas e David Heinemeier Hansson.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemesimple.com/blog/2008/04/24/agile-web-development-with-rails-3rd-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FISL 9.0, aí vou eu!</title>
		<link>http://www.makemesimple.com/blog/2008/04/16/fisl-90-ai-vou-eu/</link>
		<comments>http://www.makemesimple.com/blog/2008/04/16/fisl-90-ai-vou-eu/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 13:37:39 +0000</pubDate>
		<dc:creator>Lucas Húngaro</dc:creator>
				<category><![CDATA[Anúncios]]></category>

		<guid isPermaLink="false">http://www.makemesimple.com/blog/2008/04/16/fisl-90-ai-vou-eu/</guid>
		<description><![CDATA[Hoje à tarde embarco para Porto Alegre para participar dos três dias do nono Fórum Internacional do Software Livre. Pela programação parece que teremos excelentes palestras, a expectativa é grande. Darei uma pequena contribuição sendo coordenador de sessão na palestra sobre Grails, do Rodrigo Urubatan, no sábado à tarde.

Vejo vocês por lá!
]]></description>
			<content:encoded><![CDATA[<p>Hoje à tarde embarco para Porto Alegre para participar dos três dias do nono <a href="http://fisl.softwarelivre.org/9.0/www/" target="_blank">Fórum Internacional do Software Livre</a>. Pela programação parece que teremos excelentes palestras, a expectativa é grande. Darei uma pequena contribuição sendo coordenador de sessão na palestra sobre Grails, do <a href="http://www.urubatan.com.br/" target="_blank">Rodrigo Urubatan</a>, no sábado à tarde.</p>
<p style="text-align: center"><img src="http://www.makemesimple.com/blog/wp-content/uploads/2008/04/fisl.png" alt="FISL 9.0" /></p>
<p>Vejo vocês por lá!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemesimple.com/blog/2008/04/16/fisl-90-ai-vou-eu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails já está no GitHub</title>
		<link>http://www.makemesimple.com/blog/2008/04/11/rails-ja-esta-no-github/</link>
		<comments>http://www.makemesimple.com/blog/2008/04/11/rails-ja-esta-no-github/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 04:04:29 +0000</pubDate>
		<dc:creator>Lucas Húngaro</dc:creator>
				<category><![CDATA[Anúncios]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://www.makemesimple.com/blog/2008/04/11/rails-ja-esta-no-github/</guid>
		<description><![CDATA[http://github.com/rails/rails/tree/master
]]></description>
			<content:encoded><![CDATA[<p><a href="http://github.com/rails/rails/tree/master" target="_blank">http://github.com/rails/rails/tree/master</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemesimple.com/blog/2008/04/11/rails-ja-esta-no-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ebb &#8211; novo web server para Ruby</title>
		<link>http://www.makemesimple.com/blog/2008/03/04/ebb-novo-web-server-para-ruby/</link>
		<comments>http://www.makemesimple.com/blog/2008/03/04/ebb-novo-web-server-para-ruby/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 17:44:34 +0000</pubDate>
		<dc:creator>Lucas Húngaro</dc:creator>
				<category><![CDATA[Anúncios]]></category>
		<category><![CDATA[Dicas]]></category>

		<guid isPermaLink="false">http://www.makemesimple.com/blog/2008/03/04/ebb-novo-web-server-para-ruby/</guid>
		<description><![CDATA[Ebb é um servidor web escrito em C com binding para Ruby (e, futuramente, Python), que pode ser utilizado com Rails e Merb, entre outros frameworks.
Seguindo a onda de melhorias em desempenho e facilidade de implantação que temos visto ultimamente no mundo dos frameworks web para Ruby (Thin, SwitchPipe), o desenvolvedor do Ebb afirma (e [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ebb.rubyforge.org/" target="_blank">Ebb é um servidor web escrito</a> em C com binding para Ruby (e, futuramente, Python), que pode ser utilizado com Rails e Merb, entre outros frameworks.</p>
<p>Seguindo a onda de melhorias em desempenho e facilidade de implantação que temos visto ultimamente no mundo dos frameworks web para Ruby (Thin, <a href="http://switchpipe.org/" target="_blank">SwitchPipe</a>), o desenvolvedor do Ebb afirma (e mostra benchmarks) que seu servidor é mais rápido que Mongrel e Thin.</p>
<p>Para instalar, basta o comando <em>gem install ebb</em> (assumindo que as dependências &#8211; glib-2.0 e pkg-config &#8211; estejam instaladas). Para testá-lo, vá até o diretório raíz de sua aplicação Rails e digite <em>ebb_rails start</em>. <u>Em ambiente de desenvolvimento</u>, pareceu bem rápido.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemesimple.com/blog/2008/03/04/ebb-novo-web-server-para-ruby/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Rubylearning: mais uma turma em Março</title>
		<link>http://www.makemesimple.com/blog/2008/01/25/rubylearning-mais-uma-turma-em-marco/</link>
		<comments>http://www.makemesimple.com/blog/2008/01/25/rubylearning-mais-uma-turma-em-marco/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 12:36:13 +0000</pubDate>
		<dc:creator>Lucas Húngaro</dc:creator>
				<category><![CDATA[Anúncios]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Treinamentos]]></category>

		<guid isPermaLink="false">http://www.makemesimple.com/blog/2008/01/25/rubylearning-mais-uma-turma-em-marco/</guid>
		<description><![CDATA[Satish Talim me informou hoje que a quarta turma para seu curso online gratuito de Ruby terá início em 1º de Março.
A última turma teve 2190 participantes, dos quais 35% eram brasileiros.
Se tiver interesse, faça sua inscrição aqui.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://rubylearning.com/blog/" target="_blank">Satish Talim</a> me informou hoje que a quarta turma para seu <a href="http://rubylearning.org/class/" target="_blank">curso online gratuito de Ruby</a> terá início em 1º de Março.</p>
<p>A última turma teve 2190 participantes, dos quais 35% eram brasileiros.</p>
<p>Se tiver interesse, <a href="http://rubylearning.org/class/login/index.php" target="_blank">faça sua inscrição aqui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemesimple.com/blog/2008/01/25/rubylearning-mais-uma-turma-em-marco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Novo PickAxe</title>
		<link>http://www.makemesimple.com/blog/2007/12/14/novo-pickaxe/</link>
		<comments>http://www.makemesimple.com/blog/2007/12/14/novo-pickaxe/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 02:12:00 +0000</pubDate>
		<dc:creator>Lucas Húngaro</dc:creator>
				<category><![CDATA[Anúncios]]></category>
		<category><![CDATA[Livros]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.makemesimple.com/blog/2007/12/14/novo-pickaxe/</guid>
		<description><![CDATA[Dave Thomas anunciou que o livro &#8220;Programming Ruby&#8221;, mais conhecido como PickAxe, chegou a sua terceira edição, voltada ao Ruby 1.9, e já está disponível em beta.
O livro é uma referência unânime em toda a comunidade. Altamente recomendado.
Para quem tem dificuldades com o inglês, uma boa referência em português é o livro &#8220;Ruby &#8211; Conhecendo [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://pragdave.blogs.pragprog.com/pragdave/" target="_blank">Dave Thomas</a> anunciou que o livro &#8220;Programming Ruby&#8221;, mais conhecido como PickAxe, <a href="http://pragdave.blogs.pragprog.com/pragdave/2007/12/a-new-pickaxe.html" target="_blank">chegou a sua terceira edição</a>, voltada ao Ruby 1.9, e <a href="http://pragprog.com/titles/ruby3" target="_blank">já está disponível em beta</a>.</p>
<p>O livro é uma referência unânime em toda a comunidade. Altamente recomendado.</p>
<p>Para quem tem dificuldades com o inglês, uma boa referência em português é o livro &#8220;<a href="http://www.livrariasaraiva.com.br/produto/produto.dll/detalhe?pro_id=205566&amp;ID=C8E646207D70C0E00090F1090" target="_blank">Ruby &#8211; Conhecendo a Linguagem</a>&#8220;, de <a href="http://eustaquiorangel.com/" target="_blank">Eustáquio Rangel</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemesimple.com/blog/2007/12/14/novo-pickaxe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curso online gratuito de Ruby</title>
		<link>http://www.makemesimple.com/blog/2007/12/11/curso-online-gratuito-de-ruby/</link>
		<comments>http://www.makemesimple.com/blog/2007/12/11/curso-online-gratuito-de-ruby/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 13:29:20 +0000</pubDate>
		<dc:creator>Lucas Húngaro</dc:creator>
				<category><![CDATA[Anúncios]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.makemesimple.com/blog/2007/12/11/curso-online-gratuito-de-ruby/</guid>
		<description><![CDATA[Satish Talim me pediu para divulgar a abertura de uma nova turma no curso online de Ruby ministrado por ele. Participei da segunda edição do curso neste ano e posso afirmar que o material é bom e os exercícios e desafios postados no fórum pelo Satish ajudam bastante a praticar.
A terceira edição terá início no [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://rubylearning.com/blog/" target="_blank">Satish Talim</a> me pediu para divulgar a abertura de uma nova turma no curso online de Ruby ministrado por ele. Participei da segunda edição do curso neste ano e posso afirmar que o material é bom e os exercícios e desafios postados no fórum pelo Satish ajudam bastante a praticar.</p>
<p>A terceira edição terá início no dia 7 de janeiro de 2008. Siga as instruções <a href="http://www.rubylearning.org/class/" target="_blank">nessa página para se matricular</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemesimple.com/blog/2007/12/11/curso-online-gratuito-de-ruby/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rails 2.0 lançado</title>
		<link>http://www.makemesimple.com/blog/2007/12/07/rails-20-lancado/</link>
		<comments>http://www.makemesimple.com/blog/2007/12/07/rails-20-lancado/#comments</comments>
		<pubDate>Fri, 07 Dec 2007 12:28:16 +0000</pubDate>
		<dc:creator>Lucas Húngaro</dc:creator>
				<category><![CDATA[Anúncios]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://www.makemesimple.com/blog/2007/12/07/rails-20-lancado/</guid>
		<description><![CDATA[Assim como o PragDave, acabo de executar aqui o comando gem list &#8211;remote e, vejam só:

Update: Rails 2.0(.1) já aparece no Trac e Subversion. O anúncio oficial deve ser feito muito em breve.
Update 2: Anúncio oficial.
]]></description>
			<content:encoded><![CDATA[<p>Assim como o <a href="http://pragdave.blogs.pragprog.com/pragdave/2007/12/advanced-rails.html" target="_blank">PragDave</a>, acabo de executar aqui o comando <em>gem list &#8211;remote </em>e, vejam só:</p>
<p><img src="http://www.makemesimple.com/blog/wp-content/uploads/2007/12/rails21.png" alt="Rails 2.0.0" /></p>
<p><strong>Update</strong>: Rails 2.0(.1) já aparece no <a href="http://dev.rubyonrails.org/changeset/8331" target="_blank">Trac</a> e <a href="http://svn.rubyonrails.org/rails/tags/" target="_blank">Subversion</a>. O anúncio oficial deve ser feito muito em breve.</p>
<p><strong>Update 2</strong>: <a href="http://weblog.rubyonrails.com/2007/12/7/rails-2-0-it-s-done" target="_blank">Anúncio oficial</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemesimple.com/blog/2007/12/07/rails-20-lancado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.465 seconds -->
