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

<channel>
	<title>Blog Patrick Espake &#187; public</title>
	<atom:link href="http://blog.patrickespake.com/tag/public/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.patrickespake.com</link>
	<description>O conhecimento evolui quando é compartilhado!</description>
	<lastBuildDate>Fri, 03 Sep 2010 04:24:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>Ruby como verificar se uma variável existe similar ao isset do PHP</title>
		<link>http://blog.patrickespake.com/2009/06/17/ruby-como-verificar-se-uma-variavel-existe-similar-ao-isset-do-php/</link>
		<comments>http://blog.patrickespake.com/2009/06/17/ruby-como-verificar-se-uma-variavel-existe-similar-ao-isset-do-php/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 18:33:50 +0000</pubDate>
		<dc:creator>patrickespake</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[cleanAttributes]]></category>
		<category><![CDATA[clean_attributes]]></category>
		<category><![CDATA[def]]></category>
		<category><![CDATA[defined?]]></category>
		<category><![CDATA[end]]></category>
		<category><![CDATA[exemplo]]></category>
		<category><![CDATA[existe]]></category>
		<category><![CDATA[false]]></category>
		<category><![CDATA[função]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[isset]]></category>
		<category><![CDATA[nil]]></category>
		<category><![CDATA[params]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[public]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[similar]]></category>
		<category><![CDATA[strip_tags]]></category>
		<category><![CDATA[true]]></category>
		<category><![CDATA[variável]]></category>
		<category><![CDATA[verificar]]></category>

		<guid isPermaLink="false">http://blog.patrickespake.com/?p=721</guid>
		<description><![CDATA[No PHP existe a função isset ela é muito interessante para testar se uma variável existe, ela retorna true caso exista e false caso contrário. Por exemplo: 1 2 3 4 5 6 7 8 public function cleanAttributes&#40;$params&#41; &#123; if &#40;isset&#40;$params&#91;'title'&#93;&#41;&#41; &#123; $params&#91;'title'&#93; = strip_tags&#40;$params&#91;'title'&#93;&#41;; &#125; &#160; return $params; &#125; No Ruby você pode fazer [...]]]></description>
			<content:encoded><![CDATA[<p>No PHP existe a função <strong>isset</strong> ela é muito interessante para testar se uma variável existe, ela retorna <strong>true</strong> caso exista e <strong>false</strong> caso contrário.</p>
<p>Por exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> cleanAttributes<span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strip_tags</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #b1b100;">return</span> <span style="color: #000088;">$params</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>No Ruby você pode fazer o mesmo usando o operador <strong>defined?</strong>.</p>
<p>Por exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> clean_attributes<span style="color:#006600; font-weight:bold;">&#40;</span>params<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#9966CC; font-weight:bold;">if</span> <span style="color:#9966CC; font-weight:bold;">defined</span>?<span style="color:#006600; font-weight:bold;">&#40;</span>params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'title'</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#9966CC; font-weight:bold;">if</span> !params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'title'</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#0000FF; font-weight:bold;">nil</span>?
      params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'title'</span><span style="color:#006600; font-weight:bold;">&#93;</span> = params<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'title'</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#9900CC;">strip_tags</span>
    <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
  <span style="color:#0000FF; font-weight:bold;">return</span> params
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>Se você gostou desse texto e acha que ajudou você, me recomende: <a href="http://www.workingwithrails.com/recommendation/new/person/15479-patrick-espake"><img src="http://workingwithrails.com/images/tools/compact-small-button.jpg" alt="Recommend Me" /></a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.patrickespake.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.patrickespake.com/2009/06/17/ruby-como-verificar-se-uma-variavel-existe-similar-ao-isset-do-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Lab Go2Images resize e crop de imagens no formato gif, png ou jpg</title>
		<link>http://blog.patrickespake.com/2009/05/19/lab-go2images-resize-e-crop-de-imagens-no-formato-gif-png-ou-jpg/</link>
		<comments>http://blog.patrickespake.com/2009/05/19/lab-go2images-resize-e-crop-de-imagens-no-formato-gif-png-ou-jpg/#comments</comments>
		<pubDate>Tue, 19 May 2009 03:02:22 +0000</pubDate>
		<dc:creator>patrickespake</dc:creator>
				<category><![CDATA[Lab]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[aplicação]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[crop]]></category>
		<category><![CDATA[descriptiom]]></category>
		<category><![CDATA[dir]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[formato]]></category>
		<category><![CDATA[gd]]></category>
		<category><![CDATA[gif]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[go2images]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[imagens]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[index.php]]></category>
		<category><![CDATA[jpg]]></category>
		<category><![CDATA[laboratório]]></category>
		<category><![CDATA[master]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[patrickespake]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[protótipo]]></category>
		<category><![CDATA[public]]></category>
		<category><![CDATA[resize]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[title]]></category>
		<category><![CDATA[tree]]></category>
		<category><![CDATA[upload]]></category>

		<guid isPermaLink="false">http://patrickespake.wordpress.com/?p=629</guid>
		<description><![CDATA[Frequentemente em muitos projetos PHP é necessário trabalhar com o upload de imagens, geralmente nos formatos gif, png ou jpg. Em muitas aplicações sempre é necessário fazer o resize e o crop das imagens, para obter um melhor resultado na visualização das imagens juntamente com o conteúdo. Pensando nisso recentemente eu criei um projeto, chamado [...]]]></description>
			<content:encoded><![CDATA[<p>Frequentemente em muitos projetos PHP é necessário trabalhar com o upload de imagens, geralmente nos formatos gif, png ou jpg.</p>
<p>Em muitas aplicações sempre é necessário fazer o resize e o crop das imagens, para obter um melhor resultado na visualização das imagens juntamente com o conteúdo.</p>
<p>Pensando nisso recentemente eu criei um projeto, chamado Go2Images, no meu laboratório, com o objetivo de realizar as funcionalidades acima.</p>
<p><a href="http://patrickespake.files.wordpress.com/2009/05/go2images.jpg"><img class="aligncenter size-full wp-image-636" title="Go2Images" src="http://patrickespake.files.wordpress.com/2009/05/go2images.jpg" alt="Go2Images" width="510" height="306" /></a></p>
<p>O código fonte está disponível no github: <a href="http://github.com/patrickespake/go2images/tree/master">http://github.com/patrickespake/go2images/tree/master</a> e você pode testar no endereço: <a href="http://lab.patrickespake.com/go2images/">http://lab.patrickespake.com/go2images/</a>.</p>
<p>O Go2Images foi desenvolvido usando a linguagem de programação PHP e o padrão de projeto MVC, que foi implementado do zero. Além disso ele usa a biblioteca GD para realizar as operações de resize e crop.</p>
<p>Você pode definir os tamanhos que as imagens devem ser redimensionadas, cadastrando a largura e altura, os sistema verifica todos os tipos de tamanhos cadastrados e usa essas informações para efetuar o resize e crop da imagens, conforme: <a href="http://lab.patrickespake.com/go2images/?controller=imageType&amp;action=list">http://lab.patrickespake.com/go2images/?controller=imageType&amp;action=list</a> e imagem abaixo:</p>
<p style="text-align:center;"><a href="http://patrickespake.files.wordpress.com/2009/05/image_type.jpg"><img class="aligncenter size-full wp-image-631" title="Go2Images Tamanhos de Imagens" src="http://patrickespake.files.wordpress.com/2009/05/image_type.jpg" alt="Go2Images Image Type" width="509" height="241" /></a></p>
<p>Desta forma é possível inserir novas dimensões facilmente.</p>
<p>Com as dimensões de redimensionamento definidas, é possível efetuar o upload de uma imagem em: <a href="http://lab.patrickespake.com/go2images/index.php?controller=image&amp;action=new">http://lab.patrickespake.com/go2images/index.php?controller=image&amp;action=new</a>.</p>
<p><a href="http://patrickespake.files.wordpress.com/2009/05/image_new.jpg"><img class="aligncenter size-full wp-image-632" title="Go2Images Nova Imagem" src="http://patrickespake.files.wordpress.com/2009/05/image_new.jpg" alt="Go2Images Nova Imagem" width="510" height="361" /></a></p>
<p>Automaticamente o sistema irá fazer o resize e crop das imagens, baseado nas informações de tamanho cadastradas <a href="http://lab.patrickespake.com/go2images/index.php?controller=image&amp;action=show&amp;id=1">http://lab.patrickespake.com/go2images/index.php?controller=image&amp;action=show&amp;id=1</a>.</p>
<p><a href="http://patrickespake.files.wordpress.com/2009/05/image_details.jpg"><img class="aligncenter size-full wp-image-634" title="Go2Images Detalhes da Imagem" src="http://patrickespake.files.wordpress.com/2009/05/image_details.jpg" alt="Go2Images Detalhes da Imagem" width="510" height="266" /></a></p>
<p>Primeiro o sistema efetua o resize da imagem tentando chegar o mais perto das dimensões desejadas e depois efetua o crop para deixar a imagem exatamente no tamanho informado.</p>
<p>No diretório <strong>public/images/system</strong> são armazenadas as imagens, é criado um diretório para cada imagem cadastrada, e dentro de cada diretório os tamanhos das imagens, sempre é armazenada a imagem original para futuros redimensionamentos.</p>
<p>Esse projeto é apenas um protótipo, sinta-se livre para usar, copiar e modificar.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.patrickespake.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.patrickespake.com/2009/05/19/lab-go2images-resize-e-crop-de-imagens-no-formato-gif-png-ou-jpg/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
