<?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>Fernando Valente</title>
	<atom:link href="http://www.fernandovalente.com.br/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fernandovalente.com.br/wordpress</link>
	<description>Programação e Tecnologia</description>
	<lastBuildDate>Sat, 07 Jan 2012 21:25:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>[Rapidinhas] &#8211; Descobrir endereço encurtado PHP</title>
		<link>http://www.fernandovalente.com.br/wordpress/2011/12/19/rapidinhas-descobrir-endereco-encurtado-php/</link>
		<comments>http://www.fernandovalente.com.br/wordpress/2011/12/19/rapidinhas-descobrir-endereco-encurtado-php/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 13:27:21 +0000</pubDate>
		<dc:creator>Fernando Valente</dc:creator>
				<category><![CDATA[Rapidinhas]]></category>
		<category><![CDATA[descobrir endereço encurtado]]></category>
		<category><![CDATA[Descobrir endereço encurtado PHP]]></category>
		<category><![CDATA[Encurtador url]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://www.fernandovalente.com.br/wordpress/?p=1863</guid>
		<description><![CDATA[Na última semana um amigo me perguntou de que maneira ele poderia descobrir um endereço de uma imagem encurtada pelo PHP. Existe uma maneira muito simples e rápida para resolver essa questão, basta utilizar a função get_headers(); do PHP e pronto! Essa função retorna os cabeçalhos enviados pelo servidor. Ex: $link = get_headers('http://migre.me/7b6op', 1); print_r($link['Location']); Resposta: http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/11/programacao-par.png [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Na última semana um amigo me perguntou de que maneira ele poderia descobrir um endereço de uma imagem encurtada pelo PHP. Existe uma maneira muito simples e rápida para resolver essa questão, basta utilizar a função <a href="http://br.php.net/manual/en/function.get-headers.php" target="_blank">get_headers();</a> do PHP e pronto! Essa função retorna os cabeçalhos enviados pelo servidor. Ex:</p>
<pre class="brush:php">$link = get_headers('http://migre.me/7b6op', 1);
print_r($link['Location']);</pre>
<div>Resposta: http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/11/programacao-par.png</div>
<div>Faça um teste (print_r($link);) e veja o que o get_headers retorna:</div>
<div>
<pre class="brush:php">Array
(
    [0] =&gt; HTTP/1.1 301 Moved Permanently
    [Date] =&gt; Array
        (
            [0] =&gt; Mon, 19 Dec 2011 13:16:22 GMT
            [1] =&gt; Mon, 19 Dec 2011 13:16:38 GMT
        )

    [Server] =&gt; Array
        (
            [0] =&gt; Apache/2.2.14 (Ubuntu)
            [1] =&gt; Apache
        )

    [X-Powered-By] =&gt; PHP/5.3.2-1ubuntu4.11
    [Location] =&gt; http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/11/programacao-par.png
    [Connection] =&gt; Array
        (
            [0] =&gt; close
            [1] =&gt; close
        )

    [Content-Length] =&gt; Array
        (
            [0] =&gt; 0
            [1] =&gt; 41712
        )

    [Vary] =&gt; Accept-Encoding
    [Content-Type] =&gt; Array
        (
            [0] =&gt; text/html; charset=utf-8
            [1] =&gt; image/png
        )

    [1] =&gt; HTTP/1.1 200 OK
    [Last-Modified] =&gt; Mon, 07 Nov 2011 20:57:13 GMT
    [ETag] =&gt; "27c8656-a2f0-4c8f1c40"
    [Accept-Ranges] =&gt; bytes
)</pre>
<p>Simples, rápido e direto.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandovalente.com.br/wordpress/2011/12/19/rapidinhas-descobrir-endereco-encurtado-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Agile] &#8211; Programação em par</title>
		<link>http://www.fernandovalente.com.br/wordpress/2011/11/09/agile-programacao-em-par/</link>
		<comments>http://www.fernandovalente.com.br/wordpress/2011/11/09/agile-programacao-em-par/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 10:26:05 +0000</pubDate>
		<dc:creator>Fernando Valente</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[ágil]]></category>
		<category><![CDATA[Desenvolvimento ágil]]></category>
		<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[pair programming]]></category>
		<category><![CDATA[palestra fernando valente]]></category>
		<category><![CDATA[php rio]]></category>
		<category><![CDATA[phpnrio]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://www.fernandovalente.com.br/wordpress/?p=1837</guid>
		<description><![CDATA[No último dia 05/11/2011 estive palestrando no PHPnRio11 e, no fim da minha palestra, um grupo me procurou para tirar algumas dúvidas. Uma delas foi se eu realmente achava que era útil utilizar a programação em par e, por esse motivo, achei que valeria um post para o assunto. A programação em par, ou pair programming, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">No último dia 05/11/2011 estive palestrando no <a title="PHPnRio11" href="http://www.fernandovalente.com.br/wordpress/2011/11/06/php-como-foi-o-phpnrio11/" target="_blank">PHPnRio11</a> e, no fim da minha palestra, um grupo me procurou para tirar algumas dúvidas. Uma delas foi se eu realmente achava que era útil utilizar a programação em par e, por esse motivo, achei que valeria um <em>post</em> para o assunto.</p>
<p style="text-align: justify;"><a href="http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/11/programacao-par.png"><img class="alignleft size-full wp-image-1841" style="margin-left: 4px; margin-right: 4px;" title="programacao-par" src="http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/11/programacao-par.png" alt="" width="284" height="173" /></a>A programação em par, ou <em>pair programming</em>, tem como objetivo minimizar erros durante o desenvolvimento de software. Essa técnica utiliza sempre dois programadores trabalhando em conjunto em um mesmo computador. Em quanto um fica no comando (<a href="http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-portugues&amp;palavra=piloto" target="_blank">piloto</a>) o outro acompanha o processo (<a href="http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-portugues&amp;palavra=co-piloto" target="_blank">co-piloto</a>) e auxilia o piloto no seu trabalho, podendo assumir o comando sempre que for preciso.</p>
<p style="text-align: justify;">O problema é que a grande maioria das pessoas acha que ter um programador &#8220;de bobeira&#8221; olhando o que o outro está fazendo é um grande desperdício&#8230; Mais é ai que está o &#8220;pulo do gato&#8221;! Não é isso que acontece, ou não deveria acontecer. O que precisamos entender é que o co-piloto não está só observando, ele também está programando! Ele tem que participar ativamente no processo!  Quando utilizamos dois programadores com experiência e vivência diferente, teremos a possibilidade de chegar a uma terceira conclusão. Durante o desenvolvimento de uma determinada aplicação, a dupla deve discutir e chegar a um acordo de qual será a melhor solução para o problema apresentado.</p>
<p style="text-align: justify;">Existem vários benefícios na programação em par, mas resolvi comentar os mais importantes (na minha opinião):</p>
<p style="text-align: justify;"><strong>1) Duas cabeças funcionam melhor do que uma: </strong>Como eu falei anteriormente, com esse método reduzimos muito a possibilidade de erro, uma vez que temos duas pessoas trabalhando em cima de um único problema.</p>
<p style="text-align: justify;"><strong>2) </strong><strong>Maior comprometimento: </strong>Existem inúmeras formas de um programador se distrair ao longo do seu dia de trabalho (Twitter, Facebook, bate-papo, e-mail etc.), mas quando temos uma pessoa ao lado o nosso comprometimento com o trabalho fica ainda maior.</p>
<p style="text-align: justify;"><strong>3) Troca de conhecimento: </strong>Duas pessoas diferentes, conhecimentos diferentes, experiências diferentes. Essa troca de conhecimento também é muito importante quando recebemos um novo desenvolvedor no projeto. Será muito mais fácil e menos desgastante para ele, aprender interagindo com sua nova equipe do que lendo uma documentação, que muitas vezes não mostra a verdadeira realidade.</p>
<p style="text-align: justify;">Agora&#8230; Nem tudo são flores. Existem alguns grandes problemas que você poderá encontrar na implantação da programação em par e o maior problema será a sua equipe! Se não existir comprometimento, cumplicidade, trabalho em equipe será impossível obter sucesso. Eu aplico programação em par com a minha equipe a quase 2 anos e posso garantir que a qualidade e produtividade teve uma melhora muito grande!</p>
<p style="text-align: justify;">Aplique, apanhe, comente e boa sorte! <img src='http://www.fernandovalente.com.br/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandovalente.com.br/wordpress/2011/11/09/agile-programacao-em-par/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] &#8211; Como foi o PHPnRio11?</title>
		<link>http://www.fernandovalente.com.br/wordpress/2011/11/06/php-como-foi-o-phpnrio11/</link>
		<comments>http://www.fernandovalente.com.br/wordpress/2011/11/06/php-como-foi-o-phpnrio11/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 20:37:08 +0000</pubDate>
		<dc:creator>Fernando Valente</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP'n Rio]]></category>
		<category><![CDATA[ágil]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Desenvolvimento ágil]]></category>
		<category><![CDATA[Fernando Valente]]></category>
		<category><![CDATA[palestra]]></category>
		<category><![CDATA[palestrante]]></category>
		<category><![CDATA[php in rio]]></category>
		<category><![CDATA[php rio]]></category>
		<category><![CDATA[phpnrio11]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://www.fernandovalente.com.br/wordpress/?p=1802</guid>
		<description><![CDATA[Depois de muita espera, finalmente aconteceu o PHPnRio11 e foi um sucesso! Tudo começou com um grupo de programadores de PHP querendo fazer a diferença e, graças a essa galera, o evento desse ano mostrou seu potencial. Foi nítida a evolução dos últimos eventos para esse. Parabéns para os organizadores, aplaudo de pé o evento! Tenho certeza [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/11/galera.jpg"><img class="aligncenter size-full wp-image-1819" title="Galera no PHPnRio11" src="http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/11/galera.jpg" alt="" width="480" height="270" /></a></p>
<p style="text-align: justify;">Depois de muita espera, finalmente aconteceu o <a title="PHPnRio11" href="http://www.phpnrio.com.br" target="_blank">PHPnRio11</a> e foi um sucesso! Tudo começou com um grupo de programadores de PHP querendo fazer a diferença e, graças a essa galera, o evento desse ano mostrou seu potencial. Foi nítida a evolução dos últimos eventos para esse. Parabéns para os organizadores, aplaudo de pé o evento! Tenho certeza que ano que vem será ainda melhor!</p>
<p style="text-align: justify;">Minha palestra:</p>
<div style="padding: 5px 0 12px;">Algumas fotos que bati do evento: <a title="PHPnRio11" href="http://migre.me/64Uoa" target="_blank">migre.me/64Uoa</a></div>
<div id="__ss_10045800" style="width: 425px;"><iframe src="http://www.slideshare.net/slideshow/embed_code/10045800" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="425" height="355"></iframe></div>
<p>Videos (5 pastes):<br />
<iframe src="http://www.youtube.com/embed/rixnYPp0DKw" frameborder="0" width="560" height="315"></iframe></p>
<p><iframe src="http://www.youtube.com/embed/bz8-GxI0pVg" frameborder="0" width="560" height="315"></iframe></p>
<p><iframe src="http://www.youtube.com/embed/wTbVDM3i0Io" frameborder="0" width="560" height="315"></iframe></p>
<p><iframe src="http://www.youtube.com/embed/Qb7JXxySPKo" frameborder="0" width="560" height="315"></iframe></p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/bd2amAbDM7I" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandovalente.com.br/wordpress/2011/11/06/php-como-foi-o-phpnrio11/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP´n Rio 11! Vai perder?</title>
		<link>http://www.fernandovalente.com.br/wordpress/2011/10/12/php%c2%b4n-rio-11-vai-perder/</link>
		<comments>http://www.fernandovalente.com.br/wordpress/2011/10/12/php%c2%b4n-rio-11-vai-perder/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 13:00:48 +0000</pubDate>
		<dc:creator>Fernando Valente</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ágil]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Fernando A Valente]]></category>
		<category><![CDATA[Fernando Valente]]></category>
		<category><![CDATA[palestra scrum]]></category>
		<category><![CDATA[palestrante]]></category>
		<category><![CDATA[php in rio 2011]]></category>
		<category><![CDATA[php rio]]></category>
		<category><![CDATA[php'n rio 11]]></category>

		<guid isPermaLink="false">http://www.fernandovalente.com.br/wordpress/?p=1721</guid>
		<description><![CDATA[No próximo dia 05/11/2011 estarei palestrando no PHP´n Rio 11 e você está mais do que convidado! Inscrições abertas! &#8220;..o Grupo Local de Usuários de PHP do Rio de Janeiro (PHP Rio) vem organizando, anualmente, desde 2009, o evento chamado de PHP&#8217;n Rio. Trata- se de um evento técnico e com um retorno da comunidade magnífico, [...]]]></description>
			<content:encoded><![CDATA[<div align='center'><iframe width="560" height="315" src="http://www.youtube.com/embed/d5rYw2th9BM" frameborder="0" allowfullscreen></iframe></div>
<p>No próximo dia 05/11/2011 <a title="PHP'n Rio 11" href="http://www.phpnrio.com.br/palestrantes#1" target="_blank">estarei palestrando no PHP´n Rio 11</a> e você está mais do que convidado! Inscrições abertas!</p>
<p>&#8220;<a title="PHP'n Rio 11" href="http://www.phpnrio.com.br/evento" target="_blank">..o Grupo Local de Usuários de PHP do Rio de Janeiro (PHP Rio) vem organizando, anualmente, desde 2009, o evento chamado de PHP&#8217;n Rio. Trata- se de um evento técnico e com um retorno da comunidade magnífico, de forma que contamos sempre com auditório cheio de profissionais e estudantes, que desempenham uma participação excepcional. O PHP&#8217;n Rio está sendo apoiado juridicamente pela Associação Libre de Tecnologias Abertas (ALTA).</a>&#8221;</p>
<p><a title="Inscrição PHP'n Rio" href="http://www.phpnrio.com.br/inscricoes" target="_blank">Não deixe para depois, clique aqui e faça sua inscrição</a> (valor do evento R$30,00)!! Nos vemos lá! =]</p>
<p>Mais informações em <a title="PHP'n Rio 11" href="http://www.phpnrio.com.br/" target="_blank">www.phpnrio.com.br</a></p>
<p><a href="http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/09/phprio2011.png"><img class="aligncenter size-full wp-image-1722" title="phprio11" src="http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/09/phprio2011.png" alt="" width="555" height="358" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandovalente.com.br/wordpress/2011/10/12/php%c2%b4n-rio-11-vai-perder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP&#039;n Rio] &#8211; Quer ganhar uma camiseta PHP da LinuxMall? [ATUALIZADO!]</title>
		<link>http://www.fernandovalente.com.br/wordpress/2011/10/11/phpn-rio-quer-ganhar-uma-camisa-php-da-linuxmall/</link>
		<comments>http://www.fernandovalente.com.br/wordpress/2011/10/11/phpn-rio-quer-ganhar-uma-camisa-php-da-linuxmall/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 17:54:39 +0000</pubDate>
		<dc:creator>Fernando Valente</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP'n Rio]]></category>
		<category><![CDATA[Camiseta PHP]]></category>
		<category><![CDATA[Fernando A Valente]]></category>
		<category><![CDATA[Fernando Valente]]></category>
		<category><![CDATA[Filipe La Ruina]]></category>
		<category><![CDATA[Linux mall]]></category>
		<category><![CDATA[PHP LinuxMall]]></category>
		<category><![CDATA[phpnrio11]]></category>
		<category><![CDATA[Sorteio]]></category>

		<guid isPermaLink="false">http://www.fernandovalente.com.br/wordpress/?p=1774</guid>
		<description><![CDATA[O sorteio foi realizado, mas infelizmente o ganhador não poderá comparecer ao evento e, de acordo com as regras do sorteio, ele foi desclassificado. Sendo assim, um novo sorteio irá acontecer, só que dessa vez no dia do evento!! Novamente, BOA SORTE! Como diria seu Jorge&#8230; &#8220;É isso aiiiiii!!!!&#8221;. Em uma parceria com a LinuxMall, [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1822" class="wp-caption aligncenter" style="width: 490px"><img class="size-full wp-image-1822 " title="Filipe La Ruina" src="http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/10/DSCF0041.jpg" alt="" width="480" height="270" /><p class="wp-caption-text">Filipe La Ruina, o ganhador da camiseta PHP LinuxMall</p></div>
<p><img class="alignleft size-full wp-image-1775" style="margin-left: 6px; margin-right: 6px;" title="Camiseta PHP LinuxMall" src="http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/10/Captura-de-tela-2011-10-07-às-20.42.32.png" alt="" width="232" height="316" /></p>
<p><del>O sorteio foi realizado, mas infelizmente o ganhador não poderá comparecer ao evento e, de acordo com as regras do sorteio, ele foi desclassificado. Sendo assim, um novo sorteio irá acontecer, só que dessa vez no dia do evento!!</del></p>
<p><del>Novamente, BOA SORTE! <img src='http://www.fernandovalente.com.br/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </del></p>
<p><del>Como diria seu Jorge&#8230; &#8220;É isso aiiiiii!!!!&#8221;. Em uma parceria com a <a title="LinuxMall" href="http://www.linuxmall.com.br" target="_blank">LinuxMall</a>, vou sortear uma camiseta PHP no próximo dia 03/11/2011 as 20h, mas atenção para as regras:</del></p>
<p><del>1) O sorteio será feito pelo sistema <a title="Twitquero" href="http://www.twitquero.com" target="_blank">Twitquero<br />
</a>2) <strong><span style="color: #993300;">O ganhador deverá estar presente no <a title="PHP'n Rio 11" href="http://www.phpnrio.com.br/" target="_blank"><span style="color: #993300;">PHP&#8217;n Rio 11</span></a> (se o mesmo não comparecer, um novo sorteio será realizado no fim da minha palestra).</span></strong><br />
3) A entrega da camiseta será no fim da minha palestra, se o ganhador chegar depois&#8230; Já era! <img src='http://www.fernandovalente.com.br/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
4) O ganhador deverá seguir o twitter <a title="Twitter LinuxMall" href="http://www.twitter.com/linuxmall" target="_blank">@linuxmall</a> e, é claro, o meu <a title="Twitter Nando Valente" href="http://www.twitter.com/nandovalente" target="_blank">@nandovalente</a></del></p>
<p><a title="Sorteio Camiseta PHP" href="http://twitquero.com/e8" target="_blank">Simples assim! Agora clique AQUI e boa sorte!!</a> <img src='http://www.fernandovalente.com.br/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p><del><strong><span style="color: #993300;">Atenção! Devido a quantidade enorme de bots e perfis criados apenas para participação de sorteios, uma avaliação será feita com o ganhador. Se perfil for identificado como um bot ou perfil feito para sorteios, um novo sorteio será realizado.</span></strong></del></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandovalente.com.br/wordpress/2011/10/11/phpn-rio-quer-ganhar-uma-camisa-php-da-linuxmall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steve Jobs 1955-2011</title>
		<link>http://www.fernandovalente.com.br/wordpress/2011/10/06/steve-jobs-1955-2011/</link>
		<comments>http://www.fernandovalente.com.br/wordpress/2011/10/06/steve-jobs-1955-2011/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 10:58:54 +0000</pubDate>
		<dc:creator>Fernando Valente</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[homenagem Steve Jobs]]></category>
		<category><![CDATA[Steve Jobs]]></category>

		<guid isPermaLink="false">http://www.fernandovalente.com.br/wordpress/?p=1769</guid>
		<description><![CDATA[Até agora estou sem palavras&#8230; Essa foi a primeira vez que morre alguém que não é amigo ou familiar e eu fico com um nó na garganta. Sim, estou muito triste por perder um ídolo! E tenho certeza que outro dia muito triste para mim será quando o Woz se for&#8230; Mas mesmo com toda [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/10/screen-shot-2011-10-05-at-9-01-32-pm.png"><img class="aligncenter size-full wp-image-1770" title="Steve Jobs 1955-2011" src="http://www.fernandovalente.com.br/wordpress/wp-content/uploads/2011/10/screen-shot-2011-10-05-at-9-01-32-pm.png" alt="" width="519" height="353" /></a>Até agora estou sem palavras&#8230; Essa foi a primeira vez que morre alguém que não é amigo ou familiar e eu fico com um nó na garganta. Sim, estou muito triste por perder um ídolo! E tenho certeza que outro dia muito triste para mim será quando o <a title="Steve Wozniak" href="http://pt.wikipedia.org/wiki/Steve_Wozniak">Woz </a>se for&#8230; Mas mesmo com toda genialidade do Woz, Jobs tinha algo a mais, ele estava muito além de nós em suas idéias e invenções. É fato que ele nunca foi uma pessoa das mais amigáveis com seus funcionários. Causava arrepios quando chegava na Apple (sempre vi isso como um pai querendo o melhor para seu filho), mas não é essa a questão, ele foi um gênio, um visionário, um apaixonado por seu trabalho, empresa e idéias.</p>
<p style="text-align: justify;">Mesmo triste, eu me sinto muito, mais muito feliz por ter participado dessa geração que acompanhou e viu Steve revolucionar o mundo tecnológico&#8230; Obrigado por tudo Seteve e descanse em paz.</p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://www.fernandovalente.com.br/wordpress/2011/10/06/steve-jobs-1955-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Rapidinha] &#8211; Objetos Dinâmicos</title>
		<link>http://www.fernandovalente.com.br/wordpress/2011/09/22/rapidinha-objetos-dinamicos/</link>
		<comments>http://www.fernandovalente.com.br/wordpress/2011/09/22/rapidinha-objetos-dinamicos/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 18:00:09 +0000</pubDate>
		<dc:creator>Fernando Valente</dc:creator>
				<category><![CDATA[OO]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Rapidinhas]]></category>
		<category><![CDATA[objeto dinâmico]]></category>
		<category><![CDATA[orientação a objetos]]></category>
		<category><![CDATA[php oo]]></category>
		<category><![CDATA[php orientado a objetos]]></category>
		<category><![CDATA[Standard Class]]></category>
		<category><![CDATA[StdClass]]></category>

		<guid isPermaLink="false">http://www.fernandovalente.com.br/wordpress/?p=1717</guid>
		<description><![CDATA[Mais um post da série de rapidinhas! O PHP nos oferece inúmeras possibilidades e conhecer todas elas é fundamental para que você não reinvente a roda. Uma dessas possibilidades é criar objetos dinamicamente, sem possuir uma classe definida. Obviamente que o objeto criado dinamicamente poderá armazenar apenas dados e não funções.  Para criar esse objeto, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Mais um <em>post</em> da série de rapidinhas! <img src='http://www.fernandovalente.com.br/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p style="text-align: justify;">O PHP nos oferece inúmeras possibilidades e conhecer todas elas é fundamental para que você não reinvente a roda. Uma dessas possibilidades é criar objetos dinamicamente, sem possuir uma classe definida. Obviamente que o objeto criado dinamicamente poderá armazenar apenas dados e não funções.  Para criar esse objeto, você precisa informar que o seu objeto dinâmico é da classe StdClass (Standard Class). Veja o exemplo:</p>
<pre class="brush:php">$pessoa = new StdClass;
$pessoa-&gt;nome = "Fernando";
$pessoa-&gt;sexo = "Masculino";
$pessoa-&gt;cidade = "Rio de Janeiro";</pre>
<p>Resposta: stdClass Object ( [nome] =&gt; Fernando [sexo] =&gt; Masculino [cidade] =&gt; Rio de Janeiro )</p>
<p>Simples assim!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandovalente.com.br/wordpress/2011/09/22/rapidinha-objetos-dinamicos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP OO] &#8211; Polimorfismo</title>
		<link>http://www.fernandovalente.com.br/wordpress/2011/09/21/php-oo-polimorfismo/</link>
		<comments>http://www.fernandovalente.com.br/wordpress/2011/09/21/php-oo-polimorfismo/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 11:06:10 +0000</pubDate>
		<dc:creator>Fernando Valente</dc:creator>
				<category><![CDATA[OO]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[orientação a objeto em php]]></category>
		<category><![CDATA[orientação a objetos]]></category>
		<category><![CDATA[php 5]]></category>
		<category><![CDATA[php oo]]></category>
		<category><![CDATA[polimorfismo]]></category>
		<category><![CDATA[polimorfismo php]]></category>

		<guid isPermaLink="false">http://www.fernandovalente.com.br/wordpress/?p=1688</guid>
		<description><![CDATA[O Polimorfismo (&#8220;&#8230;Existência de uma espécie sob várias formas&#8230;&#8221;) é um artefato simples mas seu entendimento é muito importante na orientação a objetos. Quando falamos em polimorfismo em OO, queremos dizer que podemos derivar classes de uma mesma superclasse e utilizar métodos iguais, porém com comportamentos diferentes. Veja o exemplo: Arquivo Calculo1.php class Calculo1{ public $resposta; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">O <a title="Polimorfismo - Dicionário Michaellis" href="http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-portugues&amp;palavra=polimorfismo&amp;CP=134352&amp;typeToSearchRadio=exactly&amp;pagRadio=50" target="_blank">Polimorfismo</a> (&#8220;&#8230;Existência de uma espécie sob várias formas&#8230;&#8221;) é um artefato simples mas seu entendimento é muito importante na orientação a objetos. Quando falamos em polimorfismo em OO, queremos dizer que podemos derivar classes de uma mesma superclasse e utilizar métodos iguais, porém com comportamentos diferentes. Veja o exemplo:</p>
<p>Arquivo Calculo1.php</p>
<pre class="brush:php">class Calculo1{
	public $resposta;

	public function dividir(){
		return $this-&gt;resposta = 10/2;
	}

}</pre>
<p>Arquivo Calculo2.php</p>
<pre class="brush:php">require_once "Calculo1.php";

class Calculo2 extends Calculo1{
	public $resposta;

	public function somar(){
		return $this-&gt;resposta = 1+1;
	}

}</pre>
<p style="text-align: justify;">Repare que temos 2 arquivos diferentes onde em Calculo2.php nossa classe Calculo2 está herdando as características da classe Calculo1 (<a title="Herança" href="http://www.fernandovalente.com.br/wordpress/2011/09/17/php-oo-heranca/" target="_blank">saiba mais sobre herança clicando aqui</a>). Feito isso eu posso receber as resposta de Calculo1 (dividindo) e Calculo2 (somando) criando apenas o objeto da classe Calculo2:</p>
<pre class="brush:php">require_once "Calculo2.php";

$calculo = new calculo2;
$calculo-&gt;dividir(); ou $calculo-&gt;somar();

print_r($calculo);

//resposta 5 ou 2</pre>
<p style="text-align: justify;">Mas digamos que no calculo 2 eu queira uma outra função dividir (4 por 2) que será específica apenas na minha aplicação (Calculo2.php) e com isso não quero mudar nada no arquivo Calculo1.php:</p>
<pre class="brush:php">require_once "Calculo1.php";

class Calculo2 extends Calculo1{
	public $resposta;

	public function somar(){
		return $this-&gt;resposta = 1+1;
	}

	public function dividir(){
		return $this-&gt;resposta = 4/2;
	}
}</pre>
<p style="text-align: justify;">Nesse momento entra o &#8220;X&#8221; da questão, o polimorfismo. Quando eu mandar executar $calculo-&gt;dividir() o PHP procura dentro da minha classe Calculo2 a função dividir e, encontrando, executa a divisão 4/2 e, se ela não existir, ele irá executar a outra função dividir 10/5, que está dentro do arquivo Calculo2.php. Teoricamente poderíamos encontrar algum problema ao estender uma classe da outra e utilizar duas funções com o mesmo nome, mas é exatamente o contrário que o polimorfismo nos permite fazer.</p>
<p style="text-align: justify;">Espero ter ajudado alguém com essa pequena e simples explicação.</p>
<p style="text-align: justify;">Grande abraço!</p>
<p style="text-align: justify;"><strong>PS: Leia sobre &#8220;<a title="Polimorfismo ou Sobrecarga?" href="http://www.php-obj.com.br/article_11" target="_blank">Polimorfismo ou Sobrecarga?</a>&#8220;.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandovalente.com.br/wordpress/2011/09/21/php-oo-polimorfismo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[PHP OO] &#8211; Encapsulamento</title>
		<link>http://www.fernandovalente.com.br/wordpress/2011/09/19/php-oo-encapsulamento/</link>
		<comments>http://www.fernandovalente.com.br/wordpress/2011/09/19/php-oo-encapsulamento/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 10:25:03 +0000</pubDate>
		<dc:creator>Fernando Valente</dc:creator>
				<category><![CDATA[OO]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Encapsulamento]]></category>
		<category><![CDATA[encapsulamento php]]></category>
		<category><![CDATA[orientação a objeto em php]]></category>
		<category><![CDATA[orientação a objetos]]></category>
		<category><![CDATA[php oo]]></category>

		<guid isPermaLink="false">http://www.fernandovalente.com.br/wordpress/?p=1667</guid>
		<description><![CDATA[Obs: Esse post parte do princípio que você tem conhecimentos em PHP e está iniciando em Orientação a Objetos. Obs2: Antes que alguém queira reclamar, eu usei os gets e sets para mostrar um exemplo simples, muito simples! O Encapsulamento é um dos recursos mais importantes na Orientação a Objetos. Como sempre, lá vou eu [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Obs: Esse post parte do princípio que você tem conhecimentos em PHP e está iniciando em Orientação a Objetos.<br />
Obs2: Antes que alguém queira reclamar, eu usei os gets e sets para mostrar um exemplo simples, muito simples!</p>
<p style="text-align: justify;">O Encapsulamento é um dos recursos mais importantes na Orientação a Objetos. Como sempre, lá vou eu com as minhas definições de dicionário: <a title="Encapsular" href="http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-portugues&amp;palavra=encapsular&amp;CP=61532&amp;typeToSearchRadio=exactly&amp;pagRadio=50" target="_blank">Encapsular</a> &#8211; &#8220;Circundar, rodear de uma cápsula&#8230; proteger em uma cápsula ou como em uma cápsula&#8230;&#8221;. Existem três formas de encapsular seus objetos: public (público), protected (protegido) ou private (privado), vamos entender melhor cada um desses tipos.</p>
<p style="text-align: justify;"><strong>Public (público):</strong> Quando um atributo ou método é definido como <em><span style="color: #000000;">public</span></em> <span style="color: #000000;">significa que ele pode ser acessado livremente em qualquer lugar da classe ou subclasse. Existem duas formas de você declarar um atributo ou método como público, são </span>elas:</p>
<pre class="brush:php">&lt;?php

// Forma 1
class TesteEncapsulamento {
   $teste;
}

// Forma 2
class TesteEncapsulamento {
    public $teste;
}

?&gt;</pre>
<p>Apesar da primeira forma estar correta no PHP, eu recomendo e prefiro sempre a utilização da segunda, pois assim você ficará acostumado a sempre declarar a visibilidade de seus Métodos e Atributos.</p>
<p><strong>Protected (protegido):</strong> Quando um atributo ou método é definido como <em>protected</em> significa que ele só pode ser acessado de dentro da própria classe ou em suas classes-filha (<a title="[PHP OO] - Herança" href="http://www.fernandovalente.com.br/wordpress/2011/09/17/php-oo-heranca/" target="_blank">saiba mais sobre Herança clicando aqui</a>):</p>
<pre class="brush:php">&lt;?php

class TesteEncapsulamento {
    protected $teste;
}
?&gt;</pre>
<p style="text-align: justify;"><strong>Private (privado):</strong> Quando um atributo ou método é definido como <em>private</em> significa que ele só pode ser acessado de dentro da própria classe. Sendo assim suas subclasses não podem acessar seus métodos e atributos (<a title="[PHP OO] - Herança" href="http://www.fernandovalente.com.br/wordpress/2011/09/17/php-oo-heranca/" target="_blank">saiba mais sobre Herança clicando aqui</a>):</p>
<pre class="brush:php">class Funcionario {
   private $nome;

   public function setNome($nome){
      $this-&gt;nome = $nome;
   }
   public function getNome(){
      return $this-&gt;nome;
   }

 }</pre>
<p>Esse post foi quase uma &#8220;rapidinha&#8221;, simples, rápido e direto. Ficou com alguma dúvida? Mande uma mensagem que prometo responder o mais rápido possível!</p>
<p>Grande abraço!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandovalente.com.br/wordpress/2011/09/19/php-oo-encapsulamento/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[PHP OO] &#8211; Herança</title>
		<link>http://www.fernandovalente.com.br/wordpress/2011/09/17/php-oo-heranca/</link>
		<comments>http://www.fernandovalente.com.br/wordpress/2011/09/17/php-oo-heranca/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 23:44:03 +0000</pubDate>
		<dc:creator>Fernando Valente</dc:creator>
				<category><![CDATA[OO]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[herança]]></category>
		<category><![CDATA[herança php]]></category>
		<category><![CDATA[orientação a objetos]]></category>
		<category><![CDATA[php 5]]></category>
		<category><![CDATA[php oo]]></category>

		<guid isPermaLink="false">http://www.fernandovalente.com.br/wordpress/?p=1625</guid>
		<description><![CDATA[Obs: Esse post parte do princípio que você tem conhecimentos em PHP e está iniciando em Orientação a Objetos. Obs2: Antes que alguém queira reclamar, eu usei os gets e sets para mostrar um exemplo simples, muito simples! A reutilização de parte de nossos códigos é fundamental para nos dar uma maior agilidade no desenvolvimento [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Obs: Esse post parte do princípio que você tem conhecimentos em PHP e está iniciando em Orientação a Objetos.<br />
Obs2: Antes que alguém queira reclamar, eu usei os gets e sets para mostrar um exemplo simples, muito simples!</p>
<p style="text-align: justify;">A reutilização de parte de nossos códigos é fundamental para nos dar uma maior agilidade no desenvolvimento de nossas aplicações. Quando escutamos a palavra <a title="Herança - Dicionário Michaelis" href="http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-portugues&amp;palavra=heran%E7a&amp;CP=86616&amp;typeToSearchRadio=exactly&amp;pagRadio=50" target="_blank">HERANÇA</a> logo lembramos de nossos parentes e o que herdamos ao longo dos anos. Em OO a herança tem quase o mesmo significado. No dicionário encontramos a seguinte definição para herança: <em>&#8220;Aquilo que se herda por disposição testamentária ou por via de <span style="color: #000000;"><a title="Sucessão - Dicionário Michaelis" href="http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-portugues&amp;palavra=sucess%E3o&amp;CP=158603&amp;typeToSearchRadio=exactly&amp;pagRadio=50" target="_blank"><span style="color: #000000;">sucessão</span></a></span>&#8220;</em>. Sucessão, exatamente isso que acontece na orientação a objeto (&#8220;&#8230;acontecimentos que se seguem ou se sucedem em determinada ordem&#8230;&#8221;). Chega de filosofar e vamos direto ao ponto&#8230;</p>
<p style="text-align: justify;">Em orientação a objetos nós utilizamos o compartilhamento de atributos e métodos entre as classes &#8220;filhas&#8221;. A classe &#8220;filha&#8221; herda automaticamente todas as características de sua classe mãe. Vamos entender melhor: Imagine uma empresa, um banco por exemplo&#8230; Independente do setor ou do cargo ocupado por cada um, todos os contratados são funcionários desse banco e possuem alguns atributos iguais (nome, endereço, telefone, salário etc). Com isso podemos criar uma classe Funcionário e, com base nessas informações, criaremos uma outra classe (Gerência) que irá herdar as informações da classe Funcionário. Veja o exemplo abaixo para entender melhor (<a title="Download PHP OO Herança" href="http://www.fernandovalente.com.br/temp/PHPOO_Heranca.zip">Clique aqui para fazer download do exemplo</a>).</p>
<pre class="brush:php">&lt;?php
/*
* Classe mãe "Funcionário". Arquivo Funcionario.php
*/
class Funcionario {
   private $nome;
   private $endereco;
   private $telefone;
   private $salario;

   public function setNome($nome){
      $this-&gt;nome = $nome;
   }
   public function getNome(){
      return $this-&gt;nome;
   }
   public function setEndereco($endereco){
      $this-&gt;endereco = $endereco;
   }
   public function getEndereco(){
      return $this-&gt;endereco;
   }
   public function setTelefone($telefone){
      $this-&gt;telefone = $telefone;
   }
   public function getTelefone(){
      return $this-&gt;telefone;
   }
   public function setSalario($salario){
      $this-&gt;salario = $salario;
   }
   public function getSalario(){
      return $this-&gt;salario;
   }

 }
 ?&gt;</pre>
<pre class="brush:php">/*
* Classe filha "Gerência". Arquivo Gerencia.php
*/
&lt;?php

require_once "Funcionario.php";

/*
* O extends indica que a classe "Gerência" está herdando as
* caracteristicas da classe "Funcionário".
*/
class Gerencia extends Funcionario {
   private $setor;
   private $bonificacao;

   public function setSetor($setor){
      $this-&gt;setor = $setor;
   }
   public function getSetor(){
      return $this-&gt;setor;
   }
   public function setBonificacao($bonificacao){
      $this-&gt;bonificacao = $bonificacao;
   }
   public function getBonificacao(){
      return $this-&gt;bonificacao;
   }

 }
 ?&gt;</pre>
<pre class="brush:php">/*
* Arquivo de teste ExemploFuncionario.php
*/
&lt;?php

require_once "Gerencia.php";

$exemploFuncionarioGerencia = new Gerencia();
$exemploFuncionarioGerencia-&gt;setSetor("Gerência");
$exemploFuncionarioGerencia-&gt;setBonificacao("R$100,00");
$exemploFuncionarioGerencia-&gt;setNome("Fernando");
$exemploFuncionarioGerencia-&gt;setEndereco("Rua dos Bobos, número 0");
$exemploFuncionarioGerencia-&gt;setTelefone("9999-8888");
$exemploFuncionarioGerencia-&gt;setSalario("R$1.000,00");

print_r($exemploFuncionarioGerencia);

?&gt;</pre>
<pre id="line1">Resposta:

Gerencia Object
(
    [setor:Gerencia:private] =&gt; Gerência;
    [bonificacao:Gerencia:private] =&gt; R$100,00
    [nome:Funcionario:private] =&gt; Fernando
    [endereco:Funcionario:private] =&gt; Rua dos Bobos, nœmero 0
    [telefone:Funcionario:private] =&gt; 9999-8888
    [salario:Funcionario:private] =&gt; R$1.000,00
)</pre>
<p style="text-align: justify;"> Veja que no arquivo ExemploFuncionario.php eu pude criar uma instância da classe &#8220;Gerência&#8221;. Pelo simples fato da classe Gerência estender a classe Funcionário eu pude manipular e &#8220;setar&#8221; informações referentes a classe Gerência e Funcionário.</p>
<p style="text-align: justify;">No próximo post irei abordar o Encapsulamento. Como diria Didi Mocó&#8230; &#8220;Aguarde e confie!&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandovalente.com.br/wordpress/2011/09/17/php-oo-heranca/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

