<?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>Lucas Mezêncio &#187; Tutoriais</title>
	<atom:link href="http://lucasmezencio.com/category/tutoriais/feed/" rel="self" type="application/rss+xml" />
	<link>http://lucasmezencio.com</link>
	<description>Think about your life because one day can be too late!</description>
	<lastBuildDate>Tue, 13 Oct 2009 23:52:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Resolvendo erro &#8217;411 Length Required&#8217; em requisições Ajax com jQuery</title>
		<link>http://lucasmezencio.com/2009/10/13/resolvendo-erro-411-length-required-em-requisicoes-ajax-com-jquery/</link>
		<comments>http://lucasmezencio.com/2009/10/13/resolvendo-erro-411-length-required-em-requisicoes-ajax-com-jquery/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 23:52:52 +0000</pubDate>
		<dc:creator>Lucas Mezêncio</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://lucasmezencio.com/?p=267</guid>
		<description><![CDATA[Olá pessoal, quanto tempo, né?! Pois é, abandonei meu blog, mas vou voltar! Hoje passei por um &#8216;problema&#8217; novo na empresa onde trabalho. Numa página que faz uma requisição Ajax com jQuery, no Firefox 3.1, a requisição estava retornando erro &#8217;411 Length Required&#8217;. Esse erro é retornado pelo browser quando em uma requisição HTTP não [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal, quanto tempo, né?! Pois é, abandonei meu blog, mas vou voltar!</p>
<p>Hoje passei por um &#8216;problema&#8217; novo na empresa onde trabalho. Numa página que faz uma requisição Ajax com jQuery, no Firefox 3.1, a requisição estava retornando erro &#8217;411 Length Required&#8217;. Esse erro é retornado pelo browser quando em uma requisição HTTP não é retornado o tamanho do resultado, o que em alguns casos, pode fazer com que o browser não consiga calcular o tempo de download da página, por exemplo. Ao que me pareceu, o Firefox 3.5 sabe tratar isso, porém, o 3.1 não. Não testei no Chrome, IE, Opera, etc, mas creio que pelo menos o IE não sabe tratar isso também.</p>
<p>Normalmente, esse erro é obtido em requisições Ajax. Nesse post não vou entrar em detalhes sobre como especificar o tamanho de uma requisição no cabeçalho de uma página com Ajax puro, vou pular diretamente para jQuery, que foi onde tive esse &#8216;problema&#8217; hoje.</p>
<p>Uma requisição Ajax simples em jQuery (depois vou criar um post sobre como criar requisições Ajax com jQuery), funciona assim:</p>
<pre><code class="javascript">$.ajax({
    type : 'POST',
    url : './pagina.php',
    success : function(data){
        alert(data);
    }
});</code></pre>
<p>Essa requisição simplesmente &#8216;chama&#8217; o conteúdo da página &#8216;pagina.php&#8217; e executa um &#8216;alert&#8217; no retorno. O Firefox 3.5, como coloquei acima, executa esse script normalmente, pegando o retorno &#8216;data&#8217; e colocando no &#8216;alert&#8217;, porém, no Firefox 3.1, o script não é executado e o erro &#8217;411 Length Required&#8217; é retornado.</p>
<p>Esse erro é retornado, pelo fato de nenhum parâmetro estar sendo enviado para a página &#8216;pagina.php&#8217;, para resolvermos esse problema no jQuery, basta colocarmos a linha:</p>
<pre><code class="javascript">
data : {}
</code></pre>
<p>Ficando assim:</p>
<pre><code class="javascript">$.ajax({
    type : 'POST',
    url : './pagina.php',
    data : {},
    success : function(data){
        alert(data);
    }
});</code></pre>
<p>Com apenas isso, o Firefox 3.1 e outros browsers que não interpretam o tamanho da requisição quando não é enviado nenhum parâmetro para a página de destino, continuam executando o script normalmente.</p>
<p>Espero que tenha ajudado.<br />
Um abraço e uma ótima semana! =]</p>
]]></content:encoded>
			<wfw:commentRss>http://lucasmezencio.com/2009/10/13/resolvendo-erro-411-length-required-em-requisicoes-ajax-com-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Criando &#8216;snippets&#8217; no &#8216;Zend Studio for Eclipse 6&#8242;</title>
		<link>http://lucasmezencio.com/2009/04/07/criando-snippets-no-zend-studio-for-eclipse-6/</link>
		<comments>http://lucasmezencio.com/2009/04/07/criando-snippets-no-zend-studio-for-eclipse-6/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 03:02:35 +0000</pubDate>
		<dc:creator>Lucas Mezêncio</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[paradigmas]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://lucasmezencio.com/?p=238</guid>
		<description><![CDATA[Olá pessoal, essa noite, conversando com o Breno (@brenowd), ele veio me perguntar como funcionam os &#8216;snippets&#8217; no Zend Studio. Pra quem não sabe, &#8216;snippets&#8217; são templates, ou seja, partes de códigos prontas para agilizarmos nosso trabalho. Na minha opinião, snippets nos deixa um pouco preguiçosos, mas dependendo, realmente nos quebram um galhão! Hehehe.. Bem, [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal, essa noite, conversando com o Breno (<a title="@brenowd" href="http://twitter.com/brenowd" target="_blank">@brenowd</a>), ele veio me perguntar como funcionam os &#8216;snippets&#8217; no Zend Studio.</p>
<p>Pra quem não sabe, &#8216;snippets&#8217; são templates, ou seja, partes de códigos prontas para agilizarmos nosso trabalho. Na minha opinião, snippets nos deixa um pouco preguiçosos, mas dependendo, realmente nos quebram um galhão! Hehehe..</p>
<p>Bem, o Breno estava acostumado a usar o Dreamweaver, e queria passar a usar o Zend, e estava querendo criar um snippet para um SELECT de uma query MySQL. Então, mãos à obra.</p>
<p>Para criar um snippet no Zend Studio for Eclipse 6, vamos no menu Window &gt; Preferences:</p>
<p style="text-align: center;"><a rel="lightbox" href="http://lucasmezencio.com/wp-content/uploads/2009/03/captura_de_tela-21.png"><img class="aligncenter size-full wp-image-239" title="Window &gt; Preferences" src="http://lucasmezencio.com/wp-content/uploads/2009/03/captura_de_tela-21.png" alt="Window &gt; Preferences" width="222" height="352" /></a></p>
<p>Na janela que abre, no campo de pesquisa, digite snippet, logo em seguida em PHP &gt; Templates:</p>
<p style="text-align: center;"><a rel="lightbox" href="http://lucasmezencio.com/wp-content/uploads/2009/03/captura_de_tela-3png.jpg"><img class="aligncenter size-full wp-image-240" title="captura_de_tela-3png" src="http://lucasmezencio.com/wp-content/uploads/2009/03/captura_de_tela-3png.jpg" alt="captura_de_tela-3png" width="728" height="615" /></a></p>
<p>Vou dar o exemplo aqui, da criação de um snippet de uma query em MySQL, um SELECT pra ser mais preciso. Clicando em New, temos essa tela:</p>
<p style="text-align: center;"><a rel="lightbox" href="http://lucasmezencio.com/wp-content/uploads/2009/03/captura_de_tela-4png.jpg"><img class="aligncenter size-full wp-image-241" title="captura_de_tela-4png" src="http://lucasmezencio.com/wp-content/uploads/2009/03/captura_de_tela-4png.jpg" alt="captura_de_tela-4png" width="726" height="616" /></a>Em &#8216;name&#8217; você coloca uma palavra para identificar o snippet que está criando, e ao mesmo tempo, a palavra que vai iniciar seu snippet. Em Context é o contexto da linguagem, PHP, PHPDoc ou New PHP (não me pergunte o que é New PHP), e em Pattern, o padrão do nosso snippet. Coloquei assim:</p>
<blockquote><p>SELECT {$campos} FROM {$tabela};</p></blockquote>
<p>Onde &#8216;{$campos}&#8217; e &#8216;{$tabela}&#8217; são, simplesmente, onde você quer que o cursos de posicione quando você acionar o snippet. O cursor ficará com o &#8216;{$campos}&#8217; selecionado primeiro, e depois que você digitar qualquer coisa e der <strong>tab</strong>, ele pulará diretamente para o &#8216;{$tabela}&#8217;. Nesse print, esqueci de colocar o &#8216;{$END}&#8217; que é onde você quer que o cursor pare depois que der o último <strong>tab</strong>:</p>
<p style="text-align: center;"><a rel="lightbox" href="http://lucasmezencio.com/wp-content/uploads/2009/03/captura_de_tela-6png.jpg"><img class="aligncenter size-full wp-image-243" title="captura_de_tela-6png" src="http://lucasmezencio.com/wp-content/uploads/2009/03/captura_de_tela-6png.jpg" alt="captura_de_tela-6png" width="389" height="100" /></a></p>
<p>Na imagem anterior, mostro como usar o snippet dentro da função &#8216;mysql_query&#8217;, por exemplo. E o snippet é acionado pelo &#8216;name&#8217;, ao digitar, no meu caso, &#8216;select&#8217; e teclar <strong>ctrl+espaço</strong>:</p>
<p style="text-align: center;"><a rel="lightbox" href="http://lucasmezencio.com/wp-content/uploads/2009/03/captura_de_tela-5png.jpg"><img class="aligncenter size-full wp-image-242" title="captura_de_tela-5png" src="http://lucasmezencio.com/wp-content/uploads/2009/03/captura_de_tela-5png.jpg" alt="captura_de_tela-5png" width="504" height="202" /></a></p>
<p>Então, esse é o meu tutorial sobre snippets. Espero que sirva para alguém! =D</p>
]]></content:encoded>
			<wfw:commentRss>http://lucasmezencio.com/2009/04/07/criando-snippets-no-zend-studio-for-eclipse-6/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
