<?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>Leandro Garcia &#187; dicas</title>
	<atom:link href="http://www.leandrogarcia.com/blog/category/dicas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.leandrogarcia.com</link>
	<description></description>
	<lastBuildDate>Wed, 11 Jan 2012 13:31:51 +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>Comprimir O JS</title>
		<link>http://www.leandrogarcia.com/blog/comprimir-o-js/</link>
		<comments>http://www.leandrogarcia.com/blog/comprimir-o-js/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 14:05:10 +0000</pubDate>
		<dc:creator>leandro garcia</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[otimização]]></category>

		<guid isPermaLink="false">http://www.leandrogarcia.com/?p=486</guid>
		<description><![CDATA[&#160;
Uma das boas práticas que podemos adotar para agilizar o carregamento de  uma página é comprimir o css e o js. Essas compressões, costumam, retirar os comentários. as quebras de linha e às vezes até alterar o nome de variáveis de escopo, alterando as para por exemplo &#8220;a&#8221;.
Uma das principais ferramentas que conheço é o [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Uma das boas práticas que podemos adotar para agilizar o carregamento de  uma página é comprimir o css e o js. Essas compressões, costumam, retirar os comentários. as quebras de linha e às vezes até alterar o nome de variáveis de escopo, alterando as para por exemplo &#8220;a&#8221;.</p>
<p>Uma das principais ferramentas que conheço é o YUI compressor. Tem um site que utiliza essa ferramenta para comprimir o JS. Aconselho o uso, mas devemos sempre ter a versão sem otimização para alterar caso necessário.</p>
<p>O site é o <a href="http://jscompress.com/">http://jscompress.com/</a>.</p>
<p>Fica a Dica!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandrogarcia.com/blog/comprimir-o-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programador Front-End, por onde começar?</title>
		<link>http://www.leandrogarcia.com/blog/programador-front-end-por-onde-comecar/</link>
		<comments>http://www.leandrogarcia.com/blog/programador-front-end-por-onde-comecar/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 20:14:57 +0000</pubDate>
		<dc:creator>leandro garcia</dc:creator>
				<category><![CDATA[dicas]]></category>

		<guid isPermaLink="false">http://www.leandrogarcia.com/?p=484</guid>
		<description><![CDATA[Recebi um e-mail do Rodrigo Pereira me pedindo dicas para começar a trabalhar com desenvolvimento front-end.
O front-end é algo que muito aprecio e ao responder para ele me empolguei e acabei escrevendo um post e colo aqui abaixo.
O que um programador front-end deve saber?
&#160;
São três itens básicos que um programador front-end deve saber.
HTML
Um programador front-end [...]]]></description>
			<content:encoded><![CDATA[<p>Recebi um e-mail do Rodrigo Pereira me pedindo dicas para começar a trabalhar com desenvolvimento front-end.</p>
<p>O front-end é algo que muito aprecio e ao responder para ele me empolguei e acabei escrevendo um post e colo aqui abaixo.</p>
<h3><span style="text-decoration: underline;">O que um programador front-end deve saber?</span></h3>
<p>&nbsp;</p>
<h3><span class="Apple-style-span" style="font-size: 13px; font-weight: normal;">São três itens básicos que um programador front-end deve saber.</span></h3>
<h3>HTML</h3>
<p>Um programador front-end deve saber bem HTML, o <a title="Logo HTML5" href="http://www.leandrogarcia.com/blog/logo-html5/">HTML 5</a> ainda não é necessário saber bem, mas em pouco tempo será. Ainda não é, pois depende dos navegadores e o principal ainda é o ie e apenas a versão 9 do ie aceita HTML 5, embora tenha como burlar nas demais. Mas atente-se a aprender bem HTML.</p>
<h3>CSS</h3>
<p><strong></strong><a title="Pakus CSS Framework" href="http://www.leandrogarcia.com/blog/pakus-css-framework/">CSS</a> é necessário, pois é onde a &#8220;beleza&#8221; da página acontece. Saber é necessário.<br />
<strong></strong></p>
<h3>Javascript</h3>
<p>Dos 3 o <a title="A melhor maneira de aprender Javascript" href="http://www.leandrogarcia.com/blog/a-melhor-maneira-de-aprender-javascript/">javascript</a> é o menos importante, mas é de extrema importância, uma vez que é com javascript que fazemos as interações da página.</p>
<p><span style="text-decoration: underline;">Isso é o básico.</span></p>
<h3><span style="text-decoration: underline;">Agora vem coisas importantes:</span></h3>
<p>&nbsp;</p>
<h3>Tableless</h3>
<p>Tableless é primordial, pois não dá pra codificar um layout com tabelas, elas não foram feitas para isso.</p>
<p>Quando alguma pessoas lêem tableless acreditam que não se deve usar tabela em hipotese alguma, não é isso. Pode usar sim, mas pra fazer uma tabela e não um layout. Ex A tabela de medalhas do Pan, se usa tabela. Errado seria usar outra coisa.<br />
<strong></strong></p>
<h3><strong>DivLess</strong></h3>
<p><strong></strong>É comum quando as pessoas migram a programação de tabela para tableless sairem colocando div em tudo, não se deve fazer isso, embora seja menos ruim que tabela, existem diversas tags em html para diversas coisas nas quais se encaixam melhor. O HTML 5 tem tags melhores, mas semânticas, mas não temos que nos atentar a apenas essas, por exemplo se você tem um título de uma notícia, deve se usar os Hs h1, h2, h3, h4, h5, h6, Um texto deve conter parágrafos &lt;p&gt; e assim por diante.</p>
<h3><strong>SEO</strong></h3>
<p><strong></strong>Não precisa se aprofundar nisso se não for a área com que você vai trabalhar, mas uma noção é importante, por exemplo saber onde colocar as tags, o que se deve fazer para melhora e o que não se deve fazer em hipótese alguma.</p>
<h3><strong>WebSemantica</strong></h3>
<p><strong></strong>Websemantica é uma coisa que ainda não existe, no sentido que a idéia original da web semantica é o computador entender o conteúdo e conseguir dar opções semelhantes. Mas não devemos nos atentar a isso. Devemos trabalhar a semantica da página no sentido de melhorar o fluxo da informação. A semantica é dizer ao computador o que é cada coisa e para isso devemos escrever nosso código o melhor possível. Isso quer dizer, usar as tags certas para a coisa certa, nomear corretamente as classes e ids, um id deve ser único em uma página, etc.</p>
<h3><strong>jQuery</strong></h3>
<p><strong></strong>Veja, o que vou escrever aqui, é a minha idéia, mas conheço outros progrmadores que pensam diferente.</p>
<p>Primeiro, <a title="Framework -> Javascript -> jQuery&#8221; href=&#8221;http://www.leandrogarcia.com/blog/framework-javascript-jquery/&#8221;>jQuery</a> é fenomenal. Eu uso muito, gosto de usar e aconselho a usar sempre que possível.</p>
<p>Segundo. Esse é controverso. Em minha opinião, a gente tem que <a title="Javascript para principiantes ou esquecidinhos. Aula 1: Como começar" href="http://www.leandrogarcia.com/blog/javascript-para-principiantes-ou-esquecidinhos-aula-1-como-comecar/">conhecer bem javascript normal antes de usar um framework</a>, pois se de cara você aprender um frameworks, pode se tornar complicado aprender outros frameworks, aliado à isso, você pode ter que participar de algum projeto em que não se possa usar qualquer framework e ai? Ou ter que usar o mootoos ao invés de jquery, são muitas variantes.</p>
<p>Na minha opinião, você não precisar ser um expert em javascript pra usar jquery, mas conhecer bem o básico.</p>
<p>Fora isso, usar jQuery é mais do que recomendado.<br />
<strong></strong></p>
<h3><strong>Lógica de programação</strong></h3>
<p><strong></strong>Embora para front-end não seja um pré-requisito ou não tão necessário quanto para back-end, eu acredito que ter uma boa lógica de programação auxilia o fronten dev na execução de um melhor trabalho, principalmente com JavaScript.<br />
<strong></strong></p>
<h3><strong>Ler</strong></h3>
<p><strong></strong>Um bom programador Front-end deve estar sempre antenado no que está <a title="Guia de Mobile App do Google" href="http://www.leandrogarcia.com/blog/guia-de-mobile-app-do-google/">acontecendo na área</a>. Ler é fundamental. Há alguns livros bons, mas eu considero que se você tiver que escolher entre ler um liro ou blogs de programação, leia os blogs, costumam ser mais atuais.<br />
<strong></strong></p>
<h3><strong>Fazer</strong></h3>
<p><strong></strong>Não existe melhor escola para aprender do que <a title="Desenvolvedor, não leiam apenas tutoriais, dissequem sites" href="http://www.leandrogarcia.com/blog/desenvolvedor-nao-leiam-apenas-tutoriais-dissequem-sites/">fazer</a>. Quando eu estava aprendendo, eu costumava escolher um site que eu gostasse e tentava refazê-lo. Outra coisa que eu costumava fazer e ainda faço, é ver o código dos outros. Abro o fonte dos sites e tento entender o que o front-end que desenvolveu fez. Aprendemos bastante assim.<br />
<strong></strong></p>
<h3><strong><a title="Treme um site muito bom e não tem Flash" href="http://www.leandrogarcia.com/blog/site-treme/">Faça diferente</a></strong></h3>
<p><strong></strong>Se você já fez uma coisa, se der tempo refaça, você vai se surpreender como você pode melhorar o que você fez antes. Se não tem tempo, mas tem que fazer uma coisa parecida, não tenha preguiça, refaça o código ou ao menos tente melhorá-lo.</p>
<h3><strong><a title="Firebug, Mais que um complemento, um &quot;amigo&quot; do desenvolvedor" href="http://www.leandrogarcia.com/blog/fire-bug-mais-que-um-complemento-um-amigo-do-desenvolvedor/">FireBug</a></strong>.</h3>
<p>Firbug, é um complemento do firefoz que auxilia o front-end dev a fazer o site, uma vez que com ele conseguimos simular situações conforme vamos fazendo. tipo almentar o texto e ver o que aontece, mudar cor tamanho de fonte, essas coisas direto no navegador, é excelente. Existem equivalentes para chrome, Safari, Opera e até IE, mas o melhor é o <a title="Firebug, Mais que um complemento, um &quot;amigo&quot; do desenvolvedor" href="http://www.leandrogarcia.com/blog/fire-bug-mais-que-um-complemento-um-amigo-do-desenvolvedor/">FireBug</a>, só que é um pouco pesado.</p>
<h3><strong>Navegadores</strong></h3>
<p><strong></strong>Você deve conhecer os principais navegadores, não que dizer que você tenha que usá-los, mas deve conhece-los, pois toda interface programada deve ser testada nos navegadores, IE, FireFox,<a title="Blog do Garcia na Chrome Web Store" href="http://www.leandrogarcia.com/blog/blog-do-garcia-na-chrome-web-store/">Chrome</a>, Safari e se possível no Opera. Pois são os mais utilizados, inclusive em versões anteriores do ie, pelo menos até a <a title="Ie 6 e Ie 7 na mesma máquina, como?" href="http://www.leandrogarcia.com/blog/ie-6-e-ie-7-na-mesma-maquina-como/">versão 7</a>, já que a maioria das empresas pararam de dar suporte à versão 6.</p>
<p>De todos os navegadores, a maior diferença dá entre o ie e os demais. Os demais não mudam muita coisa.</p>
<h3><strong>Concluindo</strong></h3>
<p><strong></strong>A área de desenvolvimento web está em alta, está muito boa para trabalhar, desde que você não tenha medo de ter que trabalhar de fim de semana as vezes e até ter que virar a noite. É raro, mas acontece.</p>
<p>Eu programo PHP, já programei outras linguagens, mas o que eu gosto mesmo é do front-end é onde me sinto realizado. Onde eu consigo ser diferente, fazer coisas diferentes.</p>
<p>Nunca se atenha só a seu trabalho. Faça coisas deiferentes do seu trabalho, exemplo se você nunca programou um blog, programe um fora do trabalho.</p>
<h3><span style="text-decoration: underline; color: #ff0000;">Saia da Zona de Conforto.</span></h3>
<p>&#8212;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandrogarcia.com/blog/programador-front-end-por-onde-comecar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Blog do Garcia na Chrome Web Store</title>
		<link>http://www.leandrogarcia.com/blog/blog-do-garcia-na-chrome-web-store/</link>
		<comments>http://www.leandrogarcia.com/blog/blog-do-garcia-na-chrome-web-store/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 21:28:43 +0000</pubDate>
		<dc:creator>leandro garcia</dc:creator>
				<category><![CDATA[dicas]]></category>

		<guid isPermaLink="false">http://www.leandrogarcia.com/?p=471</guid>
		<description><![CDATA[Acabei de publicar um aplicativo na Chrome Web Store. Agora vocês conseguem colocar o blog do Garcia para acessar direto do seu navegador Chrome.



&#160;
Para instalar é só acessar o endereço: https://chrome.google.com/webstore/detail/fahinlhmlookaaafkfolpdpfgbipieba?hl=pt-BR&#38;hc=search&#38;hcp=main
]]></description>
			<content:encoded><![CDATA[<p>Acabei de publicar um aplicativo na Chrome Web Store. Agora vocês conseguem colocar o blog do Garcia para acessar direto do seu navegador Chrome.</p>
<p><img class="alignnone size-large wp-image-478" title="Captura_de_tela-Blog do Garcia - Chrome Web Store - Google Chrome" src="http://www.leandrogarcia.com/wp-content/uploads/2011/10/Captura_de_tela-Blog-do-Garcia-Chrome-Web-Store-Google-Chrome1-652x225.png" alt="" width="652" height="225" /></p>
<p><img class="alignnone size-large wp-image-472" title="Captura_de_tela-Nova guia - Google Chrome" src="http://www.leandrogarcia.com/wp-content/uploads/2011/10/Captura_de_tela-Nova-guia-Google-Chrome-652x385.png" alt="" width="652" height="385" /></p>
<p><img class="alignnone size-full wp-image-473" title="icon_128" src="http://www.leandrogarcia.com/wp-content/uploads/2011/10/icon_128.png" alt="" width="128" height="128" /></p>
<p>&nbsp;</p>
<p>Para instalar é só acessar o endereço: <a href="https://chrome.google.com/webstore/detail/fahinlhmlookaaafkfolpdpfgbipieba?hl=pt-BR&amp;hc=search&amp;hcp=main">https://chrome.google.com/webstore/detail/fahinlhmlookaaafkfolpdpfgbipieba?hl=pt-BR&amp;hc=search&amp;hcp=main</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandrogarcia.com/blog/blog-do-garcia-na-chrome-web-store/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A melhor maneira de aprender Javascript</title>
		<link>http://www.leandrogarcia.com/blog/a-melhor-maneira-de-aprender-javascript/</link>
		<comments>http://www.leandrogarcia.com/blog/a-melhor-maneira-de-aprender-javascript/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 20:21:54 +0000</pubDate>
		<dc:creator>leandro garcia</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.leandrogarcia.com/?p=467</guid>
		<description><![CDATA[Tem um site que acompanho chamado nettuts, que possui diversos tutoriais sobre diversas coisas, uma dessas é sobre  a melhor maneira de aprender javascript. Vou tentar sintetizar o eles recomendam. Eu recomendo seguir este site.  
Item 0: Entender o que JavaScript é e não é
Javascript não é jQuery, Java ou flash. JavaScript é uma [...]]]></description>
			<content:encoded><![CDATA[<p>Tem um site que acompanho chamado <a href="http://net.tutsplus.com/">nettuts</a>, que possui diversos tutoriais sobre diversas coisas, uma dessas é sobre  <a href="http://net.tutsplus.com/tutorials/javascript-ajax/the-best-way-to-learn-javascript/">a melhor maneira de aprender javascript</a>. Vou tentar sintetizar o eles recomendam. Eu recomendo seguir este site. <img src='http://www.leandrogarcia.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Item 0: Entender o que JavaScript é e não é</strong></p>
<p>Javascript não é jQuery, Java ou flash. JavaScript é uma linguagem do navegador. Sua primeira proposta é adicionar interatividade à páginas estáticas. Não substitui PHP ou Ruby. Nem mesmo HTML ou CSS, é usado em conjunto. Talvez você tenha ouvido falar em jQuery jQuery não é Javascript ou não substiui o javascript. jQuery é uma ferramenta de trabalho escrita em Javascript, ou seja, você programa javascript sem jquery, ams o jQuery pode facilitar sua vida.</p>
<p><strong>Item 1: Aprender através de screencasts</strong></p>
<p>O site <a href="http://learn.appendto.com/">http://learn.appendto.com/</a> tem uma série de screencasts interessantes para iniciantes.</p>
<p><strong>Item 2: Ler uma boa introdução de JavaScript</strong></p>
<p><a href="https://developer.mozilla.org/en/A_re-introduction_to_JavaScript">Uma introdução ao Java Script &#8211; Mozzila</a></p>
<p><a href="http://www.amazon.com/gp/product/1593272820/ref=as_li_ss_tl?ie=UTF8&amp;tag=nett02-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=1593272820">Eloquent JavaScript: A Modern Introduction to Programming </a></p>
<p><a href="http://rockablepress.com/books/getting-good-with-javascript/">http://rockablepress.com/books/getting-good-with-javascript/</a></p>
<p><strong>Item 3: Instalar e aprender FireBug ou Devlopers Tools</strong></p>
<p>Uma vez que você começou à trabalhar com javascript no navegador, instale o firebug para aprimorar seus conhecimentos. Tempos atrás eu fiz um <a title="Firebug, Mais que um complemento, um &quot;amigo&quot; do desenvolvedor" href="http://www.leandrogarcia.com/blog/fire-bug-mais-que-um-complemento-um-amigo-do-desenvolvedor/">post sobre Firebug</a>, leia-o, é interessante. Leia o <a href="http://getfirebug.com/">wiki do Firebug</a>, leia sobre o <a href="http://code.google.com/intl/pt-BR/chrome/devtools/">developer tools</a>.</p>
<p><strong>Item 4: Ler um livro</strong></p>
<p>Presumindo que você já está familiarizado com a linguagem, agora é hora de ler um livro à respeito. Os que acho mais interessantes são da editora O&#8217;reilly</p>
<p><a href="http://www.amazon.com/gp/product/047022780X/ref=as_li_ss_tl?ie=UTF8&amp;tag=nett02-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=047022780X">Professional JavaScript for Web Developers (Wrox Programmer to Programmer)</a></p>
<p><a href="http://www.amazon.com/gp/product/0470647833/ref=as_li_ss_tl?ie=UTF8&amp;tag=nett02-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=0470647833">JavaScript 24-Hour Trainer (Wrox Programmer to Programmer)</a></p>
<p><a href="http://www.amazon.com/gp/product/0596806752/ref=as_li_ss_tl?ie=UTF8&amp;tag=nett02-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=0596806752">JavaScript Patterns</a></p>
<p><strong>Item 5: Construa alguma coisa</strong></p>
<p>Este item eu acho o mais importante. Para você ser bom, você tem que fazer. Faça uma lista de tarefas, uma galeria de fotos, uma caixa que se move, sei lá, faça algo e depois tente melhorar o código</p>
<p><strong>Item 6: Aprenda alguma biblioteca JS</strong></p>
<p>Usar uma bilbioteca ou framework traz uma agilidade enorme para o desenvolvimento das coisas, mas acredito que para você ser bom em alguma biblioteca você deve aprender Javascript tradicional, pois em algum momento você pode ser desafiado à fazer alguma coisa sem a biblioteca que você está acostumado.</p>
<p><strong>Item 7: Acompanhe os melhores</strong></p>
<p>Ler é a melhor maneira de você evoluir na programação e para ler, nada melhor do que ler o que os melhores postam. no post <a href="http://net.tutsplus.com/articles/web-roundups/30-developers-you-must-subscribe-to-as-a-javascript-junkie/">http://net.tutsplus.com/articles/web-roundups/30-developers-you-must-subscribe-to-as-a-javascript-junkie/</a>, há uma série de excelentes programadores que tem muito a ensinar. Leiam seus blogs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandrogarcia.com/blog/a-melhor-maneira-de-aprender-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Erro no wordpress missed schedule</title>
		<link>http://www.leandrogarcia.com/blog/erro-no-wordpress-missed-schedule/</link>
		<comments>http://www.leandrogarcia.com/blog/erro-no-wordpress-missed-schedule/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 22:36:22 +0000</pubDate>
		<dc:creator>leandro garcia</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[erro]]></category>
		<category><![CDATA[missed schedule]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.leandrogarcia.com/?p=454</guid>
		<description><![CDATA[Salve.
Nesses últimos dias, fiz um tema para um blog. Esse Blog depende do agendamento para a publicação dos seus posts, pois devem ser publicados à determinada hora do dia, mas (tem sempre um mas) o agendamento do wordpress não estava funcionando, agendava, mas no horário não publicava.
O erro? missed schedule&#8230; Como consertar?

Depois de muito quebrar [...]]]></description>
			<content:encoded><![CDATA[<p>Salve.</p>
<p>Nesses últimos dias, fiz um tema para um blog. Esse Blog depende do agendamento para a publicação dos seus posts, pois devem ser publicados à determinada hora do dia, mas (tem sempre um mas) o agendamento do wordpress não estava funcionando, agendava, mas no horário não publicava.</p>
<p><strong>O erro? missed schedule&#8230; Como consertar?<br />
</strong></p>
<p>Depois de muito quebrar a cabeça e procurar na web encontrei a solução um plugin. Com o nome bem sugestivo <a href="http://wordpress.org/extend/plugins/missed-schedule/">missed schedule</a> em principio, duvidei, mas testando, realente funcionou.</p>
<p>Fica a dica, caso se deparem com este erro, tentem este plugin. Me ajudou bastante.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandrogarcia.com/blog/erro-no-wordpress-missed-schedule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Viewport</title>
		<link>http://www.leandrogarcia.com/blog/viewport/</link>
		<comments>http://www.leandrogarcia.com/blog/viewport/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 16:08:09 +0000</pubDate>
		<dc:creator>leandro garcia</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[MetaTags]]></category>

		<guid isPermaLink="false">http://www.leandrogarcia.com/?p=449</guid>
		<description><![CDATA[Viewport é uma metatag para dispositivos móveis (telefones, tables, etc), serve para informar ao navegador desses dispositivos como eles devem exibir a página reduzida.
Quando uma página não tem versão mobile, os dispositivos móveis (modernos) a carregam como são visualizadas nos navegadores tradicionais só que de maneira reduzida para se adequar ao tamanho do dispositivo, é [...]]]></description>
			<content:encoded><![CDATA[<p>Viewport é uma metatag para dispositivos móveis (telefones, tables, etc), serve para informar ao navegador desses dispositivos como eles devem exibir a página reduzida.</p>
<p>Quando uma página não tem versão mobile, os dispositivos móveis (modernos) a carregam como são visualizadas nos navegadores tradicionais só que de maneira reduzida para se adequar ao tamanho do dispositivo, é exibido a página to tamanho total da interface, por exemplo, se a largura da página for de 1000px, aparecera esses 1000 pixels de maneira reduzida e colada no navegados, sem respiro, o que torna a experiência ruim.</p>
<p>Ao usar a tag viewport a página informa ao dispositivo a largura que ele deve exibir.</p>
<p>Este blog, tem sua largura definida em 1000px, e seu viewport em 1200px, isso significa que o navegador dos dispositivos móveis vai exibir 1200px de largura da página, e não os 1000, ou seja, um respiro de cada lado.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;meta name=&quot;viewport&quot; content=&quot;width=1200&quot; /&gt;
</pre>
<p>Além da largura, é possível controlar qual o nível de zoom  quando a página é carregado, usando a própriedade initial-scale dentro da tag. O maximum-scale, minimum-scale, e user-scalable controla quanto o usuário está permitido dar o zoom a página, para mais ou menos.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, maximum-scale=1&quot;&gt;
</pre>
<p>device-width = largura do aparelho</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandrogarcia.com/blog/viewport/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Escrever um código direito é mais do que escrever a sintaxe direito</title>
		<link>http://www.leandrogarcia.com/blog/escrever-um-codigo-direito-e-mais-do-que-escrever-a-sintaxe-direito/</link>
		<comments>http://www.leandrogarcia.com/blog/escrever-um-codigo-direito-e-mais-do-que-escrever-a-sintaxe-direito/#comments</comments>
		<pubDate>Sat, 25 Jun 2011 22:54:48 +0000</pubDate>
		<dc:creator>leandro garcia</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[código bem escritp]]></category>

		<guid isPermaLink="false">http://www.leandrogarcia.com/?p=446</guid>
		<description><![CDATA[No último post, eu escrevi sobre a importância de comentar o código, e ao escrevê-lo, me deparei com uma outra situação muito comum, e que em principio pode parecer irrelevante, mas se pensarmos bem ajuda bastante.
Quando vamos escrever um código é comum termos que escolher nomes de funções, classes, métodos, variáveis, etc, ou seja, coisas [...]]]></description>
			<content:encoded><![CDATA[<p>No último post, eu escrevi sobre a <a title="A importância de comentar seu código e comentar direito" href="http://www.leandrogarcia.com/blog/a-importancia-de-comentar-seu-codigo-e-comentar-direito/">importância de comentar o código</a>, e ao escrevê-lo, me deparei com uma outra situação muito comum, e que em principio pode parecer irrelevante, mas se pensarmos bem ajuda bastante.</p>
<p>Quando vamos escrever um código é comum termos que escolher nomes de funções, classes, métodos, variáveis, etc, ou seja, coisas que não fazem parte da sintaxe da linguagem, mas sem não tem como escrever um código. É nesse ponto que deve-se tomar cuidado.</p>
<p>No calor do momento em que estamos escrevendo um código uma determinada nomenclatura que adotamos para uma variável pode parecer perfeitamente coerente, mas pode não ser bem assim. Pensemos, se vamos receber numa variável o resultado da média escolar, é comum, simplesmente optarmos pelo nome de resultado ou result, mas e se essa função crescer? ou pior se ao invés de resultado tivessemos dado o nome dessa variável de <strong>r</strong>?</p>
<pre class="brush: jscript; title: ; notranslate">
var result = resultado(n1,n2);
var r = resultado(n1,n2);
</pre>
<p>Um exemplo</p>
<p>Um software para cálculo de médias escolares, que faz a média de cada matéria. Que precisa ter um botão para aumentar o valor de uma nota, ao invés de digitá-la. Porém por necessidade de negócio deve ter um botão que aumenta ou diminui a fonte do texto entre outras coisas.</p>
<pre class="brush: jscript; title: ; notranslate">
function mais(v){
	return v + 1;
}
var r = function(){n1+n2+n3+n4/4}
function menos(v){
	return v - 1;
}
function ma(v){
	return variaelexistentea + 1;
}
function me(v){
	return variaelexistentea - 1;
}

var result = mais(r);
</pre>
<p>E ai? Hoje é possível entender o que foi escrito facilmente, mas e daqui a um ano? Vai ser difícil e se não for você quem vai fazer a manutenção deste código? Imagina a dificuldade de alguém que caiu de paraquedas no projeto, pois é se escrevermos claramente o que queremos dizer, será bem mais fácil.</p>
<pre class="brush: jscript; title: ; notranslate">
function aumentarMedia(nota){
	return nota + 1;
}
var media = function(){n1+n2+n3+n4/4}
function diminuirMedia(v){
	return v - 1;
}
function aumentarLetra(){
	return variaelexistentea + 1;
}
function diminuirLetra(){
	return variaelexistentea - 1;
}

var mediaAumentada = mais(r);
</pre>
<p>Não mudei nada no código, apenas a nomenclatura das variáveis e das funções, no entanto ficou bem mais evidente o que esse trecho de código faz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandrogarcia.com/blog/escrever-um-codigo-direito-e-mais-do-que-escrever-a-sintaxe-direito/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A importância de comentar seu código e comentar direito</title>
		<link>http://www.leandrogarcia.com/blog/a-importancia-de-comentar-seu-codigo-e-comentar-direito/</link>
		<comments>http://www.leandrogarcia.com/blog/a-importancia-de-comentar-seu-codigo-e-comentar-direito/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 22:41:18 +0000</pubDate>
		<dc:creator>leandro garcia</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[comentar]]></category>

		<guid isPermaLink="false">http://www.leandrogarcia.com/?p=440</guid>
		<description><![CDATA[Para muitos isso que vou escrever é chover no molhado. Mas acho interessante abordar esse tema.
Antes de abordar esse tema, devo admitir que cometi muito esse erro, muitas vezes deixei de comentar meu código, ou por esquecer ou muito pior, por achar que meu código estava fácil de ser interpretado. Isso foi um enorme erro, [...]]]></description>
			<content:encoded><![CDATA[<p>Para muitos isso que vou escrever é chover no molhado. Mas acho interessante abordar esse tema.</p>
<p>Antes de abordar esse tema, devo admitir que cometi muito esse erro, muitas vezes deixei de comentar meu código, ou por esquecer ou muito pior, por achar que meu código estava fácil de ser interpretado. Isso foi um enorme erro, pois ao fazer a manutenção do código tempos depois me vi obrigado a interpretar o código e consequentemente a perder um enorme tempo com isso, o que eu deveria ter feito? Comentar, simples assim.</p>
<h3>Código Sem comentário</h3>
<pre class="brush: jscript; title: ; notranslate">
function fazer(variavel1, variavel2){
	if(variavel1 &gt; variavel2){
		v3 = (variavel2-varialve1)/2
	}else{
		v3 = (variavel1-variavel2)*5;
	}

	switch(v3){
		case 1:
			vf = faca(1);
			break;
		case 2:
			vf = faca(2);
			break;
		default:
			vf = faca(v3);
	}

	alert(vf)
}
</pre>
<p>Essa é uma função simples, mas por não ser comentada quando eu ou alguma outra pessoa for dar manutenção isso poderá ser um problema, pois a pessoa vai ter que interpretar essa função, pra entender o que ela faz e pior, ela não terá certeza quando ela é chamada, o que pode ocasionar erros ou no mínimo uma perda de tempo.</p>
<h3>Com comentários indecifráveis</h3>
<pre class="brush: jscript; title: ; notranslate">
/*22/06/2011*/
function fazer(variavel1, variavel2){
	if(variavel1 &gt; variavel2){
		v3 = (variavel2-varialve1)/2
	}else{
		v3 = (variavel1-variavel2)*5;
	}

	switch(v3){
		case 1:
			vf = faca(1);
			break;
		case 2:
			vf = faca(2);
			break;
		default:
			vf = faca(v3);
	}

	alert(vf)
}
</pre>
<p>Contém um comentário na função, mas o que ele diz? A data de atualização? De criação? O que deve imprimir na tela? Não tem como saber.</p>
<h3>Mal comentado</h3>
<pre class="brush: jscript; title: ; notranslate">
/*alerta uma variável*/
function fazer(variavel1, variavel2){
	if(variavel1 &gt; variavel2){
		v3 = (variavel2-varialve1)/2
	}else{
		v3 = (variavel1-variavel2)*5;
	}

	switch(v3){
		case 1:
			vf = faca(1);
			break;
		case 2:
			vf = faca(2);
			break;
		default:
			vf = faca(v3);
	}

	alert(vf)
}
</pre>
<p>Nessa mesma função há um comentário dizendo o resultado esperado para essa função, mas não explica seu funcionamento. Mudou alguma coisa? Sim mudou, melhorou, mas não muito, ou quase nada.</p>
<h3>Bem comentado</h3>
<pre class="brush: jscript; title: ; notranslate">
/*Função para alertar um resultado*/
function fazer(variavel1, variavel2){
	/*Se a váriável1 for maior que a variável 2, dividir o resultado da subtração por 2, caso contrário multiplicá-la por 5*/
	if(variavel1 &gt; variavel2){
		v3 = (variavel2-varialve1)/2
	}else{
		v3 = (variavel2-variavel1)*5;
	}

	/*Validar o resultado da variável v3 e acionar a função faca com o valor de cada caso.*/
	switch(v3){
		case 1:
			vf = faca(1);
			break;
		case 2:
			vf = faca(2);
			break;
		default:
			vf = faca(v3);
	}

	/*Alertar o retorno da função faca*/
	alert(vf)
}
</pre>
<p>Nesse caso, há bastante comentário sobre o funcionamento da função, o que o futuro pode melhorar e muito a manutenção desta função.</p>
<h3>Concluindo</h3>
<p>Os comentários são a melhor arma que um programador pode ter para evitar maiores trabalhos no futuro. Todas as linguagens tem sua forma de comentar, algumas até mais do que uma, que pode ser /*, //, &#8216;,# entre outras.<br />
Use sempre os comentários, afinal daqui a um ano, sua cabeça não será a mesma de hoje, mas a função será.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandrogarcia.com/blog/a-importancia-de-comentar-seu-codigo-e-comentar-direito/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guia de Mobile App do Google</title>
		<link>http://www.leandrogarcia.com/blog/guia-de-mobile-app-do-google/</link>
		<comments>http://www.leandrogarcia.com/blog/guia-de-mobile-app-do-google/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 21:57:35 +0000</pubDate>
		<dc:creator>leandro garcia</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[Sites que rolam]]></category>
		<category><![CDATA[Vale um clique]]></category>

		<guid isPermaLink="false">http://www.leandrogarcia.com/?p=436</guid>
		<description><![CDATA[O Google lançou recentemente um site com informações sobre desenvolvimento de mobile apps.
Neste site não há código mas informação do ponto de vista de negócio sobre mobile Apps, inclusive com exemplos reais que deram certo, como o Angry birds, por exemplo, vale dar uma lida no conteúdo, mesmo se você não tem interesse em desenvolver [...]]]></description>
			<content:encoded><![CDATA[<p>O Google lançou recentemente um site com informações sobre desenvolvimento de mobile apps.</p>
<p>Neste site não há código mas informação do ponto de vista de negócio sobre mobile Apps, inclusive com exemplos reais que deram certo, como o <a href="http://pt.wikipedia.org/wiki/Angry_Birds" target="_blank">Angry birds</a>, por exemplo, vale dar uma lida no conteúdo, mesmo se você não tem interesse em desenvolver mobile Apps, pois são informações preciosas sobre a construção de negócios. E para quem tem interesse, diria que é obrigatório estudar o conteúdo.</p>
<p><a href="http://www.guidetotheappgalaxy.com" target="_blank">http://www.guidetotheappgalaxy.com</a></p>
<p>É interessante também avaliar o código do site, pois é uma animação bem interessante e não é flash, é uma construção interessantíssima de um website com conteúdo, animação, interatividade com um código bem contruido.</p>
<p>Sem dúvida vale uma visitinha</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leandrogarcia.com/blog/guia-de-mobile-app-do-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Operador ternário</title>
		<link>http://www.leandrogarcia.com/blog/operador-ternario/</link>
		<comments>http://www.leandrogarcia.com/blog/operador-ternario/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 16:34:20 +0000</pubDate>
		<dc:creator>leandro garcia</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[operador ternário]]></category>

		<guid isPermaLink="false">http://www.leandrogarcia.com/?p=416</guid>
		<description><![CDATA[O Operador ternário está presente na maioria das linguagens de programação e serve para agrupar condicionais em uma única linha, economizando código e na minha opinião deixado o código mais clean.
A sintaxe é simples (condição) ? verdadeira : falsa
Em PHP uma sintaxe normal
Agora com o Operador ternário
ou 
Em javascript é a mesma coisa.
Vejam:
Tradicional
Operador ternário
]]></description>
			<content:encoded><![CDATA[<p>O Operador ternário está presente na maioria das linguagens de programação e serve para agrupar condicionais em uma única linha, economizando código e na minha opinião deixado o código mais clean.</p>
<p>A sintaxe é simples <strong>(condição) ? verdadeira : falsa</strong></p>
<p>Em PHP uma sintaxe normal</p>
<pre class="brush: php; title: ; notranslate">
$direcao = &quot;d&quot;;
if($direcao == &quot;d&quot;){
	$sentido = &quot;direita&quot;;
}else{
	$sentido = &quot;esquerda&quot;;
}

print $sentido;
</pre>
<p>Agora com o Operador ternário</p>
<pre class="brush: php; title: ; notranslate">
$direcao = &quot;d&quot;;
$sentido = ($direcao == &quot;d&quot;) ? &quot;direita&quot; : &quot;esquerda&quot;;
print $sentido;
</pre>
<p>ou </p>
<pre class="brush: php; title: ; notranslate">
$direcao = &quot;d&quot;;
print ($direcao == &quot;d&quot;) ? &quot;direita&quot; : &quot;esquerda&quot;;
</pre>
<p>Em javascript é a mesma coisa.</p>
<p>Vejam:</p>
<p>Tradicional</p>
<pre class="brush: jscript; title: ; notranslate">

var direcao = &quot;d&quot;;
if(direcao == &quot;d&quot;){
	sentido = &quot;direita&quot;;
}else{
	sentido = &quot;esquerda&quot;;
}

document.write(sentido);
</pre>
<p>Operador ternário</p>
<pre class="brush: jscript; title: ; notranslate">
var direcao = &quot;d&quot;;
var sentido = (direcao == &quot;d&quot;) ? &quot;direita&quot; : &quot;esquerda&quot;;
document.write(sentido);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.leandrogarcia.com/blog/operador-ternario/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

