<?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>ACAlbuquerque.Blog</title>
	<atom:link href="http://www.acalbuquerque.blog.br/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.acalbuquerque.blog.br</link>
	<description>ACAlbuquerque :: Desenvolvimento Web, idéias e tutoriais</description>
	<lastBuildDate>Sat, 28 Nov 2009 22:58:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Twitter signin com jQuery</title>
		<link>http://www.acalbuquerque.blog.br/?p=787</link>
		<comments>http://www.acalbuquerque.blog.br/?p=787#comments</comments>
		<pubDate>Sat, 28 Nov 2009 22:58:19 +0000</pubDate>
		<dc:creator>acalbuquerque</dc:creator>
				<category><![CDATA[JS/HTML]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.acalbuquerque.blog.br/?p=787</guid>
		<description><![CDATA[
De fato o twitter trouxe sua contribuição para a WEB. Não estou falando apenas do simples porém eficaz negócio de mensagens curtas, mas também do seu design e funcionalidades.
Basta olharmos para a nova homepage com um design limpo e fácil que inspira muitos outros serviços a fazerem o mesmo. Sendo assim notamos no canto superior [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="twitter login" src="http://farm3.static.flickr.com/2667/4142138456_b4ef1f481b_o.jpg" alt="4142138456 b4ef1f481b o Twitter signin com jQuery" width="490" height="258" /></p>
<p style="text-align: left;">De fato o<a href="http://www.twitter.com" target="_blank"> <span style="color: #ff9900;">twitter</span></a> trouxe sua contribuição para a WEB. Não estou falando apenas do simples porém eficaz negócio de mensagens curtas, mas também do seu design e funcionalidades.</p>
<p style="text-align: left;"><span id="result_box"><span style="background-color: #ffffff;" title="Twitter's running a new homepage with clean and easy design.">Basta olharmos para a nova homepage com um design limpo e fácil que inspira muitos outros serviços a fazerem o mesmo. </span><span style="background-color: #ffffff;" title="Look at the top right of Twitter's homepage, you'll see the sign in button which will drop down the login form.">Sendo assim notamos no canto superior direito da página inicial do Twitter e veremos o sinal no botão que será suspenso o formulário de login.</span></span></p>
<p style="text-align: left;">Assim, <strong>Lam Nguyen</strong> <span id="result_box"><span style="background-color: #ffffff;" title="Today, I will make an entry to show you how to create a login drop down with Twitter style using jQuery.">ensinou como criar um login drop down com estilo Twitter utilizando jQuery <a href="http://aext.net/2009/08/perfect-sign-in-dropdown-box-likes-twitter-with-jquery/" target="_blank"><span style="color: #ff9900;">aqui</span></a>.</span></span></p>
<p style="text-align: left;"><span id="result_box"><span style="background-color: #ffffff;" title="You need to use css to define the Sign In button and and the Login Form."> </span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.acalbuquerque.blog.br/?feed=rss2&amp;p=787</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Drawter &#8211; Construtor de Wireframes</title>
		<link>http://www.acalbuquerque.blog.br/?p=777</link>
		<comments>http://www.acalbuquerque.blog.br/?p=777#comments</comments>
		<pubDate>Sat, 28 Nov 2009 22:30:37 +0000</pubDate>
		<dc:creator>acalbuquerque</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Criação]]></category>
		<category><![CDATA[Front-end]]></category>
		<category><![CDATA[WebDesign]]></category>
		<category><![CDATA[wireframe]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.acalbuquerque.blog.br/?p=777</guid>
		<description><![CDATA[
O Drawter Beta 2 é uma ferramenta escrita em JavaScript e baseado na biblioteca jQuery.
Ela oferece a possibilidade de literalmente tirar o código do seu site apenas desenhando o wireframe. Roda em qualquer navegador web simples que o torna realmente útil.
Atualmente Drawter está disponível na versão Pro, o que significa que se destina para webmasters [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone" title="Drawter" src="http://farm3.static.flickr.com/2705/4142072902_1a7bb068a0_o.jpg" alt="4142072902 1a7bb068a0 o Drawter   Construtor de Wireframes" width="532" height="284" /></p>
<p style="text-align: left;">O <a href="http://drawter.com/" target="_blank"><span style="color: #ff9900;">Drawter Beta 2</span></a> é uma ferramenta escrita em JavaScript e baseado na biblioteca jQuery.<br />
Ela oferece a possibilidade de literalmente tirar o código do seu site apenas desenhando o wireframe. Roda em qualquer navegador web simples que o torna realmente útil.</p>
<p style="text-align: left;">Atualmente <a href="http://drawter.com/" target="_blank"><span style="color: #ff9900;">Drawter</span></a> está disponível na versão Pro, o que significa que se destina para webmasters com o conhecimento de HTML e CSS é necessário.<br />
É uma ótima ferramenta para a criação de wireframes pois possibilita apartir do desenho já a geração de código xHTML e CSS.</p>
<p style="text-align: left;">Teclas de atalho disponíveis:<br />
Ctrl +1 &#8211; Draw Mode<br />
Ctrl +2 &#8211; Edit Mode</p>
<p style="text-align: left;">Também há um screencast para os interessados <a href="http://drawter.com/screencast/" target="_blank"><span style="color: #ff9900;">aqui</span></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acalbuquerque.blog.br/?feed=rss2&amp;p=777</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abstração de SGBD no PHP &#8211; PEAR::MDB2</title>
		<link>http://www.acalbuquerque.blog.br/?p=753</link>
		<comments>http://www.acalbuquerque.blog.br/?p=753#comments</comments>
		<pubDate>Mon, 26 Oct 2009 19:13:47 +0000</pubDate>
		<dc:creator>acalbuquerque</dc:creator>
				<category><![CDATA[Destaques]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.acalbuquerque.blog.br/?p=753</guid>
		<description><![CDATA[As conexões com um banco de dados SQL estão presentes em quase 100% das páginas que utilizam algum tipo de BD, mas o grande problema é que nem sempre quem escreve esses scripts sabem fazê-las de forma segura e sustentável.
Pensando nisso, um grupo de programadores do *PEAR decidiu criar um package (uma classe) que melhorasse [...]]]></description>
			<content:encoded><![CDATA[<p>As conexões com um banco de dados SQL estão presentes em quase 100% das páginas que utilizam algum tipo de BD, mas o grande problema é que nem sempre quem escreve esses scripts sabem fazê-las de forma segura e sustentável.</p>
<p>Pensando nisso, um grupo de programadores do <strong>*PEAR</strong> decidiu criar um package (uma classe) que melhorasse as conexões SQL e ao mesmo tempo fosse compatível e fácil de ser usado em diversos tipos de bancos de dados, assim surgiu o package <strong>PEAR::DB</strong> que evoluiu para o <strong>PEAR::MDB2</strong>.</p>
<p>Se você utiliza uma versão do PHP5+ ou um servidor recente, é muito provável que já tenha tanto o PEAR como o pacote MDB2 instalados. Caso não, pesquise no google como instalar o pear e a mdb2, pois existem muitos resultados falando já sobre isso.</p>
<h5><strong>*PEAR</strong> é um repositório de packages (classes) PHP criado e mantido por centenas de programadores, com o intuito de criar e melhorar a usabilidade do PHP. Eles disponibilizam diversos pacotes que estão em constantes melhorias e cada qual com uma utilidade mais incrível que o outro.<br />
Tamanhas são as utilidades dos pacotes PEAR que as versões mais novas do PHP já são distribuídas com o PEAR e seus pacotes mais usados já instalados.</h5>
<p>Mais informações no site <a href="http://www.pear.php.net" target="_blank"><span style="color: #ffcc00;">www.pear.php.net</span></a></p>
<h3>- Conexão</h3>
<p>A primeira coisa a se observar, é que para podermos usar um package da PEAR é necessário dar um include no arquivo principal deste, no nosso caso, devemos adicionar o arquivo MDB2.php no início de tudo (não é necessária a especificação do caminho):</p>
<pre class="brush: php;">require_once('MDB2.php');</pre>
<h3>- Declaração da DSN</h3>
<p>Feito isso, devemos nos conectar ao banco de dados. As conexões dos packages da PEAR (DB e MDB2) seguem uma sintaxe um pouco diferente da comumente utilizada pelos famosos mysql_connect, ou pg_connect, etc. Começando por uma DSN, que é uma string que possui uma forma especifica de declaração, englobando os dados da conexão:</p>
<pre class="brush: php;">phptype://usuario:password@host/database</pre>
<p>onde:<br />
<strong>phptype</strong> = Tipo de DB{<br />
fbsql: FrontBase<br />
ibase: InterBase<br />
mssql: Microsoft SQL Server<br />
mysql: MySQL<br />
mysqli: MySQL Improved<br />
oci8 : Oracle 7/8/9<br />
pgsql: PostgreSQL<br />
querysim: QuerySim<br />
sqlite: SQLite<br />
}<br />
<strong>usuario</strong> = nome de usuário<br />
<strong>password</strong> = senha<br />
<strong>host</strong> = host<br />
<strong>database</strong> = nome do DB</p>
<h3>- Conectando</h3>
<p>Declarada a DSN, falta chamar o método de conexão, existem três:</p>
<p>- <strong>connect</strong> : Era mais usado no package PEAR:biggrin.gifB, mas caiu em desuso com o MDB2 (mas preservado).<br />
- <strong>singleton</strong> : É usado para evitar que se sejam criadas duas conexões com a mesma DSN. Caso já haja alguma, ele retonará um erro.<br />
- <strong>factory</strong> : É o mais utilizado e recomendado para a maioria das tarefas</p>
<h5><strong>*obs: </strong> Para chamá-los devemos precedê-los de MDB2:: e usar como argumento a DSN:</h5>
<pre class="brush: php;">$con =&amp; MDB2::factory($dsn);</pre>
<p><span style="color: #ff0000;"><span style="font-size: 12pt; line-height: 100%;"><strong>ATENÇÃO!<!--colorc--><!--/colorc--></strong><!--sizec--></span></span></p>
<p><!--/sizec--><!--coloro:Red--><!--/colorc-->Para que o uso do MDB2 funcione corretamente é necessário o uso de um objeto-referência do objeto original em vez de uma cópia:</p>
<ul>
<li><!--coloro:Green--><span style="color: #000000;"><!--/coloro-->$con =<!--coloro:#ff0000--><!--/coloro--><span style="color: #ff0000;">&amp;</span><!--colorc--><!--/colorc--> MDB2::factory($dsn);<!--colorc--></span><!--/colorc--></li>
</ul>
<p><strong><span style="color: #ff0000;">e NÃO<!--colorc--></span></strong></p>
<p><!--/colorc--></p>
<ul>
<li><!--coloro:DarkRed--><span style="color: #000000;"><!--/coloro-->$con = MDB2::factory($dsn);</span></li>
</ul>
<h3>- Recuperando dados</h3>
<p>Para recuperarmos dados da DB (SELECT, SHOW, EXPLAIN, etc) utilizamos o método <strong>query()</strong>.<br />
Ele deve ser chamado através do objeto da conexão:</p>
<pre class="brush: php;">$result =&amp; $con-&gt;query($sql_query);</pre>
<p>Será retornado um handler para o resultado, e através dele podem ser usados outros métodos (atente novamente para o uso de referências &#8211; &amp;).</p>
<pre class="brush: php;">
$result =&amp; $con-&gt;query('SELECT * FROM table WHERE column=1');
//ou
$select = 'SELECT * FROM table WHERE column=1';
$result =&amp; $con-&gt;query($select);
</pre>
<p><strong>Número de linhas Retornadas</strong></p>
<p>Para verificar o número de linhas retornadas devemos usar o método <strong>numRows()</strong> do objeto-resultado.</p>
<pre class="brush: php;">$rows = $result-&gt;numRows();</pre>
<h3>Retirando dados do objeto-resultado</h3>
<p>Após realizada a query, devemos chamar outro método caso desejemos usar os dados retornados: o <span style="color: #008000;">fetchRow()</span>.<br />
Este método aceita como parâmetro a forma como o resultado deve ser retornado, existem três tipos:</p>
<p><strong>- MDB2_FETCHMODE_ORDERED</strong></p>
<p>Modo padrão, retorna uma array em que cada chave numérica corresponde á coluna mais á esquerda, em ordem crescente e começando pelo 0.</p>
<pre class="brush: php;">$row =&amp; $result-&gt;fetchRow(MDB2_FETCHMODE_ORDERED);

//Resultado:

Array
(
 [0] =&gt; Valor1
 [1] =&gt; 1
 [2] =&gt; Valor3
)
</pre>
<p><strong>- MDB2_FETCHMODE_ASSOC</strong></p>
<p>Esse modo retorna uma array em que cada chave é o nome da coluna correspondente.</p>
<pre class="brush: php;">$row =&amp; $result-&gt;fetchRow(MDB2_FETCHMODE_ASSOC);

//Resultado:

Array
(
 [coluna1] =&gt; Valor1
 [coluna2] =&gt; 1
 [coluna3] =&gt; Valor3
)
</pre>
<p><strong>- MDB2_FETCHMODE_OBJECT</strong></p>
<p>-Esse modo retorna um objeto em que cada coluna é tratada como um atributo.</p>
<pre class="brush: php;">$row =&amp; $result-&gt;fetchRow(MDB2_FETCHMODE_OBJECT);

//Resultado:

stdClass Object
(
 [coluna1] =&gt; Valor1
 [coluna2] =&gt; 1
 [coluna3] =&gt; Valor3

)</pre>
<p>Alternativamente podemos configurar um FETCHMODE padrão para a conexão com que vamos trabalhar através do método <!--coloro:#2e8b57--><span style="color: #2e8b57;"><!--/coloro-->setFetchMode()<!--colorc--></span><!--/colorc-->. Feito isso, caso chamemos, por exemplo, um <!--coloro:SeaGreen--><span style="color: seagreen;"><!--/coloro-->fetchRow()<!--colorc--></span><!--/colorc--> (sem argumento), a forma retornada seria a indicada nesse método.</p>
<pre class="brush: php;">
$con-&gt;setFetchMode(MDB2_FETCHMODE_ORDERED);
// ou
$con-&gt;setFetchMode(MDB2_FETCHMODE_ASSOC);
//ou
$con-&gt;setFetchMode(MDB2_FETCHMODE_OBJECT);
</pre>
<h3>- Método fetchAll()</h3>
<p>Esse método retorna uma array bidimensional contendo todas as linhas do objeto-resultado.</p>
<pre class="brush: php;">
$row =&amp; $result-&gt;fetchAll(MDB2_FETCHMODE_ASSOC);

//resultado

Array
(
 [0] =&gt; Array
 (
 [coluna1] =&gt; Valor1
 [coluna2] =&gt; 1
 [coluna3] =&gt; Valor3
 )

 [1] =&gt; Array
 (
 [coluna1] =&gt; V1
 [coluna2] =&gt; 2
 [coluna3] =&gt; V3
 )

)
</pre>
<p>Uma maneira mais rápida e prática e fazer isso tudo seria o uso do método queryAll() = query()+fetchAll()</p>
<pre class="brush: php;">$row =&amp; $con-&gt;queryAll(&quot;SELECT * FROM test&quot;, MDB2_FETCHMODE_ASSOC);</pre>
<h3>Executando Query´s</h3>
<p>Para executar query de manipulação de dados (INSERT, UPDATE, DELETE), não deve ser o usado o método<strong> query()</strong> e sim o <strong>exec()</strong><br />
Esse método retornará um erro caso seja usado com queries que não sejam DMQs, como SELECT.</p>
<pre class="brush: php;">
$sql =&quot;INSERT INTO test(coluna1, coluna2, coluna3) VALUES ('v_col1', 3, 'v_col3')&quot;

$nrows =&amp; $con-&gt;exec($sql);
</pre>
<h3>Tratamento de erros</h3>
<p>Para evitar problemas tanto no código como de segurança, deve-se sempre fazer uma verificação se a ação não resultou em um erro, para tanto usamos o método <strong>PEAR::isError</strong>($objeto-&gt;resultado).<br />
Verificado que existe um erro, podemos obter a mensagem enviada pelo MDB2 através do método <strong>getMessage()</strong></p>
<pre class="brush: php;">

$result =&amp; $cnt-&gt;query(&quot;SELECT * FROM tabela_inexistente&quot;);
if(PEAR::isError($result)) { die($result-&gt;getMessage()); }
</pre>
<h3>Referências:</h3>
<p><strong>Oficial da PEAR:</strong> <a onclick="javascript:urchinTracker('/outgoing/www_pear_php_net');" href="http://www.pear.php.net/manual/en/package.database.mdb2.php" target="_blank">www.pear.php.net/manual/en/package.database.mdb2.php</a></p>
<p><strong>CODESCHMIE:</strong> <a onclick="javascript:urchinTracker('/outgoing/codeschmie_de');" href="http://codeschmie.de/archives/127-MDB2-Cheatsheet.html" target="_blank">codeschmie.de/archives/127-MDB2-Cheatsheet.html</a></p>
<p><strong>phpied</strong> <a href='http://www.phpied.com/'>http://www.phpied.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.acalbuquerque.blog.br/?feed=rss2&amp;p=753</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Qualidade de código PHP &#8211; xDebug</title>
		<link>http://www.acalbuquerque.blog.br/?p=729</link>
		<comments>http://www.acalbuquerque.blog.br/?p=729#comments</comments>
		<pubDate>Mon, 14 Sep 2009 14:08:28 +0000</pubDate>
		<dc:creator>acalbuquerque</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.acalbuquerque.blog.br/?p=729</guid>
		<description><![CDATA[Como o processo de desenvolvimento de software é sujeito a erros, a atividade de teste é fundamental para se obter produtos com garantia de qualidade. Portanto, é importante que você tenha antes de qualquer coisa, essa afirmação anterior como regra a ser seguida.
Fazer o debug de aplicações PHP sempre foi um grande problema. Utilizar echo [...]]]></description>
			<content:encoded><![CDATA[<p>Como o processo de desenvolvimento de software é sujeito a erros, a atividade de teste é fundamental para se obter produtos com garantia de qualidade. Portanto, é importante que você tenha antes de qualquer coisa, essa afirmação anterior como regra a ser seguida.</p>
<p>Fazer o debug de aplicações PHP sempre foi um grande problema. Utilizar <span style="color: #ff0000;"><em>echo</em></span> e <span style="color: #ff0000;"><em>var_dump</em></span> não é a melhor maneira, além de não ser nada elegante. Existe uma forma de realizar o debug de aplicações PHP de forma mais correta e útil. Esta forma é usando­-se a extensão chamada xdebug.</p>
<h1>O que é isso?</h1>
<p>O <span style="text-decoration: underline;"><a rel="nofollow" href="http://www.xdebug.org/" target="_blank">Xdebug</a></span> é uma extensão para PHP que como o próprio nome sugere, serve para auxiliar no debug de scripts PHP.</p>
<h1>O que isso faz?</h1>
<p>O Xdebug vai mostrar diversas informações importantes sobre o erro. O Xdebug adiciona várias opções ao php, uma delas é refazer o<span style="color: #ff0000;"> <em>var_dump</em></span>.</p>
<h1>Como Instalar?</h1>
<p>O meu ambiente de testes é o Ubuntu 9.04, porém se você é usuário Windows o mais fácil é fazer o download de um arquivo dll no <span style="text-decoration: underline;"><a href="http://pecl4win.php.net/ext.php/php_xdebug.dll " target="_blank">site</a></span> e salvá-­lo no diretório ext do PHP.<br />
Para usuários Linux, a melhor maneira é fazer a instalação usando o comando pecl:</p>
<p><strong>$ sudo apt-get install php5-dev php-pear</strong><br />
<strong>$ sudo pecl install xdebug</strong></p>
<p>No meu caso o xdebug ficou em:<br />
<strong>/usr/lib/php5/20060613+lfs/xdebug.so</strong></p>
<p>Para que o php considere o uso da extensão, o arquivo de inicialização php.ini deve ser editado<br />
<strong>sudo gedit /etc/php5/apache2/php.ini</strong></p>
<p>acrescente no fim do arquivo:<br />
<strong>zend_extension=”/usr/lib/php5/20060613+lfs/xdebug.so”</strong></p>
<p>Ou para windows:<strong> zend_extension_ts=&#8221;c:/xampp/php/ext/php_xdebug.dll&#8221;</strong></p>
<p>Após isso, adicione as configurações do xdebug:</p>
<p><strong>xdebug.default_enable = On<br />
xdebug.collect_includes = On<br />
xdebug.collect_params = On<br />
xdebug.collect_return = On<br />
xdebug.collect_vars = On</strong></p>
<p>E agora basta reiniciar o apache:<br />
<strong>sudo /etc/init.d/apache2 restart</strong></p>
<h3>- Novo var_dump</h3>
<p>Quando a extensão está ativa, o comando <span style="color: #ff0000;"><em>var_dump</em></span> mostra informações mais detalhadas das variáveis. Para testar é só executar o <span style="color: #ff0000;"><em>var_dump</em></span> passando como parâmetro qualquer variável ou objeto do script. ex:</p>
<pre class="brush: php;">
&lt;?php
$dados = array(
'um' =&gt; 'uma string',
'dois' =&gt; array(
'two.one' =&gt; array(
'two.one.zero' =&gt; 210,
'two.one.one' =&gt; array(
'two.one.one.zero' =&gt; 3.141592564,
'two.one.one.one' =&gt; 2.7,
),
),
),
'tres' =&gt; $t,
'quatro' =&gt; range(0, 5),
);
var_dump( $dados );
?&gt;
</pre>
<h3>Proteção de memória</h3>
<p>É possível configurar o Xdebug para proteger o servidor em caso de um loop infinito, que poderia consumir muitos recursos. Por default  o Xdebug configura para 100 iterações. Para modificar esta características deve­se adicionar a seguinte linha no php.ini e depois reinicie o apache:</p>
<p><strong>xdebug.max_nesting_level=10</strong></p>
<p>Assim, o programa abaixo vai invocar a função loop_infinito() somente dez vezes e depois irá gerar um erro:</p>
<p style="text-align: center;"><img class="size-full wp-image-738 aligncenter" title="erro_log" src="http://www.acalbuquerque.blog.br/wp-content/uploads/2009/09/erro_log.jpg" alt="erro log Qualidade de código PHP   xDebug " width="441" height="138" /></p>
<h3>- Coletando mais informações</h3>
<p>Para que o Xdebug possa coletar mais informações sobre os erros é possível configurá-­lo para capturar as variáveis globais como POST, GET, FILES, etc. Para isso é só adicionar as linhas abaixo no php.ini e depois reinicie o apache:</p>
<p><strong>;; //Capturar as variáveis globais<br />
xdebug.dump.GET=*<br />
xdebug.dump.POST=*<br />
xdebug.dump.COOKIE=*<br />
xdebug.dump.ENV=*<br />
xdebug.dump.FILES=*<br />
xdebug.dump.REQUEST=*<br />
xdebug.dump.SERVER=*<br />
xdebug.dump.SESSION=*</strong></p>
<p>ps: O <strong>*</strong>( lê-se coringa) pode ser substituído pelo nome da variável que se deseja capturar.</p>
<h3><strong>Testes</strong></h3>
<p><strong>Quantas funções foram invocadas no script?</strong></p>
<pre class="brush: php;">
&lt;?php
echo xdebug_get_function_count();
?&gt;
</pre>
<p><strong>Quanto tempo demorou a execução?</strong></p>
<pre class="brush: php;">
&lt;?php
for($i=0;$i&lt;1000000;$i++) {
 $j = $i;
}
echo &quot;Tempo de execução=&quot;. xdebug_time_index();
?&gt;
</pre>
<p><strong>Quanta memória utilizou?</strong></p>
<pre class="brush: php;">
&lt;?php
echo &quot;Memória: &quot;, xdebug_memory_usage(), &quot; bytes\n\n&quot;;
for($i=0;$i&lt;1000000;$i++) {
 $j = $i;
}
echo &quot;Máximo de Memória usada: &quot;, xdebug_peak_memory_usage(), &quot; bytes\n&quot;;
?&gt;
</pre>
<h3>Trace da aplicação</h3>
<p>Para acompanhar o fluxo da aplicação é preciso adicionar as linhas abaixo no php.ini e depois reinicie o apache:</p>
<p><strong>xdebug.auto_trace=1<br />
xdebug.trace_output_dir=/tmp<br />
xdebug.trace_options=1<br />
xdebug.trace_format = 0</strong></p>
<p>Desta  forma   será   criado   um   arquivo   no  /tmp  chamado   trace.???   para   cada   script   PHP   que  for executado. Neste arquivo estará descrito cada comando executado, variáveis criadas, etc. Assim facilita a visualização do fluxo do script e eventuais erros.</p>
<h3>Profiling</h3>
<p>Profiling é uma maneira de visualizar quais partes do código do script estão demorando mais para executar. O Xdebug precisa ser configurado para poder gerar estas estatísticas. Para isso deve-­se adicionar as linhas no php.ini e depois reinicie o apache:</p>
<p><strong>xdebug.profiler_enable = 1<br />
xdebug.extended_info = 0<br />
xdebug.remote_enable = 0<br />
xdebug.profiler_output_dir=/tmp</strong></p>
<p>Após a execução de um script é gerado um arquivo no /tmp com as estatísticas de execução. Para analisarmos   estas   estatísticas   pode­se   usar   uma   ferramenta   gráfica de cache profiling como <span style="text-decoration: underline;"><a href="http://kcachegrind.sourceforge.net/html/Home.html" target="_blank">kcachegrind</a></span>(para Linux), <span style="text-decoration: underline;"><a href="http://sourceforge.net/projects/wincachegrind/" target="_blank">WinCacheGrind</a></span>(para windows) ou a ferramenta web <a href="http://sourceforge.net/projects/wincachegrind/" target="_blank"> <span style="text-decoration: underline;">Webgrind</span>.</a></p>
<p>Enfim, existem outras funcionalidades que podem ser somadas e usadas com o xDebug, mas isso fica para um próximo post.</p>
<p><strong>Referências:</strong></p>
<p><a href="http://www.xdebug.org/" target="_self">http://www.xdebug.org/</a></p>
<p><a href="http://www.eltonminetto.net" target="_blank">http://www.eltonminetto.net</a></p>
<p><a href="http://code.google.com/p/webgrind/" target="_blank">http://code.google.com/p/webgrind/</a></p>
<p><a href="http://morgamic.com/2008/06/12/profiling-php-with-xdebug-and-webgrind/" target="_blank">http://morgamic.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.acalbuquerque.blog.br/?feed=rss2&amp;p=729</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jQuery Tools</title>
		<link>http://www.acalbuquerque.blog.br/?p=726</link>
		<comments>http://www.acalbuquerque.blog.br/?p=726#comments</comments>
		<pubDate>Sun, 13 Sep 2009 06:38:03 +0000</pubDate>
		<dc:creator>acalbuquerque</dc:creator>
				<category><![CDATA[Destaques]]></category>
		<category><![CDATA[JS/HTML]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.acalbuquerque.blog.br/?p=726</guid>
		<description><![CDATA[Esta biblioteca(jQuery Tools) contém seis das ferramentas mais úteis do Javascript disponíveis para um site de hoje. A beleza desta biblioteca é que todas essas ferramentas podem ser usadas juntas. No final, você pode ter centenas de elementos diferentes e novas maneiras de usar a biblioteca.
Esta biblioteca é de código fonte aberto e de licensa  [...]]]></description>
			<content:encoded><![CDATA[<p>Esta biblioteca(<span style="text-decoration: underline;"><a href="http://flowplayer.org/tools/index.html" target="_blank">jQuery Tools</a></span>) contém seis das ferramentas mais úteis do Javascript disponíveis para um site de hoje. A beleza desta biblioteca é que todas essas ferramentas podem ser usadas juntas. No final, você pode ter centenas de elementos diferentes e novas maneiras de usar a biblioteca.</p>
<p>Esta biblioteca é de código fonte aberto e de licensa  dupla, MIT e  GPL 2 .</p>
<p>O pacote contém uma série de <a href="http://flowplayer.org/tools/demos/index.html" target="_blank"><span style="text-decoration: underline;">demos</span></a>, incluindo:</p>
<ul>
<li>Tabs</li>
<li>Tooltips</li>
<li>Expose</li>
<li>Overlay</li>
<li>Scrollable</li>
<li>Flashembed</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.acalbuquerque.blog.br/?feed=rss2&amp;p=726</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SMS para os E.T´s</title>
		<link>http://www.acalbuquerque.blog.br/?p=718</link>
		<comments>http://www.acalbuquerque.blog.br/?p=718#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:06:29 +0000</pubDate>
		<dc:creator>acalbuquerque</dc:creator>
				<category><![CDATA[No-Sense]]></category>
		<category><![CDATA[Papo Furado]]></category>
		<category><![CDATA[No Sense]]></category>
		<category><![CDATA[virais]]></category>

		<guid isPermaLink="false">http://www.acalbuquerque.blog.br/?p=718</guid>
		<description><![CDATA[
Como parte das comemorações da Semana de Ciência Australiana, até o dia 24 de agosto o site www.HelloFromEarth.net irá receber mensagens de até 160 caracteres, que serão transmitidas ao planeta Gliese         581d(o planeta mais próximo conhecido fora do nosso sistema solar).  Cientistas acreditam que o planeta provavelmente deve [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.HelloFromEarth.net" target="_blank"><img class="size-full wp-image-719 aligncenter" title="hello" src="http://www.acalbuquerque.blog.br/wp-content/uploads/2009/08/hello.jpg" alt="hello SMS para os E.T´s" width="582" height="111" /></a></p>
<p>Como parte das comemorações da Semana de Ciência Australiana, até o dia 24 de agosto o site <a href="www.HelloFromEarth.net" target="_blank">www.HelloFromEarth.net</a> irá receber mensagens de até 160 caracteres, que serão transmitidas ao planeta <a href="http://en.wikipedia.org/wiki/Gliese_581d" target="_blank">Gliese         581d</a>(o planeta mais próximo conhecido fora do nosso sistema solar).  Cientistas acreditam que o planeta provavelmente deve ter         condições de abrigar vida.  O tempo de entrega previsto,         contudo, é de quase 20 anos e não há garantias de uma resposta,         alerta o site.</p>
<p>&#8220;É como uma &#8216;mensagem em uma         garrafa&#8217; enviada para as estrelas. O interessante não é         apenas se há alguém ouvindo, mas o que o público dirá à vida         inteligente de outro planeta&#8221;, afirmou o porta-voz do         projeto, o jornalista Wilson da Silva.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acalbuquerque.blog.br/?feed=rss2&amp;p=718</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O OAB da Informática</title>
		<link>http://www.acalbuquerque.blog.br/?p=712</link>
		<comments>http://www.acalbuquerque.blog.br/?p=712#comments</comments>
		<pubDate>Tue, 28 Jul 2009 17:06:29 +0000</pubDate>
		<dc:creator>acalbuquerque</dc:creator>
				<category><![CDATA[Papo Furado]]></category>
		<category><![CDATA[Super-Interessante]]></category>
		<category><![CDATA[lei]]></category>
		<category><![CDATA[oab da informática]]></category>

		<guid isPermaLink="false">http://www.acalbuquerque.blog.br/?p=712</guid>
		<description><![CDATA[O Projeto de Lei número 607 de 2007 em trâmite no Senado Federal, que dispõe sobre a regulamentação do exercício da profissão de Analista de Sistemas e suas correlatas, cria o Conselho Federal e os Conselhos Regionais de Informática e dá outras providências, recebeu relatório positivo na Comissão de Constituição e Justiça (com correções), recentemente [...]]]></description>
			<content:encoded><![CDATA[<p>O Projeto de Lei número 607 de 2007 em trâmite no Senado Federal, que dispõe sobre a regulamentação do exercício da profissão de Analista de Sistemas e suas correlatas, cria o Conselho Federal e os Conselhos Regionais de Informática e dá outras providências, recebeu relatório positivo na Comissão de Constituição e Justiça (com correções), recentemente publicado em 09/07/2009.</p>
<p>Veja o relatório <a href="http://legis.senado.gov.br/mate-pdf/62690.pdf" target="_blank">aqui</a>.</p>
<p>Segundo a proposta, embora os Conselhos tenham caído na revisão pela CCJ, teríamos uma espécie de “OAB da Informática”, conselhos existentes que passam a gerir a atividade e a habilitação dos  profissionais de tecnologia da Informação. O Projeto foi em março de 2008 aprovado na Comissão de Ciência e Tecnologia.</p>
<p>Você sempre trabalhou com informática mas não tem formação na área? Comece a se preocupar com o tema! Porém aí vai o alívio:  se comprovar 5 (cinco) anos de profissão na época da entrada em vigor da Lei, permanecerá com seu emprego e profissão.</p>
<p>Gestão de Projetos de Sistemas de Informação passa a ser uma atividade que só um analista de sistemas pode desempenhar. Adeus aos PMPs que não tem formação na área! Perícias e Auditoria também! Adeus auditores formados em Administração! Ensino também! Quer abrir uma escola de informática? Onde está o “Analista”? Ou seja,  para muitas atividades,  será necessário ser “Analista de Sistemas”, nos termos da Lei.</p>
<p>*ps: Vi no <a href="http://pcmag.uol.com.br" target="_blank">PCMAGAZINE-BR</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.acalbuquerque.blog.br/?feed=rss2&amp;p=712</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cheat Sheet´s de Linguagens de Programação</title>
		<link>http://www.acalbuquerque.blog.br/?p=675</link>
		<comments>http://www.acalbuquerque.blog.br/?p=675#comments</comments>
		<pubDate>Sat, 25 Jul 2009 22:47:30 +0000</pubDate>
		<dc:creator>acalbuquerque</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[cheat sheets]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[shortcuts]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://www.acalbuquerque.blog.br/?p=675</guid>
		<description><![CDATA[Para finalizar a longa sequência de post´s com Cheat Sheet´s, segue este que será o mais completo de todos com várias LP´s e vários Cheat sheet´s de cada uma.

- Expressões Regulares (standart)

É um guia para os padrões de expressões regulares, e não é específica a um único idioma.
Esta é a segunda versão do Cheat Sheet. [...]]]></description>
			<content:encoded><![CDATA[<p>Para finalizar a longa sequência de post´s com Cheat Sheet´s, segue este que será o mais completo de todos com várias LP´s e vários Cheat sheet´s de cada uma.</p>
<div>
<h3><strong>- Expressões Regulares (standart)</strong></h3>
<p><img class="alignleft" style="margin: 3px;" title="regex" src="http://farm3.static.flickr.com/2551/3756176108_d3ea5032b0_o.png" alt="3756176108 d3ea5032b0 o Cheat Sheet´s de Linguagens de Programação" width="90" height="95" /><br />
É um guia para os padrões de expressões regulares, e não é específica a um único idioma.<br />
Esta é a segunda versão do Cheat Sheet. A versão anterior podem ser encontrados em <a href="http://migre.me/4azQ" target="_blank">http://migre.me/4azQ</a>.</p>
<p><a href="http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/" target="_blank">Download aqui!</a></p>
</div>
<div>
<h3><strong>- Apache Mod_Rewrite</strong></h3>
<p><strong><img class="alignleft" title="mod_rew" src="http://farm4.static.flickr.com/3435/3756176434_0e28906c13_o.png" alt="3756176434 0e28906c13 o Cheat Sheet´s de Linguagens de Programação" width="90" height="95" /></strong></p>
<p>Trata-se de uma folha de referência, para a listagem flags, regras  e condições de sobrescrita. Além de listar as variáveis do servidor por expressão regular e vários exemplos de regras comuns.</p>
<p>O mod_rewrite Cheat Sheet é distribuído sob a <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/uk/">Creative Commons License</a> (Attribution, Non-Commercial, Share Alike).</p>
<p><a href="http://www.addedbytes.com/apache/mod_rewrite-cheat-sheet/" target="_blank">Download aqui!</a></p>
</div>
<div>
<h3><strong>- Python Cheat Sheet´s</strong></h3>
<p><img class="alignleft" title="python" src="http://farm3.static.flickr.com/2588/3755377991_c5ace447a9_o.png" alt="3755377991 c5ace447a9 o Cheat Sheet´s de Linguagens de Programação" width="90" height="95" /><br />
Trata-se de uma folha de referência para a linguagem de programação Python e seus métodos, funções e sintaxe e é distribuído sob a <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/uk/">Creative Commons License</a> (Attribution, Non-Commercial, Share Alike).</p>
<p>Muito boa!</p>
<p><a href="http://www.addedbytes.com/cheat-sheets/python-cheat-sheet/" target="_blank">Download aqui!</a></p>
</div>
<div>
<h3><strong>- PHP Cheat Sheet´s</strong></h3>
<p><img class="alignleft" title="php" src="http://farm3.static.flickr.com/2543/3755378313_b8bc60d6cb_o.png" alt="3755378313 b8bc60d6cb o Cheat Sheet´s de Linguagens de Programação" width="90" height="95" /><br />
Trata-se de uma folha de referência para a linguagem de programação PHP e seus métodos, funções e sintaxe e é distribuído sob a <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/uk/">Creative Commons License</a> (Attribution, Non-Commercial, Share Alike).</p>
<p>Muito boa!</p>
<p><a href="http://www.addedbytes.com/cheat-sheets/php-cheat-sheet/" target="_blank">Download aqui!</a></p>
</div>
<div>
<h3><strong>- MySQL Cheat Sheet´s</strong></h3>
<p><img class="alignleft" title="mysql1" src="http://farm3.static.flickr.com/2635/3755378495_cd1d0c4f7e_o.png" alt="3755378495 cd1d0c4f7e o Cheat Sheet´s de Linguagens de Programação" width="90" height="95" />Funções no MySQL</p>
<p>Muitos desenvolvedores desconhecem que o MySQL possui um enorme número de funções built-in, para fazer tudo a partir de expressão regular com base em comparações de string. As laterais da Cheat Sheet, lista funções MySQL(nota: algumas das mais raras e menos utilizadas funções não foram incluídas devido ao espaço).</p>
<p><img class="alignleft" title="mysql2" src="http://www.addedbytes.com/cheat-sheets/thumbnails/mysql_v1_2.png" alt="mysql v1 2 Cheat Sheet´s de Linguagens de Programação" width="90" height="95" />Tipos de Dados MySQL</p>
<p>O MySQL permite que muitos tipos de dados para as colunas e é muito fácil esquecer que existem restrições sobre estes tipos de dados. Isto é especialmente importante quando se trata de validação &#8211; muitos desenvolvedores não verificam o comprimento dos dados antes de inseri-lo em uma tabela. Esta seção lista os tipos de dados disponíveis e suas limitações.</p>
<p><img class="alignleft" title="mysql3" src="http://www.addedbytes.com/cheat-sheets/thumbnails/mysql_v1_3.png" alt="mysql v1 3 Cheat Sheet´s de Linguagens de Programação" width="90" height="95" /></p>
<p>Funções MySQL no PHP</p>
<p>O PHP tem o driver do MySQL e  é utilizado pela maioria dos desenvolvedores PHP para conectar-se e consultar um banco de dados MySQL. Esta seção contém a lista das funções disponíveis no PHP para conectar-se e gerir um banco de dados MySQL.</p>
<p><a href="http://www.addedbytes.com/download/mysql-cheat-sheet-v1/pdf/" target="_blank">Download aqui!</a></p>
</div>
<div>
<h3><strong>- Outras</strong></h3>
<div><strong>- SQL Server</strong></div>
<div><a href="http://www.addedbytes.com/cheat-sheets/sql-server-cheat-sheet/" target="_blank">Download aqui!</a></div>
<div><strong>- Ruby on Rails Cheat Sheet´s</strong><br />
<a href="http://www.addedbytes.com/cheat-sheets/ruby-on-rails-cheat-sheet/" target="_blank">Download aqui!</a></div>
<div><strong>- ASP/VBScript Cheat Sheet´s</strong><br />
<a href="http://www.addedbytes.com/cheat-sheets/asp-vbscript-cheat-sheet/" target="_blank">Download aqui!</a></div>
<div><strong>- Subversion Cheat Sheet´s</strong><br />
<a href="http://www.addedbytes.com/cheat-sheets/subversion-cheat-sheet/" target="_blank">Download aqui!</a></div>
<div><strong>- CSS2 Cheat Sheet´s</strong><br />
<a href="http://www.addedbytes.com/cheat-sheets/css-cheat-sheet/" target="_blank">Download aqui!</a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.acalbuquerque.blog.br/?feed=rss2&amp;p=675</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Cheat Sheet (Standart, jQuery, MooTools, Prototype &#8230;)</title>
		<link>http://www.acalbuquerque.blog.br/?p=662</link>
		<comments>http://www.acalbuquerque.blog.br/?p=662#comments</comments>
		<pubDate>Sat, 25 Jul 2009 20:46:56 +0000</pubDate>
		<dc:creator>acalbuquerque</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Destaques]]></category>
		<category><![CDATA[JS/HTML]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.acalbuquerque.blog.br/?p=662</guid>
		<description><![CDATA[Seguindo os post´s de guias e referências, segue mais um unindo vários Cheat Sheet´s de frameworks em JS.
- JavaScript Standart Cheat Sheet 


Logicamente organizado em métodos DOM, funções, expressões regulares, etc . É fácil de usar e uma grande referência para todos os usos comuns JavaScript. Clique aqui para baixar.
- jQuery Visual Map


Tenho certeza que [...]]]></description>
			<content:encoded><![CDATA[<p>Seguindo os post´s de guias e referências, segue mais um unindo vários Cheat Sheet´s de frameworks em JS.</p>
<p><strong>- JavaScript Standart Cheat Sheet </strong></p>
<p style="text-align: center;"><strong><img class="aligncenter" title="js-standart" src="http://farm3.static.flickr.com/2490/3755241565_6613acfeea_o.png" alt="3755241565 6613acfeea o JavaScript Cheat Sheet (Standart, jQuery, MooTools, Prototype ...)" width="250" height="130" /><br />
</strong></p>
<p style="text-align: left;">Logicamente organizado em métodos DOM, funções, expressões regulares, etc . É fácil de usar e uma grande referência para todos os usos comuns JavaScript. <a href="http://www.addedbytes.com/download/javascript-cheat-sheet-v1/pdf/" target="_blank">Clique aqui</a> para baixar.</p>
<p>- <strong>jQuery Visual Map</strong></p>
<p style="text-align: center;"><strong><img class="aligncenter" title="jQuery " src="http://farm3.static.flickr.com/2422/3755243309_264acc696d_o.png" alt="3755243309 264acc696d o JavaScript Cheat Sheet (Standart, jQuery, MooTools, Prototype ...)" width="250" height="130" /><br />
</strong></p>
<p style="text-align: left;">Tenho certeza que esse é bastante conhecido. Apenas não pude deixa-lo de fora. <a href="http://www.visualjquery.com/" target="_blank">Clique aqui</a> para vizualizar.</p>
<p><strong>- MooTools Cheat Sheet</strong></p>
<p style="text-align: center;"><strong><img class="aligncenter" title="mooltools" src="http://farm3.static.flickr.com/2559/3756041464_cf4d6356b5_o.png" alt="3756041464 cf4d6356b5 o JavaScript Cheat Sheet (Standart, jQuery, MooTools, Prototype ...)" width="250" height="130" /><br />
</strong></p>
<p style="text-align: left;">Para aqueles que preferem o MooTools que  jQuery, segue esse guia baseado no MooTools 1.2. <a href="http://mediavrog.net/blog/wp-content/uploads/2008/08/mootools-12-cheat-sheet-pf.pdf" target="_blank">Clique aqui</a> para vizualizar.</p>
<p style="text-align: left;"><strong>- Prototype Cheat Sheet</strong></p>
<p style="text-align: center;"><strong><img class="aligncenter" title="prototype" src="http://farm4.static.flickr.com/3430/3755241681_ce08625dd0_o.png" alt="3755241681 ce08625dd0 o JavaScript Cheat Sheet (Standart, jQuery, MooTools, Prototype ...)" width="250" height="130" /><br />
</strong></p>
<p style="text-align: left;">É um excelente recurso para aqueles que utilizam Prototype.js e inclui uma referência visual para deslocamentos e dimensões. <a href="http://attic.scripteka.com/prototype_cheatsheet_1.6.0.2.pdf" target="_blank">Clique aqui</a> para vizualizar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acalbuquerque.blog.br/?feed=rss2&amp;p=662</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Cheat Sheet´s Help Reference</title>
		<link>http://www.acalbuquerque.blog.br/?p=645</link>
		<comments>http://www.acalbuquerque.blog.br/?p=645#comments</comments>
		<pubDate>Sat, 25 Jul 2009 19:34:30 +0000</pubDate>
		<dc:creator>acalbuquerque</dc:creator>
				<category><![CDATA[Destaques]]></category>
		<category><![CDATA[JS/HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[shortcuts]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.acalbuquerque.blog.br/?p=645</guid>
		<description><![CDATA[O WordPress Help Sheet é o mais útil guia se você for um programador de temas para o WP. É um guia de referência rápida para as mais comuns sintaxes utilizadas no WP. Apenas os mais necessários e  mais comuns trechos estão incluídos, clique aqui para baixar o pdf.
Já aqueles que criam temas WordPress regularmente, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="wp-help" src="http://farm3.static.flickr.com/2653/3755842000_2baf653227_o.png" alt="3755842000 2baf653227 o WordPress Cheat Sheet´s Help Reference" width="264" height="239" />O WordPress Help Sheet é o mais útil guia se você for um programador de temas para o WP. É um guia de referência rápida para as mais comuns sintaxes utilizadas no WP. Apenas os mais necessários e  mais comuns trechos estão incluídos, <a href="http://www.wpthemesgallery.com/downloads/WordPress-Help-Sheet_pt_BR.pdf" target="_blank">clique aqui</a> para baixar o pdf.</p>
<p>Já aqueles que criam temas WordPress regularmente, WPCandy criou uma avançada ferramenta de ajuda. Contém os codigos mais utilizados para temas que requerem funcionalidades adicionais. Qualquer criador de temas profissionais deveria ter este guia na mão <a href="http://wpcandy.com/wp-content/uploads/Advanced-WordPress-Help-Sheet.pdf" target="_blank">clique aqui</a> para baixar o pdf.</p>
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">E para finalizar, segue uma checklist para desenvolvimento de temas WP. A lista abrange tópicos gerais (como informação e imagens), componentes do blog (como feeds RSS), timestamps, bem como a categoria de página navegação.</p>
<p style="text-align: left;">São no total 9 itens:</p>
<ul>
<li>General</li>
<li>Stylesheets</li>
<li>Browser Compatibility</li>
<li>Pages</li>
<li>Styled Everything?</li>
<li>Standard CSS Classes</li>
<li>Validate</li>
<li>WordPress Code</li>
<li>Blog Elements</li>
</ul>
<p><a href="http://wptoy.com/wp-content/uploads/2009/04/wordpress-theme-development-check-list.pdf" target="_blank">Clique aqui</a> para fazer o download da WP Theme Check-List.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acalbuquerque.blog.br/?feed=rss2&amp;p=645</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
