<?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>Top rated never dies</title>
	<atom:link href="http://www.toprated.com.br/feed" rel="self" type="application/rss+xml" />
	<link>http://www.toprated.com.br</link>
	<description>Top Rated é um blog sobre o mundo do design com dicas, tutoriais e inspiracao. Artigos sobre CSS, HTML, Photoshop. E claro, um pouco de bom humor</description>
	<lastBuildDate>Fri, 20 Aug 2010 12:45:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Vídeo tutorial: Como corrigir seu CSS rapidamente usando a Firebug</title>
		<link>http://www.toprated.com.br/video-tutorial-como-corrigir-seu-css-rapidamente-usando-a-firebug</link>
		<comments>http://www.toprated.com.br/video-tutorial-como-corrigir-seu-css-rapidamente-usando-a-firebug#comments</comments>
		<pubDate>Wed, 18 Aug 2010 01:41:03 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[videos]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=2094</guid>
		<description><![CDATA[No dia a dia de quem desenvolve páginas, sites e aplicativos baseados na web, a <strong>correção de pequenos problemas relacionados ao CSS</strong> é algo constante. Se você trabalha em uma agência digital ou administrando um portal também deve conviver com esse tipo de necessidade. Neste <strong>vídeo tutorial</strong>, o primeiro do blog, vou mostrar como você pode usar a extensão <a href="http://getfirebug.com/" target="_blank">Firebug</a> do Firefox para acelerar e aprimorar o processo de correção desses problemas.]]></description>
			<content:encoded><![CDATA[<p><script type='text/javascript' src='/mediaplayer/swfobject.js'></script></p>
<div id='video-div'>
<div id='mediaspace'></div>
<div id='mask'><img id="mask-player" src="/static-content/firebug/mask-player.gif"></img></div>
</div>
<p></p>
<p>Link para instalação da Firebug: <a href="http://getfirebug.com/" target="_blank">http://getfirebug.com/</a></p>
<style>
#video-div {
position:relative;
}
#mediaspace { z-index:10; }
#mask {
position:absolute;
cursor:pointer;
top:0;
left:0;
z-index:20;
background:url(/static-content/firebug/mask-vid.gif) no-repeat;
width:709px;
height:435px;
}
</style>
<p><script type='text/javascript'>
  var so = new SWFObject('/mediaplayer/player.swf','mpl','709','460','9');
  so.addParam('allowfullscreen','true');
  so.addParam('allowscriptaccess','always');
  so.addParam('wmode','transparent');
  so.addVariable('file','/static-content/firebug/firebug.mp4');
  so.addVariable('backcolor','FFFFFF');
  so.addVariable('frontcolor','333333');
  so.addVariable('lightcolor','333333');
  so.addVariable('screencolor','EEEEEE');
  so.addVariable('playerready','playerReadyCallback');
  so.write('mediaspace');
</script></p>
<p><script>
var player;
function playerReadyCallback(obj) {
	player = document.getElementById(obj['id']);
        $('#mask-player').click(function() {
        $('#mask-player').fadeOut();
        player.sendEvent("PLAY","true");
        });
};
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/video-tutorial-como-corrigir-seu-css-rapidamente-usando-a-firebug/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Crie gráficos de maneira rápida e fácil com o Google Chart Tools – Parte 2</title>
		<link>http://www.toprated.com.br/crie-graficos-de-maneira-rapida-e-facil-com-o-google-chart-tools-parte-2</link>
		<comments>http://www.toprated.com.br/crie-graficos-de-maneira-rapida-e-facil-com-o-google-chart-tools-parte-2#comments</comments>
		<pubDate>Mon, 16 Aug 2010 17:49:56 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=2036</guid>
		<description><![CDATA[Continuando o <a href="http://www.toprated.com.br/crie-graficos-de-maneira-rapida-e-facil-com-o-google-chart-tools-parte-1" target="_blank">post sobre como criar gráficos usando a Google Chart API </a>, vou mostrar aqui como criar gráficos de barras e como customizá-los para o seu site, alterando cores, escalas, tamanho e algumas outras opções.]]></description>
			<content:encoded><![CDATA[<div id="download"><a href="http://www.toprated.com.br/static-content/charts-api/chart-api.zip">Download</a></div>
<div id="demo"><a href="http://www.toprated.com.br/static-content/charts-api/index2.htm" target="_blank">Demo</a></div>
<p>Os gráficos de barras seguem exatamente a mesma mecânica dos gráficos pizza, ou seja, você deve fazer a chamada à URL da API passando todos os parâmetros desejados e receberá como retorno a imagem do gráfico pronta para ser inserida na sua página. Veja o exemplo de um gráfico de barras verticais e os parâmetros usados para criá-lo:</p>
<pre class="brush: php">&lt;img src=&quot;http://chart.apis.google.com/chart?cht=bvs&amp;chxt=x,y&amp;chd=t:20,40,60,80,30&amp;chco=76A4FB&amp;chs=200x125&amp;chxl=0:|Jan|Fev|Mar|Abr|Mai&quot; /&gt;</pre>
</p>
<p><img class="alignleft" src="http://chart.apis.google.com/chart?cht=bvs&#038;chxt=x,y&#038;chd=t:20,40,60,80,30&#038;chco=76A4FB&#038;chs=180x150&#038;chxl=0:|Jan|Fev|Mar|Abr|Mai" />As principais características do exemplo que acabei de criar são: ele é um gráfico de barras verticais, com 2 eixos visíveis (20, 40,&#8230; e Jan, Fev,&#8230;) e tem 180 x 150 pixels. Essas características foram passadas à API usando estes parâmetros:<br />
<strong>Tipo cht=bvs</strong> &#8211; informa que quero um gáfico de barras verticais;<br />
<strong>Eixos chxt=x,y</strong> &#8211; significa que quero os eixos X e Y visíveis;<br />
<strong>Dados chd=t:20,40,60,80,30</strong> &#8211; os dados;<br />
<strong>Cor chco=76A4FB</strong> &#8211; mostra que desejo apenas uma cor;<br />
<strong>Tamanho chs=200&#215;125</strong> &#8211; define o tamanho da imagem;<br />
<strong>Labels chxl=0:|Jan|Fev|Mar|Abr|Mai</strong> &#8211; informo as labels do eixo X (0);</p>
<h1>Alterando valores e escala</h1>
<p>Por <strong>default o eixo vertical vai sempre de 0 a 100</strong>, então quando editar os valores do gráfico e quiser que o eixo fique abaixo ou acima desses valores você deverá usar a escala. Por exemplo, se eu tenho um gráfico onde o valor mais alto é 41% não há necessidade do meu gráfico exibir valores até 100, veja abaixo a diferença entre os dois exemplos:</p>
<pre class="brush: php">&lt;img src=&quot;http://chart.apis.google.com/chart?cht=bvs&amp;chxt=x,y&amp;chd=t:12,22,26,35,41&amp;chco=fa432a&amp;chs=180x150&amp;chxl=0:|Jan|Fev|Mar|Abr|Mai&quot; /&gt;
&lt;img src=&quot;http://chart.apis.google.com/chart?cht=bvs&amp;chxt=x,y&amp;chd=t:12,22,26,35,41&amp;chco=fa432a&amp;chs=180x150&amp;chxl=0:|Jan|Fev|Mar|Abr|Mai &amp;chxr=1,0,50&amp;chds=0,50&quot; /&gt;</pre>
</p>
<p><img class="alignleft" src="http://chart.apis.google.com/chart?cht=bvs&#038;chxt=x,y&#038;chd=t:12,22,26,35,41&#038;chco=fa432a&#038;chs=180x150&#038;chxl=0:|Jan|Fev|Mar|Abr|Mai" /><img class="alignleft" src="http://chart.apis.google.com/chart?cht=bvs&#038;chxt=x,y&#038;chd=t:12,22,26,35,41&#038;chco=fa432a&#038;chs=180x150&#038;chxl=0:|Jan|Fev|Mar|Abr|Mai&#038;chxr=1,0,50&#038;chds=0,50" />Perceba que no segundo gráfico usei 2 parâmetros a mais, que indicam que quero uma escala diferente da default:<br />
<strong>Eixo chxr=1,0,50</strong> &#8211; define o eixo Y em 0 a 50;<br />
<strong>Escala chds=0,50</strong> &#8211; define a escala de 0 a 50;</p>
<p><br clear="all"></p>
<h1>Definindo 2 ou mais séries</h1>
<p>Um gráfico de barras pode ter mais de uma série de dados em cada intervalo o que muitas vezes se faz necessário. Tudo o que você tem que fazer é passar os <strong>valores de cada série separados por &#8220;|&#8221;</strong> e definir o tipo de gráfico para <strong>bvg (cht=bvg)</strong>. Veja os exemplos abaixo e compare suas URLs:</p>
<pre class="brush: php">&lt;img src=&quot;http://chart.apis.google.com/chart?cht=bvg&amp;chxt=x,y&amp;chd=t:12,22,26,35,41|20,40,60,80,30&amp;chco=fa432a,76A4FB&amp;chs=320x150&amp; chxl=0:|Jan|Fev|Mar|Abr|Mai&quot; /&gt;
&lt;img src=&quot;http://chart.apis.google.com/chart?cht=bvg&#038;chxt=x,y&#038;chd=t:12,22,26,35|15,26,33,34|25,40,34,12&#038;chco=fa432a,76A4FB,faae2a &#038;chs=370x150&#038;chxl=0:|Jan|Fev|Mar|Abr&#038;chxr=1,0,50&#038;chds=0,50&quot; /&gt;</pre>
</p>
<p><img class="alignleft" src="http://chart.apis.google.com/chart?cht=bvg&#038;chxt=x,y&#038;chd=t:12,22,26,35,41|20,40,60,80,30&#038;chco=fa432a,76A4FB&#038;chs=310x150&#038;chxl=0:|Jan|Fev|Mar|Abr|Mai" /><img class="alignleft" src="http://chart.apis.google.com/chart?cht=bvg&#038;chxt=x,y&#038;chd=t:12,22,26,35|15,26,33,34|25,40,34,12&#038;chco=fa432a,76A4FB,faae2a&#038;chs=350x150&#038;chxl=0:|Jan|Fev|Mar|Abr&#038;chxr=1,0,50&#038;chds=0,50" /></p>
<p><br clear="all"></p>
<p>Note também que foi definida uma cor para cada série através do mesmo parâmetro <strong>chco</strong> que já havíamos usado, mas agora com as cores separadas por vírgula. Você pode usar quantas séries desejar em cada gráfico, basta tomar cuidado para que o seu tamanho comporte todas as barras.</p>
<h1>Legendas e grids</h1>
<p>Para uma melhor visualização das informações dos gráficos quase sempre é necessário que usemos um grid por trás das barras, que facilitará a comparação entre elas, e claro uma legenda para informar melhor o visualizador. Para tanto basta usar outros dois parâmetros bem simples: <strong>chg</strong> para adicionar grids e <strong>chdl</strong> para legendas. O primeiro aceita 4 parâmetros principais: o intervalo entre grids do eixo X, intervalo para o eixo Y, largura do traço, espaço entre os traços. O segundo aceita como parâmetro o texto das legendas separados por <strong>|</strong>. Veja o exemplo:</p>
<pre class="brush:php">&lt;img src=&quot;http://chart.apis.google.com/chart?cht=bvg&#038;chxt=x,y&#038;chd=t:12,22,26,35|15,26,33,34|25,40,34,12&#038;chco=fa432a,76A4FB,faae2a &#038;chs=450x200&#038;chxl=0:|Jan|Fev|Mar|Abr&#038;chxr=1,0,50&#038;chds=0,50&#038;chg=25,25&#038;chdl=China|EUA|Alemanha&quot; /&gt;</pre>
<p><img src="http://chart.apis.google.com/chart?cht=bvg&#038;chxt=x,y&#038;chd=t:12,22,26,35|15,26,33,34|25,40,34,12&#038;chco=fa432a,76A4FB,faae2a&#038;chs=450x200&#038;chxl=0:|Jan|Fev|Mar|Abr&#038;chxr=1,0,50&#038;chds=0,50&#038;chg=25,25&#038;chdl=China|EUA|Alemanha" /></p>
<h1>Largura e espaçamento das barras</h1>
<p>Muitas vezes por conta de espaço ou por falta dele, será necessário fazer algumas adaptações nos tamanhos do gráfico. Um dos truques que ajuda nesse processo é alterar a largura e espaçamento entre as colunas e séries de colunas. Podemos fazer isso com o parâmetro <strong>chbh</strong>, que aceita 3 parâmetros: largura das barras, espaço entre barras, espaço entre os grupos de barras (séries). Veja os exemplos:</p>
<pre class="brush: php">&lt;img src=&quot;http://chart.apis.google.com/chart?cht=bvg&amp;chxt=x,y&amp;chd=t:12,22,26,35|15,26,33,34|25,40,34,12&amp;chco=fa432a,76A4FB,faae2a&amp; chs=205x200&amp;chxl=0:|Jan|Fev|Mar|Abr&amp;chxr=1,0,50&amp;chds=0,50&amp;chg=25,25&amp;chdl=China|EUA|Alemanha &amp;chbh=5,1,10&quot; /&gt;
&lt;img src=&quot;http://chart.apis.google.com/chart?cht=bvg&amp;chxt=x,y&amp;chd=t:12,22,26,35|15,26,33,34|25,40,34,12&amp;chco=fa432a,76A4FB,faae2a&amp; chs=445x200&amp;chxl=0:|Jan|Fev|Mar|Abr&amp;chxr=1,0,50&amp;chds=0,50&amp;chg=25,25&amp;chdl=China|EUA|Alemanha &amp;chbh=25,1,10&quot; /&gt;</pre>
<p><img class="alignleft" src="http://chart.apis.google.com/chart?cht=bvg&#038;chxt=x,y&#038;chd=t:12,22,26,35|15,26,33,34|25,40,34,12&#038;chco=fa432a,76A4FB,faae2a&#038;chs=205x200&#038;chxl=0:|Jan|Fev|Mar|Abr&#038;chxr=1,0,50&#038;chds=0,50&#038;chg=25,25&#038;chdl=China|EUA|Alemanha&#038;chbh=5,1,10" /><img class="alignleft" src="http://chart.apis.google.com/chart?cht=bvg&#038;chxt=x,y&#038;chd=t:12,22,26,35|15,26,33,34|25,40,34,12&#038;chco=fa432a,76A4FB,faae2a&#038;chs=445x200&#038;chxl=0:|Jan|Fev|Mar|Abr&#038;chxr=1,0,50&#038;chds=0,50&#038;chg=25,25&#038;chdl=China|EUA|Alemanha&#038;chbh=25,1,10" /></p>
<h1>Conclusão</h1>
<p>Mesmo com exemplos bastante simples e passagem bem rápida apenas pelos principais parâmetros da Chart API, fica claro que o seu potencial de utilização pode envolver desde posts simples em um blog até a integração com sistemas de informação que necessitem oferecer uma melhor visualização de dados. Se você ficou interessado, recomendo fortemente que visite a <a target="_blank" href="http://code.google.com/apis/chart/docs/making_charts.html">página da API e sua documentação</a> pois há dezenas de outras possibilidades de customização para os gráficos.</p>
<div class="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushCss.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushPhp.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushJScript.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/crie-graficos-de-maneira-rapida-e-facil-com-o-google-chart-tools-parte-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como criar um QR Code em 1 minuto</title>
		<link>http://www.toprated.com.br/como-criar-um-qr-code-em-1-minuto</link>
		<comments>http://www.toprated.com.br/como-criar-um-qr-code-em-1-minuto#comments</comments>
		<pubDate>Tue, 10 Aug 2010 16:17:22 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=2006</guid>
		<description><![CDATA[Hoje em dia é cada vez mais comum encontrarmos QrCode espalhados pelos mais variados cantos: anúncios de revistas e jornais, outdoors e até <a href="http://noticias.r7.com/tecnologia-e-ciencia/noticias/vacas-da-cow-parade-vao-se-conectar-a-celulares-e-redes-sociais-20100121.html" target="_blank">uma vaca</a> da Cow Parade SP. Pois bem, aqui vai uma maneira absurdamente fácil e rápida para criar um QrCode para usar onde você quiser, com o link da sua empresa, seu email ou até mesmo alguma senha ou frase.]]></description>
			<content:encoded><![CDATA[<p>Para isso vou utilizar uma API criada pelo Google sobre a qual eu até já <a href="http://www.toprated.com.br/crie-graficos-de-maneira-rapida-e-facil-com-o-google-chart-tools-parte-1" target="_blank">falei aqui</a>, a <strong>Chart API</strong>. Além de criar gráficos, a Chart API também pode ser usada para gerar QR Codes. Sua principal vantagem é a simplicidade e rapidez. Uma vez chamada, ela retornará a imagem do QR Code com o texto/link que você quiser. </p>
<h1>QR Codes com links</h1>
<p>Uma das maneiras mais comuns de utilização de QR Codes é o direcionamento do usuário para o site de uma promoção ou produto através de  um link. Para isso basta criar o código contendo o link para onde desejamos enviar o usuário. Por exemplo, para gerar um QR Code com link para o Top rated basta usar esta URL:</p>
<pre class="brush: php;">
http://chart.apis.google.com/chart?chs=200x200&#038;cht=qr&#038;chld=|0&#038;chl=http://www.toprated.com.br
</pre>
</p>
<p><img src="http://chart.apis.google.com/chart?chs=200x200&#038;cht=qr&#038;chld=|0&#038;chl=http://www.toprated.com.br" class="alignleft" />Ao lado a imagem gerada. Entenda como montei essa URL:</p>
<p><strong>http://chart.apis.google.com/chart?</strong> é o endereço padrão da API;</p>
<p><strong>chs=200&#215;200</strong> informa o tamanho da imagem que eu desejo, 200&#215;200px;</p>
<p><strong>cht=qr</strong> informa o tipo de saída que eu espero, QR Code;</p>
<p><strong>chld=|0</strong> retira as margens (bordas) da imagem;</p>
<p><strong>chl=http://www.toprated.com.br</strong> e aqui eu informo o texto que quero.</p>
<p>A grande maioria dos leitores de QR Code identifica automaticamente este texto como sendo um link e direciona o usuário para a página.</p>
<h1>QR Codes com frases, senhas e outras informações</h1>
<p>Outra utilidade dos QR Codes é servir para passar textos ou frases curtas para os usuários.  Por exemplo, vamos supor que eu queira espalhar pela minha loja QR Codes com dicas de produtos em promoção para que meus clientes possam explorar:</p>
<pre class="brush: php;">
http://chart.apis.google.com/chart?chs=200x200&#038;cht=qr&#038;chld=|0&#038;chl=tv de plasma R$ 1499
</pre>
</p>
<p><img src="http://chart.apis.google.com/chart?chs=200x200&#038;cht=qr&#038;chld=|0&#038;chl=tv de plasma R$ 1499" class="alignleft" />Ao usar o leitor do seu celular para decifrar o código ao lado, o cliente encontrará a seguinte frase: <strong>TV de plasma R$1499</strong>. A URL é exatamente igual à do exemplo anterior, só muda o texto do final.</p>
<p>Como dá pra perceber, esta é uma ferramenta muito interessante para estimular a interação com seus consumidores e usuários, que pode ainda ser usada para vários tipos de ações diferentes. Além disso com a constante queda de preço de celulares com suporte aos leitores de QR Code, cada vez mais pessoas terão acesso a esse tipo de tecnologia. Vale a pena começar a pensar nos QR Codes como uma boa opção de comunicação.</p>
<div class="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushPhp.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/como-criar-um-qr-code-em-1-minuto/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3 coisas que você talvez não saiba sobre Dreamweaver</title>
		<link>http://www.toprated.com.br/3-coisas-que-voce-talvez-nao-saiba-sobre-dreamweaver</link>
		<comments>http://www.toprated.com.br/3-coisas-que-voce-talvez-nao-saiba-sobre-dreamweaver#comments</comments>
		<pubDate>Tue, 03 Aug 2010 00:39:59 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[dreamweaver]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=1977</guid>
		<description><![CDATA[Existem muitas boas opções de editores de código para quem trabalha desenvolvendo para web, cada um tem o seu preferido e o defende com unhas e dentes. Dentre eles, um dos mais populares é o Dreamweaver, que eu uso há alguns anos e sempre me atendeu muito bem. Eu não trabalho no modo "layout", pois gosto de ter controle sobre cada linha do meu código. O Dreamweaver me permite isso e ainda fornece algumas boas ferramentas para me ajudar. Para aqueles que como eu usam o Dreamweaver para escrever seu código, aqui vão 3 boas idéias que podem melhorar ainda mais a sua experiência.]]></description>
			<content:encoded><![CDATA[<h1>Organização e padronização do código</h1>
<p>Se você trabalha em um lugar onde freqüentemente precisa editar código escrito por outras pessoas sabe como é ruim e contra-produtivo pegar um HTML, CSS ou PHP mal organizado, sem indentação e nenhum comentário. Pois isso pode trazer muitas dores de cabeça e fazer uma simples alteração virar um inferno.</p>
<p><img src="http://www.toprated.com.br/wp-content/uploads/2010/08/dream1.gif" alt="Dreamweaver" title="Dreamweaver"  class="alignnone size-full wp-image-1979" /></p>
<p>Pois o Dreamweaver tem um comando muito interessante para resolver esse problema: <strong>Commands > Apply Source Formatting</strong>. Por mais bagunçado que esteja o código, basta um clique neste comando e o Dreamweaver vai deixá-lo perfeitamente estruturado, indentado e muito mais fácil de ler e entender. Vale a pena até adotar como padrão para a sua empresa, já que não dá trabalho nenhum e permite que todo mundo entregue código com a mesma formatação. Funciona com códigos HTML, CSS, PHP, JavaScript e muitos outros.</p>
<h1>Criação de aplicativos AIR</h1>
<p><img src="http://www.toprated.com.br/wp-content/uploads/2010/08/dream2.jpg" alt="Dreamweaver" title="Dreamweaver" width="370" height="200" class="alignleft size-full wp-image-1980" />Você já deve saber do incrível potencial que a <a href="http://www.adobe.com/products/air/" target="_blank">plataforma AIR da Adobe</a> representa para desenvolvedores e provavelmente já deve até usar algum aplicativo desenvolvido com ela, como por exemplo <a href="http://www.tweetdeck.com/" target="_blank">TweetDeck</a>, <a href="http://listen.grooveshark.com/" target="_blank">Grooveshark</a> e <a href="https://timesreader.nytimes.com/webapp/wcs/stores/servlet/AppLogin?storeId=10001&#038;catalogId=10001" target="_blank">NYTimes Reader</a> só para citar alguns. Se ainda não sabe, sugiro que vá pesquisar agora mesmo. Principalmente porque em breve boa parte dos celulares <strong>Android serão compatíveis</strong> com aplicativos AIR.</p>
<p>Pois bem, ao contrário do que muitos pensam, aplicativos AIR não precisam ser necessariamente desenvolvidos com Flash ou Flex: você também pode usar HTML, CSS e imagens para criar um App e fazer a comunicação com banco de dados via AJAX. Acredite, é extremamente fácil. Tudo o que você precisa fazer é baixar a <a href="http://www.adobe.com/products/air/tools/ajax/" target="_blank">extensão AIR para o seu Dreamweaver</a> (fornecida gratuitamente pela Adobe). Com ela você vai poder empacotar todos os arquivos usados no seu app (HTML, imagens, CSS, JS) num único instalador AIR e distribuir para download. Eu já testei e é algo sensacional, recomendo este pequeno tutorial (em inglês): <a href="http://help.adobe.com/en_US/air/build/WS5b3ccc516d4fbf351e63e3d118666ade46-7f7f.html" target="_blank">Create your first HTML-based AIR application with Dreamweaver</a>.</p>
<h1>Para finalizar: Ctrl+D</h1>
<p>E como última dica separei uma tecla de atalho que facilita muito a vida de quem usa o Dreamweaver para gerenciar um projeto com múltiplos arquivos linkados entre si, sejam várias páginas HTML ou arquivos relacionados (JS, CSS). Quando se tem um  projeto assim é comum a necessidade de ir de um arquivo para outro, e ter que ficar navegando pela pasta para encontrar aquele arquivo para onde aponta o link é bem chato, ou mesmo ter que ficar copiando o nome, abrir arquivo, colar o nome, etc.., etc&#8230;</p>
<p><strong>Então aqui vai um ótimo atalho: Ctrl+D</strong>. Toda vez que você estiver editando o código com o cursor de texto piscando sobre um link para um arquivo externo, basta pressionar as teclas Ctrl+D que o <strong>Dreamweaver abrirá automaticamente aquele arquivo</strong>, seja ele um HTML, PHP, JS ou CSS.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/3-coisas-que-voce-talvez-nao-saiba-sobre-dreamweaver/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Crie gráficos de maneira rápida e fácil com o Google Chart Tools &#8211; Parte 1</title>
		<link>http://www.toprated.com.br/crie-graficos-de-maneira-rapida-e-facil-com-o-google-chart-tools-parte-1</link>
		<comments>http://www.toprated.com.br/crie-graficos-de-maneira-rapida-e-facil-com-o-google-chart-tools-parte-1#comments</comments>
		<pubDate>Mon, 26 Jul 2010 23:04:10 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=1826</guid>
		<description><![CDATA[<strong>Gráficos</strong> são sempre necessários na hora em que precisamos apresentar dados, seja em apresentações, relatórios ou artigos. Na web não é diferente, muitas vezes precisamos usar gráficos para complementar um post, uma notícia e até mesmo uma promoção ou anúncio. Pois o Google, sempre de olho nas necessidades dos desenvolvedores, criou uma ferramenta simples, grátis e rápida para <strong>criação de gráficos</strong> que você pode começar a utilizar agora mesmo no seu site. Nesse post vou mostrar como usá-la.]]></description>
			<content:encoded><![CDATA[<div id="download"><a href="http://www.toprated.com.br/static-content/charts-api/chart-api.zip">Download</a></div>
<div id="demo"><a href="http://www.toprated.com.br/static-content/charts-api/" target="_blank">Demo</a></div>
<h1>A Chart API</h1>
<p>A API do Google Chart Tools, também conhecida como Chart API, é a caçula do projeto <a href="http://code.google.com/apis/charttools/index.html" target="_blank">Google Visualization</a> que também engloba a ferramenta <a href="http://code.google.com/apis/visualization/interactive_charts.html" target="_blank">Interactive Charts</a>, um pouco (bem pouco) mais complexa. Sua principal vantagem é a simplicidade, já que tudo o que você precisa fazer para usá-la é uma chamada para sua URL enviando os dados do gráfico via query string. A chamada retornará a imagem do gráfico. Por exemplo, veja como fica a URL para criação de um gráfico de barras simples e a imagem resultante:</p>
<pre class="brush: php">&lt;img src=&quot;http://chart.apis.google.com/chart?chxt=x,y&#038;cht=bvs&#038;chd=t:60,70,85,65,40&#038;chco=76A4FB&#038;chls=2.0&#038;chs=180x150
&#038;chxl=0:|Jan|Fev|Mar|Abr|Mai&quot; alt=&quot;&quot; /&gt;</pre>
</p>
<p><img class="alignleft" src="http://chart.apis.google.com/chart?chxt=x,y&#038;cht=bvs&#038;chd=t:60,70,85,65,40&#038;chco=76A4FB&#038;chls=2.0&#038;chs=180x150&#038;chxl=0:|Jan|Fev|Mar|Abr|Mai" alt="" />Note que a imagem já vem com o gráfico pronto, com os eixos, labels (Jan, Fev, etc..) e barras. Perceba também que a altura e largura da imagem são definidas na própria URL, nesse caso 180&#215;150. Você só precisa posicioná-la na sua página como uma imagem comum.<br />
A mesma API pode ser usada para criar vários tipos de gráficos: barras, pizza, linhas, candlestick, etc.. Como não quero reescrever a documentação da API e sim dar uma introdução, vou mostrar aqui como criar gráficos pizza e de barras, que acredito serem os mais comuns.</p>
<h1>Gráficos Pizza</h1>
<p>O primeiro tipo de gráfico que vou mostrar é o do tipo Pizza. Como em todos os outros, o segredo para criar um bom gráfico é saber quais os parâmetros certos devemos passar para a API. Os principais são os do <strong>tipo de gráfico (cht)</strong>, de <strong>dados (chd) </strong>e de <strong>tamanho (chs)</strong>. Veja o exemplo de um gráfico usando apenas esses 3 parâmetros:</p>
<pre class="brush: php">
&lt;img src=&quot;http://chart.apis.google.com/chart?cht=p&#038;chd=t:45,20,20,15&#038;chs=180x125&quot; class=&quot;alignleft&quot; /&gt;
</pre>
</p>
<p><img src="http://chart.apis.google.com/chart?cht=p&#038;chd=t:45,20,20,15&#038;chs=180x125" class="image-border alignleft" />No exemplo ao lado foram usados os seguintes parâmetros:<br />
<strong>Tipo: cht=p</strong> &#8211; significa que quero um gráfico pizza (p);<br />
<strong>Dados: chd=t:45,20,20,15</strong> &#8211; envio os dados em formato texto (t) separados por vírgula;<br />
<strong>Tamanho: chs=180&#215;125</strong> &#8211; indico o tamanho da imagem, 180&#215;125;</p>
<p><br clear="all"></p>
<h1>Adicionando labels e legendas</h1>
<p>Claro que apenas o gráfico, sem nenhuma indicação de valores ou legenda, não é lá muito útil já que dificilmente alguém vai conseguir entender e analisar os dados. Então é hora de começar a melhorar o gráfico. Para isso podemos usar 2 boas opções: <strong>labels e legendas</strong>. Com elas o gráfico vai ficar bem melhor.<br />
Mais uma vez, tudo o que você precisa fazer é adicionar os parâmetros corretos, as <strong>labels usam o parâmetro chl e as legendas usam o parâmetro chdl</strong>. Veja então como fica o gráfico, agora com legendas e labels:</p>
<pre class="brush: php">
&lt;img src="http://chart.apis.google.com/chart?cht=p&#038;chd=t:45,20,20,15&#038;chs=380x250&#038;chl=45%|20%|20%|15%&#038;chdl=Janeiro|Fevereiro|Março|Abril" alt="" /&gt;
</pre>
</p>
<p><img class="alignleft" src="http://chart.apis.google.com/chart?cht=p&#038;chd=t:45,20,20,15&#038;chs=380x250&#038;chl=45%|20%|20%|15%&#038;chdl=Janeiro|Fevereiro|Março|Abril" alt="" />Esse é exatamente o mesmo gráfico anterior, agora com os seguintes parâmetros:<br />
<strong>Tipo: cht=p</strong> &#8211; gráfico pizza (p);<br />
<strong>Dados: chd=t:45,20,20,15</strong> &#8211; os dados;<br />
<strong>Tamanho: chs=380&#215;250</strong> &#8211; o tamanho;<br />
<strong>Labels: chl=45%|20%|20%|15%</strong> &#8211; labels;<br />
<strong>Legendas: chdl=Janeiro|Fevereiro|Março|Abril</strong> &#8211; legendas;</p>
<p><br clear="all"></p>
<h1>Usando 3D</h1>
<p>E se você quiser apresentar o seu gráfico em 3D basta fazer uma pequena alteração, <strong>trocando tipo de gráfico de pizza (p) para pizza 3D (p3)</strong>. Realmente não podia ser mais fácil, veja como fica o gráfico anterior agora em 3D:</p>
<pre class="brush: php">
&lt;img src="http://chart.apis.google.com/chart?cht=p3&#038;chd=t:45,20,20,15&#038;chs=480x200&#038;chl=45%|20%|20%|15%&#038;chdl=Janeiro|Fevereiro|Março|Abril" alt="" /&gt;
</pre>
</p>
<p><img class="alignleft" src="http://chart.apis.google.com/chart?cht=p3&#038;chd=t:45,20,20,15&#038;chs=480x200&#038;chl=45%|20%|20%|15%&#038;chdl=Janeiro|Fevereiro|Março|Abril" alt="" />Olhe a URL da imagem e note que ela é praticamente a mesma do exemplo anterior, as únicas diferenças são no parâmetro <strong>cht</strong>, que agora pede um gráfico 3D (p3) e no tamanho do gráfico.</p>
<p><br clear="all"></p>
<h1>Customizando as cores</h1>
<p>Existem três maneiras diferentes para customizar as cores de um gráfico mas todas elas usam o mesmo parâmetro <strong>chco</strong>. A diferença está na quantidade de cores que eu passo para esse parâmetro. </p>
<p><strong>Usando uma cor</strong></p>
<p>A primeira forma de definir as cores do gráfico é escolher uma cor base que será usada com intensidade gradual afim de diferenciar cada uma das áreas do gráfico. É exatamente como vínha fazendo antes, porém estava usando a cor default do gráfico (amarelo), mas eu posso escolher a cor de base, por exemplo:</p>
<pre class="brush: php">
&lt;img src="http://chart.apis.google.com/chart?cht=p&#038;chd=t:45,20,20,15,45,55&#038;chs=320x200&#038;chdl=IE6|Firefox|IE7|Chrome|Safari|Opera
&#038;chco=c60000" alt="" /&gt;
&lt;img src="http://chart.apis.google.com/chart?cht=p3&#038;chd=t:45,12,20,5,20,15&#038;chs=320x200&#038;chdl=Corel|Adobe|Apple|Microsoft|Sun|Sony
&#038;chco=1da3f8" alt="" /&gt;
</pre>
</p>
<p><img class="alignleft" src="http://chart.apis.google.com/chart?cht=p3&#038;chd=t:45,20,20,15,45,55&#038;chs=320x200&#038;chdl=IE6|Firefox|IE7|Chrome|Safari|Opera&#038;chco=c60000" alt="" /><img class="alignleft" src="http://chart.apis.google.com/chart?cht=p&#038;chd=t:45,12,20,5,20,15&#038;chs=320x200&#038;chdl=Corel|Adobe|Apple|Microsoft|Sun|Sony&#038;chco=1da3f8" alt="" /></p>
<p><br clear="all"></p>
<p><strong>Usando gradiente</strong></p>
<p>Outra maneira de definir as cores do gráfico é usando um gradiente. Para isso basta usar o parâmetro <strong>chco</strong> para passar 2 cores diferentes, separadas por vírgulas. Seu gráfico será apresentado com as cores formando um gradiente que inicia com a primeira cor e finaliza com a segunda:</p>
<pre class="brush: php">
&lt;img src="http://chart.apis.google.com/chart?cht=p&#038;chd=t:15,23,45,20,20,15&#038;chs=320x200&#038;chdl=NYTimes|Le Monde|AS|Estadão|Folha de SP|LATimes&#038;chco=c60000,1da3f8" alt="" /&gt;
&lt;img src="http://chart.apis.google.com/chart?cht=p3&#038;chd=t:5,32,45,20,20,15&#038;chs=320x200&#038;chdl=Brasil|EUA|Japão|Itália|Alemanha|China
&#038;chco=58e015,fffc00" alt="" /&gt;
</pre>
</p>
<p><img class="alignleft" src="http://chart.apis.google.com/chart?cht=p3&#038;chd=t:15,23,45,20,20,15&#038;chs=320x200&#038;chdl=NYTimes|Le Monde|AS|Estadão|Folha de SP|LATimes&#038;chco=c60000,1da3f8" alt="" /><br />
<img class="alignleft" src="http://chart.apis.google.com/chart?cht=p&#038;chd=t:5,32,45,20,20,15&#038;chs=320x200&#038;chdl=Brasil|EUA|Japão|Itália|Alemanha|China&#038;chco=58e015,fffc00" alt="" /></p>
<p><br clear="all"></p>
<p><strong>Definindo uma cor para cada valor</strong></p>
<p>Por fim, é possível ainda definir uma cor para cada um dos intervalos do gráfico, para isso basta passar para o parâmetro <strong>chco</strong> cada uma das cores, seguindo a mesma ordem dos valores, separadas por &#8220;|&#8221;:</p>
<pre class="brush: php">
&lt;img src="http://chart.apis.google.com/chart?cht=p&#038;chd=t:45,20,20,15&#038;chs=320x200&#038;chdl=China|França|México|Brasil
&#038;chco=c60000|1da3f8|58e015|fffc00" alt="" /&gt;
&lt;img src="http://chart.apis.google.com/chart?cht=p3&#038;chd=t:45,20,20,15&#038;chs=340x200&#038;chdl=Janeiro|Fevereiro|Março|Abril
&#038;chl=45%|20%|20%|15%&#038;chco=67087b|e3007a|00a8eb|79c471" alt="" /&gt;
</pre>
</p>
<p><img class="alignleft" src="http://chart.apis.google.com/chart?cht=p3&#038;chd=t:45,20,20,15&#038;chs=320x200&#038;chdl=China|França|México|Brasil&#038;chco=c60000|1da3f8|58e015|fffc00" alt="" /><img class="alignleft" src="http://chart.apis.google.com/chart?cht=p&#038;chd=t:45,20,20,15&#038;chs=340x200&#038;chdl=Janeiro|Fevereiro|Março|Abril&#038;chl=45%|20%|20%|15%&#038;chco=67087b|e3007a|00a8eb|79c471" alt="" /></p>
<p><br clear="all"></p>
<h1>Finalizando com background e margens</h1>
<p>Para finalizar o seu gráfico e deixá-lo perfeito você pode ainda usar mais 2 parâmetros bem simples para definir a cor do background do gráfico e suas  margens. Veja como:</p>
<p><strong>Background</strong></p>
<p>Se a cor de fundo de seu site não é o branco (padrão de background dos gráficos), você pode customizá-la usando o parâmetro <strong>chf</strong>. Basta passar o valor da cor desejada, precedida por <strong>bg,s</strong>, dessa maneira: <strong>chf=bg,s,dddddd</strong>;</p>
<p><strong>Margens</strong></p>
<p>O parâmetro que define as margens do gráfico <strong>(chma)</strong> também é bem simples, você deve passar os valores desejados em pixels, separados por vírgula, seguindo esta ordem: esquerda,direita,superior,inferior|largura_da_legenda,altura_da_legenda. Um bom exemplo seria: <strong>chma=20,20,20,30|100,20</strong>.<br />
Abaixo um gráfico usando estes dois últimos parâmetros, de cor de fundo e de margens:</p>
<pre class="brush: php">
&lt;img src="http://chart.apis.google.com/chart?cht=p3&#038;chd=t:45,20,20,15&#038;chs=660x300&#038;chl=45%|20%|20%|15%&#038;
chdl=Janeiro|Fevereiro|Mar%C3%A7o|Abril&#038;chco=c60000|1da3f8|58e015|fffc00&#038;chf=bg,s,dddddd&#038;
chma=20,20,00,30|100,20" alt="" /&gt;
</pre>
</p>
<p><img class="alignleft image-border" src="http://chart.apis.google.com/chart?cht=p3&#038;chd=t:45,20,20,15&#038;chs=660x300&#038;chl=45%|20%|20%|15%&#038;chdl=Janeiro|Fevereiro|Mar%C3%A7o|Abril&#038;chco=c60000|1da3f8|58e015|fffc00&#038;chf=bg,s,dddddd&#038;chma=20,20,00,30|100,20" alt="" /></p>
<p><br clear="all"></p>
<h1>Conclusão</h1>
<p>Como dá para ver nos exemplos e na quantidade de opções de customização e combinações possíveis, é claro o potencial dessa API para agilizar e facilitar a vida de quem volta e meia precisa fazer um gráfico para seus artigos, notícias e sites, ou mesmo integrar com um banco de dados para criação dinâmica dos gráficos. Além da facilidade em usar uma API já pronta e muito bem feita, temos a segurança que vem do fato dela ser uma criação do Google e ser hospedada por ele, garantindo estabilidade e quase 100% de disponibilidade. Não há limite para o número de requisições que você pode fazer por dia, o Google só pede para que você avise (chart-api-notifications@google.com) caso sua necessidade seja maior que 250.000 chamadas por dia.</p>
<p>Se você gostou mas acha que ainda não dá pra usar essa ferramenta por conta de alguma outra necessidade que ela não cobre, vale a pena dar uma olhada na sua <a href="http://code.google.com/intl/en/apis/chart/docs/making_charts.html">documentação completa</a>, pois o intuito aqui era apenas de dar uma introdução, existem dezenas de outras configurações possíveis.</p>
<p>E se bateu aquela preguiça de escrever tantos parâmetros, você pode usar o <a href="http://code.google.com/intl/en/apis/chart/docs/chart_wizard.html" target="_blank">Chart Wizard</a>, ferramenta disponibilizada pelo Google para criação de gráficos baseados nessa API. Porém, recomendo que você leia bem o tutorial e a documentação para que não precise ficar voltando ao assistente toda vez que precise de uma pequena alteração ou variação do gráfico. E claro, um desenvolvedor que se preze tem que entender o que está fazendo.</p>
<p><strong>No próximo post sobre essa API vou mostrar como criar gráficos de barras.</strong></p>
<p><strong>Observação</strong></p>
<p>O tamanho dos gráficos, eis o calcanhar de Aquiles da Charts API: quando usamos gráficos com mais de um elemento (labels + legendas) o sistema tem <a href="http://chart.apis.google.com/chart?cht=p3&#038;chd=t:45,20,20,15&#038;chs=480x250&#038;chl=45%|20%|20%|15%&#038;chdl=Janeiro|Fevereiro|Mar%C3%A7o|Abril" target="_blank">certa dificuldade</a> em acomodá-los sem que nenhum deles seja cortado. Então algumas vezes é preciso dar &#8220;uma mãozinha&#8221; e fazer pequenos ajustes no tamanho das imagens para uma perfeita visualização. Se isso acontecer com você, tente alterar a largura ou altura do gráfico, não é difícil de resolver.</p>
<div class="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushCss.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushPhp.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushJScript.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/crie-graficos-de-maneira-rapida-e-facil-com-o-google-chart-tools-parte-1/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JQuery + CSS &#8211; Melhore seus botões com o efeito Fade</title>
		<link>http://www.toprated.com.br/jquery-css-melhore-seus-botoes-com-o-efeito-fade</link>
		<comments>http://www.toprated.com.br/jquery-css-melhore-seus-botoes-com-o-efeito-fade#comments</comments>
		<pubDate>Fri, 16 Jul 2010 03:03:28 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=1733</guid>
		<description><![CDATA[Não foi à toa que o jQuery se firmou como uma das melhores bibliotecas javascript disponíveis. Além de levar o desenvolvimento cross-browser a sério e ser muito fácil de usar, o jQuery tem uma enorme quantidade de plugins. Nesse post vou mostrar como você pode usá-lo para adicionar facilmente um efeito de Fade sutil e elegante aos seus botões.]]></description>
			<content:encoded><![CDATA[<div id="download"><a href="http://www.toprated.com.br/static-content/jquery-button/jquery-button.zip">Download</a></div>
<div id="demo"><a href="http://www.toprated.com.br/static-content/jquery-button/" target="_blank">Demo</a></div>
<h1>Como funciona</h1>
<p>A mecânica é simples: a função jQuery identifica o elemento onde deve ser aplicado o efeito e insere dentro dela uma tag <strong>&lt;span&gt;</strong>, que é quem realmente receberá o Fade. Tudo o que você precisa saber e fazer é  colocar um pequeno trecho javascript na sua página, ajustar seu CSS e adicionar uma classe ao botão que receberá o efeito.</p>
<p>É exatamente o mesmo efeito que está aplicado aos botões de <strong>Download</strong> e <strong>Demo</strong> no início do post. Você também pode acessar a demonstração e baixar os arquivos para visualizar melhor o código.</p>
<h1>O Javascript</h1>
<p>O primeiro passo é importar o jQuery normalmente. Depois é só inserir a função abaixo. Perceba que logo no início do código, na segunda linha, você deve colocar a classe dos botões que receberão o efeito (nesse caso: <strong>efeito_fade</strong>). Todos os elementos com essa classe serão animados.</p>
<pre class="brush: jscript;">
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function() {
    $('.efeito_fade').append('<span class="hover"></span>').each(function () {
        var $span = $('&gt; span.hover', this).css('opacity', 0);
        $(this).hover(function () {
            $span.stop().fadeTo(500, 1);
        }, function () {
            $span.stop().fadeTo(500, 0);
        });
    });
});
&lt;/script&gt;
</pre>
<h1>O CSS</h1>
<p>No CSS, a primeira coisa a fazer é criar um botão comum, com a técnica clássica de image replacement para diferenciar o estado normal (&#8221;apagado&#8221;) do estado :hover (&#8221;aceso&#8221;). Ou seja, criar uma imagem que contenha os dois estados do botão e então estilizá-lo usando a propriedade background-position para fazer a troca de um estado para o outro quando o usuário passa o mouse sobre ele.<br />
A única diferença é que ao invés de estilizar o estado :hover em si, você irá estilizar a <strong>tag &lt;span&gt;</strong> que será criada dentro do botão como se fosse o <strong>:hover</strong>, com algumas pequenas mudanças:<br />
A primeira é posicionar o botão relativamente (<strong>position:relative</strong>), para que o &lt;span&gt; fique corretamente colocado dentro dele. A segunda é  posicionar o &lt;span&gt; absolutamente (<strong>position:absolute</strong>) e repetir as mesmas propriedades do botão, ajustando apenas o background. Eu sei, parece complicado, mas veja como o código não tem nada demais:</p>
<pre class="brush: css;">
/* botao 1 */
#seu_botao {
	clear: both;
	position:relative;
	display:block;
	height: 64px;
	width: 570px;
	background:url(images/botao.png) no-repeat;
	background-position:0 0;
	cursor: pointer;
}
#seu_botao span.hover {
	position: absolute;
	display: block;
	height: 64px;
	width: 570px;
	background: url(images/botao.png) no-repeat;
	background-position: bottom;
}

/* botao 2 */
#outro_botao {
	clear: both;
	position:relative;
	display:block;
	height: 64px;
	width: 570px;
	background:url(images/outro.png) no-repeat;
	background-position:0 0;
	cursor: pointer;
}
#outro_botao span.hover {
	position: absolute;
	display: block;
	height: 64px;
	width: 570px;
	background: url(images/outro.png) no-repeat;
	background-position: bottom;
}</pre>
<h1>O HTML</h1>
<p>Como eu disse, a única coisa que você precisa fazer no seu HTML é atribuir a classe indicada na função javascript em todos os elementos que receberão o fade. Nesse caso a classe é a <strong>&#8220;efeito_fade&#8221;</strong>. Veja o código dos dois botões desse exemplo:</p>
<pre class="brush: php;">&lt;a href=&quot;#&quot; id=&quot;seu_botao&quot; class=&quot;efeito_fade&quot;&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;#&quot; id=&quot;outro_botao&quot; class=&quot;efeito_fade&quot;&gt;&lt;/a&gt;</pre>
</p>
<p>Veja abaixo como ficam os botões desse exemplo e perceba que, por ter um código HTML extremamente simples e deixar toda a mágica para o javascript e CSS, os botões podem ser facilmente aplicados a qualquer parte do seu site. Uma dica é experimentar usar essa técnica não apenas para botões, mas também para menus, imagens e outros elementos interativos, tomando sempre cuidado para não exagerar na dose.<br />
<center><br />
<a href="#" id="seu_botao" class="efeito_fade"></a><br />
<br />
<a href="#" id="outro_botao" class="efeito_fade"></a><br />
</center></p>
<link href="http://www.toprated.com.br/static-content/jquery-button/button_styles2.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
	$(document).ready(function() {
		$('.efeito_fade').append('<span class="hover"></span>').each(function () {
	  		var $span = $('> span.hover', this).css('opacity', 0);
	  		$(this).hover(function () {
	    		$span.stop().fadeTo(500, 1);
	 		}, function () {
	   	$span.stop().fadeTo(500, 0);
	  		});
		});
	});
</script></p>
<div class="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushCss.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushPhp.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushJScript.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/jquery-css-melhore-seus-botoes-com-o-efeito-fade/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>20 Logos com composições e significados ocultos</title>
		<link>http://www.toprated.com.br/20-logos-com-composicoes-e-significados-ocultos</link>
		<comments>http://www.toprated.com.br/20-logos-com-composicoes-e-significados-ocultos#comments</comments>
		<pubDate>Mon, 12 Jul 2010 17:58:50 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[publicidade]]></category>
		<category><![CDATA[ilustracao]]></category>
		<category><![CDATA[inspiracao]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=1644</guid>
		<description><![CDATA[Um dos caminhos mais interessantes a ser seguido para criar um logo que represente bem uma marca e ao mesmo tempo o seu negócio ou os seus valores é o de combinar elementos de tipografia e ilustração na mesma imagem. No entanto, esse tipo de composição não é nada fácil, requer muito estudo e vários rascunhos para se chegar a um resultado realmente profissional. Seguem aqui 20 bons exemplos dessas composições em logos, algumas delas tão sutis que podem passar despercebidas por muita gente.]]></description>
			<content:encoded><![CDATA[<h1>Amazon.com</h1>
<p>O arco ligando o A ao Z simboliza que a Amazon vende tudo &#8220;que seja banhado pelo sol&#8221;.  Dá forma também a um sorriso, para simbolizar que a empresa é amigável e próxima de seus consumidores.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/AmazonLogo.jpg" alt="" width="615" height="180" /></p>
<h1>Atlanta Falcons</h1>
<p>Esse logo combina um falcão, símbolo da companhia, e um &#8220;F&#8221;, letra que inicia a palavra Falcons.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/AtlantaFalconsLogo.jpg" alt="" width="615" height="577" /></p>
<h1>Chick-Fil-A</h1>
<p>O logo da Chick-Fil-A combina a ilustração de um frango, com o &#8220;C&#8221; em destaque.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/Chick-fil-ALogo.jpg" alt="" width="615" height="312" /></p>
<h1>City Direct</h1>
<p>Esse é um pouco menos óbvio: perceba que as bordas pretas que envolvem o avião formam também as letras C e D, iniciais de City Direct.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/CityDirectLogo.jpg" alt="" /></p>
<h1>Eighty 20</h1>
<p>Aqui sim, um logo com significado bastante oculto e interessante. Os quadrados azuis representam números &#8220;1&#8243; e os cinzas representam &#8220;0&#8243;. Isso cria uma seqüência 1010000 na linha de cima, que representa 80 em binário, e na linha de baixo teremos 0010100, que representa 20 em binário, formando assim o nome da empresa, que em português significa &#8220;Oitenta Vinte&#8221;.</p>
<p><img src="http://www.toprated.com.br/wp-content/uploads/2010/07/Eighty20Logo.jpg" alt="" width="615" height="307" /></p>
<h1>Families/Marriage</h1>
<p>No logo Families, as vogais e a letra &#8220;L&#8221; têm tamanhos diferentes para representar uma família: o pai, a mãe e um filho.  Já os “R”s no logo Marriage estão espelhados e ligados um ao outro, representando a união do casamento.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/FamiliesMarriageLogo.jpg" alt="" width="615" height="492" /></p>
<h1>Fashion Center</h1>
<p>Usando como base um botão, ícone do mundo fashion, foi então adicionado um furo extra para formar a letra &#8220;F&#8221;, inicial da empresa.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/FashionCenterLogo.jpg" alt="" width="615" height="214" /></p>
<h1>FedEx</h1>
<p>De primeira é dificil encontrar o simbolismo nesse logo, mas se olhar bem você vai notar a flecha apontando para a direita entre o &#8216;E’  e o ‘X’,  representando precisão e velocidade, os dois principais valores da FedEx.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/FedEx.jpg" alt="" width="615" height="339" /></p>
<h1>Forkwire</h1>
<p>O logo dessa empresa de delivery online combina o arroba @ com um garfo, representando ao mesmo tempo o seu produto (comida) e a primeira parte do seu nome, Fork (garfo, em inglês). Reforça ainda utilização da tecnologia na entrega de comida de uma forma bem clara e óbvia para seus clientes.</p>
<p><img src="http://www.toprated.com.br/wp-content/uploads/2010/07/ForkwireLogo.jpg" alt="" width="615" height="461" /></p>
<h1>Formula 1</h1>
<p>O espaço negativo no meio cria o numero ‘1′ de “Formula 1″.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/Formula1Logo.png" alt="" width="615" height="279" /></p>
<h1>Fort Worth Zoo</h1>
<p>O ‘FW’ vermelho de Fort Worth cria a ilustração de um elefante.</p>
<p><strong><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/FtWorthZooLogo.jpg" alt="" width="615" height="392" /></strong></p>
<h1>Goodwill</h1>
<p>O logo usa um ‘g’ em caixa baixa não só para representar a primeira letra da empresa, mas também para mostrar um rosto sorridente e transmitir uma sensação positiva.</p>
<p><img src="http://www.toprated.com.br/wp-content/uploads/2010/07/GoodwillLogo.jpg" alt="" width="615" height="799" /></p>
<h1>Gotham Books</h1>
<p>Esse é auto-explicativo, as ilustrações de livros empilhados uns sobre os outros simulam um arranha-céu, marca registrada de Gotham City.</p>
<p><img src="http://www.toprated.com.br/wp-content/uploads/2010/07/GothamBooksLogo.jpg" alt="" width="615" height="217" /></p>
<h1>Hartford Whalers</h1>
<p>Esse combina a cauda de uma baleia e as iniciais de Hartford Whalers ‘H’ e ‘W’.</p>
<p><img src="http://www.toprated.com.br/wp-content/uploads/2010/07/HartfordWhalers.jpg" alt="" width="615" height="461" /></p>
<h1>Mosleep</h1>
<p>Assim como o nome sugere, Mosleep é uma organização de médicos que cuidam de pessoas que têm problemas para dormir. Seu logo é a inicial ‘M’ desenhada de maneira a lembrar uma cama.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/MosleepLogo.jpg" alt="" width="615" height="319" /></p>
<h1>NBC</h1>
<p>O logo da NBC possui um pavão escondido olhando para a direita, que representa o objetivo da empresa de olhar sempre para frente e nunca para trás.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/NBCLogo.jpg" alt="" width="615" height="594" /></p>
<h1>Piano Forest</h1>
<p>Esse logo combina elegantemente a silhueta de árvores para formar as teclas de um piano.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/PianoForestLogo.jpg" alt="" width="615" height="319" /></p>
<h1>Schizophrenic</h1>
<p>O logo mostra as emoções ambíguas de um esquizofrênico.</p>
<p><img src="http://www.toprated.com.br/wp-content/uploads/2010/07/SchizophrenicLogo.jpg" alt="" width="615" height="303" /></p>
<h1>Unilever</h1>
<p>Cada ícone no logo representa um aspecto do negócio da Unilever. Por exemplo, a camiseta abaixo do coração simboliza &#8220;roupas&#8221;  e representa a roupa limpinha recém saida da lavanderia.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/UnileverLogo.jpg" alt="" width="615" height="461" /></p>
<h1>Yoga Australia</h1>
<p>Se prestar atenção, você vai perceber que a pose da bailarina cria o contorno do continente australiano entre a sua perna e o seu braço.</p>
<p><img class="image-border" src="http://www.toprated.com.br/wp-content/uploads/2010/07/YogaAustraliaLogo.jpg" alt="" width="615" height="362" /></p>
<p class='via'>Via <a href="http://www.webdesignerdepot.com/2010/07/smart-logos-with-hidden-symbolism/" target="_blank">Webdesigner Depot</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/20-logos-com-composicoes-e-significados-ocultos/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Como traduzir textos do seu site usando a API AJAX de Idiomas do Google</title>
		<link>http://www.toprated.com.br/como-traduzir-textos-do-seu-site-usando-a-api-ajax-de-idiomas-do-google</link>
		<comments>http://www.toprated.com.br/como-traduzir-textos-do-seu-site-usando-a-api-ajax-de-idiomas-do-google#comments</comments>
		<pubDate>Tue, 06 Jul 2010 22:03:51 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[traducao]]></category>
		<category><![CDATA[translate]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=1547</guid>
		<description><![CDATA[Aqui vai uma boa idéia para quem gostaria de disponibilizar seus artigos, textos e páginas em outros idiomas mas não quer ter que criar uma outra versão do seu site para isso. O Google disponibiliza uma API do seu sistema de tradução que usa apenas JavaScript e é extremamente fácil de usar em qualquer página. A seguir um exemplo de como utilizá-la.]]></description>
			<content:encoded><![CDATA[<div id="download"><a href="http://www.toprated.com.br/google-translate/google-translate.zip">Download</a></div>
<div id="demo"><a href="http://www.toprated.com.br/google-translate/" target="_blank">Demo</a></div>
<h1>Importando a API</h1>
<p>A API de Idiomas oferecida pelo Google é muito fácil de usar e pode ser importada diretamente dos servidores da empresa, o que permite que você a utilize sem precisar copiar nenhum arquivo para o seu próprio servidor. Além disso, importar a API diretamente do Google garante que você estará sempre usando a sua versão mais atualizada. Para incluí-la na sua página basta incluir a chamada para o endereço de APIs do Google e então carregar a API de Idiomas:</p>
<pre class="brush: php;">

&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.google.com/jsapi&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;

google.load(&quot;language&quot;, &quot;1&quot;);

&lt;/script&gt;
</pre>
<h1>Criando a função</h1>
<p>A função que criaremos para fazer a tradução utilizará duas das funções fornecidas pela API de Idiomas. A primeira, <strong>google.language.detect</strong>, detecta o idioma original de um bloco de texto e a segunda, <strong>google.language.translate</strong>, traduz um bloco de texto do seu idioma original para outro. Nossa função então tem 3 passos principais:</p>
<p><strong>1</strong> &#8211; <strong>Detecta o idioma</strong> do texto que queremos traduzir;<br />
<strong>2</strong> &#8211; <strong>Traduz o texto</strong> para o idioma que desejamos;<br />
<strong>3</strong> &#8211; <strong>Insere a tradução</strong> na página ou substitui o texto original;</p>
<p>O código completo da função:</p>
<pre class="brush: jscript;">

&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.google.com/jsapi&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;

google.load(&quot;language&quot;, &quot;1&quot;);

function traduzir(original, traduzida, idioma) {

	var text = document.getElementById(original).innerHTML; //div com o texto original
	var translated = document.getElementById(traduzida); //div que receberá o texto traduzido

	google.language.detect(text, function(result) { //detecta o idioma do texto original
	if (!result.error &#038;&#038; result.language) {
	google.language.translate(text, result.language, idioma, //traduz o texto
	function(result) {
	if (result.translation) {
	translated.innerHTML = result.translation; //insere o txt traduzido na div escolhida
	} else {
	translated.innerHTML = "Não foi possível fazer a tradução"; //Caso haja erro na tradução
	}
	});
	} else {
	translated.innerHTML = "Não foi possível fazer a tradução"; //Caso haja erro na detecção
	}
	});

}

&lt;/script&gt;
</pre>
<p>Perceba que a função tem três argumentos:<br />
<strong>1° &#8211; original</strong> &#8211; Id da &lt;div&gt; que contémo texto a ser traduzido;<br />
<strong>2° &#8211; traduzida</strong> &#8211; Id da &lt;div&gt; que receberá a tradução;<br />
<strong>3° &#8211; idioma</strong> &#8211; Código do idioma para qual o texto será traduzido. Veja a lista <a href="http://code.google.com/intl/pt-BR/apis/ajaxlanguage/documentation/reference.html#LangNameArray" target="_blank">aqui</a>.</p>
<h1>O HTML</h1>
<p>Tudo o que você precisa no seu código HTML é que o texto esteja dentro de uma &lt;div&gt; com um id específico e um botão que execute a função de tradução. Ou seja, se o seu HTML já está pronto, basta colocar uma &lt;div&gt; envolvendo o texto que vai ser traduzido e atribuir um id a ela. Veja abaixo o código para este exemplo:</p>
<pre class="brush: php;">
&lt;div id=&quot;texto_original&quot;&gt;
&lt;h3&gt;Design&lt;/h3&gt;
&lt;p&gt;JavaScript é uma linguagem de programação criada pela Netscape em 1995, que em princípio se chamava LiveScript, a Netscape após o sucesso inicial desta linguagem, recebe uma colaboração considerável da Sun, após esta colaboração, podemos dizer que o JavaScript é uma linguagem compatível com a linguagem Java, por esta razão, a semelhança dos nomes &quot;JavaScript&quot;.&lt;/p&gt;
&lt;p&gt;Dada sua enorme versatilidade e utilidade ao lidar com ambientes em árvore (como um documento HTML), foi criado a partir desta linguagem um padrão ECMA, o ECMA-262, também conhecido como ECMAScript. Este padrão é seguido, por exemplo, pela linguagem ActionScript da Adobe.&lt;/p&gt;
&lt;p&gt;Além de uso em navegadores processando páginas HTML dinâmicas, o JavaScript é hoje usado também na construção do navegador Mozilla, o qual oferece para a criação de sistemas GUI todo um conjunto de ferramentas (em sua versão normal como navegador, sem a necessidade de nenhum software adicional), que incluem (e não apenas) um interpretador de Javascript, um comunicador Javascript  C++ e um interpretador de XUL, linguagem criada para definir a interface gráfica de aplicações.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a onClick=&quot;traduzir('texto_original','texto_original','en');&quot; href=&quot;#&quot; id=&quot;botao_traduzir&quot;&gt;Traduzir o texto&lt;/a&gt;&lt;/p&gt;
</pre>
<h1>Considerações finais</h1>
<p>Pronto, como você vê é muito simples e fácil de usar. Dê uma olhada na <a href="http://www.toprated.com.br/google-translate/" target="_blank">demonstração</a> e baixe os arquivos desse <a href="http://www.toprated.com.br/google-translate/google-translate.zip">exemplo</a> para estudar e testar as suas próprias alterações. No exemplo você encontrará também algumas linhas CSS que usei para estilizar este exemplo mas que não são necessárias para o funcionamento da API, então se quiser pode retirá-las sem nenhum problema.</p>
<p>É importante saber que esta API ainda está em desenvolvimento, então muitas coisas novas ainda devem aparecer, assim como um pouco de instabilidade. Também é bom ter em mente que <strong>existe um limite da quantidade de texto</strong> que pode ser traduzida de cada vez. O Google promete aumentar este limite constantemente, hoje ele é de <strong>5000 caracteres</strong>. No entanto, nos meus testes o máximo que consegui foram <strong>1200 caracteres</strong>.</p>
<p>É claro que se você tem um site que fornece informações que dependem de traduções precisas, como documentos oficias ou jurídicos, onde uma simples palavra pode fazer toda a diferença, o ideal é fazer a tradução manualmente e criar uma versão separada do texto. Mas se tudo o que você precisa é fornecer uma versão minimamente inteligível do seu texto esta é uma ótima solução.</p>
<div clas="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushPhp.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushJScript.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/como-traduzir-textos-do-seu-site-usando-a-api-ajax-de-idiomas-do-google/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Photoshop &#8211; 3 conselhos para iniciantes</title>
		<link>http://www.toprated.com.br/dicas-de-photoshop-tutoriais-videos-e-muito-mais-2</link>
		<comments>http://www.toprated.com.br/dicas-de-photoshop-tutoriais-videos-e-muito-mais-2#comments</comments>
		<pubDate>Sun, 04 Jul 2010 15:22:55 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[dicas]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=1389</guid>
		<description><![CDATA[Começar a trabalhar com Photoshop é como entrar em mundo totalmente novo, cheio de painéis, ferramentas e novas possibilidades. Mas também pode ser traumático, já que algumas ferramentas e práticas importantes só são dominadas depois de algum tempo de experiência. Então escrevi aqui 3 dicas bem simples e valiosas pra quem está começando agora.]]></description>
			<content:encoded><![CDATA[<h1>1 &#8211; Selecione utilizando a caneta</h1>
<p><img src="http://www.toprated.com.br/wp-content/uploads/2010/07/caneta.jpg" alt="caneta" title="caneta" width="191" height="191" class="alignleft size-full wp-image-1391" />Apesar de parecer mais óbvio utilizar a própria ferramenta de seleção na hora de selecionar um objeto em uma imagem, prefira sempre a caneta (pen).<br />
Pois com ela, você pode usar o Ctrl+Alt+Z para desfazer qualquer ponto mal colocado ou mesmo acertar os pontos depois de ter &#8220;fechado&#8221; a seleção. Depois de finalizar a área, basta manter a tecla Ctrl pressionada e clicar sobre a nova layer (camada) que foi criada (Shape) para fazer uma seleção sobre a sua área.<br />
<br clear="all" /></p>
<h1>2 &#8211; Conheça as opções ocultas dos painéis</h1>
<p><img src="http://www.toprated.com.br/wp-content/uploads/2010/07/seta.jpg" alt="seta" title="seta" width="202" height="203" class="alignleft size-full wp-image-1392" />Em cada um dospainéis de ferramentas, como o de Layers, Actions e Texto, existe um menu cheio de opções e ferramentas muito interessantes. Para acessá-lo basta clicar na pequena seta que fica à direita, logo após a barra de título do painel.<br />
Pode ter certeza que você vai conhecer muitas maneiras de facilitar e agilizar seu trabalho além de melhorar o seu conhecimento sobre configurações mais avançadas.<br />
<br clear="all" /></p>
<h1>3 &#8211; Use as Blending Options</h1>
<p><img src="http://www.toprated.com.br/wp-content/uploads/2010/07/blending.jpg" alt="blending" title="blending" width="273" height="150" class="alignleft size-full wp-image-1390" />Se você clicar com o botão direito sobre uma layer no painel de layers e então clicar em &#8220;Blending options&#8221;, uma janela cheia de opções, efeitos e configurações que vão deixar suas tarefas muito mais simples. Lá é possível criar e gerenciar sombras, brilho, contornos e preenchimentos muito rapidamente sem a necessidade de criar outras camadas. Use com moderação.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/dicas-de-photoshop-tutoriais-videos-e-muito-mais-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Galeria de fotos super simples usando apenas 1 arquivo PHP</title>
		<link>http://www.toprated.com.br/galeria-de-fotos-super-simples-usando-apenas-1-arquivo-php</link>
		<comments>http://www.toprated.com.br/galeria-de-fotos-super-simples-usando-apenas-1-arquivo-php#comments</comments>
		<pubDate>Thu, 01 Jul 2010 00:41:20 +0000</pubDate>
		<dc:creator>Domênico Citrângulo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[fotos]]></category>
		<category><![CDATA[galeria]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.toprated.com.br/?p=1293</guid>
		<description><![CDATA[São inúmeras as situações em que um site ou blog precisa de uma galeria de fotos e nem sempre é possível encontrar uma solução prática e rápida para isso. A maioria dos sistemas de galeria de fotos necessita de edições no código fonte, configuração de frameworks javascript ou instalação de mega painéis de controle que são verdadeiros exageiros quando tudo o que se quer é apenas exibir 20, 30 fotos de maneira simples e rápida. Segue então uma solução extremamente simples e rápida que usa apenas 1 arquivo (isso mesmo, 1 arquivo) PHP.]]></description>
			<content:encoded><![CDATA[<div id="download"><a href="http://www.toprated.com.br/wp-content/imagens_posts/galeria_php.zip">Download</a></div>
<div id="demo"><a href="http://www.toprated.com.br/galeria.php" target="_blank">Demo</a></div>
<h1>A solução</h1>
<p>Para desenvolver esse micro sistema de galeria de fotos vou usar uma função PHP muito útil, a <strong>Glob()</strong>. Essa função nos permite ter acesso às pastas do servidor e retornar listas de arquivos de acordo com o seu nome ou extensão. Então é isso que faremos, <strong>vamos exibir todas as imagens de uma pasta usando PHP</strong>. Salvaremos duas versões de cada foto, uma miniatura (thumbnail) e uma imagem maior, e usaremos a função <strong>Glob()</strong> para exibí-las corretamente. Ao final teremos uma galeria igual a essa:</p>
<p><iframe frameborder="0" allowtransparency="yes" scrolling="no" src="http://www.toprated.com.br/galeria.php" width="710" height="570"></iframe><br />
<h1>Preparando as imagens</h1>
<p>A primeira coisa a fazer é preparar e cortar as imagens nos formatos corretos. A galeria funcionará mesmo que cada imagem tenha um tamanho diferente, mas ficaria com aspecto horrível. Então o ideal é cortar todas no mesmo formato. Para esse exemplo cortei as thumbs em quadrados de 100px x 100px e as imagens maiores em 500px x 500px. </p>
<p>Crie uma pasta com nome <strong>&#8220;fotos_galeria&#8221;</strong> (ou outro nome que preferir) e salve todas as imagens dentro dela, nomeando as thumbs com um <strong>&#8220;_p&#8221;</strong> no final do nome do arquivo, exemplo: <strong>foto1_p.jpg</strong>; e as imagens maiores com um <strong>&#8220;_g&#8221;</strong> no final, exemplo: <strong>foto1_g.jpg</strong>.</p>
<p>Agora faça o upload da pasta para o seu servidor PHP. Sua URL vai ficar algo parecido com:<br />
<strong>http://www.seudominio.com.br/fotos_galeria</strong></p>
<h1>Preparando o arquivo PHP</h1>
<p>O arquvo PHP responsável pela criação da galeria é extremamente simples e está dividido em duas partes. A primeira parte é o o bloco de estilos CSS da página e o segundo o bloco da função PHP responsável pela lógica da galeria. </p>
<p><strong>O trecho CSS</strong><br />
O CSS não precisa de nenhuma alteração a não ser claro que você queira alterar o visual da galeria. Veja abaixo:</p>
<pre class="brush: css;">
&lt;style&gt;
body {
     text-align:center;
     margin:0;
     padding:0;
}
div {
     padding:13px;
     display:block;
     border:1px solid #ddd;
     background:#eee;
     font-size:10px;
     font-family:Arial, Helvetica, sans-serif;
     color:#999;
     margin:0 auto;
}
div.thumb {
     float:left;
     margin:0 14px 14px 0;
     padding:0;
}
div.thumb a {
     float:left;
     padding:13px;
}
div.thumb a:hover {
     background:#b70000;
}
div.thumb img {
     width:100px;
     height:100px;
}
div p {
     padding:8px 0 0px;
     margin:0;
}
div a {
     color:#666;
     text-transform:uppercase;
     text-decoration:none;
     font-weight:bold;
}
div a:hover {
     color:#b70000;
     text-decoration:underline
}
&lt;/style&gt;
</pre>
</p>
<p><strong>O trecho PHP</strong><br />
O trecho que contém o código PHP responsável pela montagem da galeria também não é complicado e precisa apenas de 2 pequenas modificações para que funcione corretamente no seu servidor. No início do bloco você deverá:<br />
- Informar a <strong>URL</strong> onde o <strong>arquivo PHP</strong> estará publicado. No meu caso: <strong>http://www.toprated.com.br/galeria.php</strong>;<br />
- Informar o <strong>nome da pasta</strong> onde estarão as imagens. No meu caso: <strong>fotos_galeria</strong>;<br />
Confira o trecho completo já comentado e explicado linha a linha:</p>
<pre class="brush: php;">

&lt;?php

  //URL onde o arquivo PHP vai ficar
  $url_galeria = &quot;http://www.toprated.com.br/galeria.php&quot;;

 //URL onde o arquivo PHP vai ficar
  $pasta_fotos = &quot;fotos_galeria&quot;;

  //Início da função

  $fotos = array();

  //Loop que percorre a pasta das imagens e armazena o nome de todos os arquivos
  foreach(glob($pasta_fotos . '/{*_p.jpg,*_p.gif}', GLOB_BRACE) as $image) { 

  $fotos[] = $image;

  }

  //Verifica se deve exibir a lista ou uma foto
  if ($_GET[&quot;image&quot;] == &quot;&quot;) {

  //Faz o loop pelo folder de imagens
  for($i=0; $i &lt; count($fotos); $i++) { 

  //Cria cada uma das thumbs dentro de uma &lt;div&gt; com link para a imagem grande
  echo &quot;&lt;div class='thumb'&gt;&quot;;
  echo &quot;&lt;a href='&quot; . $url_galeria . &quot;?image=&quot; . $i . &quot;'&gt;&quot;;
  echo &quot;&lt;img src='&quot; . $fotos[$i] . &quot;'&gt;&quot;;
  echo &quot;&lt;/a&gt;&quot;;
  echo &quot;&lt;/div&gt;&quot;;

  }

 } else {

  //Guarda o nome da imagem para montar o link da imagem grande
  $foto_g = explode(&quot;_p&quot;, $fotos[$_GET[&quot;image&quot;]]);

  //Configura os links de próxima e anterior
  if ( $_GET[&quot;image&quot;] == 0 ) { $anterior = &quot;&quot;; } else { $anterior = $_GET[&quot;image&quot;] - 1; }
  if ( $_GET[&quot;image&quot;] == count($fotos)-1 ) { $proxima = &quot;&quot;; } else { $proxima = $_GET[&quot;image&quot;] + 1; }

  //Quando solicitada uma imagem em particular, monta a &lt;div&gt; e insere a imagem grande de acordo com o link
  echo &quot;&lt;div&gt;&quot;;
  echo &quot;&lt;a href='&quot; . $url_galeria . &quot;?image=&quot; . $proxima . &quot;'&gt;&quot;;
  echo &quot;&lt;img src='&quot; . $foto_g[0] . &quot;_g&quot; . $foto_g[1] . &quot;'&gt;&quot;;
  echo &quot;&lt;/a&gt;&quot;;
  echo &quot;&lt;p&gt;&lt;a href='&quot; . $url_galeria . &quot;?image=&quot; . $anterior . &quot;'&gt;Foto anterior&lt;/a&gt; | &lt;a href='&quot; . $url_galeria . &quot;'&gt;Voltar para a galeria&lt;/a&gt; | &lt;a href='&quot; . $url_galeria . &quot;?image=&quot; . $proxima . &quot;'&gt;Próxima foto&lt;/a&gt;&lt;/p&gt;&quot;;
  echo &quot;&lt;/div&gt;&quot;;

  }

?&gt;
</pre>
<h1>Publique</h1>
<p>Pronto, basta publicar seu arquivo e testar online. O resultado final deve ficar como este: <a href="http://www.toprated.com.br/galeria.php" target="_blank">http://www.toprated.com.br/galeria.php</a>.<br />
Se quiser inserir a galeria no meio de outra página como fiz acima, basta usar um iframe simples linkando para o seu arquivo, dessa forma:
<pre class="brush: php;">&lt;iframe frameborder=&quot;0&quot; allowtransparency=&quot;yes&quot; scrolling=&quot;no&quot; src=&quot;http://www.toprated.com.br/galeria.php&quot; width=&quot;710&quot; height=&quot;570&quot;&gt;&lt;/iframe&gt;</pre>
</p>
<p>Para facilitar a vida dos mais preguiçosos segue link para o pacote com os arquivos usados nesse exemplo, incluindo o arquivo PHP e as imagens. Aliás, todas as fotos são do site <a href="http://www.sxc.hu" target="_blank">SHC.ru</a>, um ótimo lugar para procurar imagens Royalty Free.</p>
<p>Como eu disse, o intuito dessa micro galeria de fotos é ser o mais simples possível, portanto é óbvio que ela pode ser melhorada, e muito. Você pode adicionar ícones à navegação de próxima e anterior, por exemplo. Mas acredito que é uma boa opção para quem está procurando uma solução rápida e fácil para a partir dela criar a sua própria galeria de fotos. Espero que ajude.<br />
<strong>Uma última dica</strong>: Se pretende usar esse arquivo em várias galerias diferentes dentro do seu site, é extremamente recomendável que você separe o CSS, crie uma folha de estilos individual e a use como um link na página para que suas alterações reflitam em todas as galerias simultanemante.</p>
<div clas="hide">
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shCore.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushPhp.js"></script><br />
<script type="text/javascript" src="/domeniconicola/syntaxhighlighter/scripts/shBrushCss.js"></script></p>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/domeniconicola/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
	SyntaxHighlighter.config.clipboardSwf = '/domeniconicola/syntaxhighlighter/scripts/clipboard.swf';
	SyntaxHighlighter.all();
</script></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toprated.com.br/galeria-de-fotos-super-simples-usando-apenas-1-arquivo-php/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
