<?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 do Guilherme ::</title>
	<atom:link href="http://www.guilhermepsa.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.guilhermepsa.com</link>
	<description>Tecnologia da Informação, Música, Carro e muito mais...</description>
	<lastBuildDate>Fri, 09 Apr 2010 12:53:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Como utilizar o Zend_Db_Table sem precisar vincular uma entidade de Banco</title>
		<link>http://www.guilhermepsa.com/2010/04/09/como-utilizar-o-zend_db_table-sem-precisar-vincular-uma-entidade-de-banco/</link>
		<comments>http://www.guilhermepsa.com/2010/04/09/como-utilizar-o-zend_db_table-sem-precisar-vincular-uma-entidade-de-banco/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 12:53:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento Web]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.guilhermepsa.com/?p=24</guid>
		<description><![CDATA[Quem usa o ZendFramework, provavelmente já passou muita raiva pois ele gera aquela mensagem &#8220;simpática&#8221;: &#8220;A table must have a primary key, but none was found&#8221;. Isso se deve ao fato de a classe Zend_Db_Table / Zend_Db_Table_Abstract tentar fazer os mapeamentos de nome da entidade, colunas e chave primária &#8211; em suma, efetuar um describe <a href="http://www.guilhermepsa.com/2010/04/09/como-utilizar-o-zend_db_table-sem-precisar-vincular-uma-entidade-de-banco/" class="more-link">Mais &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Quem usa o ZendFramework, provavelmente já passou muita raiva pois ele gera aquela mensagem &#8220;simpática&#8221;: <em>&#8220;A table must have a primary key, but none was found&#8221;.</em> Isso se deve ao fato de a classe Zend_Db_Table / Zend_Db_Table_Abstract tentar fazer os mapeamentos de nome da entidade, colunas e chave primária &#8211; em suma, efetuar um describe da entidade informada.</p>
<p>Mas há momentos em que o modelo não representa uma entidade do banco. Por exemplo, pode-se usar o modelo para executar uma função, uma procedure ou uma consulta à uma &#8220;View&#8221; de banco. Trabalhando nessa estrutura, onde o modelo representa os dados persistidos no banco, esse paradigma é quebrado.</p>
<p>O Zend Framework é bastante flexível em vários quesitos; um deles é o quesito mapeamento de dados, é possível sobrescrever algums métodos da classe herdada (Zend_Db_Table / Zend_Db_Table_Abstract). Um desses é o método <em>&#8220;_setupPrimaryKey&#8221;</em>, responsável por instanciar a chave primária da tabela; metódo, também, responsável por gerar a exceção quando, no mapeamento, não é encontrada a chave primária à partir das colunas buscadas à partir de um describe da tabela. Todo esse processo é executado automaticamente pelo Zend_Db.</p>
<p>Para resolver esse problema, é necessário forçar o mapeamento manual de algumas variáveis utilizadas pela classe &#8220;pai&#8221;. Nessa situação, foi suficiente forçar a variável &#8220;$this-&gt;_cols&#8221; para um vetor vazio. Adicionalmente, foi informado como vazio o nome da tabela, porém a classe pai define como sendo o nome da Classe filha o valor dessa variável ($this-&gt;_name).</p>
<p>Portanto, para trabalhar nessa estrutura, onde o modelo não representa uma entidade no banco basta sobrescrever o método <em>&#8220;_setupPrimaryKey&#8221;</em>:</p>
<blockquote><p>public function _setupPrimaryKey() {<br />
$this-&gt;_cols = array();<br />
$this-&gt;_name = &#8220;&#8221;;<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.guilhermepsa.com/2010/04/09/como-utilizar-o-zend_db_table-sem-precisar-vincular-uma-entidade-de-banco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Habilitando os Instaladores Linux pra reconhecerem RAID via Software</title>
		<link>http://www.guilhermepsa.com/2010/02/27/habilitando-os-instaladores-linux-pra-reconhecerem-raid-via-software/</link>
		<comments>http://www.guilhermepsa.com/2010/02/27/habilitando-os-instaladores-linux-pra-reconhecerem-raid-via-software/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 02:22:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.guilhermepsa.com/?p=17</guid>
		<description><![CDATA[Nesse post, irei discorrer sobre um problema que enfrentei ao tentar instalar o Debian sobre um volume em RAID via Hardware. Ao final você perceberá como é simples resolver esse problema.]]></description>
			<content:encoded><![CDATA[<p>Bem pessoal, essa semana passei por uma problemática toda. Instalei o Debian Lenny numa máquina (servidor), configurei todos os serviços que necessitava e, ao fim de tudo, surgiu uma necessidade, montar um Raid. A máquina possuía apenas um HD de 80 GB e sugeri meu cliente comprar dois HDs de 1.5TB &#8211; pois a placa-mãe só tinha disponível dois conectores SATA -, e nessa situação montei um RAID 1 via hardware.</p>
<p>Inicialmente, eu clonei o HD de 80 GB e esperei pra ver o que aconteceria. Infelizmente não deu muito certo. Como meu tempo era pouco, preferi reinstalar o S.O, mas o Debian continuava reconhecendo 2 HDs. Porém, nada como nosso parceiro Google e as palavras-chave corretas pra encontramos as respostas pra tudo. Encontrei várias soluções, inclusive algumas na verdade sugeriam RAID via Software. Mas um dos documentos foi muito útil. Esse documento, faz parte da Wiki do Debian<a href="#refer1">¹</a>.</p>
<p>Conhecido o cenário e o contexto, vamos à solução. Quando o instalador iniciar na tela onde se escolhe a opção de instalação &#8211; Gráfica, Modo Texto, Recuperação&#8230;. &#8211; basta teclar &#8220;TAB&#8221;, após isso, aparecerão as opções de boot do instalador. Ao final da linha de configuração do inicializador, digite a opção &#8220;dmraid=true&#8221;. Pronto! Agora o instalador reconhecerá apenas o disco em RAID.</p>
<p><strong>Obs.: Essa configuração funcionou para o Debian e provavelmente vá funcionar no Ubuntu também. Outras distribuições podem ter essa opção também.</strong></p>
<p>Simples, não?</p>
<ol>
<li><a name="refer1"></a>Debian Wiki, acessado em 27/02/2010, http://wiki.debian.org/DebianInstaller/SataRaid.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.guilhermepsa.com/2010/02/27/habilitando-os-instaladores-linux-pra-reconhecerem-raid-via-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando o Xdebug no Debian/Ubuntu</title>
		<link>http://www.guilhermepsa.com/2010/02/18/instalando-o-xdebug-no-debianubuntu/</link>
		<comments>http://www.guilhermepsa.com/2010/02/18/instalando-o-xdebug-no-debianubuntu/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 19:35:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[zend.xdebug]]></category>

		<guid isPermaLink="false">http://www.guilhermepsa.com/?p=13</guid>
		<description><![CDATA[Olá pessoal.
Pra quem já teve a mesma dificuldade que eu, pra instalar o componente xdebug no PHP, vai ai uma ajuda e tanto. Como utilizo o repositório do Ubuntu pra instalar meus serviços e programas, passei por uma dificuldade com a instalação do componente xdebug.
Eu utilizo o ZendServer Community Edition &#8211; um Apache + PHP <a href="http://www.guilhermepsa.com/2010/02/18/instalando-o-xdebug-no-debianubuntu/" class="more-link">Mais &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal.</p>
<p>Pra quem já teve a mesma dificuldade que eu, pra instalar o componente xdebug no PHP, vai ai uma ajuda e tanto. Como utilizo o repositório do Ubuntu pra instalar meus serviços e programas, passei por uma dificuldade com a instalação do componente xdebug.</p>
<p>Eu utilizo o ZendServer Community Edition &#8211; um Apache + PHP + Componentes básicos do ZendServer todos num pacote -, e nessa situação, executei o comando padrão: <em>&#8220;aptitude install </em>php-5.3-xdebug-zend-server<em>&#8220;</em>.</p>
<p>Ao restartar o Apache, a surpresa, o serviço não estava no ar e ao analisar os logs a mensagem, que &#8220;diz tudo&#8221; e não diz nada:</p>
<p><strong>[notice] caught SIGTERM, shutting down</strong></p>
<p>Pesquisando nas listas do xdebug, encontrei algo que poderia resolver meu problema. Mas antes, tentei mais uma opção, compilar a extensão com o phpize. Fiz o download da última versão do xdebug, e executei os seguintes comandos:</p>
<p># sudo su<br />
# wget http://xdebug.org/files/xdebug-2.1.0beta2.tgz<br />
# /usr/local/zend/bin/phpize<br />
# ./configure &#8211;enable-xdebug &#8211;with-php-config=/usr/local/zend/bin/php-config<br />
# make<br />
# cp modules/xdebug.so /usr/local/zend/lib/php_extensions/</p>
<p>Como já havia instalado o xdebug do repositório, ele criou em <em><strong>/usr/local/zend/etc/conf.d</strong> </em>um link simbólico &#8220;xdebug.ini&#8221; para o arquivo <em><strong>&#8220;/usr/local/zend/etc/ext.d/xdebug.ini&#8221;</strong></em>.</p>
<p>Bom, o detalhe maior está nesse arquivo, portanto não precisávamos dessa etapa de compilação. A extensão instalada do repositório cria a seguinte diretiva:</p>
<p><strong>zend_extension=/usr/local/zend/lib/php_extensions/xdebug.so</strong></p>
<p>Dessa forma, a extensão não é carregada e para matar a charada, basta mudar de <strong><em>&#8220;zend_extension&#8221;</em> </strong>para<strong> <em>&#8220;extension&#8221;</em></strong>, portanto:</p>
<p><strong>extension=/usr/local/zend/lib/php_extensions/xdebug.so</strong></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 379px; width: 1px; height: 1px;">extension=/usr/local/zend/lib/php_extensions/xdebug.so</div>
]]></content:encoded>
			<wfw:commentRss>http://www.guilhermepsa.com/2010/02/18/instalando-o-xdebug-no-debianubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook reescreve PHP do zero e pode estar desenvolvendo um compilador para a linguagem</title>
		<link>http://www.guilhermepsa.com/2010/02/02/facebook-reescreve-php-do-zero-e-pode-estar-desenvolvendo-um-compilador-para-a-linguagem/</link>
		<comments>http://www.guilhermepsa.com/2010/02/02/facebook-reescreve-php-do-zero-e-pode-estar-desenvolvendo-um-compilador-para-a-linguagem/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 14:29:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.guilhermepsa.com/?p=8</guid>
		<description><![CDATA[Em parceria com a equipe central do PHP, o Facebook deve anunciar nesta terça-feira (02/02/2010) o aplicativo que desenvolveram, que deverá ser disponibilizado como código aberto.]]></description>
			<content:encoded><![CDATA[<p>Parece realidade mesmo, o Facebook, em parceria com a equipe do core do PHP, reescreveu o código do PHP. A idéia, pelo que tenho lido a respeito, é melhorar o desempenho do nosso amável PHP.</p>
<p>O trabalho de melhoria do PHP, deveria ficar a cargo da própria Zend em parceria com a comunidade, mas parece que eles estão sem tempo e mais interessados no mercado corporativo, com suas ferramentas de desenvolvimento, proteção de código e servidor, do que com o crescimento e melhoria da linguagem.</p>
<p>Mais detalhes estão disponíveis em: <a href="http://www.geek.com.br/posts/12221-facebook-reescreve-php-do-zero-e-pode-estar-desenvolvendo-um-compilador-para-a-linguagem" target="_blank">http://www.geek.com.br/posts/12221-facebook-reescreve-php-do-zero-e-pode-estar-desenvolvendo-um-compilador-para-a-linguagem</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.guilhermepsa.com/2010/02/02/facebook-reescreve-php-do-zero-e-pode-estar-desenvolvendo-um-compilador-para-a-linguagem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMware Server, e problemas com Teclado ABNT</title>
		<link>http://www.guilhermepsa.com/2010/01/20/vmware-server-e-problemas-com-teclado-abnt/</link>
		<comments>http://www.guilhermepsa.com/2010/01/20/vmware-server-e-problemas-com-teclado-abnt/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 15:18:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.guilhermepsa.com/?p=5</guid>
		<description><![CDATA[Quem já instalou o vmware server no ubuntu, já deve ter passado por problemas quanto a configuração do teclado, principalmente quanto as teclas &#8220;/&#8221; e &#8220;?&#8221;. Vários posts na internet sugerem algumas alterações na configuração do vmware mas, no meu caso, nenhuma resolveu. Pesquisando nos fórums e na documentação do VMware, consegui achar a solução <a href="http://www.guilhermepsa.com/2010/01/20/vmware-server-e-problemas-com-teclado-abnt/" class="more-link">Mais &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Quem já instalou o vmware server no ubuntu, já deve ter passado por problemas quanto a configuração do teclado, principalmente quanto as teclas &#8220;/&#8221; e &#8220;?&#8221;. Vários posts na internet sugerem algumas alterações na configuração do vmware mas, no meu caso, nenhuma resolveu. Pesquisando nos fórums e na documentação do VMware, consegui achar a solução pra esse problema:</p>
<p>Basta editar o arquivo &#8220;/etc/vmware/config&#8221;, e inserir as seguintes diretivas:</p>
<p><strong>xkeymap.nokeycodeMap = true<br />
xkeymap.keycode.211 =  0&#215;035</strong></p>
<p>No meu caso, como eu já havia instalado o S.O, nesse caso um Debian 5.0, tive que reconfigurar o teclado. Para isso basta digitar no console:</p>
<p><strong>dpkg-reconfigure console-data</strong></p>
<p>e configurar no padrão brasileiro. No meu caso foi bem simples, basicamente &#8220;avançar-avançar-finalizar&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guilhermepsa.com/2010/01/20/vmware-server-e-problemas-com-teclado-abnt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Olá, mundo!</title>
		<link>http://www.guilhermepsa.com/2009/12/28/ola-mundo/</link>
		<comments>http://www.guilhermepsa.com/2009/12/28/ola-mundo/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 01:11:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[about]]></category>
		<category><![CDATA[sobre]]></category>

		<guid isPermaLink="false">http://www.guilhermepsa.com/?p=1</guid>
		<description><![CDATA[Seja bem vindo ao meu blog. Esse blog tem como objetivo, a compartilhamento de experiências e conhecimentos sobre diversas áreas, tais como a programação web, redes, carros, música&#8230;.enfim, tudo aquilo que gosto. O blog tem como objetivo, também, mostrar alguns trabalhos realizados por mim.
]]></description>
			<content:encoded><![CDATA[<p><strong>Seja bem vindo ao meu blog. Esse blog tem como objetivo, a compartilhamento de experiências e conhecimentos sobre diversas áreas, tais como a programação web, redes, carros, música&#8230;.enfim, tudo aquilo que gosto. O blog tem como objetivo, também, mostrar alguns trabalhos realizados por mim.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.guilhermepsa.com/2009/12/28/ola-mundo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
