<?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>About(code)</title>
	<atom:link href="http://blog.luders.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.luders.com.br</link>
	<description>Blog sobre tecnologia de desenvolvimento web e jogos.</description>
	<lastBuildDate>Mon, 30 Apr 2012 17:19:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Motivos para não utilizar Flash em seu site</title>
		<link>http://blog.luders.com.br/desenvolvimento/motivos-para-nao-utilizar-flash-em-seu-site/</link>
		<comments>http://blog.luders.com.br/desenvolvimento/motivos-para-nao-utilizar-flash-em-seu-site/#comments</comments>
		<pubDate>Sat, 24 Mar 2012 14:18:46 +0000</pubDate>
		<dc:creator>Ricardo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://blog.luders.com.br/?p=45</guid>
		<description><![CDATA[Salve, Bom pessoal, fiz aqui um pequeno levantamento de razões para você não utilizar Flash em seu website. Eu já havia falado sobre isso em um post anterior, mas é sempre bom lembrar. Problemas de acessibilidade O flash não possui de recursos que auxiliam os portadores de necessidades especiais; Se uma pessoa possuí problemas de [...]]]></description>
			<content:encoded><![CDATA[<div id="HOTWordsTxt" name="HOTWordsTxt"><p>Salve,</p>
<p>Bom pessoal, fiz aqui um pequeno levantamento de razões para você não utilizar Flash em seu website. Eu já havia falado sobre isso em um <a title="Flash para que?" href="http://blog.luders.com.br/desenvolvimento/flash-para-que/" target="_blank">post anterior</a>, mas é sempre bom lembrar.</p>
<h2>Problemas de acessibilidade</h2>
<ul>
<li>O flash não possui de recursos que auxiliam os portadores de necessidades especiais;</li>
<li>Se uma pessoa possuí problemas de coordenação motora, certamente navegar em um site feito em flash, onde o uso do mouse é quase obrigatório pode ser complicado;</li>
<li>Também não permite a utilização de softwares que realizam a leitura de texto para deficientes visuais, ou aumento do tamanho das fontes.</li>
</ul>
<h2>Indexabilidade de conteúdo</h2>
<p>Os mecanismos de busca não relacionam corretamente o conteúdo das páginas em flash.</p>
<p><a title="Google" href="http://lmgtfy.com/?q=site%3Amoinhocatarinense.com.br" target="_blank">Um exemplo de indexabilidade ruim</a><br />
<a title="Google" href="http://lmgtfy.com/?q=site%3Aogre3d.org" target="_blank">Um exemplo de indexabilidade bom</a></p>
<p>Repare como as páginas ficaram faceis de serem encontradas no segundo exemplo, enquando no primeiro exemplo, nós encontramos pedaços do site.</p>
<h2>Desempenho</h2>
<p>Por mais que hoje tenhamos computadores e celulares com grande poder de processamento disponíveis no mercado, precisamos lembrar, que boa parte da população não tem acesso a estes dispositivos, e mesmo quem tem não quer ocupar os recursos do seu sistema para ago tão simples como &#8216;visitar um site&#8217;.</p>
<p>A experiência de visitar um site deve ser agradável para o usuário, tanto em acessibilidade, como em desempenho. Você deve concordar que o visitante do seu site, não irá utilizar o computador exclusivamente para acessar o seu site, ele provavelmente estará rodando diversos programas ao mesmo tempo, e visitando diversos sites, desta forma já estará ocupando uma quantidade considerável de recursos do seu sistema.</p>
<h2>Incompatibilidade com dispositivos móveis</h2>
<p>A maioria dos dispositivos móveis tem problemas com flash, isso quando tem suporte a ele. Geralmente os plugins para dispositivos móveis, quando existentes costumam frequentemente travar, ou são incompativeis com diversos recursos do flash.</p>
<p>Outra tarefa complicada para os dispositivos móveis é manter o plugin do flash sempre atualizado, processo que provavelmente boa parte dos usuários não sabe realizar.</p>
<h2>Manutenção</h2>
<p>Sites em flash são difíceis de manter, normalmente aquele que comprou o site, fica preso eternamente a pessoa que o desenvolveu, pois a pessoa que o desenvolve ao entregar o projeto não entrega o &#8220;código fonte&#8221; do projeto, e sim apenas a versão &#8220;executável&#8221;.</p>
<p>Então, caso um dia você queira alterar algo no seu site, terá de recorrer a pessoa que o fez, e torcer para que esta pessoa seja organizada o suficiente para ter em seus backups o &#8220;código fonte&#8221; do projeto para realizar a alteração, e novamente torcer para que este projeto seja compatível com a versão atual do flash.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.luders.com.br/desenvolvimento/motivos-para-nao-utilizar-flash-em-seu-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PL 170/06 &#8211; Criminalizar jogos &#8220;ofensivos&#8221;</title>
		<link>http://blog.luders.com.br/realidade/projeto-quer-criminaliza-jogos-considerados-ofensivos/</link>
		<comments>http://blog.luders.com.br/realidade/projeto-quer-criminaliza-jogos-considerados-ofensivos/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 20:00:12 +0000</pubDate>
		<dc:creator>Ricardo</dc:creator>
				<category><![CDATA[Realidade]]></category>
		<category><![CDATA[brasil]]></category>
		<category><![CDATA[censura]]></category>
		<category><![CDATA[constituição]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[jogos]]></category>
		<category><![CDATA[lei]]></category>
		<category><![CDATA[ofensivos]]></category>
		<category><![CDATA[projeto]]></category>

		<guid isPermaLink="false">http://blog.luders.com.br/?p=40</guid>
		<description><![CDATA[Como alguns de vocês já devem ter tomado conhecimento, o Senador Valdir Raupp, é autor de um projeto de lei que criminaliza “o ato de fabricar, importar, distribuir, manter em depósito ou comercializar jogos de videogames ofensivos aos costumes, às tradições dos povos, aos seus cultos, credos, religiões e símbolos”. Se você ainda não conhece, [...]]]></description>
			<content:encoded><![CDATA[<div id="HOTWordsTxt" name="HOTWordsTxt"><p><a href="http://blog.luders.com.br/wp-content/uploads/2012/02/censura-burra.jpg"><img class="alignleft size-full wp-image-41" title="censura burra" src="http://blog.luders.com.br/wp-content/uploads/2012/02/censura-burra.jpg" alt="" width="300" height="225" /></a>Como alguns de vocês já devem ter tomado conhecimento, o <strong>Senador Valdir Raupp</strong>, é autor de um projeto de lei que criminaliza “<em>o ato de fabricar, importar, distribuir, manter em depósito ou comercializar jogos de videogames ofensivos aos costumes, às tradições dos povos, aos seus cultos, credos, religiões e símbolos</em>”.</p>
<p>Se você ainda não conhece, <a href="http://arena.ig.com.br/projeto-de-lei-que-visa-criminalizar-games-ganha-forca/n1597636422371.html">clique aqui e leia</a>.</p>
<p>Os jogos hoje, já possuem, tal como filmes, uma indicação de classificação indicativa aplicada pelo Ministério da Justiça. Desta forma, cabe a cada cidadão optar pelo consumo ou não de determinado conteúdo.</p>
<p>Além de ser um retrocesso nos avanços que recentemente obtivemos com relação a redução de impostos sobre jogos; esta lei acabará por ferir um dos mercados que mais crescem hoje no Brasil. Só para colocar em números:</p>
<blockquote><p>Em 2011 eramos 35 milhões de jogadores, no Brasil. Dentre os quais 47% gastaram dinheiro com jogos.<br />
A estimativa de lucro do mercado de jogos para 2011 foi de 2 bilhões de dólares.</p>
<p style="text-align: right;"><em>Fonte: <a href="http://www.atrativa.com.br/pesquisa-mercado-jogos">http://www.atrativa.com.br/pesquisa-mercado-jogos</a></em></p>
</blockquote>
<div>
<div>Porém hoje o Brasil não é apenas um consumidor de jogos, mas também um produtor. Nós produzimos e vendemos jogos para o mercado interno e externo. Além obviamente dos <a href="http://www.gamevicio.com/i/noticias/96/96480-microsoft-comeca-a-produzir-console-do-xbox-360-no-brasil/index.html">consoles que aqui são fabricados</a>.</div>
<div>O mais interessante é que esse projeto de lei vai exatamente contra uma das políticas do próprio governo, que em 2011, através do Ministro Aloizo Mercadante <a href="http://g1.globo.com/tecnologia/noticia/2011/06/brasil-tera-politica-agressiva-para-producao-de-games-diz-mercadante.html">anunciou que o Brasil teria uma política de incentivo agressiva para o mercado de produção de jogos</a>.</div>
<div>Vale a pena pensar: De que forma esse projeto de lei impactaria na economia do nosso país?</div>
</div>
<p>Eu sinto que o Brasil está voltando ao tempo da censura.<br />
Mas a pior censura possível, uma censura hipócrita, de um falso moralismo, que ficou impregnado na alma dos Brasileiros.</p>
<p>Desta forma para representar minha indiganação resolvi fazer esta publicação, e não somente isto, encaminhei ao Senadores que representam o estado onde vivo um e-mail questionando sobre a sua posição perante este projeto.</p>
<p>Se você desejar fazer o mesmo, basta ir até a página do <a href="http://www.senado.gov.br/senadores/">Senado Federal</a>, lá você tem o e-mail de todos os Senadores, e não esqueça que TODOS eles estão lá para representar a sua opinião.</p>
<p>Para facilitar a vida, pois conheço a preguiça alheia, deixo aqui um modelo de e-mail, criado pelo meu amigo <a href="http://www.twitter.com/otavio021">Otávio</a>, para que você possa utilizar:</p>
<blockquote><p>Excelentíssimo Sr. Senador,</p>
<p>Gostaria de saber qual a posição do senhor com relação ao projeto de lei 170/06, referente a fabricação e comercialização de jogos &#8220;ofensivos&#8221;.</p>
<p>Acho que essa é uma intromissão desnecessária do estado no direito de escolha do cidadão e completamente infundada, visto que os jogos já tem uma classificação indicativa aplicada pelo Ministério da Justiça.<br />
<br clear="all" />Atenciosamente, &lt;seu-nome-aqui&gt;</p></blockquote>
<p>Valeu pessoal. Até a próxima&#8230;</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.luders.com.br/realidade/projeto-quer-criminaliza-jogos-considerados-ofensivos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Legal ou Ilegal?</title>
		<link>http://blog.luders.com.br/tecnologia/legal-ou-ilegal/</link>
		<comments>http://blog.luders.com.br/tecnologia/legal-ou-ilegal/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 12:33:19 +0000</pubDate>
		<dc:creator>Ricardo</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[jogos]]></category>
		<category><![CDATA[legislação]]></category>
		<category><![CDATA[leis]]></category>
		<category><![CDATA[netflix]]></category>
		<category><![CDATA[pipa]]></category>
		<category><![CDATA[pirataria]]></category>
		<category><![CDATA[sopa]]></category>
		<category><![CDATA[xbox]]></category>

		<guid isPermaLink="false">http://blog.luders.com.br/?p=38</guid>
		<description><![CDATA[Nas ultimas semanas a internet tem sofrido bastante com ações do FBI que retiraram do &#8216;ar&#8217; muitos sites de compartilhamento de arquivos. O mundo inteiro se mobilizou contra a SOPA e a PIPA que queriam impor algumas regras abusivas, e até o momento obtivemos resultados, apesar de não saber até quando. Até onde tudo isso [...]]]></description>
			<content:encoded><![CDATA[<div id="HOTWordsTxt" name="HOTWordsTxt"><p>Nas ultimas semanas a internet tem sofrido bastante com ações do FBI que retiraram do &#8216;ar&#8217; muitos sites de compartilhamento de arquivos. O mundo inteiro se mobilizou contra a SOPA e a PIPA que queriam impor algumas regras abusivas, e até o momento obtivemos resultados, apesar de não saber até quando.</p>
<p>Até onde tudo isso é certo ou errado? É difícil dizer. Pois nossa moralidade dentro do mundo virtual, muitas vezes é diferente da que aplicamos fora dos universo de bits e bytes. Afinal, não existe realmente muito controle neste mundo, e isso é bom e ruim.</p>
<p>É bom por que muitas vezes podemos expressar diversas ideias, sem nos preocuparmos com censura, ou preconceito, conseguimos manter um certo nível de anonimato. E ao mesmo tempo isto é ruim, pois acabamos vivendo em um mundo onde a moral nele aplicada é diferente da que aplicamos na vida real, e isso nos dá liberdade para cometer abusos.</p>
<p>Sempre achei interessante aquela frase que diz que &#8216;a sua liberdade vai até onde começa a do outro&#8217;, ou seja, o velho e bom &#8216;bom senso&#8217;. Certo! Eu sei que muitas vezes não o tenho, não seja hipócrita, você também não tem. É da nossa natureza, mas também somos racionais, acredite, apesar de tudo apontar o contrário, nos somos capazes de analisar os fatos e pensar antes de agir.</p>
<p>Qual é a diferença entre você baixar um filme ou roubar um DVD/Blu-ray em uma loja? Em teoria, nenhuma. Na prática? Você não será preso por baixar o filme.</p>
<p>Agora, de quem é a culpa por esse universo ilegal?<br />
Do governo que cobra impostos abusivos?<br />
Das empresas que cobram preços absurdos?<br />
É bom lembrar que um erro não justifica o outro.</p>
<p><span id="more-38"></span></p>
<p>Eu sempre fui a favor de que o &#8216;conhecimento é um direito de todos&#8217;, eu acho que quem produz material didático, de qualquer forma, deveria receber insentivo do governo, tanto para produção desse material quanto para sobreviver.</p>
<p>Quem compartilha conhecimento, gera conhecimento e cria um futuro melhor. Isso é FATO!</p>
<p>Recentemente eu assinei o <a href="http://www.netflix.com/Brasil" target="_blank">Netflix</a>, o conteúdo é longe de ser ótimo aqui no Brasil, mas quebra um galho. Veja, é um conteúdo legal, e com um preço acessível, eu não ligo de pagar para ter acesso a este conteúdo, apesar de que seja provável que cancelarei, já que não há atualizações e a maioria do conteúdo é dublado, e eu ODEIO coisas dubladas.</p>
<p>E é sério, eu também estou, faz algum tempo, esperando parar comprar o BOX das séries que gosto. Só esperando uma promoção boa para fazer isto. Eu gosto!<br />
Gostaria que meus filhos assistissem essas séries, filmes que eu acho interessantes. Gostaria de mostrar para eles.<br />
Minha namorada, que é alguns bons anos mais nova, nunca assistiu muitos dos filmes que eu considero clássicos, como &#8220;Forest Gump&#8221;, &#8220;A história sem fim&#8221;, &#8220;De volta para o futuro&#8221;, &#8220;Highlander&#8221;, &#8220;Perfume de mulher&#8221; e por aí vai. Quem com menos de 20 anos já assistiu esses filmes?</p>
<p>Mas eu baixo séries, filmes e animes&#8230; mas se o <a href="http://www.netflix.com/Brasil" target="_blank">Netflix</a> melhorar o conteúdo, eu pararia de baixar e continuaria assinando o serviço deles. Não preciso me preocupar com espaço para armazenar os arquivos, procurar legenda, esperar que o link esteja funcionando.</p>
<p>Com relação aos softwares, já faz pouco mais de 1 ano que não utilizo (quase) nenhum software pirata, não vou dizer que não baixo (e uso de vez em quando), algumas vezes baixo a versão pirata, pois a trial não é suficiente para saber se o produto é bom, após testa-lo, caso goste acabo comprando-o. Claro que isso depende muito do preço, eu não vou pagar U$60 dólares em um software que utilizarei apenas uma única vez, neste caso eu ainda prefiro baixar a versão pirada, instalo, uso e desinstalo; Mas se o software tivesse uma licença mais acessível por um limite de dias, quase como uma locação, eu realmente optaria em “locar” esse software para usar aquela única vez, e quando fosse necessário pagaria novamente este aluguel.</p>
<p>Essa legalidade parcial na qual vivo, é possivelmente exercida pela falta de opções. Já no caso dos games, eu possuo um Xbox 360 bloqueado, poderia muito bem ter pego um desbloqueado e viver de jogos piratas, mas optei por manter-me na legalidade, não só pelas vantagens oferecidas pela Xbox Live, mas por simplesmente entender que meus colegas programadores, que trabalham com desenvolvimento de jogos, também precisam comer, pagar aluguel, colocar os filhos em uma boa escola, etc&#8230; e também existem inúmeros jovens querendo entrar neste mercado.</p>
<p>Acho os jogos caros, para falar bem a verdade, principalmente quando acabamos <a href="http://www.comparegames.com.br" target="_blank">olhando o preço lá fora</a> e vendo que os jogos lá, acabam saindo pela metade do valor que custam aqui. Isso é revoltante, verdade, mas não justificaria eu comprar um console desbloqueado e jogos piratas e tirar o ganha pão de um monte de gente que estudou muito para fazer o que faz.</p>
<p>Se eu quero protestar, eu protesto na hora de votar. E não estou falando de voto &#8216;em branco&#8217; ou &#8216;nulo&#8217;, pois isso é uma burrice infinita. Se você faz isso, eu tenho pena de você.</p>
<p>Como eu disse anteriormente, eu vivo as vezes na legalidade, e as vezes na ilegalidade. O maior responsável por isto é certamente meu vício por animes, é sério, tem alguma forma de baixar animes legendados, ou comprá-los? Eu não conheço. Eu já vi alguns sites vendendo animes, mas eu acredito que eles baixam, e produzem estes DVDs&#8230; e isso seria igualmente ilegal. Se alguém souber de uma forma legal de comprar animes LEGENDADOS, me avise!</p>
<p>Eu acredito que leis para controlar alguns abusos na internet são extremamente importantes, mas é preciso repensar na forma como o conteúdo legal será disponibilizado e no seu valor.</p>
<p>Até onde os direitos autorais devem afetar o direito a cultura e lazer?</p>
<p>Eu jamais teria o contato que eu tenho hoje, com a cultura nipônica, se não fosse através dessa ilegalidade. E jamais saberia o que eu sei hoje, se não fosse ao livre acesso a livros, textos, artigos, vídeos, etc.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.luders.com.br/tecnologia/legal-ou-ilegal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Aspas simples vs Apas duplas</title>
		<link>http://blog.luders.com.br/desenvolvimento/php-aspas-simples-vs-apas-duplas/</link>
		<comments>http://blog.luders.com.br/desenvolvimento/php-aspas-simples-vs-apas-duplas/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 11:29:08 +0000</pubDate>
		<dc:creator>Ricardo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[aspas]]></category>
		<category><![CDATA[boas práticas]]></category>
		<category><![CDATA[desempenho]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.luders.com.br/?p=36</guid>
		<description><![CDATA[Vejo por aí muitos código, de diversos programadores, alguns mais experientes, outros nem tanto. Indiferentemente disto continuo vendo algumas coisas que realmente me deixam intrigado, como é o caso da aspas. E é sobre isto que gostaria de falar um pouco neste post. Voltando lá para o nosso amigo C, nós tinhamos uma distição bastante [...]]]></description>
			<content:encoded><![CDATA[<div id="HOTWordsTxt" name="HOTWordsTxt"><p>Vejo por aí muitos código, de diversos programadores, alguns mais experientes, outros nem tanto. Indiferentemente disto continuo vendo algumas coisas que realmente me deixam intrigado, como é o caso da aspas. E é sobre isto que gostaria de falar um pouco neste post.</p>
<p>Voltando lá para o nosso amigo C, nós tinhamos uma distição bastante clara do uso de aspas, onde usavamos aspas simples para chars e aspas duplas para strings. Pois bem, isso nunca foi realmente um problema e, na verdade, até facilitava a vida.</p>
<p>Já no PHP, nós não temos esta distinção, aspas são aspas, sendo simples ou duplas o resultado será o mesmo.</p>
<p>Calma, não é bem assim. Veja bem, no PHP nós não precisamos criar uma variável e dizer que ela será eternamente de um tipo, podemos a qualquer momento transforma-la em inteiro, char, string, objeto, conforme a nossa vontade e necessidade, simplesmente atribuíndo a ela um novo valor. Mas não é sobre isto que eu quero falar, não agora.</p>
<p><span id="more-36"></span></p>
<p>Uma das distições que o PHP faz entre as aspas simples e duplas é, principalmente, na forma que &#8216;adicionamos&#8217; uma informação contida em uma variável ou retorno de uma função a uma string. É, acho que isto pode não ter ficado claro, permita-me exemplificar.</p>
<pre class="brush:php">$string1 = 'Esta é uma string declarada com aspas simples';
$string2 = “Esta é uma string declarada com aspas duplas”;</pre>
<p>Olhando assim, você pode até dizer que as duas strings são iguais, mas para o interpretador PHP, na verdade não são. Na <em>$string1</em> o PHP entende que como ele está usando aspas simples, o valor compreendido entre elas, não possuí nenhuma variável ou função, logo, ele pode executa-lo sem a necessidade de &#8216;interpretar&#8217; estes valores primeiro; Quanto usamos aspas duplas, como na <em>$string2</em>, o PHP entende que pode existir variáveis ou funções dentro da string e que antes de imprimir este valor ele precisa interpreta-las.</p>
<p>“Mas na $string2 não há nenhuma variável ou função.”</p>
<p>Verdade, mas apenas nós sabemos disto, o PHP não. Ele só vai saber depois, mas daí ele já perdeu tempo e processamento para verificar isto.</p>
<p>Então, se não há variável dentro da string, não use aspas duplas. E ainda assim, é preferível utilizar concatenação, usando aspas simples, como na <em>$string2</em> do exemplo abaixo.</p>
<pre class="brush:php">$string1 = “Olá, $nome. Seja bem vindo(a)!”;
$string2 = 'Olá, '. $nome .'. Seja bem vindo(a)!';</pre>
<p>Existem outros casos onde você não deve usar aspas duplas e onde você deve usar, vou fazer uma lista.</p>
<p><strong>Eu não devo utilizar aspas duplas&#8230;</strong></p>
<ol>
<li>Nos valores de uma array:
<pre class="brush:php">$array = array('laranja', 'pera', 'banana', 'uva');</pre>
</li>
<li>No index de uma array:
<pre class="brush:php">$array = array('nome' =&gt; 'josé', 'sexo' =&gt; 'M');
echo $array['nome'];</pre>
</li>
<li>Em qualquer lugar onde não seja necessário incluír um valor através de uma variável ou função:
<pre class="brush:php">new throw Exception('Executou um erro');
exit('Fim da aplicação.');
str_replace('uva', 'pera', 'José gosta de uva.');</pre>
</li>
</ol>
<p><strong>Onde eu devo utilizar aspas duplas&#8230;</strong></p>
<ol>
<li>Onde não há possibilidade de concatenar valores com apas simples.</li>
<li>Onde há necessidade de usar <a href="http://www.php.net/manual/en/regexp.reference.escape.php">sequenciais de escape</a>, normalmente acontece muito em scripts CLI.</li>
</ol>
<p>Bom, acho que é isto aí. É bom pensar duas vezes antes de usar aspas duplas, afinal, pode parecer um detalhe bobo, mas realmente faz diferença.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.luders.com.br/desenvolvimento/php-aspas-simples-vs-apas-duplas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Padrões para introduzir novas idéias na Indústria de Software</title>
		<link>http://blog.luders.com.br/tecnologia/padroes-para-introduzir-novas-ideias-na-industria-de-software/</link>
		<comments>http://blog.luders.com.br/tecnologia/padroes-para-introduzir-novas-ideias-na-industria-de-software/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 17:53:21 +0000</pubDate>
		<dc:creator>Ricardo</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[idéias]]></category>
		<category><![CDATA[normas]]></category>
		<category><![CDATA[padrões]]></category>
		<category><![CDATA[palestra]]></category>
		<category><![CDATA[projetos]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[teatro]]></category>
		<category><![CDATA[trabalho]]></category>
		<category><![CDATA[vídeo]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://blog.luders.com.br/?p=33</guid>
		<description><![CDATA[Vou deixar aqui um vídeo que achei muito interessante; Espero que seja útil para você e sua empresa. Padrões para Introduzir Novas Ideias from Locaweb on Vimeo.]]></description>
			<content:encoded><![CDATA[<div id="HOTWordsTxt" name="HOTWordsTxt"><p>Vou deixar aqui um vídeo que achei muito interessante; Espero que seja útil para você e sua empresa.</p>
<p style="text-align: center;"><iframe src="http://player.vimeo.com/video/4766693?title=0&amp;byline=0&amp;portrait=0" frameborder="0" width="400" height="300"></iframe><br />
<a href="http://vimeo.com/4766693">Padrões para Introduzir Novas Ideias</a> from <a href="http://vimeo.com/locaweb">Locaweb</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.luders.com.br/tecnologia/padroes-para-introduzir-novas-ideias-na-industria-de-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Substancial Games</title>
		<link>http://blog.luders.com.br/novidades/substancial-games/</link>
		<comments>http://blog.luders.com.br/novidades/substancial-games/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 14:00:40 +0000</pubDate>
		<dc:creator>Ricardo</dc:creator>
				<category><![CDATA[Novidades]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[aventura]]></category>
		<category><![CDATA[baixar]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[jogos]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[puzzle]]></category>
		<category><![CDATA[social]]></category>
		<category><![CDATA[substancial]]></category>
		<category><![CDATA[substancial games]]></category>
		<category><![CDATA[substancialgames]]></category>
		<category><![CDATA[udk]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[unity3d]]></category>

		<guid isPermaLink="false">http://blog.luders.com.br/?p=31</guid>
		<description><![CDATA[&#160; Eu acho que vocês já repararam que as coisas estão meio agitadas por aqui, por isto a falta de tempo para fazer alguma publicação que preste. Fato é que recentemente eu, em parceria com alguns amigos, demos inicio a algo que realmente tem me dado um enorme prazer e no qual tenho dedicado boa parte [...]]]></description>
			<content:encoded><![CDATA[<div id="HOTWordsTxt" name="HOTWordsTxt"><p><a href="http://www.substancialgames.com"><img class="alignnone aligncenter" title="Substancial Games" src="http://www.substancialgames.com/images/logo.png" alt="" width="500" height="108" /></a></p>
<p>&nbsp;</p>
<p>Eu acho que vocês já repararam que as coisas estão meio agitadas por aqui, por isto a falta de tempo para fazer alguma publicação que preste. Fato é que recentemente eu, em parceria com alguns amigos, demos inicio a algo que realmente tem me dado um enorme prazer e no qual tenho dedicado boa parte do meu tempo.</p>
<p>Este ano consegui dar início a um sonho, que esta caminhando com passos tímidos, mas firmes, a este sonho dei o nome <a title="Visitar o site" href="http://www.substancialgames.com">Substancial Games</a>. Nosso principal objetivo é desenvolver jogos para dispositivos móveis, aproveitando o crescimento deste mercado que cada vez mais deverá crescer.</p>
<p>Atualmente estamos trabalhando no nosso primeiro projeto, um puzzle com elementos de aventura e humor, que acreditamos que irá cativar cada um de vocês.</p>
<p>Se tudo ocorrer como o esperado em Setembro estaremos testando a versão alpha deste projeto e no primeiro semestre do ano que vem o jogo já estará disponível para iOS e Android.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.luders.com.br/novidades/substancial-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando RTMPDump no Mac OS X 10.6</title>
		<link>http://blog.luders.com.br/tecnologia/instalando-rtmpdump-no-mac-os-x-10-6/</link>
		<comments>http://blog.luders.com.br/tecnologia/instalando-rtmpdump-no-mac-os-x-10-6/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 01:00:05 +0000</pubDate>
		<dc:creator>Ricardo</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[rtmp]]></category>
		<category><![CDATA[rtmpdump]]></category>
		<category><![CDATA[soname]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.luders.com.br/?p=29</guid>
		<description><![CDATA[Salve! Recentemente tive de instalar o RTMPDump no meu macbook para conseguir baixar alguns vídeos que apenas estavam disponíveis através de streaming, desta forma acabei precisando de instalar o RTMPDump. Inicialmente encontrei alguns problemas com relação a compilação, pois aparentemente o parâmetro -soname não estava sendo reconhecido pelo compilador (?)&#8230; Após algumas buscas acabei por [...]]]></description>
			<content:encoded><![CDATA[<div id="HOTWordsTxt" name="HOTWordsTxt"><p>Salve!</p>
<p>Recentemente tive de instalar o RTMPDump no meu macbook para conseguir baixar alguns vídeos que apenas estavam disponíveis através de streaming, desta forma acabei precisando de instalar o RTMPDump.</p>
<p>Inicialmente encontrei alguns problemas com relação a compilação, pois aparentemente o parâmetro <em>-soname</em> não estava sendo reconhecido pelo compilador (?)&#8230;</p>
<p>Após algumas buscas acabei por resolver o problema, apenas substituindo este parâmetro por outro na Makefile&#8230; Por este motivo resolvi criar um pacote com o source prontinho para ser compilado.</p>
<p>Para compilar siga os passos abaixo:</p>
<p style="padding-left: 30px;">1. <a title="Baixar pacote com o código fonte para Mac OS X" href="http://www.4shared.com/file/6f_lOciI/rtmpdump-23_macos.html">Baixe o pacote com o código fonte aqui.</a><br />
2. Abra o &#8216;Terminal&#8217; e entre na pasta onde você salvou o pacote com o código fonte.<br />
3. Descompacte: <em>tar xzvf rtmpdump-2.3_macos.tgz</em><br />
4. Entre na pasta criada ao descompactar.<br />
5. Dentro da pasta execute o comando: <em>sudo make install SYS=posix</em><br />
6. Pronto! Se tudo estiver ocorrido bem você poderá executar o comando: <em>./rtmpdump</em></p>
<p>Pronto! Bons downloads.</p>
<p>PS: Em breve em volto com os posts, ok? Estou extremamente ocupado ultimamente, estou preparando um curso de Unity 3D com vídeo aulas para postar aqui.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.luders.com.br/tecnologia/instalando-rtmpdump-no-mac-os-x-10-6/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Unity 3D</title>
		<link>http://blog.luders.com.br/desenvolvimento/unity-3d/</link>
		<comments>http://blog.luders.com.br/desenvolvimento/unity-3d/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 18:37:24 +0000</pubDate>
		<dc:creator>Ricardo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Unity 3D]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jogos]]></category>
		<category><![CDATA[unity]]></category>

		<guid isPermaLink="false">http://blog.luders.com.br/?p=26</guid>
		<description><![CDATA[Até o presente momento, eu apenas abordei o desenvolvimento Web focado principalmente em PHP; mas o blog tem como objetivo também abordar outros assuntos, outras das minhas paixões no mundo do desenvolvimento. Eu desde sempre fui um entusiasta quando o assunto é desenvolvimento de jogos, comecei cedo, com Allegro usando o bom e velho C, [...]]]></description>
			<content:encoded><![CDATA[<div id="HOTWordsTxt" name="HOTWordsTxt"><p style="text-align: left;"><a href="http://blog.luders.com.br/wp-content/uploads/2010/11/unityLogo.jpg"><img class="size-full wp-image-27 aligncenter" title="Unity 3D" src="http://blog.luders.com.br/wp-content/uploads/2010/11/unityLogo.jpg" alt="" width="327" height="180" /></a>Até o presente momento, eu apenas abordei o desenvolvimento Web focado principalmente em PHP; mas o blog tem como objetivo também abordar outros assuntos, outras das minhas paixões no mundo do desenvolvimento.</p>
<p style="text-align: left;">Eu desde sempre fui um entusiasta quando o assunto é desenvolvimento de jogos, comecei cedo, com Allegro usando o bom e velho C, e logo fui passando através de várias linguagens e bibliotecas; e finalmente XNA e Unity 3D.</p>
<p style="text-align: left;">Por este motivo estou preparando alguns artigos sobre desenvolvimento de jogos, utilizando a Unity 3D, obviamente eu vou tentar focar sempre na área de programação, pois é a minha área. Espero que todos entendam caso os modelos, ou qualidade gráfica dos meus exemplos sejam precários.</p>
<p style="text-align: left;">Logo é apenas aguardar, em breve vocês poderão acompanhar aqui uma série de tutoriais sobre esse maravilhoso moto de jogos.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.luders.com.br/desenvolvimento/unity-3d/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[UPDATED] Calculando o tempo de execução com PHP e consumo de memória</title>
		<link>http://blog.luders.com.br/desenvolvimento/calculando-o-tempo-de-execucao-com-php/</link>
		<comments>http://blog.luders.com.br/desenvolvimento/calculando-o-tempo-de-execucao-com-php/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 15:44:23 +0000</pubDate>
		<dc:creator>Ricardo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[calcular]]></category>
		<category><![CDATA[elapsed]]></category>
		<category><![CDATA[execução]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tempo]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://blog.luders.com.br/?p=24</guid>
		<description><![CDATA[Na publicação anterior eu mostrei algumas dicas, para você melhorar o desempenho da sua aplicação PHP. Porém não mostrei como você pode calcular o tempo de execução dos seus scripts. Isto as vezes é uma dúvida bem comum entre desenvolvedores iniciantes, porém é algo extremamente simples de ser feito. &#60;?php // Iniciamos o "contador" list($usec, [...]]]></description>
			<content:encoded><![CDATA[<div id="HOTWordsTxt" name="HOTWordsTxt"><p>Na <a href="http://blog.luders.com.br/desenvolvimento/otimizando-seu-php/">publicação anterior</a> eu mostrei algumas dicas, para você melhorar o desempenho da sua aplicação PHP. Porém não mostrei como você pode calcular o tempo de execução dos seus scripts.</p>
<p>Isto as vezes é uma dúvida bem comum entre desenvolvedores iniciantes, porém é algo extremamente simples de ser feito.</p>
<pre class="brush:php">&lt;?php
// Iniciamos o "contador"
list($usec, $sec) = explode(' ', microtime());
$script_start = (float) $sec + (float) $usec;

/* SEU CÓDIGO PHP */

// Terminamos o "contador" e exibimos
list($usec, $sec) = explode(' ', microtime());
$script_end = (float) $sec + (float) $usec;
$elapsed_time = round($script_end - $script_start, 5);</pre>
<pre class="brush:php">// Exibimos uma mensagem
echo 'Elapsed time: ', $elapsed_time, ' secs. Memory usage: ', round(((memory_get_peak_usage(true) / 1024) / 1024), 2), 'Mb';</pre>
<p>Eu particularmente possuo uma classe, que faz um controle mais complexo do calculo de tempo de execução, e está diretamente ligada a uma classe de registro de log, desta forma quando alguma execução ultrapassa um tempo pré-definido como &#8220;limite máximo&#8221; ele registra uma entrada no log, como um &#8220;aviso&#8221;, desta forma posso encontrar possíveis gargalos em meus sistemas.</p>
<p style="text-align: right;"><em>Fonte: </em><em><a href="http://www.tonymarston.net/php-mysql/elapsed-time.html">http://www.tonymarston.net/php-mysql/elapsed-time.html</a></em></p>
<p style="text-align: right;">UPDATED: Adicionei o consumo de memória do script, e corrigi o formato do echo.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.luders.com.br/desenvolvimento/calculando-o-tempo-de-execucao-com-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Otimizando seu PHP</title>
		<link>http://blog.luders.com.br/desenvolvimento/otimizando-seu-php/</link>
		<comments>http://blog.luders.com.br/desenvolvimento/otimizando-seu-php/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 01:45:14 +0000</pubDate>
		<dc:creator>Ricardo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[desempenho]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[melhorar]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rápido]]></category>

		<guid isPermaLink="false">http://blog.luders.com.br/?p=23</guid>
		<description><![CDATA[Algumas vezes as pessoas me perguntam como melhorar o desempenho de seus códigos PHP, é claro que isto é algo bem vago; E que possuí algumas variáveis que podem inverter o &#8220;melhor&#8221; e o &#8220;pior&#8221;. É claro, que nem sempre o código mais bonito é o mais eficiente, tal como as vezes um código mal [...]]]></description>
			<content:encoded><![CDATA[<div id="HOTWordsTxt" name="HOTWordsTxt"><p>Algumas vezes as pessoas me perguntam como melhorar o desempenho de seus códigos PHP, é claro que isto é algo bem vago; E que possuí algumas variáveis que podem inverter o &#8220;melhor&#8221; e o &#8220;pior&#8221;.</p>
<p>É claro, que nem sempre o código mais bonito é o mais eficiente, tal como as vezes um código mal feito pode ser o gargalo da sua aplicação. Então, como melhorar o desempenho das suas aplicações?</p>
<p>Existem algumas dicas, alguns truques, algumas coisas que com o tempo acabamos aprendendo, através da prática, de testes, de outras pessoas que já buscaram melhorar o desempenho de seus aplicativos e acabaram descobrindo alguns &#8220;truques&#8221; para ganhar desempenho.</p>
<p><span id="more-23"></span></p>
<h3>Dicas</h3>
<p>Vou listar aqui algumas coisas que eu normalmente faço, mas que nem  sempre é uma regra, tudo depende do porte do aplicativo que estou  desenvolvendo. Permitam-me compartilhar isto com vocês.</p>
<ul>
<li>
<h4>Reduzir o include_path</h4>
</li>
</ul>
<p>O PHP possuí por padrão alguns &#8220;caminhos&#8221; adicionados, os quais nos indicam onde encontrar algumas bibliotecas do PHP. Sempre que possível, reduza ao máximo os &#8220;caminhos&#8221;, deixando apenas o que for realmente necessário.</p>
<ul>
<li>
<h4>Caminhos absolutos</h4>
</li>
</ul>
<p>Sempre que possível indique seus includes ou requires através de caminhos absolutos.</p>
<ul>
<li>
<h4>Use cache</h4>
</li>
</ul>
<p>Isso é sério! Use algum sistema de cache, seja APC, XCache ou qualquer sistema de cache. Isto melhora o desempenho de seus sistemas em <span style="text-decoration: underline;">MINUTOS</span>.</p>
<ul>
<li>
<h4>CLI e Cron</h4>
</li>
</ul>
<p>Algumas vezes necessitamos executar algumas operações que necessitam de processamentos complextos, como por exemplo criar miniatura de imagens. Para isso você pode padronizar uma imagem padrão enquanto a miniatura não for gerada, e executar um script PHP-CLI através do Cron (agendador de tarefas) que então irá gerar a miniatura.</p>
<ul>
<li>
<h4>Filtro de erros</h4>
</li>
</ul>
<p>Sabe aquela &#8220;@&#8221; que colocamos algumas vezes no inicio de alguma função, para evitar que o PHP mostre algum aviso ao usuário? Evite-a, isso certamente consome um tempo precioso durante a execução da sua aplicação.</p>
<ul>
<li>
<h4>Selecionar tudo</h4>
</li>
</ul>
<p>Evite usar &#8220;SELECT *&#8221; nas suas buscas SQL. Seja objetivo, você nem sempre quer retornar todos os dados da tabela.</p>
<ul>
<li>
<h4>Manipulando uma string</h4>
</li>
</ul>
<p>Não use preg_replace, tente usar str_replace ele é bem mais rápido; Porém lembre-se strtr é bem mais rápido que ambos!</p>
<ul>
<li>
<h4>$_POST, $_GET e afins</h4>
</li>
</ul>
<p>Usar $_POST['name'] é bem mais rápido que $_POST[name].</p>
<ul>
<li>
<h4>Não use funções dentro de loops</h4>
</li>
</ul>
<p>Sempre vejo algumas pessoas utilizarem funções dentro de loops, não faça isto, pois a função acabará sendo executada inumeras vezes.</p>
<p>Não faça assim:</p>
<pre class="brush:php">for($i = 0; $i &lt;= count($array); $i++) {
	// ...
}</pre>
<p>Faça assim:</p>
<pre class="brush:php">$num = count($array);
for($i = 0; $i &lt;= $num; $i++) {
	// ...
}</pre>
<ul>
<li>
<h4>print vs echo</h4>
</li>
</ul>
<p>Use echo ao invés de print, pode parecer brincadeira mas você acaba ganhando algum desempenho. Pois diferente do echo o print sempre retorna um valor inteiro ao final da sua execução.</p>
<h3>Conclusão</h3>
<p>Espero realmente que esta publicação tenha sido útil. Existem inumeras outras dicas para você melhorar o desempenho de suas aplicações PHP, basta você ter um pouco de paciência e procurar no google sobre o assunto, e também nada melhor que o tempo para nos mostrar qual a sua real importância para nossos aplicativos.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.luders.com.br/desenvolvimento/otimizando-seu-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
