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

<channel>
	<title>Joe Rabelo</title>
	<atom:link href="http://blog.joerabelo.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.joerabelo.com</link>
	<description>blog de um programador</description>
	<pubDate>Wed, 24 Sep 2008 16:14:06 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Explorando Generic Views do Django</title>
		<link>http://blog.joerabelo.com/2008/09/24/explorando-generic-views-do-django/</link>
		<comments>http://blog.joerabelo.com/2008/09/24/explorando-generic-views-do-django/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 16:04:42 +0000</pubDate>
		<dc:creator>joerabelo</dc:creator>
		
		<category><![CDATA[django]]></category>

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

		<category><![CDATA[generic views]]></category>

		<guid isPermaLink="false">http://blog.joerabelo.com/?p=10</guid>
		<description><![CDATA[Explicações
Como já diz o título do post, aos poucos estou explorando as inúmeras facilidades que o Django oferece. Realmente esta é uma ferramenta fantástica! Ou melhor, um framework fantástico. Se você trabalha com web, procure conhecê-lo.

Minha idéia inicial, seria estar escrevendo de forma simples, como começar a utilizar o Django, para aqueles que já ouviram [...]]]></description>
			<content:encoded><![CDATA[<h3>Explicações</h3>
<p>Como já diz o título do post, aos poucos estou explorando as inúmeras facilidades que o <a title="Django Project" href="http://www.djangoproject.com/" target="_blank">Django</a> oferece. Realmente esta é uma ferramenta fantástica! Ou melhor, um framework fantástico. Se você trabalha com web, procure conhecê-lo.</p>
<p style="text-align: center;"><a href="http://www.djangoproject.com/"><img class="aligncenter" title="Django Framework" src="http://media.djangoproject.com/img/site/hdr_logo.gif" alt="Django Framework" width="117" height="41" /></a></p>
<p>Minha idéia inicial, seria estar escrevendo de forma simples, como começar a utilizar o Django, para aqueles que já ouviram falar nele ou estão a procura de um amigão que faça o trabalho duro de um website pra você. Ainda não consegui escrever nada neste sentido e simplesmente não sei por quê. Diria que é falta de tempo, mas como ele é tão rápido e simples, não posso dar esta desculpa <img src='http://blog.joerabelo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Mesmo assim, sem mais delongas, vou falar sobre algo que aprendi recentemente e julgo ser muito útil.</p>
<h3>Agora sim, o problema</h3>
<p>Querendo aproveitar da praticidade das <a href="http://docs.djangoproject.com/en/dev/ref/generic-views/" target="_blank">generic views</a>, esbarrei em um (aparente) problema. Como utilizar um parâmetro passado pela url como filtro para o queryset do objeto views.generic.list_detail.object_list que é um generic view utilizado para listar objetos (registros de banco).</p>
<p>Para que possamos utilizar a generic view e utilizar um filtro extra sendo passado pela url, faremos o seguinte.</p>
<h3>A solução</h3>
<p>Vamos utilizar o nome dos usuários do sistema para listar apenas as tarefas deste mesmo usuário.</p>
<p>Eis um exemplo de url, que obviamente deve ser adicionada ao arquivo urls.py adequado:</p>
<p><code><br />
(<span class="s">&#8216;r^lists/(?P\w+)/$&#8217;</span>, <span class="string">&#8216;myproject.myapp.views.user_lists&#8217;</span>),<br />
</code></p>
<p>Agora editaremos o arquivo views.py da aplicação utilizada (myapp/views.py) com o seguinte código:<br />
<code><br />
<span class="k">from</span> <span class="nn">django.views.generic.list_detail</span> <span class="k">import</span> <span class="n">object_list</span><br />
<span class="k">from</span> <span class="nn">myproject.myapp.models</span> <span class="k">import</span> <span class="n">TodoList</span></code><br />
<code><span class="k">def</span> <span class="nf">user_lists</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">username</span><span class="p">):</span><br />
<span class="i"><span class="n">todo_lists</span> <span class="o">=</span> <span class="n">TodoList</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">username__exact</span><span class="o">=</span><span class="n">username</span><span class="p">)</span></span><br />
<span class="i"><span class="k">return</span> <span class="n">object_list</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">queryset</span><span class="o">=</span><span class="n">todo_lists</span><span class="p">)</span></span></code></p>
<p>Pronto! Repare que o parâmetro variável passado na url é utilizada para filtar apenas as tarefas deste usuário.</p>
<p>Se desejar ou for necessário você pode utilizar os outros parâmetros do objeto object_list, conforme o exemplo:<br />
<code><br />
<span class="n">object_list</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">queryset</span><span class="o">=</span><span class="n">todo_lists</span><span class="p">,</span><br />
<span class="i"><span class="n">extra_context</span><span class="o">=</span><span class="p">{</span><span class="s">&#8216;open_item_count&#8217;</span><span class="p">:</span> <span class="n">open_item_count</span><span class="p">,</span></span><br />
<span class="i"><span class="s">&#8216;priority_items&#8217;</span><span class="p">:</span> <span class="n">priority_items</span><span class="p">})</span></span></code></p>
<h3>Conclusão</h3>
<p>É simples assim, divirta-se e até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joerabelo.com/2008/09/24/explorando-generic-views-do-django/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Visualizar consultas correntes no Postgresql</title>
		<link>http://blog.joerabelo.com/2008/06/12/visualizar-consultas-correntes-no-postgresql/</link>
		<comments>http://blog.joerabelo.com/2008/06/12/visualizar-consultas-correntes-no-postgresql/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 18:07:57 +0000</pubDate>
		<dc:creator>joerabelo</dc:creator>
		
		<category><![CDATA[postgresql]]></category>

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

		<guid isPermaLink="false">http://joerabelo.wordpress.com/?p=6</guid>
		<description><![CDATA[Para que seja possível visualizar uma consulta corrente no postgresql, não é necessário nenhuma solução milagrosa, pelo contrário, é muito simples.
Primeiramente é necessário habilitar o parâmetro stats_command_string com o valor true no arquivo de configuração postgresql.conf.
stats_command_string = true
Esta configuração pode ser alterada com o banco de dados ativo, sem necessidade de reiniciá-lo. Para isto basta [...]]]></description>
			<content:encoded><![CDATA[<p>Para que seja possível visualizar uma consulta corrente no postgresql, não é necessário nenhuma solução milagrosa, pelo contrário, é muito simples.</p>
<p>Primeiramente é necessário habilitar o parâmetro <em>stats_command_string</em> com o valor <em>true</em> no arquivo de configuração <em>postgresql.conf.</em></p>
<p><strong>stats_command_string = true</strong></p>
<p>Esta configuração pode ser alterada com o banco de dados ativo, sem necessidade de reiniciá-lo. Para isto basta executar o seguinte comando após realizar a alteração.</p>
<p><strong>pg_ctl reload</strong></p>
<p>Ao ser habilitado o parâmetro <em>stats_command_string</em> o postgresql passa a armazenar em <em>pg_stat_activity</em> a query que está sendo executada.</p>
<p>É importante notar que esta alteração irá causar algum retardo e perda de performance, adicionando uma sobrecarga adicional aos comandos do banco de dados, portanto é necessário avaliar o benefício trago por esta modificação.</p>
<p>Para que você possa visualizar a consulta que esta sendo realizada no momento, realize a seguinte query.</p>
<p><strong>select datname, procpid, query_start, current_query, client_addr<br />
from pg_stat_activity</strong></p>
<p>o resultado será algo como:</p>
<pre>
datname | procpid |     query_start     |     current_query
--------+---------+---------------------+-----------------------
banco1  |  49111  | 2008-06-12 14:40:37 | select * from tabela1
banco2  |  49112  | 2008-06-12 14:53:37 | select * from tabela2
</pre>
<p>Pronto, agora você consegue saber exatamente a consulta corrente que está sendo executada no postgresql.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joerabelo.com/2008/06/12/visualizar-consultas-correntes-no-postgresql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Weblog, Feeds e cia</title>
		<link>http://blog.joerabelo.com/2008/06/05/weblog-feeds-e-cia/</link>
		<comments>http://blog.joerabelo.com/2008/06/05/weblog-feeds-e-cia/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 21:19:26 +0000</pubDate>
		<dc:creator>joerabelo</dc:creator>
		
		<category><![CDATA[Sem-categoria]]></category>

		<guid isPermaLink="false">http://joerabelo.wordpress.com/?p=4</guid>
		<description><![CDATA[Ola pessoal,
Depois de muito tempo sem escrever nada, resolvi tirar alguns minutinhos para escrever algo. Hoje não vou falar de nada técnico. Gostaria apenas de falar sobre minha experiência com algumas ferramentas web 2.0 que achei bem interessantes.

O primeiro deles é o google reader que é mais um dos excelentes serviços inteiramente gratuitos desta empresa [...]]]></description>
			<content:encoded><![CDATA[<p>Ola pessoal,</p>
<p>Depois de muito tempo sem escrever nada, resolvi tirar alguns minutinhos para escrever algo. Hoje não vou falar de nada técnico. Gostaria apenas de falar sobre minha experiência com algumas ferramentas web 2.0 que achei bem interessantes.</p>
<p><img src="http://www.comunidade.cn/upload/escritofoto/67632.jpg" alt="Feeds" width="380" height="380" /></p>
<p>O primeiro deles é o <a title="Google Reader" href="http://www.google.com.br/reader/" target="_blank">google reader</a> que é mais um dos excelentes serviços inteiramente gratuitos desta empresa que se tornou um monstro da rede. O google reader é um leitor de feeds online que mantém a mesma identidade visual utilizada por todos os serviços da google.</p>
<p>Ele tem algumas funcionalidades muito interessantes também, que já são obrigatórios em praticamente todos os serviços do tipo encontrados na net; como favoritos, compartilhamento de notícias, envio por email (óbvio), tags e acompanhamento de leitura dos seus feeds.</p>
<p><img src="http://assets2.twitter.com/images/twitter.png?1212377397" alt="Twitter" width="210" height="49" /></p>
<p>Outro serviço interessante é o <a title="Twitter" href="http://twitter.com/" target="_blank">twitter</a>, que se assemelha ao objetivo do weblog, porém muito mais dinâmico e iterativo, que é a uma das propostas da web 3.0. Nele você pode postar em intervalos bem pequenos e com conteúdo bem mais objetivo, aquilo que você esta fazendo no momento. Além de relatar aquilo que você esta fazendo, descobrindo e pensando, outras pessoas relacionadas a você pode responder, debater e discutir suas idéias de forma instantânea e deixando arquivado para quem queira acompanhar seus passos ou discutir suas idéias.</p>
<p>Sei que isto não é novidade para muitos, mas achei compartilhar sobre estas ferramentas.</p>
<p>Para quem quiser acompanhar, meu twitter é http://twitter.com/joerabelo.</p>
<p>Abraços e até a próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joerabelo.com/2008/06/05/weblog-feeds-e-cia/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Aprenda a Programar</title>
		<link>http://blog.joerabelo.com/2008/01/31/aprenda-a-programar/</link>
		<comments>http://blog.joerabelo.com/2008/01/31/aprenda-a-programar/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 13:44:25 +0000</pubDate>
		<dc:creator>joerabelo</dc:creator>
		
		<category><![CDATA[ruby]]></category>

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

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

		<guid isPermaLink="false">http://joerabelo.wordpress.com/?p=3</guid>
		<description><![CDATA[Para aqueles que desejam aprender a programar, existem inúmeras apostilas, livros e tutoriais, principalmente no idioma inglês, porém, nem sempre  tão detalhado e explicado quanto poderia ser, para um iniciante.

No entanto, Chris Pine teve a iniciativa de fazê-lo, e utilizando a linguagem Ruby, que é uma das linguagens mais simples e de fácil compreensão humana.  E graças a vários voluntários da [...]]]></description>
			<content:encoded><![CDATA[<p>Para aqueles que desejam aprender a programar, existem inúmeras apostilas, livros e tutoriais, principalmente no idioma inglês, porém, nem sempre  tão detalhado e explicado quanto poderia ser, para um iniciante.</p>
<div STYLE="text-align: center"><img SRC="http://aprendaaprogramar.rubyonrails.pro.br/images/LTP_cover.jpg" BORDER="0" WIDTH="100" HEIGHT="120" /></div>
<p>No entanto, Chris Pine teve a iniciativa de fazê-lo, e utilizando a linguagem Ruby, que é uma das linguagens mais simples e de fácil compreensão humana.  E graças a vários voluntários da comunidade rails brasileira, em um tempo impressionante,  menos de uma semana, a tradução do livro foi feita para o nosso espetacular idioma em uma versão <a HREF="http://aprendaaprogramar.rubyonrails.pro.br" TARGET="_blank">html</a> e outra em <a HREF="http://aprendaaprogramar.rubyonrails.pro.br/pdf/Aprenda_a_Programar_ultimaversao.pdf" TARGET="_blank">PDF</a>.</p>
<p>Então, aqueles que desejam se aventurar à programar ou conhecer o Ruby na sua forma mais básica e simples, bom estudo!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joerabelo.com/2008/01/31/aprenda-a-programar/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hello World!</title>
		<link>http://blog.joerabelo.com/2007/12/27/oi-mundo/</link>
		<comments>http://blog.joerabelo.com/2007/12/27/oi-mundo/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 19:18:06 +0000</pubDate>
		<dc:creator>joerabelo</dc:creator>
		
		<category><![CDATA[off-topic]]></category>

		<guid isPermaLink="false">http://blog.joerabelo.com/?p=4</guid>
		<description><![CDATA[Bem vindos ao meu blog!
Como praticamente todo início no mundo da programação, estou  iniciando meu weblog também com o conhecido &#8221;Olá Mundo&#8220;.
Pretendo compartilhar aqui, sempre que possível, algumas  dicas, tutoriais e conhecimentos a respeito de tecnologia e desenvolvimento de software.
Espero que gostem e fiquem a vontade para participar.
Até a próxima!
]]></description>
			<content:encoded><![CDATA[<p>Bem vindos ao meu blog!</p>
<p>Como praticamente todo início no mundo da programação, estou  iniciando meu weblog também com o conhecido &#8221;<strong>Olá Mundo</strong>&#8220;.</p>
<p>Pretendo compartilhar aqui, sempre que possível, algumas  dicas, tutoriais e conhecimentos a respeito de tecnologia e desenvolvimento de software.</p>
<p>Espero que gostem e fiquem a vontade para participar.</p>
<p>Até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joerabelo.com/2007/12/27/oi-mundo/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
