<?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>Washington Patrício</title>
	<atom:link href="http://washingtonpatricio.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://washingtonpatricio.com</link>
	<description>Blog e Portfolio</description>
	<lastBuildDate>Tue, 17 Apr 2012 15:25:44 +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>Marca d&#8217;agua em campos com JQuery</title>
		<link>http://washingtonpatricio.com/marca-dagua-em-campos-com-jquery/</link>
		<comments>http://washingtonpatricio.com/marca-dagua-em-campos-com-jquery/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 15:25:44 +0000</pubDate>
		<dc:creator>Washington Patrício</dc:creator>
				<category><![CDATA[Dicas e Tutoriais]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[marca dagua]]></category>

		<guid isPermaLink="false">http://washingtonpatricio.com/?p=225</guid>
		<description><![CDATA[Olá Galera! Já precisou criar aquele efeito marca d&#8217;agua em um campo e se deparou com códigos enormes de javascript, css e html? Pois agora vou mostrá-lo como fazer-la de... <a class="read-more" href="http://washingtonpatricio.com/marca-dagua-em-campos-com-jquery/">Read The Rest &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>Olá Galera!</p>
<p>Já precisou criar aquele efeito marca d&#8217;agua em um campo e se deparou com códigos enormes de javascript, css e html?</p>
<p>Pois agora vou mostrá-lo como fazer-la de maneira fácil, rápida e simples.</p>
<p>Primeiro, a função que será responsável por criar a marca d&#8217;agua nos campos que você informar. Aqui eu a chamei de &#8220;watermark&#8221;. Veja:</p>
<pre class="brush:js; ">
$.fn.watermark = function()
{
	return this.each(function() {
		// Atribui a formatação de marca d'agua
		if (!$(this).val()) {
			$(this).css('color', '#ABABAB');
		}

		value = ($(this).val() != '') ? $(this).val() : $(this).attr('alt');
		$(this).val(value);

		$(this).focus(function() {
			$(this).css('color', '#000000');

			if ($(this).val() == $(this).attr('alt')) {
				$(this).val('');
			}
		});

		$(this).blur(function() {
			if(($(this).val() == '') || ($(this).val() == $(this).attr('alt'))) {
				$(this).css('color', '#ABABAB');
				$(this).val($(this).attr('alt'));
			}
		});

	});
}
</pre>
<p>O uso dela é bem simples. Em tese, ela atribuiu o atributo &#8220;Alt&#8221; dos campos como um valor temporário no campo formatando-o com a cor &#8220;#ABABAB&#8221;.<br />
Para usá-la, chame-a e passe os campos específicos no cabeçalho do seu documento. Como no exemplo abaixo:</p>
<pre class="brush:js;">
$(document).ready(function(){
	$('input[name=login_user], input[name=login_password]').watermark();
});
</pre>
<p>Agora é só informar nos seus campos, através do atributo &#8220;ALT&#8221; o valor que você quer repassar como marca d&#8217;agua.</p>
<pre class="brush:html;">
<input type="text" name="login_user" alt="user@domain.com" />

<input type="password" name="login_password" alt="your password" />
</pre>
<p>Não se esqueça de incluir a biblioteca JQuery no cabeçalho do seu documento. Até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://washingtonpatricio.com/marca-dagua-em-campos-com-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preenchendo uma string</title>
		<link>http://washingtonpatricio.com/preenchendo-uma-string/</link>
		<comments>http://washingtonpatricio.com/preenchendo-uma-string/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 20:12:35 +0000</pubDate>
		<dc:creator>Washington Patrício</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[str_pad]]></category>

		<guid isPermaLink="false">http://washingtonpatricio.com/?p=202</guid>
		<description><![CDATA[Faaala Cambada! Diversas vezes, é comum pegar alguns algoritmos malucos de outros desenvolvedores, que por falta de informação escrevem uma enorme rotina para fazer simples operações. Hoje vou dar um... <a class="read-more" href="http://washingtonpatricio.com/preenchendo-uma-string/">Read The Rest &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>Faaala Cambada!</p>
<p>Diversas vezes, é comum pegar alguns algoritmos malucos de outros desenvolvedores, que por falta de informação escrevem uma enorme rotina para fazer simples operações.</p>
<p>Hoje vou dar um dica muito experta para você, meu bom e velho amigo desenvolvedor, que sempre inventou maluquices para completar um numero com zeros à esquerda ou à direita.</p>
<p>Se você pensou em fazer um while ou um for continue comigo para eu lhe apresentar uma solução que vai mudar a sua vida! HÁ!<br />
Chega de lenga-lenga e vamos direto ao assunto:</p>
<p>O PHP possui uma função perfeita para isso, é a str_pad.</p>
<blockquote><p><strong>str_pad — Preenche uma string para um certo tamanho com outra string</strong></p>
<pre class="brush:php; gutter: false;">string str_pad ( string $input, int $pad_length [, string $pad_string [, int $pad_type]] )</pre>
<p>fonte: <a href="http://php.net/manual/en/function.str-pad.php" target="_blank">php.net</a></p></blockquote>
<p>Exemplo:</p>
<pre class="brush:php;">str_pad($n, 4, "0", STR_PAD_LEFT);</pre>
<p>No exemplo acima temos a variável <strong>$n</strong> que sempre terá 4 digitos. Caso seja menor, nossa função irá completar com zeros.</p>
<p>O parâmetro opcional <strong>pad_type</strong> pode ser <strong>STR_PAD_RIGHT</strong> (preencher a direita), <strong>STR_PAD_LEFT</strong> (preencher a esquerda), ou <strong>STR_PAD_BOTH</strong> (preencher de ambos os lados). Se pad_type não for especificado é assumido que seja STR_PAD_RIGHT.</p>
<p>Pronto! Agora dê adeus aquela complicação e seja feliz. Amém!</p>
<p>#FicaDica ;D</p>
]]></content:encoded>
			<wfw:commentRss>http://washingtonpatricio.com/preenchendo-uma-string/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Padrões para introduzir novas ideias</title>
		<link>http://washingtonpatricio.com/padroes-para-introduzir-novas-ideias/</link>
		<comments>http://washingtonpatricio.com/padroes-para-introduzir-novas-ideias/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 15:24:12 +0000</pubDate>
		<dc:creator>Washington Patrício</dc:creator>
				<category><![CDATA[Scrum]]></category>
		<category><![CDATA[padrões]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://washingtonpatricio.com/?p=131</guid>
		<description><![CDATA[Achei fantástica essa apresentação do Daniel Cukier! Ele mostra um caso bem interessante de como quebrar paradigmas e culturas em grande e pequenas corporações, no processo de implantação de novas ideias. #valeoplay!]]></description>
			<content:encoded><![CDATA[<p>Achei fantástica essa apresentação do Daniel Cukier! Ele mostra um caso bem interessante de como quebrar paradigmas e culturas em grande e pequenas corporações, no processo de implantação de novas ideias. #valeoplay!</p>
<p><center><iframe src="http://player.vimeo.com/video/4766693?title=0&amp;byline=0&amp;portrait=0&amp;color=ff9933" frameborder="0" width="700" height="525"></iframe></center></p>
]]></content:encoded>
			<wfw:commentRss>http://washingtonpatricio.com/padroes-para-introduzir-novas-ideias/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Imagem PNG com fundo transparente no IE6</title>
		<link>http://washingtonpatricio.com/imagem-png-com-fundo-transparente-n0-ie6/</link>
		<comments>http://washingtonpatricio.com/imagem-png-com-fundo-transparente-n0-ie6/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 00:09:19 +0000</pubDate>
		<dc:creator>Washington Patrício</dc:creator>
				<category><![CDATA[Dicas e Tutoriais]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[WebStandards]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[png transparente]]></category>
		<category><![CDATA[pngfix]]></category>

		<guid isPermaLink="false">http://washingtonpatricio.com/blog/?p=54</guid>
		<description><![CDATA[Olá Galera! Muita gente questiona ainda sobre dar ou não suporte ao navegador Internet Explorer 6. Eu vejo que ainda existe uma pequena  mínima parcela de usuários que ainda insistem... <a class="read-more" href="http://washingtonpatricio.com/imagem-png-com-fundo-transparente-n0-ie6/">Read The Rest &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>Olá Galera!</p>
<p>Muita gente questiona ainda sobre dar ou não suporte ao navegador Internet Explorer 6. Eu vejo que ainda existe uma <del>pequena</del>  mínima parcela de usuários que ainda insistem a utilizar o IE6, seja por falta de conhecimento, viabilidade técnica ou até mesmo gosto<em> (blérgh)</em>.</p>
<p>Eu procuro não me procupar muito com o IE6, mas, em alguns casos que<strong> não exigem muito esforço</strong>, procuro  criar sites e/ou sistemas que rodem <del>perfeitamente</del> no IE6 ainda.</p>
<p>Um exemplo do que falo é o famoso PNG transparente. Em navegadores atuais ficam perfeitos, porem no IE6 ele fica com uma cor meio azulada no lugar do fundo transparente. Uma solução simples para isso, eu encontro no <a title="Site Oficial" href="http://jquery.com" target="_blank">JQuery</a>.</p>
<p>Através do <a href="http://jquery.andreaseberhard.de/pngFix/jquery.pngFix.js" target="_blank">Plugin PNGFIX</a> do nosso amigo <a href="http://andreaseberhard.de/" target="_blank">Andreas Eberhard</a> é possivel criar uma renderização perfeita do PNG transparente no IE6. Veja como é simples:</p>
<p>1. Faça o download da <a href="http://code.jquery.com/jquery-1.4.2.min.js" target="_blank">biblioteca JQUERY</a> e do <a href="http://jquery.andreaseberhard.de/pngFix/jquery.pngFix.js" target="_blank">Plugin PNGFIX</a><br />
2. Inclua-os entre as tags &lt;head&gt; do teu Html</p>
<pre class="brush: html">&lt;script type="text/javascript" src="jquery.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="jquery.pngFix.js"&gt;&lt;/script&gt;</pre>
<p>3. Inclua também a função responsável pela chamada do plugin. Neste exemplo, o PNGFIX será aplicado a todas imagens do documento.</p>
<pre class="brush:html">&lt;script type="text/javascript"&gt;
$(document).ready(function(){ $(document).pngFix(); });
&lt;/script&gt;</pre>
<p>Fácil, Fácil! Com isso você possui liberdade a vontade para trabalhar com Div sobrepostas com imagens em PNG. Fantástico!</p>
<p>Dúvidas postem nos comentários! +)</p>
]]></content:encoded>
			<wfw:commentRss>http://washingtonpatricio.com/imagem-png-com-fundo-transparente-n0-ie6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Você sabe como funciona um datacenter?</title>
		<link>http://washingtonpatricio.com/voce-sabe-como-funciona-um-datacenter/</link>
		<comments>http://washingtonpatricio.com/voce-sabe-como-funciona-um-datacenter/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 01:59:42 +0000</pubDate>
		<dc:creator>Washington Patrício</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[datacenter]]></category>

		<guid isPermaLink="false">http://washingtonpatricio.com/blog/?p=92</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="640" height="412" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.olhardigital.com.br/flashes/player_embed_wide?path_video=http://p.download.uol.com.br/olhardigital/PGM279/pgm279_cv_datacenter.flv&amp;player_width=640&amp;player_height=380&amp;tipo_player=normal&amp;titulo_video=Você sabe como funciona um datacenter?&amp;current_url=?id_conteudo=13470" /><param name="allowfullscreen" value="true" /><embed width="640" height="412" type="application/x-shockwave-flash" src="http://www.olhardigital.com.br/flashes/player_embed_wide?path_video=http://p.download.uol.com.br/olhardigital/PGM279/pgm279_cv_datacenter.flv&amp;player_width=640&amp;player_height=380&amp;tipo_player=normal&amp;titulo_video=Você sabe como funciona um datacenter?&amp;current_url=?id_conteudo=13470" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://washingtonpatricio.com/voce-sabe-como-funciona-um-datacenter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fechando uma conexão com o MySQL com a função mysql_close()</title>
		<link>http://washingtonpatricio.com/fechando-uma-conexao-com-o-mysql-com-a-funcao-mysql_close/</link>
		<comments>http://washingtonpatricio.com/fechando-uma-conexao-com-o-mysql-com-a-funcao-mysql_close/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 01:35:43 +0000</pubDate>
		<dc:creator>Washington Patrício</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[close]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://washingtonpatricio.com/blog/?p=90</guid>
		<description><![CDATA[A função mysql_close() serve para fechar conexões não persistentes com o MySQL. Atualmente ela nem chega a ser tão necessária de se utilizar, porque as conexões não persistentes com o MySQL são... <a class="read-more" href="http://washingtonpatricio.com/fechando-uma-conexao-com-o-mysql-com-a-funcao-mysql_close/">Read The Rest &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>A função <strong>mysql_close()</strong> serve para fechar conexões não persistentes com o MySQL. Atualmente ela nem chega a ser tão necessária de se utilizar, porque as conexões não persistentes com o MySQL são automaticamente fechadas quando o script acaba de ser executado.</p>
<p>Obs.: Se a conexão ao MySQL é criada através da função<strong> </strong><a href="http://www.php.net/mysql_pconnect" rel="nofollow" target="_blank"><strong>mysql_pconnect()</strong></a>, o <strong>mysql_close()</strong> não irá fechá-la por ela se tratar de uma conexão persistente.</p>
<p>Exemplo de uso da função mysql_close():</p>
<pre class="brush:php">&lt;?
#Nos conectamos ao servidor MySQL
$identificador = mysql_connect("host_do_servidor_mysql", "login_de_acesso", "senha_de_acesso");</pre>
<pre>#Fechamos então a conexão a ele
mysql_close($identificador);
?&gt;</pre>
<p>Para maiores informações sobre a função mysql_close(), acesse:</p>
<p><a href="http://www.php.net/mysql_close" rel="nofollow" target="_blank">http://www.php.net/mysql_close</a></p>
]]></content:encoded>
			<wfw:commentRss>http://washingtonpatricio.com/fechando-uma-conexao-com-o-mysql-com-a-funcao-mysql_close/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programando PHP</title>
		<link>http://washingtonpatricio.com/programando-php/</link>
		<comments>http://washingtonpatricio.com/programando-php/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 00:19:45 +0000</pubDate>
		<dc:creator>Washington Patrício</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[echo]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[print]]></category>
		<category><![CDATA[print_f]]></category>
		<category><![CDATA[var_dump]]></category>

		<guid isPermaLink="false">http://washingtonpatricio.com/blog/?p=62</guid>
		<description><![CDATA[Como podem notar em meus artigos anteriores, estou escrevendo coisas básicas do PHP. Achei essa uma boa forma de manter uma certa continuidade nas minhas postagens. Hoje vamos ver alguns... <a class="read-more" href="http://washingtonpatricio.com/programando-php/">Read The Rest &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>Como podem notar em meus artigos anteriores, estou escrevendo coisas básicas do PHP. Achei essa uma boa forma de manter uma certa continuidade nas minhas postagens.</p>
<p>Hoje vamos ver alguns lances iniciais da linguagem PHP. Então se você está iniciando agora, é bom dar uma lida neste post até o fim. Agora você que já é um fera&#8230; Leia também! Conhecimento nunca é demais. Então vamos lá!</p>
<p>Para iniciar qualquer script PHP é necessário utilizar os<strong> delimitadores de códigos </strong>(&lt;?php ?&gt;)<strong>. </strong>Todo seu programa deve estar contido entre esses delimitadores.</p>
<pre class="brush:php">&lt;?php
//Meu primeiro programa php!
echo 'Olá Mundo! Olá Brasil! Olá Pirinópolis!';
?&gt;</pre>
<p>Observe que todos os comandos são delimitados por ponto-e-vírgula (;). Isso informa o final de um comando.</p>
<p>Note também que inserimos uma linha iniciada com duas barras. Isso significa que aquela linha é um comentário, e não será interpretada no momento da execução do programa. Há outras maneiras de se comentar um código PHP, como mostra o exemplo abaixo.</p>
<pre class="brush:php">&lt;?php
// Comentário de uma linha
# Comentário de uma linha, utilizando quadrado.
/* Comentário com mais
de uma linha eu utilizo barra e asterisco */
?&gt;</pre>
<p>No PHP também temos os famoso e muito usados <strong>comandos de saída ou impressão</strong> (output). São comandos utilizados para gerar uma saída em tela seja em um Console ou em uma Página HTML &#8211; se for executado via servidor web (Apache ou IIS).</p>
<pre class="brush:php">&lt;?php
echo 'a '.'b '.'c ';
print 'Meu nome é &lt;b&gt;Washington!&lt;/b&gt;';
?&gt;</pre>
<p>Generalizando temos os dois comandos de impressão, o <strong><a href="http://www.php.net/manual/pt_BR/function.echo.php" target="_blank">echo</a></strong> e o <strong><a href="http://www.php.net/manual/pt_BR/function.print.php" target="_blank">print</a></strong>. Ambos realizam a mesma tarefa porém o <strong><a href="http://www.php.net/manual/pt_BR/function.echo.php" target="_blank">echo</a></strong> se torna mais usado por não retornar nenhum valor. Explicaremos isso mais adiante em outro post.</p>
<p>Note também que usamos, na linha 2, um ponto (.). Ele é usado como simbolo de concatenação. Ou seja ele junta o termos entre aspas. Falando em aspas(&#8221;), dê uma lida em meu outro post e saiba a diferença em utilizar aspas simples e aspas duplas.</p>
<p>Outros dois comandos de impressão utilizados é o <strong><a href="http://www.php.net/manual/pt_BR/function.var-dump.php" target="_blank">var_dump</a></strong> e o<strong> <a href="http://www.php.net/manual/pt_BR/function.printf.php" target="_blank">print_f</a></strong>. Eles imprimem o conteudo de uma variável de forma explanativa, ajuda muito na hora de realizar um debug do código. Assim como o <strong><a href="http://www.php.net/manual/pt_BR/function.echo.php" target="_blank">echo</a></strong> e o <strong><a href="http://www.php.net/manual/pt_BR/function.print.php">print</a></strong>, o uso de ambos comandos são semelhantes. Veja:</p>
<pre class="brush:php">&lt;?php
$vetor = array('Maçã', 'Banana', 'Laranja', 'Melão');
var_dump($vetor);
?&gt;</pre>
<pre><strong>Resultado: </strong>array(4) {
[0]=&gt; string(4) "Maçã"
[1]=&gt; string(6) "Banana"
[2]=&gt; string(7) "Laranja"
[3]=&gt; string(5) "Melão"
}</pre>
<p>É isso aí pessoal. Hoje vimos como iniciar nosso primeiro programinha PHP! Vimos também como gerar saídas na tela com os comandos de saída ou impressão. Pratique! Tente escrever seus primeiros códigos, em caso de dúvidas ou erros comente aí em baixo ou dá uma &#8216;tuítada&#8217; pra mim lá no twitter (<a href="http://www.twitter.com/waapatricio" target="_blank">@waapatricio</a>)</p>
<p>Abraços e inté a próxima!</p>
<p><em><strong>Off-Post</strong>: Em cada comando, costumo linkar com o manual PHP. Vale a pena dar uma lida lá também!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://washingtonpatricio.com/programando-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Boas Práticas com MySQL</title>
		<link>http://washingtonpatricio.com/boas-praticas-com-mysql/</link>
		<comments>http://washingtonpatricio.com/boas-praticas-com-mysql/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 01:09:28 +0000</pubDate>
		<dc:creator>Washington Patrício</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://washingtonpatricio.com/blog/?p=71</guid>
		<description><![CDATA[Nessas minhas navegadas da vida&#8230; Encontrei um artigo muito bom! Tão bom que resolvi usar traduzir ele e postar aqui! Vale a pena conferir! Operações de banco de dados tendem... <a class="read-more" href="http://washingtonpatricio.com/boas-praticas-com-mysql/">Read The Rest &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>Nessas minhas navegadas da vida&#8230; Encontrei um artigo muito bom! Tão bom que resolvi usar traduzir ele e postar aqui! Vale a pena conferir!</p>
<p>Operações de banco de dados tendem a ser o principal gargalo para a maioria das aplicações web hoje. Não é só os administradores de DB (<em>database</em> – banco de dados) que têm de se preocupar com esses problemas de desempenho. Nós, como programadores precisamos fazer a nossa parte por uma estruturação das tabelas corretamente, a escrita otimizada agiliza consultas e melhora o código. Aqui estão algumas técnicas de otimização do MySQL para programadores.</p>
<h3>1. Otimizar suas consultas para o cache de consulta</h3>
<p>A maioria dos servidores MySQL tem consulta cache habilitado. É um dos métodos mais eficazes para melhorar o desempenho, que é tranquilo e tratados pelo mecanismo de banco. Quando a mesma consulta é executado várias vezes, o resultado é obtido a partir da memória cache, que é bastante rápido.</p>
<p>O principal problema é, ele é tão fácil e escondido dos programadores, a maioria de nós tendem a ignorá-lo. Algumas coisas que fazemos pode realmente evitar que o cache de consulta de executar sua tarefa.</p>
<pre class="brush:php">// Cache de consulta não trabalha
$r = mysql_query("SELECT * FROM utilizador WHERE signup_date username&gt; = CURDATE()");
// Funciona cache de consulta!
$hoje data = ("Ymd");
$r = mysql_query("SELECT * FROM utilizador WHERE signup_date username&gt; = '$hoje'");</pre>
<p>A razão do não funcionamento da cache de consultas na primeira linha é o uso do CURDATE () . Isso se aplica a todos os não-determinista funções como NOW () e rand (), etc … Como o resultado de retorno da função pode mudar, o MySQL decide desativar o cache de consulta para essa consulta. Tudo o que precisava fazer é adicionar uma linha extra de PHP antes da consulta para impedir que isso aconteça.</p>
<h3>2. Seu Consultas EXPLAIN SELECT</h3>
<p>Usando a palavra-chave EXPLAIN pode lhe visualizar o que está fazendo o MySQL para executar sua consulta. Isso pode ajudar a detectar pontos de congestionamento e outros problemas com a sua consulta ou estruturas de tabela.</p>
<p>Os resultados de uma consulta EXPLAIN mostrará que os índices estão sendo utilizados, como a tabela está sendo gerada e classificada etc …</p>
<p>Dê uma query SELECT (de preferência um problema complexo, com associações), e adicionar a palavra chave EXPLAIN na frente dele. Você pode apenas usar o phpMyAdmin para isso. Ele irá mostrar os resultados em uma tabela legal. Por exemplo, digamos que me esqueci de adicionar um índice a uma coluna, que junta-se realizar a:</p>
<p style="text-align: center;"><img class="aligncenter  wp-image-80" title="unoptimized_explain" src="http://washingtonpatricio.com/wp-content/uploads/2012/01/unoptimized_explain.jpg" alt="" /></p>
<p>Após adicionar o índice para o campo group_id:</p>
<p style="text-align: center;"><a href="http://washingtonpatricio.com/blog/wp-content/uploads/2012/01/optimized_explain.jpg"><img class="aligncenter" title="optimized_explain" src="http://washingtonpatricio.com/wp-content/uploads/2012/01/optimized_explain.jpg" alt="" /></a></p>
<p>&nbsp;</p>
<p>Agora, em vez de varredura 7883 linhas, ele só irá digitalizar 9 e 16 linhas a partir de 2 tabelas.  Uma boa regra é multiplicar todos os números nas linhas “coluna”, e seu desempenho de consulta vai ser um pouco proporcional ao número resultante.</p>
<p><strong>3. LIMIT 1  ao começar uma linha exclusiva</strong></p>
<p>Às vezes, quando você está consultando as tabelas, você já sabe que você está procurando apenas uma linha. Você pode estar buscando um registro único, ou você pode apenas ser apenas verificando a existência de qualquer número de registros que satisfaçam a cláusula WHERE.</p>
<p>Em tais casos, acrescente LIMIT 1 à sua consulta pode aumentar o desempenho. Desta forma, o mecanismo de banco irá parar a verificação de registros após ele encontrar apenas 1, em vez de atravessar toda a tabela ou índice.</p>
<pre class="brush:php">// Eu tenho todos os usuários do Alabama?
// Ao invés de...
$r = mysql_query("SELECT * FROM user WHERE state = 'Alabama'");  
if (mysql_num_rows($r) &gt; 0) {  
     // ...
// Tente...
$r = mysql_query("SELECT 1 FROM user WHERE state = 'Alabama' LIMIT 1");   
if (mysql_num_rows($r) &gt; 0) {  
    // ...  
}</pre>
<p><strong>4. Índice dos Campos de Pesquisa</strong></p>
<p>Os índices não são apenas para as chaves primárias ou chaves únicas. Se não houver nenhuma coluna na sua tabela que você irá procurar por, você deve índice quase sempre eles.</p>
<p style="text-align: center;"><a href="http://washingtonpatricio.com/wp-content/uploads/2012/01/search_index.jpg"><img class="aligncenter  wp-image-76" title="search_index" src="http://washingtonpatricio.com/wp-content/uploads/2012/01/search_index.jpg" alt="" /></a></p>
<p>Como você pode ver, esta regra também se aplica a uma seqüência parcial de pesquisa como “last_name LIKE ‘a%’”.  Ao pesquisar a partir do início da seqüência de caracteres, o MySQL é capaz de utilizar o índice na coluna.</p>
<p>Você também deve compreender que tipos de pesquisas não podem usar os índices regulares. Por exemplo, ao procurar por uma palavra (por exemplo, “WHERE post_content LIKE ‘%apple%”), você não verá um benefício de um índice normal. Você será melhor usar pesquisa fulltext MySQL ou construir sua própria solução de indexação.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://washingtonpatricio.com/boas-praticas-com-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site vê semelhança em logos de Dilma e Obama</title>
		<link>http://washingtonpatricio.com/site-ve-semelhanca-em-logos-de-dilma-e-obama/</link>
		<comments>http://washingtonpatricio.com/site-ve-semelhanca-em-logos-de-dilma-e-obama/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 00:13:34 +0000</pubDate>
		<dc:creator>Washington Patrício</dc:creator>
				<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://washingtonpatricio.com/blog/?p=57</guid>
		<description><![CDATA[O Design on The Rocks enxergou semelhança entre os logotipos das campanhas presidenciais de Dilma Rousseff e do norte-americano Barack Obama. Publicou um post (http://www.designontherocks.com.br/?p=34409)  e depois o retirou do... <a class="read-more" href="http://washingtonpatricio.com/site-ve-semelhanca-em-logos-de-dilma-e-obama/">Read The Rest &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://www.designontherocks.com.br/?p=34409" target="_blank">Design on The Rocks</a> enxergou semelhança entre os logotipos das campanhas presidenciais de Dilma Rousseff e do norte-americano Barack Obama. Publicou um post (http://www.designontherocks.com.br/?p=34409)  e depois o retirou do ar. No lugar, deu uma <a href="http://www.designontherocks.com.br/?p=34419" target="_blank">explicação</a> dizendo que vai esperar para comparar os logos de todos os candidatos.</p>
<p>O blog guardou as imagens postadas pelo site Design on The Rocks:</p>
<p style="text-align: center;"><a href="http://washingtonpatricio.com/wp-content/uploads/2012/01/barack_dilma.jpg"><img class="aligncenter  wp-image-59" title="barack_dilma" src="http://washingtonpatricio.com/wp-content/uploads/2012/01/barack_dilma.jpg" alt="" /></a></p>
<p>&nbsp;</p>
<p>É parece que o designer seguiu as mesmas tendências. Pode ser pura coincidência&#8230; Mas que parece, parece!</p>
<p>fonte: <a href="http://uolpolitica.blog.uol.com.br/arch2010-06-13_2010-06-19.html#2010_06-13_20_33_37-9961110-0" target="_blank">UOL Política</a></p>
]]></content:encoded>
			<wfw:commentRss>http://washingtonpatricio.com/site-ve-semelhanca-em-logos-de-dilma-e-obama/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iniciando.</title>
		<link>http://washingtonpatricio.com/iniciando/</link>
		<comments>http://washingtonpatricio.com/iniciando/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 23:51:24 +0000</pubDate>
		<dc:creator>Washington Patrício</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[retorno]]></category>

		<guid isPermaLink="false">http://washingtonpatricio.com/blog/?p=48</guid>
		<description><![CDATA[&#60;?php print 'Hello World!'; ?&#62; Finaaaaaalmente&#8230; estou iniciaando  voltando com meu blog! Nessa minha vida muito corrida, quase não sobra tempo pra expor meus trabalhos e ter um tempo dedicado a... <a class="read-more" href="http://washingtonpatricio.com/iniciando/">Read The Rest &#8594;</a>]]></description>
			<content:encoded><![CDATA[<pre class="brush: php;">&lt;?php print 'Hello World!'; ?&gt;</pre>
<p>Finaaaaaalmente&#8230; estou <del>iniciaando</del>  voltando com meu blog!<br />
Nessa minha vida muito corrida, quase não sobra tempo pra expor meus trabalhos e ter um tempo dedicado a mim. Mas graças ao WordPress, conseguirei disponibilizar  meu portifólio, expor minhas idéias e projetos.</p>
<p>Vou lançar alguns tutoriais e novidades pra galera iniciante aí. Assim como vocês também me iniciei lendo muuuuita matéria na internet e<a href="http://washingtonpatricio.com/blog/wp-content/uploads/2012/01/post01.jpg"><br />
</a> graças a isto hoje consigo trabalhar de forma bem profissional.</p>
<p>Se quiser sabe mais sobre mim pode ler a página Sobre, lá tem uma breeve explicação de quem sou e o que faço.</p>
<p>Bom então é isso né pessoal!</p>
]]></content:encoded>
			<wfw:commentRss>http://washingtonpatricio.com/iniciando/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

