<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Flex nos Trilhos</title>
	<atom:link href="http://italomatos.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://italomatos.wordpress.com</link>
	<description>Tecnologia você encontra aqui.</description>
	<lastBuildDate>Fri, 20 Jun 2008 01:59:33 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='italomatos.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Flex nos Trilhos</title>
		<link>http://italomatos.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://italomatos.wordpress.com/osd.xml" title="Flex nos Trilhos" />
	<atom:link rel='hub' href='http://italomatos.wordpress.com/?pushpress=hub'/>
		<item>
		<title>XML no ActiveRecord</title>
		<link>http://italomatos.wordpress.com/2008/06/08/xml-no-activerecord/</link>
		<comments>http://italomatos.wordpress.com/2008/06/08/xml-no-activerecord/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 01:20:22 +0000</pubDate>
		<dc:creator>italomatos</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://italomatos.wordpress.com/?p=23</guid>
		<description><![CDATA[Bem Pessoal , hoje vamos falar um pouco de XML com Ruby on Rails, mais precisamente nos ActiveRecord. Existe um método no ActiveRecord que é o to_xml, ele retorna os dados de um Model, ou os dados de uma coleção no formato XML. Vamos a alguns Exemplos: Temos a tabela Produtos com os seguinte atributos: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=italomatos.wordpress.com&amp;blog=2351100&amp;post=23&amp;subd=italomatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bem Pessoal , hoje vamos falar um pouco de XML com Ruby on Rails, mais precisamente nos ActiveRecord.</p>
<p>Existe um método no ActiveRecord que é o to_xml, ele retorna os dados de um Model, ou os dados de uma coleção no formato XML. Vamos a alguns Exemplos:</p>
<p>Temos a tabela Produtos com os seguinte atributos:</p>
<blockquote><p>* id<br />
* nome<br />
* descricao<br />
* preco</p></blockquote>
<p>Em nossa aplicação temos o Model Produto, referente a tabela Produtos.</p>
<p>Vamos criar um controller para que possamos testar o metodo de conversão pra XML.</p>
<p>ruby script/generate controller produtos</p>
<p>então vamos editar o arquivo criado em app/controller/produtos_controller.rb</p>
<p><code>class ProdutosController  Produto.find(params[:id]).to_xml<br />
end<br />
end<br />
</code><br />
Então acessando o endereço http://localhost:3000/aplicacao/produtos/produtoXml?id=1 aparecerá:</p>
<div class="e"><span style="color:#ff0000;">&lt;</span><span style="color:#ff0000;"><span class="m"><span class="pi">xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;</span> <span class="m">?&gt;</span></span></span></div>
<div class="e">
<blockquote>
<div class="c" style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">produto</span><span class="m">&gt;</span></span></div>
<blockquote>
<div class="e">
<div style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">descricao</span><span class="m">&gt;</span><span class="tx">Monitor LCD 17&#8242;&lt;</span><span class="m">&lt;!&#8211;</span><span class="t">descricao</span><span class="m">&gt;</span></span></div>
</div>
<div class="e">
<div style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">id</span> <span class="t">type</span><span class="m">=&#8221;</span><strong>integer</strong><span class="m">&#8220;</span><span class="m">&gt;</span><span class="tx">1</span><span class="m">&lt;!&#8211;</span><span class="m">&gt;</span></span></div>
</div>
<div class="e">
<div style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">nome</span><span class="m">&gt;</span><span class="tx">moinitor&lt;</span><span class="m">&lt;!&#8211;</span><span class="t">nome</span><span class="m">&gt;</span></span></div>
</div>
<div class="e">
<div style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">preco</span> <span class="t">type</span><span class="m">=&#8221;</span><strong>integer</strong><span class="m">&#8220;</span><span class="m">&gt;</span><span class="tx">600&lt;</span><span class="m">&lt;!&#8211;</span><span class="t">preco</span><span class="m">&gt;</span></span></div>
</div>
</blockquote>
<p><span style="color:#ff0000;"> <span class="m"> <span class="m">&lt;/produto&gt;</span></span></span></p></blockquote>
</div>
<p>legal né ? bem pratico .</p>
<p>Certo, mas o método não é so isso. Por exemplo, vamos dizer que não tivéssemos a necessidade da descrição do produto no XML, então poderiamos fazer da seguinte forma:</p>
<p><code>&lt;code&gt;...<br />
render <img src='http://s2.wp.com/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' /> ml =&gt; Produto.find(params[:id]).to_xml(:except=&gt;:descricao)<br />
...<br />
</code></p>
<p>Tendo como resultado:</p>
<p><span style="color:#ff0000;"><span class="m"><span class="pi">xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;</span> <span class="m">?&gt;</span></span></span></p>
<div class="e">
<blockquote>
<div class="c" style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">produto</span><span class="m">&gt;</span></span></div>
<blockquote>
<div class="e">
<div style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">id</span> <span class="t">type</span><span class="m">=&#8221;</span><strong>integer</strong><span class="m">&#8220;</span><span class="m">&gt;</span><span class="tx">1&lt;</span><span class="m">&lt;!&#8211;</span><span class="t">id</span><span class="m">&gt;</span></span></div>
</div>
<div style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">nome</span><span class="m">&gt;</span><span class="tx">moinitor</span><span class="m">&lt;!&#8211;</span><span class="m">&gt;</span></span></div>
<div style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">preco</span> <span class="t">type</span><span class="m">=&#8221;</span><strong>integer</strong><span class="m">&#8220;</span><span class="m">&gt;</span><span class="tx">600&lt;</span><span class="m">&lt;!&#8211;</span><span class="t">preco</span><span class="m">&gt;</span></span></div>
</blockquote>
</blockquote>
<div>
<div>
<blockquote><p><span style="color:#ff0000;">&lt;</span><span style="color:#ff0000;"><span class="m">&lt;!&#8211;</span><span class="t">/produto</span><span class="m">&gt;</span></span></p></blockquote>
</div>
</div>
</div>
<p>Interessante hein ? Ou senão vamos dizer que precise somente do id e o nome do produto. Poderíamos usar o <img src='http://s1.wp.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> nly da seguinte forma:<br />
<code><br />
...<br />
render <img src='http://s2.wp.com/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' /> ml =&gt; Produto.find(params[:id]).to_xml(:only=&gt;[:id,:nome])<br />
...<br />
</code></p>
<p>Certo. mas não paramos por ai, o to_xml funciona com Array tambem , como por exemplo:</p>
<p><code><br />
...<br />
render <img src='http://s2.wp.com/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' /> ml =&gt; Produto.find(:all).to_xml(:only=&gt;[:id,:nome])<br />
...<br />
</code><br />
Tendo como resultado:</p>
<div class="e"><span style="color:#ff0000;">&lt;</span><span style="color:#ff0000;"><span class="m"><span class="pi">xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;</span> <span class="m">?&gt;</span></span></span></div>
<div class="e">
<div class="c" style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><a class="b" href="http://italomatos.blog.com/#">-</a> <span class="m">&lt;</span><span class="t">produtos</span><span class="m">&gt;</span></span></div>
<div>
<blockquote>
<div class="e">
<div class="c" style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">produto</span><span class="m">&gt;</span></span></div>
<div>
<div class="e">
<blockquote>
<div><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">id</span> <span class="t">type</span><span class="m">=&#8221;</span><strong>integer</strong><span class="m">&#8220;</span><span class="m">&gt;</span><span class="tx">1&lt;</span><span class="b">&lt;!&#8211;</span><span class="t">id</span><span class="m">&gt;</span></span></span></div>
<div><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">nome</span><span class="m">&gt;</span><span class="tx">moinitor</span><span class="b">&lt;!&#8211;</span><span class="m">&gt;</span></span></span></div>
</blockquote>
<div><span style="color:#ff0000;"><span class="m"><span class="m">&gt;</span></span></span></div>
</div>
</div>
</div>
<div class="c" style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">produto</span><span class="m">&gt;</span></span></div>
<blockquote>
<div class="e">
<div style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">id</span> <span class="t">type</span><span class="m">=&#8221;</span><strong>integer</strong><span class="m">&#8220;</span><span class="m">&gt;</span><span class="tx">2</span><span class="m">&lt;!&#8211;</span><span class="m">&gt;</span></span></span></div>
<div style="margin-left:1em;text-indent:-2em;"><span style="color:#ff0000;"><span class="m">&lt;</span><span class="t">nome</span><span class="m">&gt;</span><span class="tx">Gravadora de DVD&lt;</span><span class="m">&lt;!&#8211;</span><span class="t">nome</span><span class="m">&gt;</span></span></span></div>
</div>
</blockquote>
<div class="e"></div>
<p><span style="color:#ff0000;"> <span class="m">&lt;!&#8211;</span> &lt;/produto <span class="m">&gt;</span></span></span></p></blockquote>
<div><span style="color:#ff0000;">&lt;</span><span style="color:#ff0000;"><span class="m">&lt;!&#8211;</span><span class="t">/produtos</span><span class="m">&gt;</span></span></span></div>
</div>
</div>
<p>Então pelo que viamos é bastante simples trabalhar com XML nos ActiveRecord. Até a próxima pessoal!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/italomatos.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/italomatos.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/italomatos.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/italomatos.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/italomatos.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/italomatos.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/italomatos.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/italomatos.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/italomatos.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/italomatos.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/italomatos.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/italomatos.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/italomatos.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/italomatos.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/italomatos.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/italomatos.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=italomatos.wordpress.com&amp;blog=2351100&amp;post=23&amp;subd=italomatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://italomatos.wordpress.com/2008/06/08/xml-no-activerecord/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2c8aa5935b571e7613f87f58e150d12?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">italomatos</media:title>
		</media:content>
	</item>
		<item>
		<title>Evitando Inject SQL Com Rails</title>
		<link>http://italomatos.wordpress.com/2008/06/08/evitando-inject-sql-com-rails/</link>
		<comments>http://italomatos.wordpress.com/2008/06/08/evitando-inject-sql-com-rails/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 01:16:30 +0000</pubDate>
		<dc:creator>italomatos</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://italomatos.wordpress.com/?p=22</guid>
		<description><![CDATA[Bem Pessoal, Hoje iremos falar de como evitar injeções SQL com Rails. Vamos dizer que temos uma tabela de usuario com os seguintes campos: #Tabela Usuario * id- Integer * Nome &#8211; Varchar(255) * Login &#8211; Varchar(255) * Senha &#8211; Varchar(255) * Admin &#8211; Boolean E temos uma pagina do nosso site para buscar usuarios [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=italomatos.wordpress.com&amp;blog=2351100&amp;post=22&amp;subd=italomatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bem Pessoal,</p>
<p>Hoje iremos falar de como evitar injeções SQL com Rails.</p>
<p>Vamos dizer que temos uma tabela de usuario com os seguintes campos:</p>
<blockquote><p>#Tabela Usuario</p>
<p>* id- Integer<br />
* Nome &#8211; Varchar(255)<br />
* Login &#8211; Varchar(255)<br />
* Senha &#8211; Varchar(255)<br />
* Admin &#8211; Boolean</p></blockquote>
<p>E temos uma pagina do nosso site para buscar usuarios pelo o nome na nossa base de dados.</p>
<p>Nosso Modelo Usuario:</p>
<p>#model</p>
<p><code>class Usuario &lt; ActiveRecord::Base<br />
end</code></p>
<p>Então temos no nosso UsuarioController o seguinte:</p>
<p>#<code>controller<br />
class UsuarioController &lt; ApplicationController<br />
def buscaUsuario<br />
if params[:nome]<br />
@usuarios = Usuario.find(:all,:conditions=&gt;"nome like '%#{params[:nome]}%'")<br />
else<br />
@usuarios = Usuario.find(:all)<br />
end<br />
end<br />
end<br />
</code><br />
E na view referente ao action buscarUsuario:</p>
<p><code>#view<br />
&lt;%=form_tag %&gt;<br />
&lt;%=text_field_tag "nome",nil %&gt;<br />
&lt;%=submit_tag "Buscar"%&gt;<br />
&lt;% for usuario in @usuarios%&gt;<br />
&lt;% end %&gt;<br />
&lt;%=usuario.nome%&gt;<br />
&lt;%=end_form_tag %&gt;</code></p>
<p>Então, basicamente temos um input, onde é digitado o nome do usuario, e o sistema mostra uma lista de usuarios que possui o que foi digitado no nome do usuario.</p>
<p>Ex.: Matos</p>
<p>resultado:</p>
<p>* Italo Matos<br />
* Ronaldo Matos<br />
* Matos José</p>
<p>O resultado está Ok. Então o que está errado ? Não é que a implementação esteja errado, mas com essa implementação abrimos furos na aplicação, e se tivermos um usuario malicioso, pode se aproveitar desses furos.</p>
<p><code><br />
...<br />
@usuarios = Usuario.find(:all,:conditions=&gt;"nome like '%#{params[:nome]}%'")<br />
...<br />
</code></p>
<p>Acima temos implementação feita no nosso controller. Vamos digitar no input a palavra Matos então será gerado a seguinte consulta SQL:</p>
<p>SELECT * FROM usuarios WHERE (nome like &#8216;%Matos%&#8217; )</p>
<p>Certo , até ai tudo bem.</p>
<p>Agora vamos dizer que o usuário digitou no input %&#8217; and admin = 1 and &#8216;%%&#8217; = &#8216;% Então , qual a consulta será gerada? a resposta logo abaixo:</p>
<p>SELECT * FROM usuarios WHERE (nome like &#8216;%%&#8217; and admin = 1 and &#8216;%%&#8217; = &#8216;%%&#8217;)</p>
<p>Ai é onde mora o perigo, ele irá listar todos os administradores do sistema, independente do nome. Isso dai que é chamado de injeção SQL. Conseguiu injectar codigo SQL em uma consulta, onde na verdade a consulta seria somente para buscar um usuario com um determinado nome.</p>
<p>Para previnirmos desses ataques, trocaremos no nosso controller:</p>
<p>&#8230;</p>
<p><code>@usuarios = Usuario.find(:all,:conditions=&gt;"nome like '%#{params[:nome]}%'")</code></p>
<p>&#8230;</p>
<p>Por:</p>
<p><code>@usuarios = Usuario.find(:all,:conditions=&gt;["nome like ?","%"+params[:nome]+"%"])</code></p>
<p>Agora vamos ver como ficou a consulta SQL:</p>
<p>SELECT * FROM usuarios WHERE (nome like &#8216;%%&#8217; and admin = 1 and &#8216;%%&#8217; = &#8216;%%&#8217;)</p>
<p>ele o rails colocou as antes das aspas simples em que digitamos no input, assim nos previnimos das injeções SQL.</p>
<p>em consulta a banco de dados, deixe o framework tratar essas injeções.</p>
<p>Até a próxima pessoal.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/italomatos.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/italomatos.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/italomatos.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/italomatos.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/italomatos.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/italomatos.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/italomatos.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/italomatos.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/italomatos.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/italomatos.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/italomatos.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/italomatos.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/italomatos.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/italomatos.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/italomatos.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/italomatos.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=italomatos.wordpress.com&amp;blog=2351100&amp;post=22&amp;subd=italomatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://italomatos.wordpress.com/2008/06/08/evitando-inject-sql-com-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2c8aa5935b571e7613f87f58e150d12?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">italomatos</media:title>
		</media:content>
	</item>
		<item>
		<title>Usando ActiveRecord com Ruby sem Rails</title>
		<link>http://italomatos.wordpress.com/2008/06/08/usando-activerecord-com-ruby-sem-rails/</link>
		<comments>http://italomatos.wordpress.com/2008/06/08/usando-activerecord-com-ruby-sem-rails/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 01:11:11 +0000</pubDate>
		<dc:creator>italomatos</dc:creator>
				<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://italomatos.wordpress.com/?p=21</guid>
		<description><![CDATA[Bem Pessoal, Hoje iremos abordar um assunto bem interessante que seria o uso do modulo ActiveRecord sem a presença do Rails. O ActiveRecord tem como uma de suas principais funcionalidades abstrair o acesso ao banco de dados para o desenvolvedor. Através dele é possivel fazer todo o CRUD ( Create, Read, Update, Delete ) sem [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=italomatos.wordpress.com&amp;blog=2351100&amp;post=21&amp;subd=italomatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bem Pessoal,</p>
<p>Hoje iremos abordar um assunto bem interessante que seria o uso do modulo ActiveRecord sem a presença do Rails.</p>
<p>O ActiveRecord tem como uma de suas principais funcionalidades abstrair o acesso ao banco de dados para o desenvolvedor. Através dele é possivel fazer todo o CRUD ( Create, Read, Update, Delete ) sem usar a linguagem SQL, entre outras consultas inteligentes. Vamos a um exemplo:</p>
<p>Tenho minha tabela Contato, com os campos id, nome, telefone.</p>
<p>Então , teria uma classe Contato que herda da ActiveRecord::Base, onde no rails seria chamado de modelo.<br />
<code>class Contato &lt; ActiveRecord::Base<br />
end</code><br />
Somente por herdar da ActiveRecord::Base, essa clas já possui todos métodos de acesso a base de dados.<br />
<code><br />
#Criar um registro na base de dados<br />
Contato.create(:nome=&gt;"Italo Matos", :telefone=&gt;"29131829")<br />
#Consultar um registro por nome e imprimir na tela o id do mesmo.<br />
puts Contato.find_by_nome("Italo Matos") .id<br />
#Buscar o registro com o id igual a 1 e imprimir o nome na tela.<br />
puts Contato.find(1) .nome<br />
</code><br />
Então agora vamos saber como usar o ActiveRecord sem uso do rails. Vamos criar uma mini aplicação em Ruby que leia um arquivo texto com uma lista de contatos, e adicione na minha base de dados. O layout do arquivo segue o seguinte formato:</p>
<p>#nome Telefone</p>
<p>exemplo:</p>
<blockquote><p>#agenda.txt</p>
<p>Italo 3984298</p>
<p>Carlos 9349238</p>
<p>Andre 3984298</p>
<p>Ronaldo 9328439</p></blockquote>
<p>1o &#8211; Precisamos um arquivo com a configuração do nosso banco de dados, onde chamei de database.yml, onde tem o adapter , o nome da base de dados, login, senha e o host.</p>
<blockquote><p>#database.yml</p>
<p>adapter: mysql<br />
database: Agenda<br />
username: root<br />
password: 123456<br />
host: localhost</p></blockquote>
<p>2o &#8211; Vamos criar um arquivo chamado Processar.rb, onde o mesmo vai ler o agenda.txt, e cadastrar na base de dados Agenda, na tabela Contato.<br />
<code><br />
#Processar.rb<br />
require 'rubygems'<br />
require 'active_record'<br />
require 'yaml'<br />
dbconfig = YAML::load(File.open('database.yml'))<br />
ActiveRecord::Base.establish_connection(dbconfig)<br />
class Contato valores[0],:telefone=&gt;valores[1])<br />
end<br />
</code><br />
Executando o codigo: Ruby Processar.rb estaremos fazendo a migração dos dados em Agenda.txt para nossa base de dados. Então é isso ai pessoal, e até a próxima!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/italomatos.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/italomatos.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/italomatos.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/italomatos.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/italomatos.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/italomatos.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/italomatos.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/italomatos.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/italomatos.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/italomatos.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/italomatos.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/italomatos.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/italomatos.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/italomatos.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/italomatos.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/italomatos.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=italomatos.wordpress.com&amp;blog=2351100&amp;post=21&amp;subd=italomatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://italomatos.wordpress.com/2008/06/08/usando-activerecord-com-ruby-sem-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2c8aa5935b571e7613f87f58e150d12?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">italomatos</media:title>
		</media:content>
	</item>
		<item>
		<title>Chamando Javascript apartir do Flex</title>
		<link>http://italomatos.wordpress.com/2008/06/08/chamando-javascript-apartir-do-flex/</link>
		<comments>http://italomatos.wordpress.com/2008/06/08/chamando-javascript-apartir-do-flex/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 01:03:54 +0000</pubDate>
		<dc:creator>italomatos</dc:creator>
				<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://italomatos.wordpress.com/?p=20</guid>
		<description><![CDATA[Bem pessoal, Continuando a série de Flex, hoje iremos falar um pouco sobre como chamar funções javascript, apartir de uma aplicação em Flex. Então no meu HTML temos o seguinte java script: ... function alertar() { alert("Olá pessoal!"); } function soma(a,b) { return a+b; } ... Para chamar essa função apartir do flex basta no [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=italomatos.wordpress.com&amp;blog=2351100&amp;post=20&amp;subd=italomatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bem pessoal,</p>
<p>Continuando a série de Flex, hoje iremos falar um pouco sobre como chamar funções javascript, apartir de uma aplicação em Flex.</p>
<p>Então no meu HTML temos o seguinte java script:<br />
<code>...<br />
function alertar() {<br />
alert("Olá pessoal!");<br />
}<br />
function soma(a,b) {<br />
return a+b;<br />
}<br />
...</code><br />
Para chamar essa função apartir do flex basta no meu Action Script usar o metodo <em>call</em>, da classe <strong><em>ExternalInterface</em></strong>, como mostrarei abaixo.<br />
<code>...<br />
public function testando() : void {<br />
if (ExternalInterface.available) {<br />
/*1o parametro é o nome da função javascript, e o segundo são os argumentos, no caso se a função tiver algum   parametro.*/<br />
ExternalInterface.call("alertar",null);<br />
}<br />
}<br />
public function testandoComParametros() {<br />
if (ExternalInterface.available) {<br />
/* Esse segundo exemplo mostra de como passar os parametros e capturar o resultado.*/<br />
ExternalInterface.call("soma",1,2);<br />
}<br />
}<br />
...</code><br />
<em>Bem pessoal, com isso você pode chamar os javascript apartir do flex, um exemplo prático seria interagir com o mapa do google maps API, apartir do Action Script, que era o que estava precisando no momento que pensei em postar.</em></p>
<p><em>Até mais.</em></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/italomatos.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/italomatos.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/italomatos.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/italomatos.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/italomatos.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/italomatos.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/italomatos.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/italomatos.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/italomatos.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/italomatos.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/italomatos.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/italomatos.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/italomatos.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/italomatos.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/italomatos.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/italomatos.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=italomatos.wordpress.com&amp;blog=2351100&amp;post=20&amp;subd=italomatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://italomatos.wordpress.com/2008/06/08/chamando-javascript-apartir-do-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2c8aa5935b571e7613f87f58e150d12?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">italomatos</media:title>
		</media:content>
	</item>
		<item>
		<title>Impressão no Flex &#8211; FlexPrintJob</title>
		<link>http://italomatos.wordpress.com/2008/04/24/impressao-no-flex-flexprintjob/</link>
		<comments>http://italomatos.wordpress.com/2008/04/24/impressao-no-flex-flexprintjob/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 02:16:59 +0000</pubDate>
		<dc:creator>italomatos</dc:creator>
				<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://italomatos.wordpress.com/?p=18</guid>
		<description><![CDATA[Bem Pessoal, Hoje o assunto é muito importante para que deseja fazer impressões de relatórios. Existe uma class chamada FlexPrintJob que resolve isso para você. Vamos mostrar como deve ser feito. ... import mx.printing.FlexPrintJob; var p:FlexPrintJob = new FlexPrintJob(); public function imprimirGrafico() : void { if (p.start()) { p.addObject(areachart1); p.send(); } } .... Vamos agora [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=italomatos.wordpress.com&amp;blog=2351100&amp;post=18&amp;subd=italomatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bem Pessoal,</p>
<p>Hoje o assunto é muito importante para que deseja fazer impressões de relatórios.<br />
Existe uma class chamada FlexPrintJob que resolve isso para você. Vamos mostrar como deve ser feito.<br />
<code><br />
...<br />
import mx.printing.FlexPrintJob;<br />
var p:FlexPrintJob = new FlexPrintJob();<br />
public function imprimirGrafico() : void {<br />
if (p.start()) {<br />
p.addObject(areachart1);<br />
p.send();<br />
}<br />
}<br />
....<br />
</code></p>
<p>Vamos agora explicar:<br />
você instanciou um objeto p do tipo <a title="FlexPrintJob" href="http://livedocs.adobe.com/flex/2/langref/mx/printing/FlexPrintJob.html" target="_blank">FlexPrintJob</a>.<br />
no momento em que você chama o p.start() aparece a caixa de impressão, caso você cancele o p.start() retornará false. Se você clica em &#8220;Imprimir&#8221; o p.start() irá retornar true, continuando assim a execução do código.</p>
<p>p.addObject(areachart1) , você está adicionando somente o gráfico para impressão. Nesse caso, eu tenho na minha aplicação um objeto areachart1 do tipo AreaChart. Mas você pode colocar qualquer objeto que implemente a interface <a title="IUIComponent" href="http://livedocs.adobe.com/flex/2/langref/mx/core/IUIComponent.html" target="_blank">IUIComponent</a> .<br />
Então no momento que o usuário clicar no botão imprimir, a função <em>imprimirGrafico() </em>será chamada, e fazendo assim a impressão do gráfico que está na tela.</p>
<p>Até a próxima!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/italomatos.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/italomatos.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/italomatos.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/italomatos.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/italomatos.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/italomatos.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/italomatos.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/italomatos.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/italomatos.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/italomatos.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/italomatos.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/italomatos.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/italomatos.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/italomatos.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/italomatos.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/italomatos.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=italomatos.wordpress.com&amp;blog=2351100&amp;post=18&amp;subd=italomatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://italomatos.wordpress.com/2008/04/24/impressao-no-flex-flexprintjob/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2c8aa5935b571e7613f87f58e150d12?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">italomatos</media:title>
		</media:content>
	</item>
		<item>
		<title>IDE Flex com Rails</title>
		<link>http://italomatos.wordpress.com/2008/04/15/ide-flex-com-rails/</link>
		<comments>http://italomatos.wordpress.com/2008/04/15/ide-flex-com-rails/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 01:38:16 +0000</pubDate>
		<dc:creator>italomatos</dc:creator>
				<category><![CDATA[flex]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://italomatos.wordpress.com/?p=17</guid>
		<description><![CDATA[Bem Pessoal, como alguns já sabem, mudei o endereço do meu blog para esse do wordpress. Onde tenho várias vantagens em reação ao anterior, como layout, melhor controle, estaticas etc. Mas vamos lá, inaugurar o blog com um post bem interessante que testei no fim de semana. Ultimamente estou usando bastante o NetBeans 6.0 para [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=italomatos.wordpress.com&amp;blog=2351100&amp;post=17&amp;subd=italomatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bem Pessoal,</p>
<p>como alguns já sabem, mudei o endereço do meu blog para esse do wordpress. Onde tenho várias vantagens em reação ao anterior, como layout, melhor controle, estaticas etc. Mas vamos lá, inaugurar o blog com um post bem interessante que testei no fim de semana.</p>
<p>Ultimamente estou usando bastante o NetBeans 6.0 para desenvolver com Rails, até porque tinha muitas vantagens em relação ao redRails, e também devido a um projeto em java, que tem uma camada em rails, e outra em java, para não ficar usando 2 IDE`s optei em usar o NetBeans 6.0, onde me agradou bastante. Porém no fim de semana fiz uns testei com o Flex Builder 3.0, e juntamente com plugin do aptana e do Rad Rails, e gostei bastante do que vi. Então esse post vai ser mostrando como configurar o Flex Builder 3.0.</p>
<p>Vamos lá..</p>
<p>Para que não tem o Flex Builder Instalado, baixe no site ( http://www.adobe.com/products/flex/) e instale.</p>
<p>Abrindo o Flex Builder 3.0, vá em</p>
<p><em>Help-&gt;Software Updates-&gt;Find and Install</em></p>
<p>Clique em <em>Search for new features to install</em> <strong>[Next]</strong></p>
<p><em>New Remote Site</em> e adicione em name: Aptana e URL: http://update.aptana.com/update/studio/3.2/</p>
<p>Clique novamente em <em>New Remote Site</em> e coloque em name: RadRails e URL: http://update.aptana.com/install/rails/3.2/</p>
<p>Depois de ter adicionado os 2 plugins necessários, clique em <strong>[finish]</strong></p>
<p>E espere baixar e instalar. Depois disso reinicie o Flex Builder 3.0, e pronto. Já vai ter uma ferramenta robusta para desenvolver aplicações que envolve Flex + Rails. Produtividade ao extremo.</p>
<p>até a próxima pessoal.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/italomatos.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/italomatos.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/italomatos.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/italomatos.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/italomatos.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/italomatos.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/italomatos.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/italomatos.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/italomatos.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/italomatos.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/italomatos.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/italomatos.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/italomatos.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/italomatos.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/italomatos.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/italomatos.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=italomatos.wordpress.com&amp;blog=2351100&amp;post=17&amp;subd=italomatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://italomatos.wordpress.com/2008/04/15/ide-flex-com-rails/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2c8aa5935b571e7613f87f58e150d12?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">italomatos</media:title>
		</media:content>
	</item>
	</channel>
</rss>
