<?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>jésus lopes &#187; dicas</title>
	<atom:link href="http://jlopes.zigotto.com.br/category/dicas/feed" rel="self" type="application/rss+xml" />
	<link>http://jlopes.zigotto.com.br</link>
	<description>@zigotto &#124; ruby &#124; rails &#124; desenvolvimento &#124; software</description>
	<lastBuildDate>Tue, 28 Dec 2010 19:11:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Meu ambiente de desenvolvimento</title>
		<link>http://jlopes.zigotto.com.br/dicas/meu-ambiente-de-desenvolvimento</link>
		<comments>http://jlopes.zigotto.com.br/dicas/meu-ambiente-de-desenvolvimento#comments</comments>
		<pubDate>Tue, 28 Dec 2010 19:00:49 +0000</pubDate>
		<dc:creator>Jésus Lopes</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[ambiente]]></category>
		<category><![CDATA[desenvolvimento]]></category>

		<guid isPermaLink="false">http://jlopes.zigotto.com.br/?p=216</guid>
		<description><![CDATA[Esta rolando uma série de posts, onde devemos contar mais sobre o nosso ambiente de desenvolvimento e eu fui convidado pelo @cassiomarques (post) e @lucascaton (post) para falar um pouco do meu.
Então, vamos lá  
Sistema operacional

Mac OS X. Faz 8 meses que comprei um MacBook de 13&#8243; e venho usando ele em 100% do tempo [...]]]></description>
			<content:encoded><![CDATA[<p>Esta rolando uma série de posts, onde devemos contar mais sobre o nosso ambiente de desenvolvimento e eu fui convidado pelo <a href="http://twitter.com/cassiomarques ">@cassiomarques</a> (<a href="http://cassiomarques.wordpress.com/2010/12/28/meu-ambiente-de-desenvolvimento/">post</a>) e <a href="http://twitter.com/lucascaton">@lucascaton</a> (<a href="http://blog.lucascaton.com.br/?p=665">post</a>) para falar um pouco do meu.</p>
<p>Então, vamos lá <img src='http://jlopes.zigotto.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h3>Sistema operacional</h3>
<ul>
<li><span style="text-decoration: underline;">Mac OS X</span>. Faz 8 meses que comprei um MacBook de 13&#8243; e venho usando ele em 100% do tempo que estou desenvolvendo. Continuo usando o Ubuntu, mas somente em servidores onde configuramos os projetos.</li>
</ul>
<h3>Editor</h3>
<ul>
<li><span style="text-decoration: underline;">MacVim</span>. Nunca sequer instalei o Textmate. Já usava o vim no linux e sempre me atendeu muito bem. Para servidor então, é perfeito. Agradeço ao @<a href="http://twitter.com/cassiomarques">cassiomarques</a> pela influência em usar este editor =)</li>
</ul>
<h3>Alguns softwares</h3>
<ul>
<li><span style="text-decoration: underline;">Git</span> &#8211; Todos os projetos são versionados, inclusive o deploy é feito puxando as alterações do repositório git.</li>
<li><span style="text-decoration: underline;">Terminal</span> &#8211; Não abre automaticamente como li em alguns posts hehehe, mas é um dos primeiros a abrir quando o sistema operacional carrega.</li>
<li><span style="text-decoration: underline;">Adium</span> &#8211; Ele atende bem o que preciso, Gtalk e MSN. Estou me acostumando a usar mais o skype, mas ainda bem pouco.</li>
</ul>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Git &#8211; Todos os projetos são versionados, inclusive o deploy é feito puxando as alterações do repositório git.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Terminal &#8211; Não abre automaticamente como li em alguns posts hehehe, mas é um dos primeiros a abrir quando o sistema operacional carrega.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Adium &#8211; Ele atende bem o que preciso, Gtalk e MSN. Estou me acostumando a usar mais o skype, mas ainda bem pouco.</div>
<h3>Browser</h3>
<ul>
<li><span style="text-decoration: underline;">Google Chrome</span> &#8211; Sempre usei o Firefox, mas ele consome muita memória e por isso procurei outras alternativas. O @<a href="http://twitter.com/edercosta">edercosta</a> fez alguns testes e por indicação dele, adotei o Chrome como padrão.</li>
</ul>
<h3>Ambiente/Música</h3>
<ul>
<li><span style="text-decoration: underline;">MacBook 13&#8243;</span> ligado a um monitor 21&#8243; junto com o teclado e mouse bluetooth.</li>
<li><span style="text-decoration: underline;">iPad</span> para dar uma &#8220;escapada&#8221; e relaxar um pouco lendo ou jogando.</li>
<li><span style="text-decoration: underline;">iTunes</span> sempre ligado, dispensa comentários. Comecei a usar o <a href="http://www.lastfm.com.br/user/jtadeulopes">last.fm</a> para fazer scrobbling das músicas e gostei muito, pois ajuda a conhecer novas bandas e pessoas.</li>
</ul>
<h3>Fontes/Estudos</h3>
<p>Estudar sempre! Eu não vejo melhor maneira que lendo e pesquisando o quê e como estão fazendo, então:</p>
<ul>
<li> <a href="http://github.com">Github</a> &#8211; Se aprende muito lendo código, o github é perfeito para isso. Além de poder contribuir, criar novos projetos e participar da fantástica comunidade open source.</li>
<li> <a href="http://apidock.com/">APIdock</a> &#8211; Melhor local para pesquisar documentação sobre Ruby e Ruby on Rails</li>
<li><a href="http://rdoc.info/">RubyDoc.info</a> &#8211; Documentação sobre plugins e gems.</li>
<li> <a href="http://google.com">Google</a>/<a href="http://reader.google.com">Google Reader</a> &#8211; <img src='http://jlopes.zigotto.com.br/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </li>
</ul>
<h3>Água e café</h3>
<ul>
<li>Sempre na minha mesa</li>
</ul>
<p>É isso, agora passo a bola para @<a href="http://twitter.com/willian">willian</a>, @<a href="http://twitter.com/vinibaggio">vinibaggio</a> e @<a href="http://twitter.com/PotHix">PotHix</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jlopes.zigotto.com.br/dicas/meu-ambiente-de-desenvolvimento/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Populando banco de dados usando a gem Populator</title>
		<link>http://jlopes.zigotto.com.br/gems/populando-banco-de-dados-usando-a-gem-populator</link>
		<comments>http://jlopes.zigotto.com.br/gems/populando-banco-de-dados-usando-a-gem-populator#comments</comments>
		<pubDate>Sun, 14 Jun 2009 02:53:56 +0000</pubDate>
		<dc:creator>Jésus Lopes</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[faker]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[populator]]></category>
		<category><![CDATA[task]]></category>

		<guid isPermaLink="false">http://jlopes.zigotto.com.br/?p=26</guid>
		<description><![CDATA[É preciso demonstrar uma funcionalidade da aplicação para o cliente, mas para isso é necessário realizar diversos cadastros e gerar informações na base de dados. Dependendo da quantidade de registros, fazer isso manualmente acaba ficando muito chato além de consumir um longo tempo.
Procurando uma maneira de automatizar esse processo, encontrei a gem Populator que facilita [...]]]></description>
			<content:encoded><![CDATA[<p>É preciso demonstrar uma funcionalidade da aplicação para o cliente, mas para isso é necessário realizar diversos cadastros e gerar informações na base de dados. Dependendo da quantidade de registros, fazer isso manualmente acaba ficando muito chato além de consumir um longo tempo.</p>
<p>Procurando uma maneira de automatizar esse processo, encontrei a gem <a href="http://populator.rubyforge.org/" target="_blank">Populator</a> que facilita e muito esse trabalho.</p>
<p><strong>Como Usar</strong>:</p>
<p>Primeiro instale a gem</p>
<pre><code>sudo gem install populator</code></pre>
<p>Após instalar, no console já podemos fazer algo como:</p>
<pre class="bash"><code>&gt;&gt; require <span class="st0">'populator'</span>
=&gt; <span class="br0">&#91;</span><span class="br0">&#93;</span>
&gt;&gt; Category.count
=&gt; <span class="nu0">0</span>
&gt;&gt; Category.populate<span class="br0">&#40;</span><span class="nu0">10</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> |category| category.name = Populator.words<span class="br0">&#40;</span><span class="nu0">1</span>..<span class="nu0">3</span><span class="br0">&#41;</span>.titleize <span class="br0">&#125;</span>
=&gt; <span class="br0">&#123;</span><span class="br0">&#125;</span>
&gt;&gt; Category.count
=&gt; <span class="nu0">10</span>
&gt;&gt; Category.first
=&gt; <span class="re3">#&lt;Category id: <span class="nu0">1</span>, name: </span><span class="st0">&quot;Fuga Debitis Temporibus&quot;</span>, created_at: <span class="st0">&quot;2009-06-13 14:17:24&quot;</span>, updated_at: <span class="st0">&quot;2009-06-13 14:17:24&quot;</span>&gt;
&gt;&gt;</code></pre>
<p>Existem alguns metodos que podemos usar para gerar alguns dados como:</p>
<pre class="rails"><code>Populator.<span class="me1">words</span><span class="br0">&#40;</span><span class="nu0">5</span><span class="br0">&#41;</span> <span class="co1"># gera 5 palavras aleatoriamente e insere um espaço entre elas</span>
Populator.<span class="me1">words</span><span class="br0">&#40;</span><span class="nu0">1</span>..<span class="nu0">3</span><span class="br0">&#41;</span> <span class="co1"># gera entre uma e três palavras aleatoriamente</span>
Populator.<span class="me1">sentences</span><span class="br0">&#40;</span><span class="nu0">3</span><span class="br0">&#41;</span> <span class="co1"># gera 3 frases</span>
Populator.<span class="me1">paragraphs</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="br0">&#41;</span> <span class="co1"># gera 2 paragrafos</span></code></pre>
<p>Mas dependendo to tamanho de nosso model, ficar digitando tudo isso pelo console acaba dando muito trabalho também. Vamos melhorar isso!</p>
<p>Crie um novo arquivo em <strong>lib/tasks/populate.rake</strong> e crie a seguinte tarefa:</p>
<pre class="rails"><code>namespace <span class="re3">:db</span> <span class="kw1">do</span>
  desc <span class="st0">&quot;Popula base de dados&quot;</span>
  task <span class="re3">:populate</span> =&gt; <span class="re3">:environment</span> <span class="kw1">do</span>
&nbsp;
    <span class="kw3">require</span> <span class="st0">'populator'</span>
&nbsp;
    Category.<span class="me1">populate</span> <span class="nu0">30</span> <span class="kw1">do</span> |category|
      category.<span class="me1">name</span> = Populator.<span class="me1">words</span><span class="br0">&#40;</span><span class="nu0">1</span>..<span class="nu0">3</span><span class="br0">&#41;</span>.<span class="me1">titleize</span>
    <span class="kw1">end</span>
&nbsp;
  <span class="kw1">end</span>
<span class="kw1">end</span></code></pre>
<p>Agora dentro do diretório da aplicação, basta rodar a tarefa:</p>
<pre><code> rake db:populate </code></pre>
<p>Bem melhor <img src='http://jlopes.zigotto.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Podemos melhorar ainda mais este processo e deixar ele mais completo utilizando a gem <a href="http://faker.rubyforge.org/" target="_blank">Faker</a> que gera dados como nome, telefone, endereço, e-mail e pode ser usada junto com a <a href="http://populator.rubyforge.org/" target="_blank">Populator</a>.</p>
<p>Vale a pena assistir a <a href="http://railscasts.com/episodes/126-populating-a-database" target="_blank">este</a> Railscast onde é demonstrado como utilizar as duas gems.</p>
<p>É isso ai! <img src='http://jlopes.zigotto.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://jlopes.zigotto.com.br/gems/populando-banco-de-dados-usando-a-gem-populator/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AnnotateModels</title>
		<link>http://jlopes.zigotto.com.br/gems/annotatemodels</link>
		<comments>http://jlopes.zigotto.com.br/gems/annotatemodels#comments</comments>
		<pubDate>Fri, 12 Jun 2009 14:55:01 +0000</pubDate>
		<dc:creator>Jésus Lopes</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[attributes]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://jlopes.zigotto.com.br/?p=3</guid>
		<description><![CDATA[Precisa saber de forma rápida quais atributos um determinado model tem?
A gem AnnotateModels facilita este trabalho, adicionando em forma de comentários dentro do model, todos os seus atributos.
Como usar:
Primeiro instale a gem. No terminal digite:
sudo gem install annotate
Em seguida, acesse o diretório da aplicação e execute:
annotate
Veja como ficou nosso model:
# == Schema Information
#
# Table name: [...]]]></description>
			<content:encoded><![CDATA[<p>Precisa saber de forma rápida quais atributos um determinado model tem?</p>
<p>A gem <a href="http://github.com/ctran/annotate_models/tree/master">AnnotateModels</a> facilita este trabalho, adicionando em forma de comentários dentro do model, todos os seus atributos.</p>
<h3>Como usar:</h3>
<p>Primeiro instale a gem. No terminal digite:</p>
<pre><code>sudo gem install annotate</code></pre>
<p>Em seguida, acesse o diretório da aplicação e execute:</p>
<pre><code>annotate</code></pre>
<p>Veja como ficou nosso model:</p>
<pre class="rails"><code><span class="co1"># == Schema Information</span>
<span class="co1">#</span>
<span class="co1"># Table name: categories</span>
<span class="co1">#</span>
<span class="co1"># id :integer(4) not null, primary key</span>
<span class="co1"># name :string(255)</span>
<span class="co1"># description :text</span>
<span class="co1"># created_at :datetime</span>
<span class="co1"># updated_at :datetime</span>
<span class="co1">#</span>
&nbsp;
<span class="kw1">class</span> Category &lt; <span class="re2">ActiveRecord::Base</span>
  <span class="kw5">validates_presence_of</span> <span class="re3">:name</span>
  <span class="kw5">validates_presence_of</span> <span class="re3">:description</span>
<span class="kw1">end</span></code></pre>
<p>Simples e bastante útil.</p>
]]></content:encoded>
			<wfw:commentRss>http://jlopes.zigotto.com.br/gems/annotatemodels/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

