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

<channel>
	<title>leonardofaria.net &#187; rubyonrails</title>
	<atom:link href="http://leonardofaria.net/tags/rubyonrails/feed/" rel="self" type="application/rss+xml" />
	<link>http://leonardofaria.net</link>
	<description>Esse é o laboratório de trabalhos, textos, experimentos e (algumas) bobagens de Leonardo Faria, Programador de Interfaces do interior de Minas. Leonardo desenvolve projetos com Ruby on Rails, PHP e Flash.</description>
	<pubDate>Sat, 24 Jul 2010 00:09:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>iPhone e Rails</title>
		<link>http://leonardofaria.net/2010/02/21/iphone-e-rails/</link>
		<comments>http://leonardofaria.net/2010/02/21/iphone-e-rails/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 23:36:13 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[desenvolvimento]]></category>

		<category><![CDATA[macintosh]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=927</guid>
		<description><![CDATA[O desenvolvimento de web apps para iPhone requer alguns cuidados especiais. Em nossas aplicações significa pensar em um layout para o gadget. Uma forma rápida de definir o layout para iPhone é através do código abaixo:  
Para quem quer conhecer o desenvolvimento de web apps para iPhone, vale conhecer os projetos jQTouch e iWebKit. [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2010/02/21/novo-micro-projeto-xavecator/' rel='bookmark' title='Permanent Link: Novo micro-projeto: XAVECATOR'>Novo micro-projeto: XAVECATOR</a></li><li><a href='http://leonardofaria.net/2007/08/19/5-dicas-para-trabalhar-com-rails/' rel='bookmark' title='Permanent Link: 5 dicas para trabalhar com Rails'>5 dicas para trabalhar com Rails</a></li><li><a href='http://leonardofaria.net/2010/05/07/guia-de-sobrevivencia-do-iphone/' rel='bookmark' title='Permanent Link: Guia de sobrevivência do iPhone'>Guia de sobrevivência do iPhone</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>O desenvolvimento de web apps para iPhone requer alguns cuidados especiais. Em nossas aplicações significa pensar em um layout para o gadget. Uma forma rápida de definir o layout para iPhone é através do código abaixo:  </p>
<p>Para quem quer conhecer o desenvolvimento de web apps para iPhone, vale conhecer os projetos <a href="http://www.jqtouch.com">jQTouch</a> e <a href="http://iwebkit.net/">iWebKit</a>. O jQTouch é um plugin do jQuery com uma série de recursos de animação semelhantes ao do aparelho e possui inclusive a funcionalidade de <a href="http://www.jqtouch.com/preview/demos/ext_location/">Geo Location</a>. Já o iWebKit é um framework que não depende de nenhuma biblioteca e que possui também bons recursos para montagem de interfaces.</p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2010/02/21/novo-micro-projeto-xavecator/' rel='bookmark' title='Permanent Link: Novo micro-projeto: XAVECATOR'>Novo micro-projeto: XAVECATOR</a></li><li><a href='http://leonardofaria.net/2007/08/19/5-dicas-para-trabalhar-com-rails/' rel='bookmark' title='Permanent Link: 5 dicas para trabalhar com Rails'>5 dicas para trabalhar com Rails</a></li><li><a href='http://leonardofaria.net/2010/05/07/guia-de-sobrevivencia-do-iphone/' rel='bookmark' title='Permanent Link: Guia de sobrevivência do iPhone'>Guia de sobrevivência do iPhone</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2010/02/21/iphone-e-rails/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Novo micro-projeto: XAVECATOR</title>
		<link>http://leonardofaria.net/2010/02/21/novo-micro-projeto-xavecator/</link>
		<comments>http://leonardofaria.net/2010/02/21/novo-micro-projeto-xavecator/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 23:14:47 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[desenvolvimento]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[empreendorismo]]></category>

		<category><![CDATA[portfolio]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=922</guid>
		<description><![CDATA[O nome até parece de app do Aurélio, ou de produtos das Organizações Tabajara, mas num fim-de-semana sem nada pra fazer, resolvi fazer um pet project para ver o Rails 3 funcionando e, para conhecer o jQTouch.

O XAVECATOR é para nerds pessoas cara-de-pau e/ou sem inspiração. Bem é verdade que tem coisa aí que digno [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/04/03/integracao-continua-no-autosimulado/' rel='bookmark' title='Permanent Link: Integração contínua no autosimulado'>Integração contínua no autosimulado</a></li><li><a href='http://leonardofaria.net/2009/03/14/nasceu-autosimulado/' rel='bookmark' title='Permanent Link: Nasceu: autosimulado'>Nasceu: autosimulado</a></li><li><a href='http://leonardofaria.net/2008/11/26/php-junto-com-o-passenger-no-leopard/' rel='bookmark' title='Permanent Link: PHP junto com o Passenger no Leopard'>PHP junto com o Passenger no Leopard</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>O nome até parece de <a href="http://www.coisinha.com.br/miguxeitor/">app</a> do <a href="http://aurelio.wordpress.com/">Aurélio</a>, ou de produtos das Organizações Tabajara, mas num fim-de-semana sem nada pra fazer, resolvi fazer um pet project para ver o Rails 3 funcionando e, para conhecer o <a href="http://jqtouch.com/">jQTouch</a>.</p>
<p><center><a href="http://xavecator.leonardofaria.net"><img src="http://leonardofaria.net/wp-content/uploads/2010/02/captura-de-tela-2010-02-21-as-200030.jpg" alt="xavecator" title="xavecator" width="500" class="foto" /></a></center></p>
<p>O <strong><a href="http://xavecator.leonardofaria.net">XAVECATOR</a></strong> é para <s>nerds</s> pessoas cara-de-pau e/ou sem inspiração. Bem é verdade que tem coisa aí que digno de <a href="http://www.youtube.com/watch?v=_-Fi9Sy52jI">beijo na boca ou tapa na cara</a>, mas tudo é conversado e entendido ;)</p>
<p>P.S. 1: ainda estou atualizando o &#8216;banco de dados&#8217;. Não está tudo pronto ainda.<br />
P.S. 2: se você tem um iPhone pode acessar o site nele onde precisar<br />
P.S. 3: você pode seguir o <a href="http://www.twitter.com/xavecator">XAVECATOR no Twitter</a></p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/04/03/integracao-continua-no-autosimulado/' rel='bookmark' title='Permanent Link: Integração contínua no autosimulado'>Integração contínua no autosimulado</a></li><li><a href='http://leonardofaria.net/2009/03/14/nasceu-autosimulado/' rel='bookmark' title='Permanent Link: Nasceu: autosimulado'>Nasceu: autosimulado</a></li><li><a href='http://leonardofaria.net/2008/11/26/php-junto-com-o-passenger-no-leopard/' rel='bookmark' title='Permanent Link: PHP junto com o Passenger no Leopard'>PHP junto com o Passenger no Leopard</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2010/02/21/novo-micro-projeto-xavecator/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Syntax Highlight on Rails</title>
		<link>http://leonardofaria.net/2009/12/02/syntax-highlight-on-rails/</link>
		<comments>http://leonardofaria.net/2009/12/02/syntax-highlight-on-rails/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 20:52:12 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[desenvolvimento]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[codestacker]]></category>

		<category><![CDATA[howto]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=903</guid>
		<description><![CDATA[Quer fazer um syntax highlight igual ao do codestacker abaixo, a la Textmate? É fácil:

Faça o download da biblioteca de expressões regulares Oniguruma. A versão mais recente é a 5.9.1. Compile-a: 

 ./configure &#038;&#038; make &#038;&#038; make install 

Após isso instale as gems Oniguruma, Textpow e Ultraviolet e instale o plugin tm_syntax_highlighting em seu projeto.
Em [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/01/27/apresentando-ruby-on-rails/' rel='bookmark' title='Permanent Link: Apresentando Ruby on Rails'>Apresentando Ruby on Rails</a></li><li><a href='http://leonardofaria.net/2008/05/24/rails-git-mysql-e-mod_rails-no-leopard/' rel='bookmark' title='Permanent Link: Rails, Git, MySQL e mod_rails no Leopard'>Rails, Git, MySQL e mod_rails no Leopard</a></li><li><a href='http://leonardofaria.net/2007/04/12/criando-rss-com-rails/' rel='bookmark' title='Permanent Link: Criando RSS com Rails'>Criando RSS com Rails</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Quer fazer um syntax highlight igual ao do codestacker abaixo, <i>a la Textmate</i>? É fácil:</p>
<p><script src='http://codestacker.com/207.js'></script></p>
<p>Faça o download da biblioteca de expressões regulares <a href="http://www.geocities.jp/kosako3/oniguruma/">Oniguruma</a>. A versão mais recente é a <a href="http://www.geocities.jp/kosako3/oniguruma/archive/onig-5.9.1.tar.gz">5.9.1</a>. Compile-a: </p>
<div class="syntax_hilite">
<pre class="bash"><code> ./configure &#038;&#038; make &#038;&#038; make install </code></pre>
</div>
<p>Após isso instale as gems Oniguruma, Textpow e Ultraviolet e instale o plugin <a href="http://github.com/arya/tm_syntax_highlighting">tm_syntax_highlighting</a> em seu projeto.</p>
<p>Em suas views, utilize:</p>
<div class="syntax_hilite">
<pre class="ruby"><code> code(some_ruby_code, :theme => "twilight", :lang => "ruby", :line_numbers => true) </code></pre>
</div>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/01/27/apresentando-ruby-on-rails/' rel='bookmark' title='Permanent Link: Apresentando Ruby on Rails'>Apresentando Ruby on Rails</a></li><li><a href='http://leonardofaria.net/2008/05/24/rails-git-mysql-e-mod_rails-no-leopard/' rel='bookmark' title='Permanent Link: Rails, Git, MySQL e mod_rails no Leopard'>Rails, Git, MySQL e mod_rails no Leopard</a></li><li><a href='http://leonardofaria.net/2007/04/12/criando-rss-com-rails/' rel='bookmark' title='Permanent Link: Criando RSS com Rails'>Criando RSS com Rails</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/12/02/syntax-highlight-on-rails/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Internacionalização em labels</title>
		<link>http://leonardofaria.net/2009/11/22/internacionalizacao-em-labels/</link>
		<comments>http://leonardofaria.net/2009/11/22/internacionalizacao-em-labels/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 19:49:16 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[desenvolvimento]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=892</guid>
		<description><![CDATA[Desenvolvendo uma aplicação onde apliquei os recurso de internacionalização do Rails, percebi que o framework não traduz os valores dos labels para a tradução do atributo.
Para corrigir isso, existem duas formas: um plugin chamado i18n_label ou uma gambiarra um recurso técnico avançado adaptado a condições tecnológicas precárias em um determinado momento:

Cole o código acima em [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/05/06/manipulando-datas-no-rails/' rel='bookmark' title='Permanent Link: Manipulando datas no Rails'>Manipulando datas no Rails</a></li><li><a href='http://leonardofaria.net/2008/08/02/mudancas-no-rails-22/' rel='bookmark' title='Permanent Link: Mudanças no Rails 2.2'>Mudanças no Rails 2.2</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Desenvolvendo uma aplicação onde apliquei os recurso de internacionalização do Rails, percebi que o framework <a href="https://rails.lighthouseapp.com/projects/8994/tickets/745-form-label-should-use-i18n">não traduz os valores dos labels</a> para a tradução do atributo.</p>
<p>Para corrigir isso, existem duas formas: um plugin chamado <a href="http://github.com/iain/i18n_label">i18n_label</a> ou <s>uma gambiarra</s> um recurso técnico avançado adaptado a condições tecnológicas precárias em um determinado momento:</p>
<p><script src='http://codestacker.com/206.js'></script></p>
<p>Cole o código acima em um arquivo da pasta &#8216;lib&#8217;, por exemplo e o inclua com <code>require</code> no environment.rb.</p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/05/06/manipulando-datas-no-rails/' rel='bookmark' title='Permanent Link: Manipulando datas no Rails'>Manipulando datas no Rails</a></li><li><a href='http://leonardofaria.net/2008/08/02/mudancas-no-rails-22/' rel='bookmark' title='Permanent Link: Mudanças no Rails 2.2'>Mudanças no Rails 2.2</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/11/22/internacionalizacao-em-labels/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rails e cia no Snow Leopard</title>
		<link>http://leonardofaria.net/2009/11/14/rails-e-cia-no-snow-leopard/</link>
		<comments>http://leonardofaria.net/2009/11/14/rails-e-cia-no-snow-leopard/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 20:00:24 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[desenvolvimento]]></category>

		<category><![CDATA[macintosh]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[howto]]></category>

		<category><![CDATA[mac]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[passenger]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=878</guid>
		<description><![CDATA[Fiz uma instalação nova do Snow Leopard no meu MacBook e ao migrar os dados do Time Machine, do Leopard, algumas coisas pararam de funcionar. Resolvi então escrever para complementar meu post anterior sobre o assunto.
Xcode
ANTES DE MAIS NADA, instalei o Xcode. Ele está junto no DVD do Snow Leopard, na pasta de Instalações Opcionais.
Rails
O [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/05/24/rails-git-mysql-e-mod_rails-no-leopard/' rel='bookmark' title='Permanent Link: Rails, Git, MySQL e mod_rails no Leopard'>Rails, Git, MySQL e mod_rails no Leopard</a></li><li><a href='http://leonardofaria.net/2008/08/02/mudancas-no-rails-22/' rel='bookmark' title='Permanent Link: Mudanças no Rails 2.2'>Mudanças no Rails 2.2</a></li><li><a href='http://leonardofaria.net/2008/06/28/passenger-no-painel-de-preferencias-do-leopard/' rel='bookmark' title='Permanent Link: Passenger no painel de preferências do Leopard'>Passenger no painel de preferências do Leopard</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Fiz uma instalação nova do Snow Leopard no meu MacBook e ao migrar os dados do Time Machine, do Leopard, algumas coisas pararam de funcionar. Resolvi então escrever para complementar meu <a href="http://leonardofaria.net/2008/05/24/rails-git-mysql-e-mod_rails-no-leopard/">post anterior sobre o assunto</a>.</p>
<h3>Xcode</h3>
<p><strong>ANTES DE MAIS NADA</strong>, instalei o Xcode. Ele está junto no DVD do Snow Leopard, na pasta de Instalações Opcionais.</p>
<h3>Rails</h3>
<p>O Snow Leopard já vem com duas versões do Rails já instaladas: 2.2.2 e 1.13.6. Caso queira atualizar seu ambiente:<br />
<span id="more-878"></span>
<div class="syntax_hilite">
<pre class="bash"><code>sudo gem update --system
sudo gem update rails
</code></pre>
</div>
<h3>Passenger</h3>
<div class="syntax_hilite">
<pre class="bash"><code>sudo gem install passenger
sudo passenger-install-apache2-module </code></pre>
</div>
<p>Terminada a instalação, do Passenger, você precisa editar o arquivo <code>/etc/apache2/httpd.conf</code> e acrescentar o seguinte conteúdo:</p>
<div class="syntax_hilite">
<pre class="bash"><code>LoadModule passenger_module /Library/Ruby/Gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so
PassengerRoot /Library/Ruby/Gems/1.8/gems/passenger-2.2.5
PassengerRuby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
</code></pre>
</div>
<p>A configuração dos sites também pode ser feita nesse arquivo, por exemplo:</p>
<div class="syntax_hilite">
<pre class="bash"><code>&lt;VirtualHost *:80&gt;
  ServerName codestacker
  DocumentRoot "/Users/leonardofaria/Sites/codestacker/public"
&lt;/VirtualHost&gt;
</code></pre>
</div>
<h3>MySQL</h3>
<p>A instalação do gem do MySQL pode ser feita da mesma forma que <a href="http://leonardofaria.net/2008/08/02/mudancas-no-rails-22/">postei anteriormente</a>: basta <a href="http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg">instalar o pacote do site</a> e executar a instalação da gem com o comando:</p>
<div class="syntax_hilite">
<pre class="bash"><code>sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
</code></pre>
</div>
<h3>ImageMagick &#038; rmagick</h3>
<p>Fiz a instalação do ImageMagick com o <a href="http://github.com/chdorner/magick-installer/blob/master/magick-installer.sh">script do chdorner</a>:</p>
<div class="syntax_hilite">
<pre class="bash"><code>#!/bin/sh
curl -O http://nongnu.askapache.com/freetype/freetype-2.3.9.tar.gz
tar xzvf freetype-2.3.9.tar.gz
cd freetype-2.3.9
./configure --prefix=/usr/local
make
sudo make install
cd ..

curl -O http://surfnet.dl.sourceforge.net/project/libpng/00-libpng-stable/1.2.39/libpng-1.2.39.tar.gz
tar xzvf libpng-1.2.39.tar.gz
cd libpng-1.2.39
./configure --prefix=/usr/local
make
sudo make install
cd ..

curl -O http://www.ijg.org/files/jpegsrc.v7.tar.gz
tar xzvf jpegsrc.v7.tar.gz
cd jpeg-7
ln -s `which glibtool` ./libtool
export MACOSX_DEPLOYMENT_TARGET=10.5
./configure --enable-shared --prefix=/usr/local
make
sudo make install
cd ..

curl -O ftp://ftp.remotesensing.org/libtiff/tiff-3.8.2.tar.gz
tar xzvf tiff-3.8.2.tar.gz
cd tiff-3.8.2
./configure --prefix=/usr/local
make
sudo make install
cd ..

curl -O http://voxel.dl.sourceforge.net/project/wvware/libwmf/0.2.8.4/libwmf-0.2.8.4.tar.gz
tar xzvf libwmf-0.2.8.4.tar.gz
cd libwmf-0.2.8.4
make clean
./configure
make
sudo make install
cd ..

curl -O http://www.littlecms.com/lcms-1.17.tar.gz
tar xzvf lcms-1.17.tar.gz
cd lcms-1.17
make clean
./configure
make
sudo make install
cd ..

curl -O http://voxel.dl.sourceforge.net/project/ghostscript/GPL%20Ghostscript/8.70/ghostscript-8.70.tar.gz
tar zxvf ghostscript-8.70.tar.gz
cd ghostscript-8.70/
./configure  --prefix=/usr/local
make
sudo make install
cd ..

curl -O http://voxel.dl.sourceforge.net/project/gs-fonts/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/ghostscript-fonts-std-8.11.tar.gz
tar zxvf ghostscript-fonts-std-8.11.tar.gz
sudo mv fonts /usr/local/share/ghostscript

curl -O http://image_magick.veidrodis.com/image_magick/ImageMagick-6.4.8-7.tar.gz
tar xzvf ImageMagick-6.4.8-7.tar.gz
cd ImageMagick-6.4.8-7
export CPPFLAGS=-I/usr/local/include
export LDFLAGS=-L/usr/local/lib
./configure --prefix=/usr/local --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --with-gs-font-dir=/usr/local/share/ghostscript/fonts
make
sudo make install
cd ..
</code></pre>
</div>
<p>A instalação do gem rmagick é como todas as outras instalações de gem:</p>
<div class="syntax_hilite">
<pre class="bash"><code>sudo gem install rmagick
</code></pre>
</div>
<h3>E o resto?</h3>
<p>O resto é <a href="http://leonardofaria.net/2008/05/24/rails-git-mysql-e-mod_rails-no-leopard/">como na instalação do Leopard</a>.</p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/05/24/rails-git-mysql-e-mod_rails-no-leopard/' rel='bookmark' title='Permanent Link: Rails, Git, MySQL e mod_rails no Leopard'>Rails, Git, MySQL e mod_rails no Leopard</a></li><li><a href='http://leonardofaria.net/2008/08/02/mudancas-no-rails-22/' rel='bookmark' title='Permanent Link: Mudanças no Rails 2.2'>Mudanças no Rails 2.2</a></li><li><a href='http://leonardofaria.net/2008/06/28/passenger-no-painel-de-preferencias-do-leopard/' rel='bookmark' title='Permanent Link: Passenger no painel de preferências do Leopard'>Passenger no painel de preferências do Leopard</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/11/14/rails-e-cia-no-snow-leopard/feed/</wfw:commentRss>
		</item>
		<item>
		<title>O que é Ruby on Rails?</title>
		<link>http://leonardofaria.net/2009/11/09/o-que-e-ruby-on-rails/</link>
		<comments>http://leonardofaria.net/2009/11/09/o-que-e-ruby-on-rails/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 21:10:15 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[desenvolvimento]]></category>

		<category><![CDATA[faculdade]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[acadêmico]]></category>

		<category><![CDATA[autosimulado]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=846</guid>
		<description><![CDATA[A essa altura do campeonato todo mundo já deve saber o que vem a ser o framework Ruby on Rails. Minha monografia e meu trabalho de conclusão de curso da Faculdade foram sobre o autosimulado. Na monografia fiz uma introdução sobre as características do framework, reproduzido abaixo:
Ruby on Rails
O framework Ruby on Rails foi extraído [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/03/11/ruby-on-rails-on-mac-os-x/' rel='bookmark' title='Permanent Link: Ruby on Rails on Mac OS X'>Ruby on Rails on Mac OS X</a></li><li><a href='http://leonardofaria.net/2009/11/09/o-que-e-ruby/' rel='bookmark' title='Permanent Link: O que é Ruby?'>O que é Ruby?</a></li><li><a href='http://leonardofaria.net/2008/09/10/edge-rails-no-windows-vista/' rel='bookmark' title='Permanent Link: Edge Rails no Windows Vista'>Edge Rails no Windows Vista</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>A essa altura do campeonato todo mundo já deve saber o que vem a ser o framework Ruby on Rails. Minha monografia e meu trabalho de conclusão de curso da Faculdade foram sobre o <a href="http://www.autosimulado.com.br"><strong>autosimulado</strong></a>. Na monografia fiz uma introdução sobre as características do framework, reproduzido abaixo:</p>
<h2>Ruby on Rails</h2>
<p>O framework Ruby on Rails foi extraído de um sistema para gerenciamento de projetos chamado Basecamp. A primeira versão do framework foi oficialmente lançada em 25 de Julho de 2004 e seu desenvolvimento conta com colaboradores em todo o mundo liderados pelo programador dinamarquês David Heinemeier Hansson. </p>
<h3>MVC</h3>
<p>Um padrão de projeto descreve e provê uma solução para um problema freqüente, sendo genérico e reusável. São criados a partir de problemas de problemas comuns enfrentados no desenvolvimento de projetos de software.<br />
A criação de componentes reutilizáveis é uma das técnicas mais exploradas em Engenharia de Software. O uso de componentes diminui o tempo de desenvolvimento e a taxa de erros de codificação. Um padrão pode ser entendido como a abstração de detalhes sobre a implementação de um software.</p>
<p><center><img src="http://leonardofaria.net/wp-content/uploads/2009/11/imagem20.jpg" alt="MVC" title="MVC" class="foto" /></center><br />
<span id="more-846"></span><br />
O padrão de projeto MVC divide o desenvolvimento de um aplicativo em três camadas: View (Visão), Controller (Controle) e Model (Modelo). A separação das camadas permite o aumento da flexibilidade e reuso do código. Sem essa separação, as funcionalidades podem ficar mescladas, o que acarreta um maior esforço para eventuais manutenções, pois as responsabilidades podem ser difundidas entre as camadas.<br />
A camada Modelo representa o estado da aplicação. É responsável por fazer a interação da aplicação com a fonte de dados, muito freqüentemente um banco de dados. Quando existe a necessidade de se guardar o estado da aplicação, é através dessa camada que as informações manipuladas pelo sistema podem ser armazenadas na base de dados. É na camada Modelo que são incorporadas as regras de negócio de um aplicativo.<br />
A camada Controle é responsável por receber os dados do usuário e definir o fluxo da aplicação, invocando alterações dos dados da camada Modelo.<br />
A camada Visão é responsável por apresentar a aplicação ao usuário. Nas aplicações Web, essa camada é construída com HTML, CSS e Javascript. </p>
<h3>Recursos e características</h3>
<p>DRY - Don’t Repeat Yourself, em português, Não Se Repita é um conceito intrínseco do Ruby on Rails. Não é preciso copiar trechos de código por todo aplicativo. Para reaproveitamento de código, o desenvolvedor conta com os métodos helpers e com as partials, arquivos que podem ser incluídos no seu aplicativo reduzindo redundâncias.<br />
Helpers são uma importante funcionalidade do framework. Um helper é um módulo que contém funções para auxiliar a camada View do aplicativo, retirando lógicas complexas do código da apresentação. Ruby on Rails conta com helpers para diversas funções, incluindo formatação de datas, moedas, números, formulários HTML, Javascript, entre outros. Alguns exemplos da aplicação de helpers:</p>
<div class="syntax_hilite">
<div id="ruby-2">
<div class="ruby">&lt;%= distance_of_time_in_words<span class="br0">&#40;</span>Time.<span class="me1">now</span>, Time.<span class="me1">now</span> + <span class="nu0">33</span>, <span class="kw2">false</span><span class="br0">&#41;</span> %&gt; <br />&nbsp; &nbsp; &nbsp;<span class="nu0">1</span> minute</p>
<p>&lt;%= human_size<span class="br0">&#40;</span><span class="nu0">123</span>_456<span class="br0">&#41;</span> %&gt; <br />&nbsp; &nbsp; &nbsp;<span class="nu0">120</span>.<span class="nu0">6</span> KB</p>
<p>&lt;%= number_to_currency<span class="br0">&#40;</span><span class="nu0">234</span>.<span class="nu0">56</span>, :unit =&gt; <span class="st0">"R$ "</span>, :precision =&gt; <span class="nu0">2</span><span class="br0">&#41;</span> %&gt; <br />&nbsp; &nbsp; &nbsp;R$ <span class="nu0">235</span>.<span class="nu0">56</span> </p>
<p>&lt;%= number_to_percentage<span class="br0">&#40;</span><span class="nu0">33</span>.<span class="nu0">66666</span><span class="br0">&#41;</span> %&gt; <br />&nbsp; &nbsp; &nbsp;<span class="nu0">33</span>.<span class="nu0">667</span>% </p>
<p>&lt;%= number_to_phone<span class="br0">&#40;</span><span class="nu0">2125551212</span>, :area_code =&gt; <span class="kw2">true</span>, :delimiter =&gt; <span class="st0">" "</span><span class="br0">&#41;</span> %&gt;<br />&nbsp; &nbsp; &nbsp;<span class="br0">&#40;</span><span class="nu0">212</span><span class="br0">&#41;</span> <span class="nu0">555</span> <span class="nu0">1212</span></p>
<p>&lt;%= truncate<span class="br0">&#40;</span>@text, <span class="nu0">9</span><span class="br0">&#41;</span> %&gt; <br />&nbsp; &nbsp; &nbsp; Hello wor... </p>
<p>&lt;%= pluralize<span class="br0">&#40;</span><span class="nu0">1</span>, <span class="st0">"person"</span><span class="br0">&#41;</span> %&gt; <span class="kw1">and</span> &lt;%= pluralize<span class="br0">&#40;</span><span class="nu0">2</span>, <span class="st0">"person"</span><span class="br0">&#41;</span> %&gt; <br />&nbsp; &nbsp; &nbsp;<span class="nu0">1</span> person <span class="kw1">and</span> <span class="nu0">2</span> people</div>
</div>
</div>
<p></p>
<p>Além dos helpers, existem ainda os plugins, pequenas bibliotecas que adicionam novas funcionalidades ao framework sem que haja necessidade da alteração do seu núcleo e que permitem ser reaproveitados em diferentes projetos.<br />
O framework Ruby on Rails possui suporte aos mais comuns banco de dados do mercado, como IBM DB2, Microsoft SQL Server, Oracle OCL8, PostgreSQL, MySQL e SQLite. Para definir qual banco utilizar, é necessário apenas especificar os dados de conexão em um único arquivo.<br />
Outra característica interessante são os perfis de execução do aplicativo: desenvolvimento, produção e teste. No perfil desenvolvimento, o programador encontra mensagens de log detalhadas para cada requisição no aplicativo. Além disso, erros são apresentados com mensagens claras das inconsistências. O modo teste é utilizado para testes funcionais do aplicativo e produção é o modo utilizado para quando o aplicativo estiver pronto e estável. Para cada um desses perfis é possível utilizar um banco de dados diferente, evitando conflitos entre dados de testes, desenvolvimento e produção.<br />
Além disso, o framework já foi criado com suporte integrado a duas bibliotecas Javascript bastante conhecidas: Prototype, que manipula as interações dos objetos do documento, e Script.aculo.us, responsável por criação de efeitos visuais com Javascript.</p>
<p><center><img src="http://leonardofaria.net/wp-content/uploads/2009/11/imagem21.jpg" alt="Ciclo de requisições" title="Ciclo de requisições" class="foto" /></center></p>
<p>A figura acima exemplifica o ciclo de requisições no Ruby on Rails. Ao fazer uma requisição de uma página, o navegador faz uma chamada ao servidor - normalmente Apache - que é encaminhada para o dispatcher. O dispatcher é o responsável por transformar a URL do browser em uma URL que é entendida pelo framework. Em seguida, o Action Controller é invocado para decidir o que fazer com a requisição. Caso seja necessária alguma interação com o banco de dados, o Active Record entra em ação. Também é possível que o Action Mailer seja invocado, caso seja necessário enviar algum email e a resposta da requisição é processada pelo Action View.<br />
Ruby on Rails é composto por 5 módulos independentes:
<ul>
<li>O módulo Active Record conecta objetos de negócio com tabelas do banco de dados para criar um modelo de domínio onde lógica e dados se encontram presentes em conjunto. Trata-se portanto de uma implementação de um padrão de mapeamento objeto-relacional (ORM), baseado em convenções. Por exemplo, para uma classe Book espera-se a existência de uma tabela Books. Cada linha dessa tabela corresponde a um objeto da classe Book. Atributos da classe representarão as colunas da tabela Books, com os mesmos nomes, por padrão.</li>
<li>O módulo Action Pack compreende o Action Controller e o Action View. O Action Controller coordena a interação entre o usuário, as visões e o modelo. Ele é responsável por rotear URLs para ações internas dos controllers, gerenciando URLs de fácil leitura para as pessoas; por responder o usuário exibindo uma view ou um arquivo qualquer e por gerenciar cookies e sessões. Já o Action View é responsável por compor toda a funcionalidade necessária para renderizar views, mais comumente gerando código HTML e XML para o usuário.</li>
<li>O módulo Action Support agrupa várias classes úteis e extensões de bibliotecas padrão, que foram consideradas relevantes para aplicações com Ruby on Rails.</li>
<li>O módulo Action Mailer é um framework poderoso para serviços de entrega e recebimento de emails.</li>
<li>O módulo Action WebServices provê uma maneira de criar APIs inter-operáveis com Rails. Na versão 2.0 do framework esse módulo foi retirado, devido a implementação do modelo Rest no Rails. </li>
</ul>
<h3>Estrutura de um aplicativo Ruby on Rails</h3>
<p><center><img src="http://leonardofaria.net/wp-content/uploads/2009/11/imagem24.jpg" class="foto" /></center></p>
<p>A estrutura de um projeto Rails compreende a criação dos diretórios especificados na acima.
<ul>
<li>A pasta “app” possui subdiretórios que armazenam controllers, helpers, models e views. </li>
<li>A pasta “config” abriga diversos arquivos de configuração, incluindo o responsável por determinar qual o banco de dados será utilizado. </li>
<li>A pasta “db” possui as migrations. Migrations são um recurso do Rails onde o desenvolvedor escreve arquivos Ruby em uma DSL exclusiva para manipular o banco de dados. Desse modo, é possível criar tabelas, campos e modificar a estrutura de banco de dados sem precisar escrever uma linha de SQL ou utilizar outro aplicativo.</li>
<li>A pasta “lib” é usada para que o desenvolvedor salve nesse local suas bibliotecas externas do projeto.</li>
<li>A pasta “log” é utilizada para salvar os logs gerados em tempo de execução do aplicativo. As ações executadas no aplicativos são salvas nos arquivos de log dessa pasta.</li>
<li>A pasta “public” é usada para armazenar as imagens, folhas de estilo e documentos Javascript do aplicativo.</li>
<li>A pasta “script” possui scripts usados para auxiliar o desenvolvedor. Com esses scripts, o programador pode gerar novos controllers e models pela linha de comando. Além disso, essa pasta possui um programa server, que é um servidor web para desenvolvimento.</li>
<li>A pasta “test” possui arquivos para realização de testes unitários, funcionais e de integração. </li>
<li>A pasta “vendor” é usada para armazenar os plugins do projeto e em alguns casos, armazenar o próprio framework.</li>
</ul>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/03/11/ruby-on-rails-on-mac-os-x/' rel='bookmark' title='Permanent Link: Ruby on Rails on Mac OS X'>Ruby on Rails on Mac OS X</a></li><li><a href='http://leonardofaria.net/2009/11/09/o-que-e-ruby/' rel='bookmark' title='Permanent Link: O que é Ruby?'>O que é Ruby?</a></li><li><a href='http://leonardofaria.net/2008/09/10/edge-rails-no-windows-vista/' rel='bookmark' title='Permanent Link: Edge Rails no Windows Vista'>Edge Rails no Windows Vista</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/11/09/o-que-e-ruby-on-rails/feed/</wfw:commentRss>
		</item>
		<item>
		<title>O que é Ruby?</title>
		<link>http://leonardofaria.net/2009/11/09/o-que-e-ruby/</link>
		<comments>http://leonardofaria.net/2009/11/09/o-que-e-ruby/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 21:09:50 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[desenvolvimento]]></category>

		<category><![CDATA[faculdade]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[acadêmico]]></category>

		<category><![CDATA[autosimulado]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=836</guid>
		<description><![CDATA[A essa altura do campeonato todo mundo já deve saber o que vem a ser a linguagem Ruby. Minha monografia e meu trabalho de conclusão de curso da Faculdade foram sobre o autosimulado. Na monografia fiz uma introdução sobre as características da linguagem Ruby, reproduzido abaixo:
Ruby
A linguagem Ruby foi criada em 1993 pelo japonês Yukihiro [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/06/28/curiosidade-ruby-do-dia/' rel='bookmark' title='Permanent Link: Curiosidade Ruby do dia'>Curiosidade Ruby do dia</a></li><li><a href='http://leonardofaria.net/2009/11/09/o-que-e-ruby-on-rails/' rel='bookmark' title='Permanent Link: O que é Ruby on Rails?'>O que é Ruby on Rails?</a></li><li><a href='http://leonardofaria.net/2009/07/01/curiosidade-ruby-do-dia-2/' rel='bookmark' title='Permanent Link: Curiosidade Ruby do dia #2'>Curiosidade Ruby do dia #2</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>A essa altura do campeonato todo mundo já deve saber o que vem a ser a linguagem Ruby. Minha monografia e meu trabalho de conclusão de curso da Faculdade foram sobre o <a href="http://www.autosimulado.com.br"><strong>autosimulado</strong></a>. Na monografia fiz uma introdução sobre as características da linguagem Ruby, reproduzido abaixo:</p>
<h2>Ruby</h2>
<p>A linguagem Ruby foi criada em 1993 pelo japonês Yukihiro “Matz” Matsumoto, com sua primeira versão pública lançada em 1995. Para Matz, o primeiro desejo é de Ruby tornar os programadores felizes, reduzindo o trabalho manual que precisasse ser feito. Segundo ele, o desenvolvimento de sistemas deveria enfatizar as necessidades do homem e não da máquina:</p>
<blockquote><p>Muitas pessoas, especialmente engenheiros de computação, focam nas máquinas. Eles pensam, “Fazendo isso, a máquina será mais rápida. Fazendo isso, a máquina será mais eficiente. Fazendo isso, a máquina irá fazer determinada coisa melhor”. Eles estão focando nas máquinas. Mas de fato nós precisamos focar nos humanos, em como os humanos lidam com programação ou operação das aplicações das máquinas. Nós somos os mestres. Elas são as escravas. (VENNERS, 2003).
</p></blockquote>
<p>Ruby é uma linguagem orientada a objetos, ou seja, qualquer variável é um objeto, mesmo classes e tipos que em muitas linguagens são designadas como primitivos. Por exemplo: </p>
<div class="syntax_hilite">
<div id="ruby-9">
<div class="ruby">putz <span class="st0">"meu exemplo"</span>.<span class="me1">upcase</span> <span class="co1"># imprimirá MEU EXEMPLO </span></div>
</div>
</div>
<p>
<span id="more-836"></span><br />
Acima, aplica-se o método upcase da classe String no objeto “meu exemplo”. Ruby é extensível: um objeto pode receber melhorias e novos métodos em tempo de execução. </p>
<div class="syntax_hilite">
<div id="ruby-10">
<div class="ruby"><span class="kw1">class</span> Fixnum <br />&nbsp; <span class="kw1">def</span> +<span class="br0">&#40;</span>numero<span class="br0">&#41;</span> <br />&nbsp; &nbsp; <span class="nu0">10</span> <br />&nbsp; <span class="kw1">end</span><br /><span class="kw1">end</span></div>
</div>
</div>
<p>
No exemplo anterior, o método +() da classe Fixnum foi sobrescrito e retornará sempre 10. A linguagem apresenta tipagem dinâmica, conforme no exemplo abaixo:
<div class="syntax_hilite">
<div id="ruby-11">
<div class="ruby">=&gt; <span class="st0">"meu exemplo"</span><br />&gt;&gt; minhavariavel.<span class="kw1">class</span><br />=&gt; <span class="kw3">String</span><br />&gt;&gt; minhavariavel = <span class="nu0">4</span> * <span class="nu0">4</span><br />=&gt; <span class="nu0">16</span><br />&gt;&gt; minhavariavel.<span class="kw1">class</span><br />=&gt; Fixnum<br />&gt;&gt; minhavariavel = <span class="nu0">1000000</span> * <span class="nu0">1000000</span><br />=&gt; <span class="nu0">1000000000000</span><br />&gt;&gt; minhavariavel.<span class="kw1">class</span><br />=&gt; Bignum</div>
</div>
</div>
<p>
No exemplo acima, ela recebeu alterações em sua tipagem em tempo de execução. São tipos de variáveis em Ruby:
<ul>
<li>Fixnum: inteiros com até o tamanho da palavra binária do processador menos 1 bit. Exemplos: 1, 81, 6589, 100;</li>
<li>Bignum: inteiros maiores que Fixnum. Exemplo: 1234567890;</li>
<li>Float: números decimais. Exemplos: 1.41, 1.0;</li>
<li>String: corresponde a uma cadeia de caracteres. Exemplo: “teste”;</li>
<li>Range: representa intervalos entre valores. Exemplos: 1..10 e a..z;</li>
<li>Expressão regular: representa uma expressão regular. Exemplos: /a/ ou /^s*[a-z]/.</li>
</ul>
<p>Ruby é uma linguagem simples e elegante: nela não é obrigatório o uso de parênteses, colchetes e chaves e além disso a sintaxe da linguagem é humana e intuitiva, refletindo o minimalismo descrito por Matz. Em um comparativo entre as sintaxes das linguagens Java e Ruby:<br />
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td width="49%" style="padding-right: 5px">
<div class="syntax_hilite">
<div id="java-12">
<div class="java"><span class="co1">// java</span><br />l = list.<span class="me1">get</span><span class="br0">&#40;</span>list.<span class="me1">size</span><span class="br0">&#40;</span><span class="br0">&#41;</span> - <span class="nu0">1</span><span class="br0">&#41;</span>;<br />l = list.<span class="me1">get</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>;</p>
<p><span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i=<span class="nu0">0</span>; i&amp;lt;<span class="nu0">10</span>; i++<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />&nbsp; &nbsp; <a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&amp;bntl=1"><span class="kw3">System</span></a>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span>i + <span class="st0">"times"</span><span class="br0">&#41;</span>;<br /><span class="br0">&#125;</span></div>
</div>
</div>
<p></td>
<td>
<div class="syntax_hilite">
<div id="ruby-13">
<div class="ruby"><span class="co1"># ruby</span><br />l = list.<span class="me1">last</span><br />l = list.<span class="me1">first</span></p>
<p><span class="nu0">10</span>.<span class="me1">times</span> <span class="kw1">do</span> |i|<br />&nbsp; &nbsp; <span class="kw3">puts</span> <span class="st0">"#{i} times"</span><br /><span class="kw1">end</span></div>
</div>
</div>
<p>
</td>
</tr>
</table>
<p>No Ruby, também é possível criar DSLs - linguagens específicas de domínio - uma espécie de sub-linguagem onde o programador pode criar a sintaxe a sua necessidade. Desse modo, um algoritmo que fizesse uma receita de bolo poderia ser programado da seguinte forma:
<div class="syntax_hilite">
<div id="ruby-14">
<div class="ruby">receita <span class="st0">"Bola de Fubá"</span> <span class="kw1">do</span> <br />&nbsp; &nbsp; ingrediente <span class="st0">"Farinha"</span>, <span class="st0">"1 quilo"</span> <br />&nbsp; &nbsp; ingrediente <span class="st0">"Açúcar"</span>, <span class="st0">"200 gramas"</span> <br />&nbsp; &nbsp; ingrediente <span class="st0">"Ovos"</span>, <span class="st0">"2 unidades"</span> <br />&nbsp; &nbsp; preparo <span class="st0">"Misture todos ingredientes"</span> <br />&nbsp; &nbsp; preparo <span class="st0">"Leve ao forno"</span> <br />&nbsp; &nbsp; preparo <span class="st0">"Sirva"</span> <br />&nbsp; &nbsp; tempo <span class="st0">"2 horas"</span> <br />&nbsp; &nbsp; porcoes <span class="nu0">3</span> <br /><span class="kw1">end</span></div>
</div>
</div>
<p></p>
<p>Além disso, Ruby é portável e livre. É possível executar Ruby em ambientes Windows e Unix e não é preciso pagar para usá-lo, copiá-lo, modificá-lo ou distribuí-lo. </p>
<h3>Frameworks Ruby</h3>
<p>Desenvolvedores de software constantemente se deparam com situações em que os problemas começam a se repetir em diversas partes do sistema. Para resolvê-los, rotinas são criadas e replicadas por todo o sistema, o que pode tornar o código facilmente suscetível a erros e demasiadamente replicado.</p>
<p>Os frameworks são soluções semi-prontas, para agilizar e tornar mais rápido o desenvolvimento de projetos. Eles seguem padrões de projeto bem definidos, que permitem que suas soluções sejam reutilizadas para problemas que outros desenvolvedores já enfrentaram. Dessa forma, os frameworks tornam-se recursos altamente confiáveis.</p>
<p>A linguagem Ruby possui vários frameworks web: Merb, Ruby on Rails, Sinatra. A adoção do Ruby on Rails deu-se a sua riqueza de funcionalidades e ampla documentação.</p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/06/28/curiosidade-ruby-do-dia/' rel='bookmark' title='Permanent Link: Curiosidade Ruby do dia'>Curiosidade Ruby do dia</a></li><li><a href='http://leonardofaria.net/2009/11/09/o-que-e-ruby-on-rails/' rel='bookmark' title='Permanent Link: O que é Ruby on Rails?'>O que é Ruby on Rails?</a></li><li><a href='http://leonardofaria.net/2009/07/01/curiosidade-ruby-do-dia-2/' rel='bookmark' title='Permanent Link: Curiosidade Ruby do dia #2'>Curiosidade Ruby do dia #2</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/11/09/o-que-e-ruby/feed/</wfw:commentRss>
		</item>
		<item>
		<title>O ecossistema Rails</title>
		<link>http://leonardofaria.net/2009/10/15/o-ecossistema-rails/</link>
		<comments>http://leonardofaria.net/2009/10/15/o-ecossistema-rails/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 23:32:07 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[opiniao]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=805</guid>
		<description><![CDATA[Escrevo esse artigo dentro do meu voo de São Paulo para Belo Horizonte. Passei 4 dias em São Paulo, participei do Rails Summit, bloguei ao vivo um resumo das palestras e vou expor meus comentários sobre o ecossistema Rails - ou se preferir, o gueto Rails.
Trilhos da oportunidade
Conheci durante o evento vários pessoas que só [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/08/10/ruby-on-rails-na-webmobile/' rel='bookmark' title='Permanent Link: Ruby on Rails na WebMobile'>Ruby on Rails na WebMobile</a></li><li><a href='http://leonardofaria.net/2009/04/11/para-aprender-ruby-on-rails/' rel='bookmark' title='Permanent Link: Para aprender Ruby on Rails'>Para aprender Ruby on Rails</a></li><li><a href='http://leonardofaria.net/2007/12/16/locomotive-com-rails-20/' rel='bookmark' title='Permanent Link: Locomotive com Rails 2.0'>Locomotive com Rails 2.0</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Escrevo esse artigo dentro do meu voo de São Paulo para Belo Horizonte. Passei 4 dias em São Paulo, participei do Rails Summit, bloguei ao vivo um <a href="http://leonardofaria.net/2009/10/14/rails-summit-resumo-do-segundo-dia/">resumo</a> das <a href="http://leonardofaria.net/2009/10/13/rails-summit-resumo-do-primeiro-dia/">palestras</a> e vou expor meus comentários sobre o ecossistema Rails - ou se preferir, o gueto Rails.</p>
<h2>Trilhos da oportunidade</h2>
<p>Conheci durante o evento vários pessoas que só conhecia pelo Twitter. Muitas dessas pessoas possuem aplicativos web, outras desenvolvem no tempo livre por prazer (como eu), outras trabalham offshore. De tudo isso, a única coisa que possuo concluir é que de fato existe um trem da oportunidade. Existem vagas para bons programadores nesse mercado, o trabalho remoto É possível e É uma realidade. Globalização é um americano morar na Argentina e contratar um programador brasileiro no evento. </p>
<h2>Maturidade da comunidade</h2>
<p>Rails definitivamente é mais do que somente um framework para desenvolvimento de aplicações web. Rails é resultado de um trabalho coletivo e maduro de uma comunidade. No Brasil essa comunidade é formada de gente vinda de várias tecnologias (Java, PHP, Python, programação desktop) e que se identifica com um software de opinião, com metodologias agéis e com computadores de Cupertino.</p>
<p>Essa pluralidade de pessoas tornam um encontro como o Rails Summit rico não somente de potenciais técnicos, mas sim de potenciais humanos.</p>
<h2>Programadores podem ser empreendedores</h2>
<p>Existe muita programador com vontade de empreender. As apresentações do Vinícius são uma provocação para botar para fazer. Negócios na web são como aplicações. É necessário fazer, testar, refatorar e nesse sentido a troca de experiências no Rails Summit é inspiradora a sonhar e a agir. Com Rails, aplicações são feitas rapidamente e é dessa velocidade que o seu negócio precisa.</p>
<h2>Conclusão</h2>
<p>Rails não é só código, é um tag que pessoas de diferentes opiniões, experiências e lugares carregam. Nessa comunidade o foto não está nos comos e sim nos porques. Após o Rails Summit, só posso confirmar o quanto é único esse gueto. </p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/08/10/ruby-on-rails-na-webmobile/' rel='bookmark' title='Permanent Link: Ruby on Rails na WebMobile'>Ruby on Rails na WebMobile</a></li><li><a href='http://leonardofaria.net/2009/04/11/para-aprender-ruby-on-rails/' rel='bookmark' title='Permanent Link: Para aprender Ruby on Rails'>Para aprender Ruby on Rails</a></li><li><a href='http://leonardofaria.net/2007/12/16/locomotive-com-rails-20/' rel='bookmark' title='Permanent Link: Locomotive com Rails 2.0'>Locomotive com Rails 2.0</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/10/15/o-ecossistema-rails/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rails Summit: resumo do segundo dia</title>
		<link>http://leonardofaria.net/2009/10/14/rails-summit-resumo-do-segundo-dia/</link>
		<comments>http://leonardofaria.net/2009/10/14/rails-summit-resumo-do-segundo-dia/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 13:07:05 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=770</guid>
		<description><![CDATA[Richard Kilmer: MacRuby
A primeira palestra do segundo dia trouxe o americano Richard Kilmer que falou sobre MacRuby, a união entre Ruby e Objective-C. Notas dos slides:

Problems with RubyCocoa: It's a bridge; 2 runtimes, 2 GC, different syntax
MacRuby 0.4: Objective-C 2 + Ruby 1.9
Every Ruby class is an Objective-C class
Every Ruby object is an Objective-C object
Every [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/10/13/rails-summit-resumo-do-primeiro-dia/' rel='bookmark' title='Permanent Link: Rails Summit: resumo do primeiro dia'>Rails Summit: resumo do primeiro dia</a></li><li><a href='http://leonardofaria.net/2007/12/02/um-resumo-do-minas-on-rails/' rel='bookmark' title='Permanent Link: Um resumo do Minas on Rails'>Um resumo do Minas on Rails</a></li><li><a href='http://leonardofaria.net/2007/08/19/5-dicas-para-trabalhar-com-rails/' rel='bookmark' title='Permanent Link: 5 dicas para trabalhar com Rails'>5 dicas para trabalhar com Rails</a></li></ul>]]></description>
			<content:encoded><![CDATA[<h2><a href="http://twitter.com/rich_kilmer">Richard Kilmer</a>: MacRuby</h2>
<p>A primeira palestra do segundo dia trouxe o americano Richard Kilmer que falou sobre <a href="http://www.macruby.org">MacRuby</a>, a união entre Ruby e Objective-C. Notas dos slides:</p>
<ul>
<li>Problems with RubyCocoa: It's a bridge; 2 runtimes, 2 GC, different syntax</li>
<li>MacRuby 0.4: Objective-C 2 + Ruby 1.9</li>
<li>Every Ruby class is an Objective-C class</li>
<li>Every Ruby object is an Objective-C object</li>
<li>Every Ruby method is an Objective-C method</li>
<li>MacRuby é um pouco mais rápido do que Objective-C</li>
<li>MacRuby utiliza recursos de processamento paralelo do OS X</li>
<li>HotCocoa is an idiomatic Ruby API that simplifies the configuration and wiring together of Objetive-C/Cocoa classes - resumindo: simplifica a sintaxe e deixa algo mais 'Ruby Way'</li>
</ul>
<p><center><a href="http://github.com/railssummit/morena_opensource"><img src="http://leonardofaria.net/wp-content/uploads/2009/10/summit6.jpg" alt="imagem ilustrativa" title="imagem ilustrativa" class="foto" /></a><br /><i>Imagem ilustrativa</i></center><br />
<h2><a href="http://www.twitter.com/fnando">Nando Vieira</a>: Ruby 1.9</h2>
<p>O Nando falou do que há de novo no Ruby 1.9, tema inclusive de um <a href="http://howtocode.com.br/o-que-mudou-no-ruby-19">PDF</a> de sua série <a href="http://howtocode.com.br/">HOWTO</a>. Sua apresentação, bem bonita, trouxe inúmeras notas sobre as mudanças da linguagem. Alguns pontos:<br />
<span id="more-770"></span>
<ul>
<li>Lançado em dezembro de 2008, prévia do Ruby 2.0. Mais rápido e com menos memória.</li>
<li>m17n (multilingualization): várias formas de fazê-lo: text.encode("codificação"); através de instruções no arquivo; File.open("file.txt", "r:utf-8</li>
<li>regexp: utiliza a biblioteca oniguruma, uma biblioteca multi-linguagem. Essa engine é mais rápida e suporta variadas codificações.</li>
<li>Nova sintaxe para hash, o que torna a sintaxe da linguagem *ainda* mais limpa:
<div class="syntax_hilite">
<div id="ruby-16">
<div class="ruby"><span class="co1"># 1.8</span><br />dict = <span class="br0">&#123;</span><br />&nbsp; &nbsp; mac =&gt; <span class="st0">"Mac OS X"</span>,<br />&nbsp; &nbsp; win =&gt; <span class="st0">"Windows"</span><br /><span class="br0">&#125;</span></p>
<p><span class="co1"># 1.9</span><br />dict = <span class="br0">&#123;</span><br />&nbsp; &nbsp; mac: <span class="st0">"Mac OS X"</span>,<br />&nbsp; &nbsp; win: <span class="st0">"Windows"</span><br /><span class="br0">&#125;</span></p>
<p><span class="co1"># no rails</span><br />render partial: <span class="st0">"hello"</span></div>
</div>
</div>
<p>
</li>
<li>Ruby 1.9 já traz nativamente rubygems, rake, rdoc, não precisando de instalação a parte.</li>
<li>Migrar ou não migrar? Verifique antes se todas suas gems já foram portadas e acesse o site: <a href="http://isitruby19.com">isitruby19.com</a>. Projetos com testes migram para a versão 1.9 com mais segurança.</li>
<li><a href="http://svn.ruby-lang.org/repos/ruby/tags/v1_9_1_0/NEWS">Changelog da versão</a> - <a href="http://simplesideias.com.br/rails-summit-o-que-mudou-no-ruby-1-9/">Slides da apresentação</a></li>
</ul>
<p><a href="http://www.flickr.com/photos/danicuki/4014186648/"><img src="http://leonardofaria.net/wp-content/uploads/2009/10/summit61.jpg" align="right" class="foto" /></a><br />
<h2><a href="http://twitter.com/lifo">Pratik Naik</a>: Experiências recentes com Rails</h2>
<p>Essa foi a primeira apresentação do Pratik Naik. Ele apresentou suas experiências recentes sobre Rails. Algumas notas:</p>
<ul>
<li>Use Ruby Enterprise Edition (também usuário pelo Twitter, 37 Signals, Shopify). É recomendado porque é mais rápido e executará seus testes mais rápidos.</li>
<li>Use o plugin Tickle para execução de testes em paralelo, o que agiliza o processo.</li>
<li>Focar em testes de integração e não em testes unitários.</li>
<li>Segurança: <a href="http://github.com/NZKoz/rails_xss">rails_xss</a>, default no Rails 3.</li>
<li>will_paginate não escala. Alternativa: usar Ajax para criar paginações como Twitter</li>
</ul>
<h2><a href="http://www.twitter.com/brupm">Bruno Miranda</a> / <a href="http://www.twitter.com/jseifer">Jason Seifer</a>: Rails não Escala</h2>
<p>O Bruno trouxe seu caso de uso: <a href="http://br.msn.cyloop.com/">Cyloop</a> é o canal de música do MSN. O Jason só estava presente no Keynote, já que teve alguns problemas com visto. Algumas notas da apresentação:</p>
<ul>
<li>13500 requests per minute</li>
<li>Using Memcached</li>
<li>Using Scrooge (já citado em outra apresentação)</li>
<li>Using Webservices com Sinatra</li>
<li>Proxies: Round Robin, HA Proxy, Nginx Fair Proxy</li>
<li>Testes: testar aplicações com dados reais</li>
<li>Logs para tudo, para garantir a segurança caso algo caia</li>
</ul>
<h2><a href="http://twitter.com/arthurgeek">Arthur Geek</a>: Controle de Versões com Git</h2>
<p>Arthur falou sobre o que são sistemas de controle de versão, os tipos (centralizado e distribuído). Git, para quem não sabe, é um sistema de controle de versões criado pelo Linus Torvals (sim, o do Linux). Seu foco é em rapidez, eficiência e uso em grandes projetos.</p>
<p>Sua palestra foi técnica com o Git em ação. <a href="http://www.slideshare.net/arthurgeek/git-controle-de-verses-do-jeito-certo">Slides da apresentação</a></p>
<p>ps. A palestra na outra sala foi do genial Vinícius Teles. <a href="http://blog.improveit.com.br/articles/2009/10/19/palestra-no-rails-summit-2009">Para quem não viu</a>.</p>
<h2><a href="http://twitter.com/obie">Obie Fernandez</a>: Dominando a Arte de Desenvolvimento de Aplicações</h2>
<p>A última apresentação do Rails Summit foi com o Obie Fernandez. Pontos da apresentação:
<ul>
<li>Software é criatividade</li>
<li>Desenvolvedores não são simplesmente cientistas, são também artistas</li>
<li>Qualidade artística não tem nada a ver com talento</li>
<li>10.000 horas = 10 anos de prática, tempo para se dar bem em algo</li>
<li>Passe pelas specs da mesma maneira como um músico lê partituras musicais</li>
<li>Lição Final: Keep Practicing</li>
</ul>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/10/13/rails-summit-resumo-do-primeiro-dia/' rel='bookmark' title='Permanent Link: Rails Summit: resumo do primeiro dia'>Rails Summit: resumo do primeiro dia</a></li><li><a href='http://leonardofaria.net/2007/12/02/um-resumo-do-minas-on-rails/' rel='bookmark' title='Permanent Link: Um resumo do Minas on Rails'>Um resumo do Minas on Rails</a></li><li><a href='http://leonardofaria.net/2007/08/19/5-dicas-para-trabalhar-com-rails/' rel='bookmark' title='Permanent Link: 5 dicas para trabalhar com Rails'>5 dicas para trabalhar com Rails</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/10/14/rails-summit-resumo-do-segundo-dia/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rails Summit: resumo do primeiro dia</title>
		<link>http://leonardofaria.net/2009/10/13/rails-summit-resumo-do-primeiro-dia/</link>
		<comments>http://leonardofaria.net/2009/10/13/rails-summit-resumo-do-primeiro-dia/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 12:46:10 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=726</guid>
		<description><![CDATA[Esse é um rascunho do que foi abordado no primeiro dia do Rails Summit. 
Chad Fowler: Insurgência Ruby on Rails


Stop doing things you know are wrong!
A primeira Rubyconf aconteceu em 2001 com 34 pessoas.
Nenhum dos participantes ganhava $ com Ruby.
5 dos 34 participantes escreveram o Agile Manifesto.
"The survival rate for startups is way less than [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/10/14/rails-summit-resumo-do-segundo-dia/' rel='bookmark' title='Permanent Link: Rails Summit: resumo do segundo dia'>Rails Summit: resumo do segundo dia</a></li><li><a href='http://leonardofaria.net/2007/12/02/um-resumo-do-minas-on-rails/' rel='bookmark' title='Permanent Link: Um resumo do Minas on Rails'>Um resumo do Minas on Rails</a></li><li><a href='http://leonardofaria.net/2007/08/04/3-anos-de-rails/' rel='bookmark' title='Permanent Link: 3 anos de Rails'>3 anos de Rails</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Esse é um rascunho do que foi abordado no primeiro dia do Rails Summit. </p>
<h2><a href="http://twitter.com/chadfowler/">Chad Fowler</a>: Insurgência Ruby on Rails</h2>
<p><a href="http://github.com/railssummit/morena_opensource/"><img src="http://leonardofaria.net/wp-content/uploads/2009/10/summit.jpg" align="right" class="foto" /></a>
<ul>
<li>Stop doing things you know are wrong!</li>
<li>A primeira Rubyconf aconteceu em 2001 com 34 pessoas.</li>
<li>Nenhum dos participantes ganhava $ com Ruby.</li>
<li>5 dos 34 participantes escreveram o Agile Manifesto.</li>
<li>"The survival rate for startups is way less than 50%. So if you're running a startup, you had betted be doing something old. If not, you're in Trouble"</li>
<li>Implante uma nova tecnologia gradativamente.</li>
<li>Don't do (.Net | Java | C++ | C | Perl l PHP) in Ruby: a razão de trocar de tecnologia é fazer as coisas diferentes!</li>
<li>Linguagens de computador são como namoradas: a nova é melhor porque você é melhor.</li>
</ul>
<h2><a href="http://twitter.com/greggpollack">Gregg Pollack</a>: Na Vanguarda da Performance em Rails</h2>
<p>Gregg Pollack, o cara dos screencasts do <a href="http://www.RailsEnvy.com/">RailsEnvy</a>, falou sobre performance. Primeiramente ele trouxe em 60 segundos algumas coisinhas para otimizar apps.</p>
<ul>
<li>Usar Yslow</li>
<li>Cache: Page Caching, Action Caching, Fragment Caching, Object Caching</li>
<li>Avoid Cache expiration</li>
<li>Use memcached</li>
<li>Use background process</li>
<li>Client-side caching: etags &#038; last-modified</li>
<li>Don't pre-optimize: 99% of the time you'll need 0%</li>
<li>Don't abuse your database</li>
</ul>
<p><span id="more-726"></span></p>
<p>Trouxe também um monte de plugins interessantes. Alguns deles:</p>
<ul>
<li>Bullet: verifica queries e dá dicas de otimização</li>
<li>Rails_index: mostra onde falta índice nas tabelas</li>
<li>Scrooge: otimiza queries</li>
</ul>
<p>A apresentação dele tem o mesmo estilo dos seus screencasts. <a href="http://blog.envylabs.com/summit/">Links da apresentação</a>.<br />
<a href="http://github.com/railssummit/morena_opensource/"><img src="http://leonardofaria.net/wp-content/uploads/2009/10/summit21.jpg" align="right" class="foto" /></a><br />
<h2><a href="http://twitter.com/carlosbrando">Carlos Brando</a>: Yet Another Ruby Framework – Como o Rails funciona por dentro</h2>
<p>Carlos Brando trouxe sua experiência sobre aplicações sociais.
<ul>
<li>OpenSocial: xml + js (eu já sabia)</li>
<li>Rails não foi feito para construir coisas para o OpenSocial</li>
</ul>
<p>Carlos prometeu falar mais do funcionamento do Rails em seu blog. <a href="http://www.nomedojogo.com/2009/10/13/os-slides-da-minha-apresentacao-no-rails-summit-latin-america-2009/">Slides de sua apresentação</a>.</p>
<h2><a href="http://twitter.com/Igrigorik">Ilya Grigorik</a>: Ruby em tempo real para Web em tempo real</h2>
<p>Essa palestra foi concomitante a palestra do Carlos e não assisti. <a href="http://www.slideshare.net/igrigorik/realtime-ruby-for-the-realtime-web">Slides da apresentação</a>.</p>
<h2><a href="http://twitter.com/josevalim">José Valim</a>: Geradores de código com Thor</h2>
<p>José Valim falou dos novos generators do Rails 3. A necessidade de reescrevê-lo deu-se ao fato do código duplicado existe caso você alterasse algumas coisas padrões (tests, erb). O resultado disso tudo é o Thor.</p>
<p>Thor = Rake + Sake + Rubigen + Rails template</p>
<p><a href="http://blog.plataformatec.com.br/2009/10/thor-e-devise-no-rails-summit-latin-america-2009/">Slides da apresentação</a></p>
<h2><a href="http://twitter.com/dchelimsky">David Chelimsky</a>: RSpec e Cucumber: Além do Básico</h2>
<p>David é líder do projeto RSpec. Sua palestra, naturalmente sobre o assunto, apresentou algumas técnicas do TDD.</p>
<h2><a href="http://www.twitter.com/akitaonrails">Fabio Akita</a>: Agile, além do Caos</h2>
<p>A palestra do Akita trouxe pensamentos aleatórios sobre agilidade. Entre várias falas, Akita quebrou o paradigma do "time que está ganhando não se mexe". Isso é uma falácia porque com o tempo há deterionamento do time.<br />
Foi uma palestra altamente conceitual, uma verdadeira viagem envolvendo psicologia. Algumas mensagens dos seus slides:
<ul>
<li>Não interessa os comos. Me interessa os porques.</li>
<li>Sucesso não vem de um plano. Vem da adaptabilidade ao ambiente.</li>
<li>Quebre as regras!</li>
<li>Agilidade é importante. Mas não é o último passo</li>
</ul>
<p><center><object width="600" height="450"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7099091&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7099091&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="450"></embed></object>
<p><a href="http://vimeo.com/7099091">Além do Caos - Pensamentos Aleatórios sobre Agilidade</a> from <a href="http://vimeo.com/locaweb">Locaweb</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p></center><br />
<h2><a href="http://twitter.com/mattetti">Matt Aimonetti</a>: O futuro do Ruby &#038; Rails</h2>
<p>A última palestra do dia foi do francês Matt Aimonetti. Matt é um dos programadores que estão trabalhando no Rails 3. Algumas mudanças:
<ul>
<li>HTML 5 e Javascript não-obstrusivo: uma única interface para você utilizar a biblioteca que quiser (Prototype, jQuery, YUI) </li>
<li>Active Record continua padrão, mas existirá no Rails uma API comum para que você possa usar qualquer ORM (Active Record, Data Mapper)</li>
<li>Otimização Interna: Rails 3 está entre 2 e 3x mais rápido do que a versão anterior em benchmark do Matt, entretanto outros benchmarks mostram resultados ainda melhores.</li>
<li><a href="http://www.slideshare.net/mattetti/future-of-ruby-and-rails-2223913">Slides da apresentação do Matt</a></li>
</ul>
<h2>Desconferência &#038; Hora extra</h2>
<p><a href="http://twitter.com/danicuki"><img src="http://leonardofaria.net/wp-content/uploads/2009/10/summit4.jpg" alt="melô do teste automatizado" title="melô do teste automatizado" class="foto" align="right" /></a>
<ul>
<li>IMPORTANTE: A <a href="http://github.com/railssummit/morena_opensource/">morena opensource</a> está de novo no evento e há <a href="http://github.com/railssummit/morena_opensource/tree/master/RailsSummit2009/">fotos novinhas dela</a> no Github</li>
<li>O pessoal do Guru SP apareceu e falou de seus projetos, como o Coding Dojo.</li>
<li>A desconferência teve a participação do pessoal do Rio Grande do Norte que organizou o Oxente Rails. Eles falaram sobre 'como não fazer um evento'. </li>
<li>O pessoal do Rio também falou da sua experiência em organizar eventos e pessoas. Segundo eles, o foco está nas pessoas. Eles parecem ser um grupo bem organizado, onde até as esposas se reúnem!</li>
<li>O <a href="http://twitter.com/rafaelp">Rafael Lima</a> apresentou sobre aplicações e empreendimento. Entre várias coisas interessante, ele disse que o desenvolvedor esquece de que ele também precisa conhecer de negócios para manter sua aplicação no ar.</li>
<li>O <a href="http://blog.areacriacoes.com.br/">Daniel Lopes</a> apresentou seu problema quanto as finanças de sua empresa e sua solução: uma aplicação de gerenciamento financeiro que está para vir.</li>
<li>O <a href="http://twitter.com/lfcipriani">@lfcipriani</a> apresentou seu case de aplicação: <a href="http://www.maratonadebasquete.com.br/marathons/1">Maratona de Basquete</a>. Trata-se de uma maratona de basquete cujo placar eletrônico é uma aplicação com um mega esquema de arquitetura envolvendo Rails, jQuery, XMPP, bots Ruby e tudo mais. <a href="http://prezi.com/-9hz7py6rkkc/">Sua apresentação</a></li>
<li>O Alexandre Gomes falou <a href="http://bluesoft.wordpress.com/2009/10/15/manifesto-2-0-por-alexandre-gomes-no-rails-summit-2009/">sobre o manifesto 2.0</a> que representa uma nova escola de pensamento de Tecnologia da Informação que vem transformando a industria de desenvolvilmento de software.</li>
<li>O George apresentou o <a href="http://github.com/plataformatec/devise">Devise</a>, plugin para autenticação</li>
<li>Por último, o <a href="http://twitter.com/danicuki">Daniel Cukier</a> cantou duas músicas: Melô dos Testes e o <a href="http://agileandart.blogspot.com/2009/10/samba-do-akita.html">Samba do Akita</a>. *excelente*</li>
<li>Além disso, rolou um #horaextra no <a href="http://www.barbrahmasp.com/aeroclube/">Bar Brahma do Clube de Aviação</a>, com umas 100 pessoas. Hora de tomar um chopp gelado e encontrar pessoas do mundo online.</li>
</ul>
<h2>Etc.</h2>
<ul>
<li>No evento rolou o lançamento de um produto, o <a href="http://trendti.me/">trendi.me</a>. Trata-se de um app para coberturas de eventos e o Rails Summit foi o <a href="http://trendti.me/events/railssummit">primeiro evento monitorado</a>.</li>
<li>Também teve o <a href="http://live.blogblogs.com.br/railssummit2009/">live stream</a> do pessoal do <a href="http://www.blogblogs.com.br">BlogBlogs</a></li>
</ul>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/10/14/rails-summit-resumo-do-segundo-dia/' rel='bookmark' title='Permanent Link: Rails Summit: resumo do segundo dia'>Rails Summit: resumo do segundo dia</a></li><li><a href='http://leonardofaria.net/2007/12/02/um-resumo-do-minas-on-rails/' rel='bookmark' title='Permanent Link: Um resumo do Minas on Rails'>Um resumo do Minas on Rails</a></li><li><a href='http://leonardofaria.net/2007/08/04/3-anos-de-rails/' rel='bookmark' title='Permanent Link: 3 anos de Rails'>3 anos de Rails</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/10/13/rails-summit-resumo-do-primeiro-dia/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Paperclip validando imagens no IE</title>
		<link>http://leonardofaria.net/2009/08/16/paperclip-validando-imagens-no-ie/</link>
		<comments>http://leonardofaria.net/2009/08/16/paperclip-validando-imagens-no-ie/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 21:47:57 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=691</guid>
		<description><![CDATA[No autosimulado, tive um problema onde o IE (sempre ele) não validava o mime-type de uma imagem.  Mesmo tentando enviar uma imagem JPG - imagem permitida - o IEca não aceitava o arquivo. A solução: 

O (pseudo)browser da turma do tio Ballmer e cia não compreende o mime-type image/jpeg e sim o image/pjpeg.
]]></description>
			<content:encoded><![CDATA[<p>No <strong><a href="http://www.autosimulado.com.br">autosimulado</a></strong>, tive um problema onde o IE (sempre ele) não validava o mime-type de uma imagem.  Mesmo tentando enviar uma imagem JPG - imagem permitida - o IEca não aceitava o arquivo. A solução: </p>
<p><script src='http://codestacker.com/191.js'></script></p>
<p>O (pseudo)browser da turma do tio Ballmer e cia não compreende o mime-type image/jpeg e sim o image/pjpeg.</p>
]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/08/16/paperclip-validando-imagens-no-ie/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Descubra de onde vem seus usuários com SQL</title>
		<link>http://leonardofaria.net/2009/07/12/descubra-de-onde-vem-seus-usuarios-com-sql/</link>
		<comments>http://leonardofaria.net/2009/07/12/descubra-de-onde-vem-seus-usuarios-com-sql/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 17:51:44 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[desenvolvimento]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[autosimulado]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=683</guid>
		<description><![CDATA[Tenho no autosimulado algumas queries para acompanhar a evolução dos usuários do site. Periodicamente, vejo o número de usuários criados dia-a-dia no site e o número de testes realizados por esses usuários.
Relacionado as essas queries, vi uma interessante consulta para agrupar o número de usuários por domínio de email, através da função substring. Confira:

O resultado, [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/03/14/nasceu-autosimulado/' rel='bookmark' title='Permanent Link: Nasceu: autosimulado'>Nasceu: autosimulado</a></li><li><a href='http://leonardofaria.net/2007/06/28/curiosidade-ruby-do-dia/' rel='bookmark' title='Permanent Link: Curiosidade Ruby do dia'>Curiosidade Ruby do dia</a></li><li><a href='http://leonardofaria.net/2009/04/03/integracao-continua-no-autosimulado/' rel='bookmark' title='Permanent Link: Integração contínua no autosimulado'>Integração contínua no autosimulado</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Tenho no <a href="http://www.autosimulado.com.br"><strong>autosimulado</strong></a> algumas queries para acompanhar a evolução dos usuários do site. Periodicamente, vejo o número de usuários criados dia-a-dia no site e o número de testes realizados por esses usuários.</p>
<p>Relacionado as essas queries, <a href="http://www.mendable.com/sql-trick-where-are-your-users-from/">vi uma interessante consulta</a> para agrupar o número de usuários por domínio de email, através da função <a href="http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_substring-index">substring</a>. Confira:</p>
<p><script src='http://codestacker.com/186.js'></script></p>
<p>O resultado, quando aplicado ao banco de dados do <a href="http://www.autosimulado.com.br"><strong>autosimulado</strong></a>:</p>
<div class="syntax_hilite">
<div id="code-18">
<div class="code">+-------+----------------+<br />| Total | Domain&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br />+-------+----------------+<br />|&nbsp; &nbsp;<span class="nu0">644</span> | hotmail.<span class="me1">com</span>&nbsp; &nbsp; | <br />|&nbsp; &nbsp;<span class="nu0">116</span> | gmail.<span class="me1">com</span>&nbsp; &nbsp; &nbsp; | <br />|&nbsp; &nbsp; <span class="nu0">98</span> | yahoo.<span class="me1">com</span>.<span class="me1">br</span>&nbsp; &nbsp;| <br />|&nbsp; &nbsp; <span class="nu0">37</span> | bol.<span class="me1">com</span>.<span class="me1">br</span>&nbsp; &nbsp; &nbsp;| <br />|&nbsp; &nbsp; <span class="nu0">33</span> | ig.<span class="me1">com</span>.<span class="me1">br</span>&nbsp; &nbsp; &nbsp; | <br />|&nbsp; &nbsp; <span class="nu0">15</span> | uol.<span class="me1">com</span>.<span class="me1">br</span>&nbsp; &nbsp; &nbsp;| <br />|&nbsp; &nbsp; <span class="nu0">11</span> | oi.<span class="me1">com</span>.<span class="me1">br</span>&nbsp; &nbsp; &nbsp; | <br />|&nbsp; &nbsp; <span class="nu0">10</span> | yahoo.<span class="me1">com</span>&nbsp; &nbsp; &nbsp; | <br />|&nbsp; &nbsp; &nbsp;<span class="nu0">9</span> | hotmail.<span class="me1">com</span>.<span class="me1">br</span> | <br />|&nbsp; &nbsp; &nbsp;<span class="nu0">8</span> | terra.<span class="me1">com</span>.<span class="me1">br</span>&nbsp; &nbsp;| <br />+-------+----------------+<br /><span class="nu0">10</span> rows in set <span class="br0">&#40;</span><span class="nu0">0</span>.<span class="nu0">00</span> sec<span class="br0">&#41;</span></div>
</div>
</div>
<p></p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/03/14/nasceu-autosimulado/' rel='bookmark' title='Permanent Link: Nasceu: autosimulado'>Nasceu: autosimulado</a></li><li><a href='http://leonardofaria.net/2007/06/28/curiosidade-ruby-do-dia/' rel='bookmark' title='Permanent Link: Curiosidade Ruby do dia'>Curiosidade Ruby do dia</a></li><li><a href='http://leonardofaria.net/2009/04/03/integracao-continua-no-autosimulado/' rel='bookmark' title='Permanent Link: Integração contínua no autosimulado'>Integração contínua no autosimulado</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/07/12/descubra-de-onde-vem-seus-usuarios-com-sql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Curiosidade Ruby do dia #2</title>
		<link>http://leonardofaria.net/2009/07/01/curiosidade-ruby-do-dia-2/</link>
		<comments>http://leonardofaria.net/2009/07/01/curiosidade-ruby-do-dia-2/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 21:03:22 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[desenvolvimento]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=678</guid>
		<description><![CDATA[Em outra curiosidade Ruby do dia, eu falei do elsif. Hoje eu lembro do método succ, da classe String. Veja os exemplo:

Não é simplesmente incrível?
P.S.: o método chama-se succ e não suck. Trocadilhos desse tipo serão desconsiderados.


Posts relacionados:Curiosidade Ruby do diaO que é Ruby?Documentação sobre Ruby e seus gems

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/06/28/curiosidade-ruby-do-dia/' rel='bookmark' title='Permanent Link: Curiosidade Ruby do dia'>Curiosidade Ruby do dia</a></li><li><a href='http://leonardofaria.net/2009/11/09/o-que-e-ruby/' rel='bookmark' title='Permanent Link: O que é Ruby?'>O que é Ruby?</a></li><li><a href='http://leonardofaria.net/2007/12/14/documentacao-sobre-ruby-e-seus-gems/' rel='bookmark' title='Permanent Link: Documentação sobre Ruby e seus gems'>Documentação sobre Ruby e seus gems</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Em outra curiosidade Ruby do dia, <a href="http://leonardofaria.net/2007/06/28/curiosidade-ruby-do-dia/">eu falei do elsif</a>. Hoje eu lembro do método succ, da classe <a href="http://www.ruby-doc.org/core/classes/String.html">String</a>. Veja os exemplo:</p>
<p><script src='http://codestacker.com/184.js'></script></p>
<p>Não é simplesmente incrível?</p>
<p>P.S.: o método chama-se succ e não suck. Trocadilhos desse tipo serão desconsiderados.</p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/06/28/curiosidade-ruby-do-dia/' rel='bookmark' title='Permanent Link: Curiosidade Ruby do dia'>Curiosidade Ruby do dia</a></li><li><a href='http://leonardofaria.net/2009/11/09/o-que-e-ruby/' rel='bookmark' title='Permanent Link: O que é Ruby?'>O que é Ruby?</a></li><li><a href='http://leonardofaria.net/2007/12/14/documentacao-sobre-ruby-e-seus-gems/' rel='bookmark' title='Permanent Link: Documentação sobre Ruby e seus gems'>Documentação sobre Ruby e seus gems</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/07/01/curiosidade-ruby-do-dia-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>hirb, dados tabulados no console</title>
		<link>http://leonardofaria.net/2009/07/01/hirb-dados-tabulados-no-console/</link>
		<comments>http://leonardofaria.net/2009/07/01/hirb-dados-tabulados-no-console/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 20:21:22 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=672</guid>
		<description><![CDATA[hirb é uma gem que, num rápido resumo, tabula e organiza em árvores dados que, entre várias origens, podem vir de um array. A instalação


gem install cldwalker-hirb --source http://gems.github.com 



A partir daí, basta chamar a biblioteca (require 'hirb'), habilitá-la na execução (Hirb.enable) e correr pro abraço. Confira abaixo:



Posts relacionados:Syntax Highlight on RailsMudanças no Rails 2.2Documentação [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/12/02/syntax-highlight-on-rails/' rel='bookmark' title='Permanent Link: Syntax Highlight on Rails'>Syntax Highlight on Rails</a></li><li><a href='http://leonardofaria.net/2008/08/02/mudancas-no-rails-22/' rel='bookmark' title='Permanent Link: Mudanças no Rails 2.2'>Mudanças no Rails 2.2</a></li><li><a href='http://leonardofaria.net/2007/12/14/documentacao-sobre-ruby-e-seus-gems/' rel='bookmark' title='Permanent Link: Documentação sobre Ruby e seus gems'>Documentação sobre Ruby e seus gems</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p><a href="http://tagaholic.me/hirb/"><strong>hirb</strong></a> é uma gem que, num rápido resumo, tabula e organiza em árvores dados que, entre várias origens, podem vir de um array. A instalação</p>
<div class="syntax_hilite">
<div id="code-20">
<div class="code">gem install cldwalker-hirb --source http:<span class="co1">//gems.github.com </span></div>
</div>
</div>
<p></p>
<p>A partir daí, basta chamar a biblioteca (require 'hirb'), habilitá-la na execução (Hirb.enable) e correr pro abraço. Confira abaixo:</p>
<p><script src='http://codestacker.com/183.js'></script></p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/12/02/syntax-highlight-on-rails/' rel='bookmark' title='Permanent Link: Syntax Highlight on Rails'>Syntax Highlight on Rails</a></li><li><a href='http://leonardofaria.net/2008/08/02/mudancas-no-rails-22/' rel='bookmark' title='Permanent Link: Mudanças no Rails 2.2'>Mudanças no Rails 2.2</a></li><li><a href='http://leonardofaria.net/2007/12/14/documentacao-sobre-ruby-e-seus-gems/' rel='bookmark' title='Permanent Link: Documentação sobre Ruby e seus gems'>Documentação sobre Ruby e seus gems</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/07/01/hirb-dados-tabulados-no-console/feed/</wfw:commentRss>
		</item>
		<item>
		<title>sitemap.xml no Rails</title>
		<link>http://leonardofaria.net/2009/06/07/sitemapxml-no-rails/</link>
		<comments>http://leonardofaria.net/2009/06/07/sitemapxml-no-rails/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 14:30:52 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[desenvolvimento]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=660</guid>
		<description><![CDATA[Usado para SEO, Sitemaps servem para informar aos sites de busca como indexar as páginas de um site. Indexadores descobrem páginas com base em links no site e outros sites e o que os Sitemaps fazem é complementar esses dados, para permitir que os indexadores com suporte para Sitemaps peguem todos os URLs no Sitemap [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/04/12/criando-rss-com-rails/' rel='bookmark' title='Permanent Link: Criando RSS com Rails'>Criando RSS com Rails</a></li><li><a href='http://leonardofaria.net/2008/11/26/php-junto-com-o-passenger-no-leopard/' rel='bookmark' title='Permanent Link: PHP junto com o Passenger no Leopard'>PHP junto com o Passenger no Leopard</a></li><li><a href='http://leonardofaria.net/2009/11/14/rails-e-cia-no-snow-leopard/' rel='bookmark' title='Permanent Link: Rails e cia no Snow Leopard'>Rails e cia no Snow Leopard</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Usado para SEO, <a href="http://www.sitemaps.org/">Sitemaps</a> servem para informar aos sites de busca como indexar as páginas de um site. Indexadores descobrem páginas com base em links no site e outros sites e o que os Sitemaps fazem é complementar esses dados, para permitir que os indexadores com suporte para Sitemaps peguem todos os URLs no Sitemap e aprendam sobre esses URLs usando os metadados associados.</p>
<p>Existem <a href="http://www.xml-sitemaps.com/">sites</a> para gerar o arquivo, mas fazer isso no Rails não é complicado e faremos isso em 4 passos. A dica vem do <a href="http://tonycode.com/wiki/index.php?title=Ruby_on_Rails_Sitemap_Generator">Tony</a> no livro <a href="http://www.pragprog.com/titles/fr_arr/advanced-rails-recipes">Advanced Rails Recipes</a>.</p>
<p><span id="more-660"></span><br />
<h3>1. Controller</h3>
<p>Crie um controller chamado sitemap:</p>
<div class="syntax_hilite">
<div id="code-25">
<div class="code">script/generate controller sitemap</div>
</div>
</div>
<p></p>
<h3>2. Busca das URLs</h3>
<p>Crie o método para listar todas as entradas do seu banco:</p>
<div class="syntax_hilite">
<div id="ruby-26">
<div class="ruby"><span class="kw1">class</span> SitemapController &lt;ApplicationController<br />&nbsp; <span class="kw1">def</span> sitemap<br />&nbsp; &nbsp; @entries = Model.<span class="me1">find</span><span class="br0">&#40;</span>:all, :order =&gt; <span class="st0">"updated_at DESC"</span>, :limit =&gt; <span class="nu0">50000</span><span class="br0">&#41;</span><br />&nbsp; &nbsp; headers<span class="br0">&#91;</span><span class="st0">"Content-Type"</span><span class="br0">&#93;</span> = <span class="st0">"text/xml"</span><br />&nbsp; &nbsp; <span class="co1"># set last modified header to the date of the latest entry.</span><br />&nbsp; &nbsp; headers<span class="br0">&#91;</span><span class="st0">"Last-Modified"</span><span class="br0">&#93;</span> = @entries<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">updated_at</span>.<span class="me1">httpdate</span>&nbsp; &nbsp; <br />&nbsp; <span class="kw1">end</span><br /><span class="kw1">end</span></div>
</div>
</div>
<p></p>
<p>As entradas do arquivo sitemap.xml são limitadas em seu <a href="http://www.sitemaps.org/pt_BR/protocol.php">protocolo</a> em 50000 registros. Você pode se quiser, gerar esse arquivo com as URLs de várias entidades, como o <a href="http://www.igvita.com/">Ilya Grigorik</a> faz em <a href="http://www.igvita.com/2006/11/24/google-yahoo-sitemaps-in-rails/">seu artigo</a>.</p>
<h3>3. View</h3>
<p>Crie o arquivo sitemap.rxml</p>
<div class="syntax_hilite">
<div id="ruby-27">
<div class="ruby">xml.<span class="me1">instruct</span>!<br />xml.<span class="me1">urlset</span> <span class="st0">"xmlns"</span> =&gt; <span class="st0">"http://www.sitemaps.org/schemas/sitemap/0.9"</span> <span class="kw1">do</span><br />&nbsp; @entries.<span class="me1">each</span> <span class="kw1">do</span> |entry|<br />&nbsp; &nbsp; xml.<span class="me1">url</span> <span class="kw1">do</span><br />&nbsp; &nbsp; &nbsp; xml.<span class="me1">loc</span> url_for<span class="br0">&#40;</span>:controller =&gt; 'controller', :action =&gt; 'show', :id =&gt; entry.<span class="me1">id</span>, :only_path =&gt; <span class="kw2">false</span><span class="br0">&#41;</span><br />&nbsp; &nbsp; &nbsp; xml.<span class="me1">lastmod</span> entry.<span class="me1">updated_at</span>.<span class="me1">to_date</span><br />&nbsp; &nbsp; <span class="kw1">end</span><br />&nbsp; <span class="kw1">end</span><br /><span class="kw1">end</span></div>
</div>
</div>
<p></p>
<h3>4. Atualização do arquivo de rotas</h3>
<p>Crie a rota para que você tenha o arquivo www.seusite.com.br/sitemap.xml</p>
<div class="syntax_hilite">
<div id="ruby-28">
<div class="ruby">map.<span class="me1">connect</span> 'sitemap.<span class="me1">xml</span>', :controller =&gt; <span class="st0">"sitemap"</span>, :action =&gt; <span class="st0">"sitemap"</span></div>
</div>
</div>
<p></p>
<h3>Conclusão</h3>
<p>Com o arquivo pronto, é só indicá-lo no <a href="http://www.google.com/webmasters/sitemaps/">Google Webmaster</a> e no <a href="http://siteexplorer.search.yahoo.com/">Yahoo Site Explorer</a>. Caso queira conhecer mais sobre sitemaps, visite <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=40318&#038;hl=pt_BR">essa página</a> do Google.</p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/04/12/criando-rss-com-rails/' rel='bookmark' title='Permanent Link: Criando RSS com Rails'>Criando RSS com Rails</a></li><li><a href='http://leonardofaria.net/2008/11/26/php-junto-com-o-passenger-no-leopard/' rel='bookmark' title='Permanent Link: PHP junto com o Passenger no Leopard'>PHP junto com o Passenger no Leopard</a></li><li><a href='http://leonardofaria.net/2009/11/14/rails-e-cia-no-snow-leopard/' rel='bookmark' title='Permanent Link: Rails e cia no Snow Leopard'>Rails e cia no Snow Leopard</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/06/07/sitemapxml-no-rails/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Para aprender Ruby on Rails</title>
		<link>http://leonardofaria.net/2009/04/11/para-aprender-ruby-on-rails/</link>
		<comments>http://leonardofaria.net/2009/04/11/para-aprender-ruby-on-rails/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 16:49:03 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=508</guid>
		<description><![CDATA[Esse post é para indicar 2 dicas matadoras que mostram como a comunidade Ruby on Rails é organizada e colaborativa. Essa semana foi finalmente terminado a tradução/edição/revisão d'O Guia (comovente) de Ruby do Why. Essa é tradução do livro do Why the Lucky Stiff, um cara que ensina fantasticamente bem. 

Já ontem o Daniel Lopes [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/08/19/5-dicas-para-trabalhar-com-rails/' rel='bookmark' title='Permanent Link: 5 dicas para trabalhar com Rails'>5 dicas para trabalhar com Rails</a></li><li><a href='http://leonardofaria.net/2007/01/27/apresentando-ruby-on-rails/' rel='bookmark' title='Permanent Link: Apresentando Ruby on Rails'>Apresentando Ruby on Rails</a></li><li><a href='http://leonardofaria.net/2007/03/11/ruby-on-rails-on-mac-os-x/' rel='bookmark' title='Permanent Link: Ruby on Rails on Mac OS X'>Ruby on Rails on Mac OS X</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Esse post é para indicar 2 dicas matadoras que mostram como a comunidade Ruby on Rails é organizada e colaborativa. Essa semana foi finalmente terminado a tradução/edição/revisão d'<a href="http://www.why.nomedojogo.com/">O Guia (comovente) de Ruby do Why</a>. Essa é tradução do livro do <a href="http://www.whytheluckystiff.net/">Why the Lucky Stiff</a>, um cara que ensina fantasticamente bem. </p>
<p><center><a href="http://guias.rubyonrails.pro.br/"><img src="http://leonardofaria.net/wp-content/uploads/2009/04/railsguides.jpg" alt="RailsGuides" title="RailsGuides" class="foto" /></a></center></p>
<p>Já ontem o <a href="http://blog.areacriacoes.com.br/">Daniel Lopes</a> anunciou a publicação do <a href="http://guias.rubyonrails.pro.br/">RailsGuides</a>. O <a href="http://guias.rubyonrails.pro.br/">RailsGuides</a> existe para mostrar como as peças do framework funcionam e como trabalhar com toda a produtividade que o Rails proporciona aos desenvolvedores. Boa viagem!</p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/08/19/5-dicas-para-trabalhar-com-rails/' rel='bookmark' title='Permanent Link: 5 dicas para trabalhar com Rails'>5 dicas para trabalhar com Rails</a></li><li><a href='http://leonardofaria.net/2007/01/27/apresentando-ruby-on-rails/' rel='bookmark' title='Permanent Link: Apresentando Ruby on Rails'>Apresentando Ruby on Rails</a></li><li><a href='http://leonardofaria.net/2007/03/11/ruby-on-rails-on-mac-os-x/' rel='bookmark' title='Permanent Link: Ruby on Rails on Mac OS X'>Ruby on Rails on Mac OS X</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/04/11/para-aprender-ruby-on-rails/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Integração contínua no autosimulado</title>
		<link>http://leonardofaria.net/2009/04/03/integracao-continua-no-autosimulado/</link>
		<comments>http://leonardofaria.net/2009/04/03/integracao-continua-no-autosimulado/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 20:31:38 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[desenvolvimento]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[autosimulado]]></category>

		<category><![CDATA[empreendorismo]]></category>

		<category><![CDATA[portfolio]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=492</guid>
		<description><![CDATA[Assim como no codestacker, não lancei o autosimulado com todos os features prontos. Naturalmente, lançar um projeto sem estar com 100% dos recursos completos pode ser um risco, mas é uma gostosa corrida contra o tempo - e mais uma chance para avaliar se essa ou aquela funcionalidade é realmente útil para o aplicativo. Como [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/03/14/nasceu-autosimulado/' rel='bookmark' title='Permanent Link: Nasceu: autosimulado'>Nasceu: autosimulado</a></li><li><a href='http://leonardofaria.net/2008/10/23/integracao-continua-no-codestacker/' rel='bookmark' title='Permanent Link: Integração contínua no codestacker'>Integração contínua no codestacker</a></li><li><a href='http://leonardofaria.net/2009/12/05/monografia-on-rails-autosimulado/' rel='bookmark' title='Permanent Link: Monografia on Rails: autosimulado'>Monografia on Rails: autosimulado</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Assim como no <a href="http://www.codestacker.com"><strong>codestacker</strong></a>, não lancei o <a href="http://www.autosimulado.com.br"><strong>autosimulado</strong></a> com todos os features prontos. Naturalmente, lançar um projeto sem estar com 100% dos recursos completos pode ser um risco, mas é uma gostosa corrida contra o tempo - e mais uma chance para avaliar se essa ou aquela funcionalidade é realmente útil para o aplicativo. Como disse Steve Jobs em uma apresentação sobre a iTunes Music Store, "Inovação não é dizer sim para tudo. É dizer NÃO para tudo exceto as funcionalidades mais cruciais".</p>
<p>Hoje eu estou postando para falar de uma nova funcionalidade do <a href="http://www.autosimulado.com.br"><strong>autosimulado</strong></a>. Agora, o seu desempenho é salvo e você pode acompanhar o resultado dos testes em uma página exclusiva e com gráficos. Para ilustrar:</p>
<p><center><a href-"http://www.autosimulado.com.br"><img src="http://leonardofaria.net/wp-content/uploads/2009/04/autosimulado1.jpg" alt="autosimulado" title="autosimulado" class="foto" /></a></center></p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/03/14/nasceu-autosimulado/' rel='bookmark' title='Permanent Link: Nasceu: autosimulado'>Nasceu: autosimulado</a></li><li><a href='http://leonardofaria.net/2008/10/23/integracao-continua-no-codestacker/' rel='bookmark' title='Permanent Link: Integração contínua no codestacker'>Integração contínua no codestacker</a></li><li><a href='http://leonardofaria.net/2009/12/05/monografia-on-rails-autosimulado/' rel='bookmark' title='Permanent Link: Monografia on Rails: autosimulado'>Monografia on Rails: autosimulado</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/04/03/integracao-continua-no-autosimulado/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nasceu: autosimulado</title>
		<link>http://leonardofaria.net/2009/03/14/nasceu-autosimulado/</link>
		<comments>http://leonardofaria.net/2009/03/14/nasceu-autosimulado/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 20:41:36 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[desenvolvimento]]></category>

		<category><![CDATA[faculdade]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[acadêmico]]></category>

		<category><![CDATA[empreendorismo]]></category>

		<category><![CDATA[portfolio]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=477</guid>
		<description><![CDATA[autosimulado é um aplicativo web com simulados de provas de legislação, aquelas que você faz quando vai tirar sua carteira de motorista. A inspiração para o autosimulado apareceu quando minha namorada foi tirar carteira, e ao tentar ajudá-la procurando provas, só encontrei coisas chatas, feias e sem usabilidade. Provas do Detran metem medo em muita [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/04/03/integracao-continua-no-autosimulado/' rel='bookmark' title='Permanent Link: Integração contínua no autosimulado'>Integração contínua no autosimulado</a></li><li><a href='http://leonardofaria.net/2009/12/05/monografia-on-rails-autosimulado/' rel='bookmark' title='Permanent Link: Monografia on Rails: autosimulado'>Monografia on Rails: autosimulado</a></li><li><a href='http://leonardofaria.net/2008/07/02/nasceu-codestackercom/' rel='bookmark' title='Permanent Link: Nasceu: codestacker.com'>Nasceu: codestacker.com</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.autosimulado.com.br"><b>autosimulado</b></a> é um aplicativo web com simulados de provas de legislação, aquelas que você faz quando vai tirar sua carteira de motorista. A inspiração para o <a href="http://www.autosimulado.com.br"><b>autosimulado</b></a> apareceu quando minha namorada foi tirar carteira, e ao tentar ajudá-la procurando provas, só encontrei coisas chatas, feias e sem usabilidade. Provas do Detran metem medo em muita gente - eu mesmo só passei da segunda tentativa - e ser simples, rápido, inteligente e grátis é o objetivo do site, que nasceu sobre a concepção do <a href="https://gettingreal.37signals.com/GR_por.php">Getting Real</a> e da integração contínua.</p>
<p><center><a href="http://www.autosimulado.com.br"><img src="http://leonardofaria.net/wp-content/uploads/2009/03/autosimulado.jpg" alt="autosimulado" title="autosimulado" width="450" class="foto" /></a></center></p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/04/03/integracao-continua-no-autosimulado/' rel='bookmark' title='Permanent Link: Integração contínua no autosimulado'>Integração contínua no autosimulado</a></li><li><a href='http://leonardofaria.net/2009/12/05/monografia-on-rails-autosimulado/' rel='bookmark' title='Permanent Link: Monografia on Rails: autosimulado'>Monografia on Rails: autosimulado</a></li><li><a href='http://leonardofaria.net/2008/07/02/nasceu-codestackercom/' rel='bookmark' title='Permanent Link: Nasceu: codestacker.com'>Nasceu: codestacker.com</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/03/14/nasceu-autosimulado/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Documentação do Rails e Ruby no Spotlight</title>
		<link>http://leonardofaria.net/2009/02/08/documentacao-do-rails-e-ruby-no-spotlight/</link>
		<comments>http://leonardofaria.net/2009/02/08/documentacao-do-rails-e-ruby-no-spotlight/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 23:12:35 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[macintosh]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[mac]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=452</guid>
		<description><![CDATA[
Essa é uma dica bem interessante: um cara chamado Priit Haamer migrou as documentações do Rails e do Ruby para o dicionário do Mac OS. Como o Spotlight do sistema busca - além de arquivos, emails, músicas e o que for - as entradas do dicionário, você ganha mais uma forma rápida de acesso a [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/05/25/jquery-no-spotlight/' rel='bookmark' title='Permanent Link: jQuery no Spotlight'>jQuery no Spotlight</a></li><li><a href='http://leonardofaria.net/2007/12/14/documentacao-sobre-ruby-e-seus-gems/' rel='bookmark' title='Permanent Link: Documentação sobre Ruby e seus gems'>Documentação sobre Ruby e seus gems</a></li><li><a href='http://leonardofaria.net/2007/01/27/apresentando-ruby-on-rails/' rel='bookmark' title='Permanent Link: Apresentando Ruby on Rails'>Apresentando Ruby on Rails</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://leonardofaria.net/wp-content/uploads/2009/02/imagem1.jpg" class="foto" /></center></p>
<p>Essa é uma dica bem interessante: um cara chamado <a href="http://www.priithaamer.com/">Priit Haamer</a> migrou as documentações do <a href="http://www.priithaamer.com/blog/ruby-on-rails-dictionary-for-macosx">Rails</a> e do <a href="http://www.priithaamer.com/blog/ruby-dictionary-for-mac-os-x">Ruby</a> para o dicionário do Mac OS. Como o Spotlight do sistema busca - além de arquivos, emails, músicas e o que for - as entradas do dicionário, você ganha mais uma forma rápida de acesso a documentação de sua linguagem favorita.</p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2009/05/25/jquery-no-spotlight/' rel='bookmark' title='Permanent Link: jQuery no Spotlight'>jQuery no Spotlight</a></li><li><a href='http://leonardofaria.net/2007/12/14/documentacao-sobre-ruby-e-seus-gems/' rel='bookmark' title='Permanent Link: Documentação sobre Ruby e seus gems'>Documentação sobre Ruby e seus gems</a></li><li><a href='http://leonardofaria.net/2007/01/27/apresentando-ruby-on-rails/' rel='bookmark' title='Permanent Link: Apresentando Ruby on Rails'>Apresentando Ruby on Rails</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2009/02/08/documentacao-do-rails-e-ruby-no-spotlight/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Edge Rails: método render mais esperto</title>
		<link>http://leonardofaria.net/2008/12/26/edge-rails-metodo-render-mais-esperto/</link>
		<comments>http://leonardofaria.net/2008/12/26/edge-rails-metodo-render-mais-esperto/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 16:02:10 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=435</guid>
		<description><![CDATA[Quem já está usando o Rails 2.2 já deve estar vendo um warning: no Rails 2.3, o método render está mais esperto e dispensará a instrução sobre qual tipo de renderização ele está fazendo. Confira: 

Agora, você não precisa especificar se quer renderizar uma action, template ou file. Isso é bem legal e mostra cada [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/09/10/edge-rails-no-windows-vista/' rel='bookmark' title='Permanent Link: Edge Rails no Windows Vista'>Edge Rails no Windows Vista</a></li><li><a href='http://leonardofaria.net/2008/08/02/mudancas-no-rails-22/' rel='bookmark' title='Permanent Link: Mudanças no Rails 2.2'>Mudanças no Rails 2.2</a></li><li><a href='http://leonardofaria.net/2007/04/07/mais-resources-sobre-ruby-on-rails/' rel='bookmark' title='Permanent Link: Mais resources sobre Ruby on Rails'>Mais resources sobre Ruby on Rails</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Quem já está usando o Rails 2.2 já deve estar vendo um warning: no Rails 2.3, o método render está mais esperto e dispensará a instrução sobre qual tipo de renderização ele está fazendo. Confira: </p>
<p><script src='http://codestacker.com/142.js'></script></p>
<p>Agora, você não precisa especificar se quer renderizar uma action, template ou file. Isso é bem legal e mostra cada vez mais o minimalismo do framework.</p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/09/10/edge-rails-no-windows-vista/' rel='bookmark' title='Permanent Link: Edge Rails no Windows Vista'>Edge Rails no Windows Vista</a></li><li><a href='http://leonardofaria.net/2008/08/02/mudancas-no-rails-22/' rel='bookmark' title='Permanent Link: Mudanças no Rails 2.2'>Mudanças no Rails 2.2</a></li><li><a href='http://leonardofaria.net/2007/04/07/mais-resources-sobre-ruby-on-rails/' rel='bookmark' title='Permanent Link: Mais resources sobre Ruby on Rails'>Mais resources sobre Ruby on Rails</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2008/12/26/edge-rails-metodo-render-mais-esperto/feed/</wfw:commentRss>
		</item>
		<item>
		<title>gem cheat</title>
		<link>http://leonardofaria.net/2008/11/29/gem-cheat/</link>
		<comments>http://leonardofaria.net/2008/11/29/gem-cheat/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 20:23:04 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=432</guid>
		<description><![CDATA[Essa é uma gem do Chris Wanstrath que muita gente não conhece e que só hoje me deparei. Para instalar:

Para usar, basta executar no terminal o comando cheat acrescido do assunto desejado, como por exemplo: cheat rails_svn
A saída, para esse cheat, é uma lista de comandos para ignorar arquivos temporários e de log do seu [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/11/09/migrations-sem-timestamp/' rel='bookmark' title='Permanent Link: Migrations sem timestamp'>Migrations sem timestamp</a></li><li><a href='http://leonardofaria.net/2008/06/30/annotate_model-gem-util-da-semana/' rel='bookmark' title='Permanent Link: annotate_model, gem útil da semana'>annotate_model, gem útil da semana</a></li><li><a href='http://leonardofaria.net/2007/12/19/ruby-on-rails-na-caveira/' rel='bookmark' title='Permanent Link: Ruby on Rails na caveira!'>Ruby on Rails na caveira!</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Essa é uma <a href="http://cheat.errtheblog.com/">gem</a> do <a href="http://www.errtheblog.com">Chris Wanstrath</a> que muita gente não conhece e que só hoje me deparei. Para instalar:</p>
<p><script src='http://codestacker.com/121.js'></script></p>
<p>Para usar, basta executar no terminal o comando cheat acrescido do assunto desejado, como por exemplo: cheat rails_svn</p>
<p>A saída, para esse cheat, é uma lista de comandos para ignorar arquivos temporários e de log do seu aplicativo rails no subversion é:</p>
<p><script src='http://codestacker.com/122.js'></script></p>
<p>A lista de todas cheats é encontradada executando:</p>
<p><script src='http://codestacker.com/123.js'></script></p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/11/09/migrations-sem-timestamp/' rel='bookmark' title='Permanent Link: Migrations sem timestamp'>Migrations sem timestamp</a></li><li><a href='http://leonardofaria.net/2008/06/30/annotate_model-gem-util-da-semana/' rel='bookmark' title='Permanent Link: annotate_model, gem útil da semana'>annotate_model, gem útil da semana</a></li><li><a href='http://leonardofaria.net/2007/12/19/ruby-on-rails-na-caveira/' rel='bookmark' title='Permanent Link: Ruby on Rails na caveira!'>Ruby on Rails na caveira!</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2008/11/29/gem-cheat/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP junto com o Passenger no Leopard</title>
		<link>http://leonardofaria.net/2008/11/26/php-junto-com-o-passenger-no-leopard/</link>
		<comments>http://leonardofaria.net/2008/11/26/php-junto-com-o-passenger-no-leopard/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 23:32:30 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[leopard]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=430</guid>
		<description><![CDATA[Na minha máquina de desenvolvimento uso o Passenger para trabalhar com o Rails e hoje eu precisei fazer alguns testes com PHP. Deixar o PHP junto com o Passenger é tão simples como 2 + 2 são 4. Vamos lá.
Abra o arquivo de configuração do Apache (/etc/apache2/httpd.conf) como superusuário e procure a linha que chama [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/05/24/rails-git-mysql-e-mod_rails-no-leopard/' rel='bookmark' title='Permanent Link: Rails, Git, MySQL e mod_rails no Leopard'>Rails, Git, MySQL e mod_rails no Leopard</a></li><li><a href='http://leonardofaria.net/2009/11/14/rails-e-cia-no-snow-leopard/' rel='bookmark' title='Permanent Link: Rails e cia no Snow Leopard'>Rails e cia no Snow Leopard</a></li><li><a href='http://leonardofaria.net/2008/06/28/passenger-no-painel-de-preferencias-do-leopard/' rel='bookmark' title='Permanent Link: Passenger no painel de preferências do Leopard'>Passenger no painel de preferências do Leopard</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Na minha máquina de desenvolvimento uso o Passenger para trabalhar com o Rails e hoje eu precisei fazer alguns testes com PHP. Deixar o PHP junto com o Passenger é tão simples como 2 + 2 são 4. Vamos lá.</p>
<p>Abra o arquivo de configuração do Apache (/etc/apache2/httpd.conf) como superusuário e procure a linha que chama o módulo do PHP (linha 114):</p>
<div class="syntax_hilite">
<div id="code-32">
<div class="code">LoadModule php5_module&nbsp; &nbsp; &nbsp; &nbsp; libexec/apache2/libphp5.<span class="me1">so</span></div>
</div>
</div>
<p></p>
<p>Basta descomentar essa linha. Em seguida, no fim desse arquivo, crie um host virtual chamado php:</p>
<div class="syntax_hilite">
<div id="code-33">
<div class="code">&lt;virtualhost *:<span class="nu0">80</span>&gt;<br />&nbsp; ServerName php<br />&nbsp; DocumentRoot <span class="st0">"/Users/leonardofaria/Sites/php"</span><br />&nbsp; &lt;directory <span class="st0">"/Users/leonardofaria/Sites/php"</span>&gt;<br />&nbsp; &nbsp; Options Indexes MultiViews<br />&nbsp; &nbsp; AllowOverride None<br />&nbsp; &nbsp; Order allow,deny<br />&nbsp; &nbsp; Allow from all<br />&nbsp; &lt;/directory&gt;<br />&lt;/virtualhost&gt;</div>
</div>
</div>
<p></p>
<p>Pronto. Agora a url http://php/ responderá pelo conteúdo da pasta "/Users/leonardofaria/Sites/php". Lá dentro, você pode criar um index.php e para testar se está tudo ok, use o conhecido phpinfo()</p>
<div class="syntax_hilite">
<div id="php-34">
<div class="php"><span class="kw2">&lt;?php</span><br /><a href="http://www.php.net/phpinfo"><span class="kw3">phpinfo</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br /><span class="kw2">?&gt;</span></div>
</div>
</div>
<p>
Se tudo der certo, você terá uma tela como a seguinte :)</p>
<p><center><img src="http://leonardofaria.net/wp-content/uploads/2008/11/phpinfo.jpg" alt="" title="phpinfo" class="foto" /></center></p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/05/24/rails-git-mysql-e-mod_rails-no-leopard/' rel='bookmark' title='Permanent Link: Rails, Git, MySQL e mod_rails no Leopard'>Rails, Git, MySQL e mod_rails no Leopard</a></li><li><a href='http://leonardofaria.net/2009/11/14/rails-e-cia-no-snow-leopard/' rel='bookmark' title='Permanent Link: Rails e cia no Snow Leopard'>Rails e cia no Snow Leopard</a></li><li><a href='http://leonardofaria.net/2008/06/28/passenger-no-painel-de-preferencias-do-leopard/' rel='bookmark' title='Permanent Link: Passenger no painel de preferências do Leopard'>Passenger no painel de preferências do Leopard</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2008/11/26/php-junto-com-o-passenger-no-leopard/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Código &#8216;embedável&#8217; no codestacker</title>
		<link>http://leonardofaria.net/2008/11/16/codigo-embedavel-no-codestacker/</link>
		<comments>http://leonardofaria.net/2008/11/16/codigo-embedavel-no-codestacker/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 16:52:34 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[codestacker]]></category>

		<category><![CDATA[portfolio]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=426</guid>
		<description><![CDATA[
Agora, é possível 'embedar' códigos do codestacker em seu site! No update de hoje, implementei esse recurso e finalmente, um sistema de busca.


Posts relacionados:Integração contínua no codestackerNasceu: codestacker.comIntegração contínua no autosimulado

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/10/23/integracao-continua-no-codestacker/' rel='bookmark' title='Permanent Link: Integração contínua no codestacker'>Integração contínua no codestacker</a></li><li><a href='http://leonardofaria.net/2008/07/02/nasceu-codestackercom/' rel='bookmark' title='Permanent Link: Nasceu: codestacker.com'>Nasceu: codestacker.com</a></li><li><a href='http://leonardofaria.net/2009/04/03/integracao-continua-no-autosimulado/' rel='bookmark' title='Permanent Link: Integração contínua no autosimulado'>Integração contínua no autosimulado</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p><script src='http://codestacker.com/102.js'></script></p>
<p>Agora, é possível 'embedar' códigos do <a href="http://www.codestacker.com">codestacker</a> em seu site! No update de hoje, implementei esse recurso e finalmente, um sistema de busca.</p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/10/23/integracao-continua-no-codestacker/' rel='bookmark' title='Permanent Link: Integração contínua no codestacker'>Integração contínua no codestacker</a></li><li><a href='http://leonardofaria.net/2008/07/02/nasceu-codestackercom/' rel='bookmark' title='Permanent Link: Nasceu: codestacker.com'>Nasceu: codestacker.com</a></li><li><a href='http://leonardofaria.net/2009/04/03/integracao-continua-no-autosimulado/' rel='bookmark' title='Permanent Link: Integração contínua no autosimulado'>Integração contínua no autosimulado</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2008/11/16/codigo-embedavel-no-codestacker/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Migrations sem timestamp</title>
		<link>http://leonardofaria.net/2008/11/09/migrations-sem-timestamp/</link>
		<comments>http://leonardofaria.net/2008/11/09/migrations-sem-timestamp/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 16:22:44 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=425</guid>
		<description><![CDATA[No Rails 2.0, os arquivos de migração eram gerados com o prefixo do timestamp. Exemplo: 20080614155951_create_users.rb. Nas versões anteriores, o prefixo era numérico. Para o Rails 2.2, será possível você mesmo configurar isso, definindo no environment.rb:

Vale a pena a leitura do Release Notes do Rails 2.2 e, se você ainda não pegou o RC 1 [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/10/12/prepare-se-para-o-rails-20/' rel='bookmark' title='Permanent Link: Prepare-se para o Rails 2.0'>Prepare-se para o Rails 2.0</a></li><li><a href='http://leonardofaria.net/2007/12/16/locomotive-com-rails-20/' rel='bookmark' title='Permanent Link: Locomotive com Rails 2.0'>Locomotive com Rails 2.0</a></li><li><a href='http://leonardofaria.net/2009/11/14/rails-e-cia-no-snow-leopard/' rel='bookmark' title='Permanent Link: Rails e cia no Snow Leopard'>Rails e cia no Snow Leopard</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>No Rails 2.0, os arquivos de migração eram gerados com o prefixo do timestamp. Exemplo: 20080614155951_create_users.rb. Nas versões anteriores, o prefixo era numérico. Para o Rails 2.2, será possível você mesmo configurar isso, definindo no environment.rb:</p>
<p><script src='http://codestacker.com/120.js'></script></p>
<p>Vale a pena a leitura do <a href="http://www.akitaonrails.com/2008/10/24/tradu-o-ruby-on-rails-2-2-release-notes">Release Notes do Rails 2.2</a> e, se você ainda não pegou o RC 1 do Rails, lembre-se:</p>
<div class="syntax_hilite">
<div id="ruby-36">
<div class="ruby">gem install rails -s http://gems.<span class="me1">rubyonrails</span>.<span class="me1">org</span> -v <span class="nu0">2</span>.<span class="nu0">2</span>.<span class="nu0">0</span></div>
</div>
</div>
<p></p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2007/10/12/prepare-se-para-o-rails-20/' rel='bookmark' title='Permanent Link: Prepare-se para o Rails 2.0'>Prepare-se para o Rails 2.0</a></li><li><a href='http://leonardofaria.net/2007/12/16/locomotive-com-rails-20/' rel='bookmark' title='Permanent Link: Locomotive com Rails 2.0'>Locomotive com Rails 2.0</a></li><li><a href='http://leonardofaria.net/2009/11/14/rails-e-cia-no-snow-leopard/' rel='bookmark' title='Permanent Link: Rails e cia no Snow Leopard'>Rails e cia no Snow Leopard</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2008/11/09/migrations-sem-timestamp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>RubyMine: Textmate-killer?</title>
		<link>http://leonardofaria.net/2008/11/08/rubymine-textmate-killer/</link>
		<comments>http://leonardofaria.net/2008/11/08/rubymine-textmate-killer/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 19:07:41 +0000</pubDate>
		<dc:creator>Leonardo</dc:creator>
		
		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://leonardofaria.net/?p=422</guid>
		<description><![CDATA[Essa semana apareceu uma nova IDE para Ruby: a RubyMine, que se auto-denomina com a mais inteligente IDE para Ruby. O software é multiplataforma e parece ser bem interessante. Notei algumas coisinhas numa primeira-impressão:
1) há templates para testes (RSpec e TestUnit)
2) integração com o Mac OS: o look'n feel não combina muito (= feia) com [...]

<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/08/16/acelerando-seu-textmate/' rel='bookmark' title='Permanent Link: Acelerando seu Textmate'>Acelerando seu Textmate</a></li><li><a href='http://leonardofaria.net/2008/07/11/rails-screencasts/' rel='bookmark' title='Permanent Link: Rails Screencasts'>Rails Screencasts</a></li><li><a href='http://leonardofaria.net/2009/02/08/documentacao-do-rails-e-ruby-no-spotlight/' rel='bookmark' title='Permanent Link: Documentação do Rails e Ruby no Spotlight'>Documentação do Rails e Ruby no Spotlight</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Essa semana apareceu uma nova IDE para Ruby: a <a href="http://www.jetbrains.com/ruby/index.html">RubyMine</a>, que se auto-denomina com a mais inteligente IDE para Ruby. O software é multiplataforma e parece ser bem interessante. Notei algumas coisinhas numa primeira-impressão:</p>
<p>1) há templates para testes (RSpec e TestUnit)<br />
<a href='http://www.jetbrains.com/ruby/index.html'><img src="http://leonardofaria.net/wp-content/uploads/2008/11/rubymine.jpg" alt="" title="RubyMine" class="foto" align="right" /></a>2) integração com o Mac OS: o look'n feel não combina muito (= feia) com o sistema e ele está mais para NetBeans e Eclipse do que para um Textmate. Nada de maçã + w para fechar um arquivo nem maçã + n para um novo arquivo. A velocidade dele também está mais para NetBeans/Eclipse do que para um Textmate<br />
3) inspetor: ele possui um inspetor interessante: para CSS, por exemplo, ele verifica suas folhas de estilo e informa por imagens quebradas, seletores não usados e código desnecessário (como escrever '0px', onde somente '0' já resolve). Para Ruby, ele verifica, entre vários itens, referências não resolvidas e erros em chamadas de métodos (apesar de que, no meu projeto, o que ele inspencionou estava certo)<br />
4) parece ter uma integração interessante com controle de versão (Git, Subversion e CVS)<br />
5) ele também tem um Go to File, como no Textmate<br />
6) ele tem uma janela amigável para rodar scripts (como o RadRails)</p>
<p>Essa próxima semana vou utilizá-lo e ver se ele pode ser um Textmate-killer ou uma boa alternativa para Windows e Linux. </p>


<h3>Posts relacionados:</h3><ul><li><a href='http://leonardofaria.net/2008/08/16/acelerando-seu-textmate/' rel='bookmark' title='Permanent Link: Acelerando seu Textmate'>Acelerando seu Textmate</a></li><li><a href='http://leonardofaria.net/2008/07/11/rails-screencasts/' rel='bookmark' title='Permanent Link: Rails Screencasts'>Rails Screencasts</a></li><li><a href='http://leonardofaria.net/2009/02/08/documentacao-do-rails-e-ruby-no-spotlight/' rel='bookmark' title='Permanent Link: Documentação do Rails e Ruby no Spotlight'>Documentação do Rails e Ruby no Spotlight</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://leonardofaria.net/2008/11/08/rubymine-textmate-killer/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
