<?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>Chris B. - idéias e pensamentos &#187; Tecnologia</title>
	<atom:link href="http://www.chrisb.com.br/blog/category/tecnologia/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chrisb.com.br/blog</link>
	<description>Misturando ideias e pensamentos: tecnologia (PHP, Wordpress, javascript, programação), web 2.0 (javascript, ajax, prototype, jQuery) e experiências de vida</description>
	<lastBuildDate>Tue, 18 May 2010 19:32:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Links bacanas sobre Progressive Enhancement e Graceful Degradation</title>
		<link>http://www.chrisb.com.br/blog/links-bacanas-sobre-progressive-enhancement-e-graceful-degradation/</link>
		<comments>http://www.chrisb.com.br/blog/links-bacanas-sobre-progressive-enhancement-e-graceful-degradation/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 12:03:59 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Graceful Degradation]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[Progressive Enhancement]]></category>

		<guid isPermaLink="false">http://www.chrisb.com.br/blog/?p=2279</guid>
		<description><![CDATA[Se você trabalha com interfaces web, pode não ter ouvido falar (ainda) desses dois conceitos, mas certamente muito já discutiu sobre eles. Semana passada comecei a ler mais profundamente a respeito; ainda não tenho uma opinião formada sobre ambos, nem se uma é melhor do que a outra ou, ainda, se alguma delas pode ser [...]]]></description>
			<content:encoded><![CDATA[<p>Se você trabalha com <em>interfaces web</em>, pode não ter ouvido falar (ainda) desses dois conceitos, mas certamente muito já discutiu sobre eles. Semana passada comecei a ler mais profundamente a respeito; ainda não tenho uma opinião formada sobre ambos, nem se uma é melhor do que a outra ou, ainda, se alguma delas pode ser levada ao pé da letra no ciclo de vida de um projeto web.<br />
Resumidamente, <strong>Graceful Degradation</strong> é sobre ter sua interface web funcionando em todos os dispositivos que o acessem, mesmo que aqueles com menos recursos tenham uma perda de qualidade e usabilidade (ou seja, a interface vai se <em>degradando</em>; você foca no melhor dispositivo). Já o <strong>Progressive Enhancement</strong> foca em definir um dispositivo com o mínimo de recursos (no caso, um browser mais antigo) no qual a sua aplicação seja funcional e usável, e para cada dispositivo melhor você terá funcionalidades extras, que usarão recursos do dispositivo que versões mais antigas não possuem (ou seja, sua interface vai melhorando/<em>progredindo</em>).<br />
Seguem abaixo alguns links bem interessantes sobre o assunto:</p>
<ul>
<li><a href="http://www.sitepoint.com/blogs/2009/09/23/progressive-enhancement-graceful-degradation-choice/">Progressive Enhancement and Graceful Degradation: Making a Choice</a></li>
<li><a href="http://planeta.gnulinuxbrasil.org/?cat=516">Gracefull Degradation, Progressive Enhancement e Fluid Layout</a></li>
<li><a href="http://dev.opera.com/articles/view/progressive-enhancement-with-css-3-a-be/">Progressive Enhancement with CSS 3: A better experience for modern browsers</a></li>
<li><a href="http://www.tableless.com.br/graceful-degradation-e-tudo-sobre-acessibilidade">Graceful degradation é tudo sobre Acessibilidade</a></li>
<li><a href="http://www.luiztiago.com/blog/41/progressive_enhancement_melhoria_necessaria_na_web/">Progressive Enhancement, melhoria necessária na web</a></li>
</ul>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.chrisb.com.br/blog/plugin-para-estilizar-selects-com-jquery/" title="Plugin para estilizar selects com jQuery">Plugin para estilizar selects com jQuery</a> (2)</li><li><a href="http://www.chrisb.com.br/blog/atualizacao-na-pagina-de-jobs/" title="Atualização na página de jobs">Atualização na página de jobs</a> (2)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrisb.com.br/blog/links-bacanas-sobre-progressive-enhancement-e-graceful-degradation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Sinais que indicam que você não deve contratar aquele profissional de web</title>
		<link>http://www.chrisb.com.br/blog/sinais-que-indicam-que-voce-nao-deve-contratar-aquele-profissional-de-web/</link>
		<comments>http://www.chrisb.com.br/blog/sinais-que-indicam-que-voce-nao-deve-contratar-aquele-profissional-de-web/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 13:32:34 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Pensamentos]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webmaster]]></category>

		<guid isPermaLink="false">http://www.chrisb.com.br/blog/?p=2222</guid>
		<description><![CDATA[Felizmente há tempos eu tenho mandado bem (uia!) ao contratar profissionais para a equipe de interface (@tivasconcelos, @renanrobe, @gserrano e outros sem @&#8217;s). Fazer isso é um processo que envolve muitos fatores &#8211; e a indicação ainda é a melhor forma. Mas, tem um texto divertido que mostra alguns pontos a serem levados em conta [...]]]></description>
			<content:encoded><![CDATA[<p>Felizmente há tempos eu tenho mandado bem (uia!) ao contratar profissionais para a equipe de interface (<a href="http://twitter.com/tivasconcelos">@tivasconcelos</a>, <a href="http://twitter.com/renanrobe">@renanrobe</a>, <a href="http://twitter.com/gserrano">@gserrano</a> e outros sem @&#8217;s). Fazer isso é um processo que envolve muitos fatores &#8211; e a indicação ainda é a melhor forma. Mas, tem um texto divertido que mostra alguns pontos a serem levados em conta quando você for contratar um profissional web:</p>
<h1>Ele se auto-intitula &#8220;webmaster&#8221;</h1>
<p>E web precisa de especialistas em áreas específicas que conheçam o básico do &#8220;todo&#8221;, mas ninguém consegue dominar tudo. Se ele se chama assim, ele na verdade não sabe nada.</p>
<h1>Ele é um expert em Frontpage</h1>
<p>Primeiro que a ferramenta é ruim. Segundo que quem coloca a ferramenta à frente da tecnologia não merece crédito</p>
<h1>Ele vai submeter seu site para diversos mecanismos de buscas</h1>
<p>Desnecessário comentar a inutilidade disso, né?</p>
<h1>Ele quer um &#8220;Designed by&#8230;&#8221; no rodapé</h1>
<p>O site é para você, pro seu cliente, ou é simples parte do portfólio dele?</p>
<h1>Ele criou um site para alguém da família</h1>
<p>A chamada sobrinhagem: a única referência que tem são os sites feitos pro tio, pro pai, etc&#8230;</p>
<h1>Ele vai inserir um contador de visitas no seu site</h1>
<p>Isso era bacana na época da <em>Geocities</em>&#8230; e morreu lá, ok?!?!</p>
<h1>Ele vai colocar um &#8220;melhor visualizado em&#8230;&#8221; no seu site</h1>
<p>Ok, há toda essa celeuma do IE6 atualmente, mas ninguém pode partir do pressuposto em todos os projetos de que isso é viável</p>
<p>Fonte: <a href="http://davidwalsh.name/9-signs-not-to-hire-that-web-guy">http://davidwalsh.name/9-signs-not-to-hire-that-web-guy</a></p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.chrisb.com.br/blog/conferencia-web-w3c-debate-sobre-certificacoes/" title="Conferência Web W3C &#8211; debate sobre certificações">Conferência Web W3C &#8211; debate sobre certificações</a> (12)</li><li><a href="http://www.chrisb.com.br/blog/5-novos-blogs-que-tenho-seguido-2/" title="5 novos blogs que tenho seguido #2">5 novos blogs que tenho seguido #2</a> (4)</li><li><a href="http://www.chrisb.com.br/blog/sem-precisar-mais-validar-as-interfaces-no-ie6-consegui/" title="Sem precisar mais validar as interfaces no IE6: consegui!">Sem precisar mais validar as interfaces no IE6: consegui!</a> (14)</li><li><a href="http://www.chrisb.com.br/blog/novos-blogs-bacanas-desenvolvimento-web/" title="Novos blogs bacanas de desenvolvimento web">Novos blogs bacanas de desenvolvimento web</a> (6)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrisb.com.br/blog/sinais-que-indicam-que-voce-nao-deve-contratar-aquele-profissional-de-web/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Conferência Web W3C &#8211; debate sobre certificações</title>
		<link>http://www.chrisb.com.br/blog/conferencia-web-w3c-debate-sobre-certificacoes/</link>
		<comments>http://www.chrisb.com.br/blog/conferencia-web-w3c-debate-sobre-certificacoes/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 17:27:14 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Pensamentos]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[certificação]]></category>
		<category><![CDATA[conferência]]></category>
		<category><![CDATA[escola]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.chrisb.com.br/blog/?p=2231</guid>
		<description><![CDATA[Consegui ir hoje de manhã na 1. Conferência da W3C Brasil (que começou ontem e ainda está rolando nesse exato momento). Achei a estrutura bem bacana &#8211; palmas pros organizadores, inclusive por terem escolhido o Blue Tree Towers, wi-fi funcionando belezinha, bom áudio nas salas, ar condicionado ok! para o clima de verão já de [...]]]></description>
			<content:encoded><![CDATA[<p>Consegui ir hoje de manhã na <a href="http://conferenciaweb.w3c.br">1. Conferência da W3C Brasil</a> (que começou ontem e ainda está rolando nesse exato momento). Achei a estrutura bem bacana &#8211; palmas pros organizadores, inclusive por terem escolhido o Blue Tree Towers, wi-fi funcionando belezinha, bom áudio nas salas, ar condicionado ok! para o clima de verão já de São Paulo.<br />
Algumas caras conhecidas, outras que se tornaram depois das discussões pegando fogo no debate sobre ensino de padrões web, certificação e formação profissional na área de <em>front-end</em>. Estava presentes o (já famoso) Diego Eis da <a href="http://www.visie.com.br">Visie</a>, Evaldo Bechara (da <strong>iLearn</strong>, escola carioca), Fábio Flatschart do <strong>Senac</strong> e Marcelo Moura do <strong>Grupo Impacta</strong>.</p>
<p>O debate durou uma hora e meia, e durante ele muito se falou sobre o benefício &#8211; ou não &#8211; de se ter certificação para o profissional <em>front-end</em> (aquele que escreve html/CSS, programa em javascript) e quem poderia certificar profissionais. Muitos pontos de vistas foram levantados, e ficou claro que ainda dá para separar o joio do trigo; mesmo tendo 4 representantes de instituições de ensino, nota-se que existem aquelas que estão interessadas em realmente educar e ensinar (no caso a <strong>Visie</strong>, <strong>iLearn</strong> e <strong>Senac</strong>) e outras que só querem vender um papel (não sei se essa é a real posição da <strong>Impacta</strong>, mas foi o que seu representante deixou transparecer). A própria <strong>W3C</strong> através de um representante (que esqueci o nome) deixou claro que nem ela está certa do que fazer e se seria interessante &#8211; apesar de saber que economicamente seria uma ótima forma de conseguir mais recursos, a organização tem dúvidas quanto a necessidade de certificar profissionais e que o próprio Tim Berners não é favorável a isso nesse exato momento.</p>
<p>Foi visto que existem diferentes enfoques e utilidades &#8211; ou não &#8211; para certificações. Profissionais podem ser estimulados a estudar mais e de uma forma melhor, com conteúdo oficial de uma organização mundial que define padrões levando em conta o lado técnico do mercado e não o econômico, empresas podem se valer disso na hora do seu processo seletivo e na garantia de ter um profissional que, ao menos, comprovou uma dedicação ao estudo. E é claro que para as instituições de ensino isso pode vir a ser uma<strong> mina de ouro</strong>!<br />
De um lado <strong>negativo</strong>, foi levantado que o profissional pode focar mais na certificação do que no conhecimento &#8211; o que ocorre em diversas certificações de outras tecnologias &#8211; e que as empresas podem acabar deixando pra trás profissionais não-certificados nas suas seleções, e que, ainda, instituições de ensino podem começar a vender &#8220;como passar na prova&#8221; do que disseminar conteúdo.</p>
<p><strong>Minha opinião</strong>? É que tudo isso, àcima, aconteceria. Não há como garantir um mercado uniforme; existem empresas que adotariam a certificação como mais um filtro (especificamente as que têm processos seletivos de grande porte, ou ainda o governo), outras que continuariam com o processo seletivo da forma que fazem hoje (provas, indicações, site pessoal com portfólio, etc&#8230;); profissionais bons usariam o cerificado como um <em>a mais</em>, enquanto que os medíocres o usariam apenas para falar que são certificados.<br />
E as escolas de qualidade conseguiriam mesclar ambos, conseguindo formar profissionais mais completos e com um atestado de uma organização maior.</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.chrisb.com.br/blog/sinais-que-indicam-que-voce-nao-deve-contratar-aquele-profissional-de-web/" title="Sinais que indicam que você não deve contratar aquele profissional de web">Sinais que indicam que você não deve contratar aquele profissional de web</a> (18)</li><li><a href="http://www.chrisb.com.br/blog/5-novos-blogs-que-tenho-seguido-2/" title="5 novos blogs que tenho seguido #2">5 novos blogs que tenho seguido #2</a> (4)</li><li><a href="http://www.chrisb.com.br/blog/sem-precisar-mais-validar-as-interfaces-no-ie6-consegui/" title="Sem precisar mais validar as interfaces no IE6: consegui!">Sem precisar mais validar as interfaces no IE6: consegui!</a> (14)</li><li><a href="http://www.chrisb.com.br/blog/novos-blogs-bacanas-desenvolvimento-web/" title="Novos blogs bacanas de desenvolvimento web">Novos blogs bacanas de desenvolvimento web</a> (6)</li><li><a href="http://www.chrisb.com.br/blog/tim-berners-lee-no-campus-party-2009/" title="Tim Berners Lee no Campus Party 2009">Tim Berners Lee no Campus Party 2009</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrisb.com.br/blog/conferencia-web-w3c-debate-sobre-certificacoes/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>2009 CMS Vendor Map</title>
		<link>http://www.chrisb.com.br/blog/2009-cms-vendor-map/</link>
		<comments>http://www.chrisb.com.br/blog/2009-cms-vendor-map/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 20:51:46 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.chrisb.com.br/blog/?p=2210</guid>
		<description><![CDATA[Para aqueles que como eu se interessam pelo mundo dos CMS&#8230; tem muita coisa por aí! Fonte: http://www.cmswatch.com Veja também]]></description>
			<content:encoded><![CDATA[<p>Para aqueles que como eu se interessam pelo mundo dos CMS&#8230; tem muita coisa por aí!</p>
<p style="text-align: center;"><a href="http://www.chrisb.com.br/blog/wp-content/uploads/2009/11/CMS-Watch-subway-map-2009-large.jpg"><img class="size-full wp-image-2211 aligncenter" title="CMS-Watch-subway-map-2009-large" src="http://www.chrisb.com.br/blog/wp-content/uploads/2009/11/CMS-Watch-subway-map-2009-large.jpg" alt="CMS-Watch-subway-map-2009-large" width="800" /></a>Fonte: <a href="http://www.cmswatch.com">http://www.cmswatch.com</a></p>
<h3  class="related_post_title">Veja também</h3><ul class="related_post"></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrisb.com.br/blog/2009-cms-vendor-map/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Do DOS para Unix: tradução dos comandos</title>
		<link>http://www.chrisb.com.br/blog/do-dos-para-unix-traducao-dos-comandos/</link>
		<comments>http://www.chrisb.com.br/blog/do-dos-para-unix-traducao-dos-comandos/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 00:31:11 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[cheat sheet]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.chrisb.com.br/blog/?p=2177</guid>
		<description><![CDATA[Atenção: esse post só faz sentido para quem pegou a fase do DOS, ou seja, os velhos Praticamente todo mundo que começou a usar computador antes do ano 2000 de uma forma mais hard teve muito contato com o DOS, que era a base dos sistemas do Windows (3.x, 95, 98&#8230;). No fundo, o Windows [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Atenção</strong>: esse post só faz sentido para quem  pegou a fase do DOS, ou seja, os <em>velhos</em></p>
<p style="text-align: center;"><img class="aligncenter" src="http://3.bp.blogspot.com/_UqUwVPikChs/SvL4qWH1-6I/AAAAAAAALBg/WXCz-9Nth68/s320/dos-linux.jpg" alt="" width="180" height="165" /></p>
<p>Praticamente todo mundo que começou a usar computador antes do ano 2000 de uma forma mais <em>hard</em> teve muito contato com o DOS, que era a base dos sistemas do Windows (3.x, 95, 98&#8230;). No fundo, o Windows era um gerenciador de janelas que rodava em cima do DOS, então qualquer coisa mais complexa de se fazer precisava ser feito na linha de comando (do famoso) prompt do DOS. Outras pessoas, mais raras de se encontrar, usaram DOS no começo, nos primórdios, <em>crú</em>.</p>
<p>Se tem alguém dessa época que ainda quer migrar para sistemas <em>Unix</em>, fica a dica desse <em>cheat sheet</em> com uma equivalência dos comandos.</p>
<table id="tblMain_0" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width: 0pt;"></td>
<td style="width: 164px; text-align: center;"><strong>Purpose</strong></td>
<td style="width: 201px; text-align: center;"><strong>DOS</strong></td>
<td style="width: 120px; text-align: center;"><strong>UNIX/Linux</strong></td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>display list of files</td>
<td>dir/w dir</td>
<td>ls</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>display contents of file</td>
<td>type</td>
<td>cat</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>display file with pauses</td>
<td>type filename | more</td>
<td>more</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>copy file</td>
<td>copy</td>
<td>cp</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>find string in file</td>
<td>find</td>
<td>grep</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>compare files</td>
<td>comp</td>
<td>diff</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>rename file</td>
<td>rename OR ren</td>
<td>mv</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>delete file</td>
<td>erase OR del</td>
<td>rm</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>delete directory</td>
<td>rmdir OR rd</td>
<td>rmdir</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>change file protection</td>
<td>attrib</td>
<td>chmod</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>create directory</td>
<td>mkdir OR md</td>
<td>mkdir</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>change working directory</td>
<td>chdir OR cd</td>
<td>cd</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>get help</td>
<td>help</td>
<td>man</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>display date and time</td>
<td>date, time</td>
<td>date</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>display free disk space</td>
<td>chkdsk</td>
<td>df</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>print file</td>
<td>print</td>
<td>lpr</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>display print queue</td>
<td>print</td>
<td>lpq</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>clears screen</td>
<td>cls</td>
<td>clear</td>
</tr>
<tr>
<td>
<p style="height: 16px;">.</p>
</td>
<td>closes prompt window</td>
<td>exit</td>
<td>exit</td>
</tr>
</tbody>
</table>
<p>Fonte: <a href="http://www.junauza.com/2009/11/dos-to-unixlinux-translation-dos-to.html">http://www.junauza.com/2009/11/dos-to-unixlinux-translation-dos-to.html</a></p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.chrisb.com.br/blog/script-para-baixar-arquivos-do-svn-e-gerar-zip-automaticamente/" title="Script para baixar arquivos do SVN e gerar .zip automaticamente">Script para baixar arquivos do SVN e gerar .zip automaticamente</a> (2)</li><li><a href="http://www.chrisb.com.br/blog/qual-distro-linux-voce-utiliza/" title="Qual distro linux você utiliza?">Qual distro linux você utiliza?</a> (6)</li><li><a href="http://www.chrisb.com.br/blog/e-minha-time-capsule-chegou/" title="E minha Time Capsule chegou">E minha Time Capsule chegou</a> (11)</li><li><a href="http://www.chrisb.com.br/blog/ubuntu-9-10-karmic-koala-esta-chegando/" title="Ubuntu 9.10 Karmic Koala &#8211; está chegando">Ubuntu 9.10 Karmic Koala &#8211; está chegando</a> (12)</li><li><a href="http://www.chrisb.com.br/blog/sendmail-no-servidor-linux-muito-lento/" title="Sendmail no servidor linux muito lento?">Sendmail no servidor linux muito lento?</a> (1)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrisb.com.br/blog/do-dos-para-unix-traducao-dos-comandos/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Usando compressão gzip no Apache e vendo os resultados num log</title>
		<link>http://www.chrisb.com.br/blog/usando-compressao-gzip-no-apache-e-vendo-os-resultados-num-log/</link>
		<comments>http://www.chrisb.com.br/blog/usando-compressao-gzip-no-apache-e-vendo-os-resultados-num-log/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 00:44:54 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[compressão]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[virtualhost]]></category>

		<guid isPermaLink="false">http://www.chrisb.com.br/blog/?p=2150</guid>
		<description><![CDATA[Existem muitos posts em diversos blogs falando de como melhorar a performance do seu site diminuindo o tráfego de dados do tipo texto (html, css e javascript, na grande maioria). Já discuti &#8211; no bm sentido &#8211; algumas vezes sobre o fato de achar desnecessário fazer aqueles minify de javascript, fazer CSS em uma linha [...]]]></description>
			<content:encoded><![CDATA[<p>Existem muitos posts em diversos blogs falando de como melhorar a performance do seu site diminuindo o tráfego de dados do tipo texto (html, css e javascript, na grande maioria). Já discuti &#8211; no bm sentido &#8211; algumas vezes sobre o fato de achar desnecessário fazer aqueles minify de <em>javascript</em>, fazer CSS em uma linha e tirar os espaços em branco no html, se você estiver usando compressão pelo <em>webserver</em>.</p>
<p>Não vou entrar em detalhes &#8211; o Google está aí pra isso &#8211; mas você pode consigurar o <strong>Apache</strong> (imagino que outros webservers tenham algo parecido) para que ele faça compressão de arquivos (como se fosse um zip) a serem enviados. O (protocolo) http se encarrega de verificar se o browser possui a capacidade de descompactar (e acredite, qualquer browser mais ou menos atual possui) arquivos nesse formato.</p>
<p>Como habilitar? Habilite o módulo deflate do Apache (como fazer isso, varia de versão para versão; cheque a documentação da sua instalação do Apache) e dentro do <em>Virtualhost</em> do seu site, insira:</p>
<blockquote><p><em>&lt;IfModule mod_deflate.c&gt;<br />
SetOutputFilter DEFLATE<br />
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|rar|zip|pdf)$ no-gzip dont-vary<br />
&lt;IfModule mod_headers.c&gt;<br />
Header append Vary User-Agent<br />
&lt;/IfModule&gt;<br />
&lt;/IfModule&gt;</em></p></blockquote>
<p>Isso vai fazer com que qualquer arquivo que não seja de uma das extensões listadas na terceira linha seja comprimido com gzip. Ah, porque não comprimir esses? Comprimir com gzip qualquer tipo de um desses formatos é desnecessário, pois eles já possuem compressão.</p>
<p>Reinicie o Apache e de um refresh na sua página, com o <em>Firebug</em> aberto, e veja a diferença.</p>
<p>Para melhorar, se você quiser fazer um log para acompanhar se está mesmo fazendo a compressão, e o quanto está comprimindo cada arquivo. Para isso, dentro do seu <em>Virtualhost</em> também:</p>
<blockquote><p><em>&lt;IfModule mod_log_config.c&gt;<br />
&lt;IfModule mod_deflate.c&gt;<br />
DeflateFilterNote Input instream<br />
DeflateFilterNote Output outstream<br />
DeflateFilterNote Ratio ratio<br />
SetEnvIf Request_URI \.gif image-request<br />
SetEnvIf Request_URI \.js image-request<br />
SetEnvIf Request_URI \.css image-request<br />
LogFormat &#8216;&#8221;%r&#8221; %{outstream}n/%{instream}n (%{ratio}n%%)&#8217; deflate<br />
CustomLog /var/log/apache2/deflate.log deflate env=!image-request<br />
&lt;/IfModule&gt;<br />
&lt;/IfModule&gt;</em></p></blockquote>
<p>Vale lembrar que esses são apenas exemplos, e você pode customizar tanto a compressão quanto o formato do log e afins ao seu prazer <img src='http://www.chrisb.com.br/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.chrisb.com.br/blog/criar-arquivo-log-por-dia-apache-rotatelogs/" title="Criar um arquivo de log por dia no Apache com o rotatelogs">Criar um arquivo de log por dia no Apache com o rotatelogs</a> (1)</li><li><a href="http://www.chrisb.com.br/blog/como-proteger-uma-area-do-seu-site-com-login-e-senha-pelo-apache/" title="Como proteger uma área do seu site com login e senha pelo Apache">Como proteger uma área do seu site com login e senha pelo Apache</a> (4)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrisb.com.br/blog/usando-compressao-gzip-no-apache-e-vendo-os-resultados-num-log/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>iui &#8211; framework para desenvolvimento de interfaces para iPhone</title>
		<link>http://www.chrisb.com.br/blog/iui-framework-para-desenvolvimento-de-interfaces-para-iphone/</link>
		<comments>http://www.chrisb.com.br/blog/iui-framework-para-desenvolvimento-de-interfaces-para-iphone/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 16:38:15 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.chrisb.com.br/blog/?p=2142</guid>
		<description><![CDATA[Nunca me preocupei &#8211; nem tive a necessidade &#8211; de fazer uma versão de um site para o Iphone (ou qualquer outro dispositivo móvel). O máximo que fiz foi instalar um plugins em alguns dos meus blogs que, dependendo do dispotivo móvel, utiliza um jogo de templates diferenciado. Aproveitei um tempinho livre &#8211; não que [...]]]></description>
			<content:encoded><![CDATA[<p>Nunca me preocupei &#8211; nem tive a necessidade &#8211; de fazer uma versão de um site para o <strong>Iphone</strong> (ou qualquer outro dispositivo móvel). O máximo que fiz foi instalar um plugins em alguns dos meus blogs que, dependendo do dispotivo móvel, utiliza um jogo de templates diferenciado.</p>
<p>Aproveitei um tempinho livre &#8211; não que esse existe em quantidade &#8211; aqui na <strong>MMCafé</strong> para procurar como escrever interfaces (html/CSS e javascript) voltado ao <strong>Iphone</strong>. Depois de alguns bons posts, me deparei com uam espécie de framework, o <a href="http://code.google.com/p/iui/"><strong>iui</strong></a>: ele fornece a estrutura de html/CSS e implementações javascript para se criar aplicações pro Iphone. Tem muita coisa bacana, como aquela estrutura já famosa de webapps do Iphone, com menu em forma de lista com navegação por elas, bem como o CSS que já deixa com aquela carinha meio &#8220;<em>azulada</em>&#8220;, assim como outros temas.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.k10design.net/articles/iui/images/figure-1.png" alt="" width="250" height="291" /></p>
<p>Fuçando um pouco mais, encontrei esse post que explica como trabalhar com o framework: <a href="http://www.k10design.net/articles/iui/">http://www.k10design.net/articles/iui/</a></p>
<p>Pelo que pude ver, ele não é o framework definitivo (falta coisa, inclusive na documentação, existem muitos reports de erros principalmente relativos ao javascript), mas para quem &#8211; como eu &#8211; está começando nessa história de interfaces para dispositivos móveis, ele ajuda a ser produtivo no início e entender como algumas coisas podem funcionar!</p>
<p>UPDATE: a @caracolis me mandou um link bem bacana da Smashing sobre <a href="http://www.smashingmagazine.com/2009/10/09/iphone-app-design-trends/">tendências em design para aplicações para o Iphone</a>, vale a pena olhar!</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.chrisb.com.br/blog/boas-praticas-no-javascript/" title="Boas práticas no javascript">Boas práticas no javascript</a> (5)</li><li><a href="http://www.chrisb.com.br/blog/o-pog-nosso-de-cada-dia-16/" title="O POG nosso de cada dia #16">O POG nosso de cada dia #16</a> (8)</li><li><a href="http://www.chrisb.com.br/blog/blogs-sobre-htmlcss/" title="Blogs sobre html/CSS">Blogs sobre html/CSS</a> (12)</li><li><a href="http://www.chrisb.com.br/blog/upload-de-arquivos-do-file-system-direto-pela-interface-web/" title="Upload de arquivos do file system direto pela interface web">Upload de arquivos do file system direto pela interface web</a> (3)</li><li><a href="http://www.chrisb.com.br/blog/o-pog-nosso-de-cada-dia-18/" title="O POG nosso de cada dia #18">O POG nosso de cada dia #18</a> (10)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrisb.com.br/blog/iui-framework-para-desenvolvimento-de-interfaces-para-iphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Criar um arquivo de log por dia no Apache com o rotatelogs</title>
		<link>http://www.chrisb.com.br/blog/criar-arquivo-log-por-dia-apache-rotatelogs/</link>
		<comments>http://www.chrisb.com.br/blog/criar-arquivo-log-por-dia-apache-rotatelogs/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 18:44:12 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[virtualhost]]></category>

		<guid isPermaLink="false">http://www.chrisb.com.br/blog/?p=2092</guid>
		<description><![CDATA[Vi ontem no blog do Danilo um post sobre como criar Virtualhosts no Apache, para servir diversos sites, e aproveitando a idéia, vale a pena falar como criar logs para cada Virtualhost. O mais básico é dentro da diretiva do Virtualhost dizer que vai haver um CustomLog (log customizado) em uma determinada pasta, com um [...]]]></description>
			<content:encoded><![CDATA[<p>Vi ontem no <a href="http://e-fabrica.com/blog/2009/08/22/configurando-virtualhost-no-apache-do-ubuntu/">blog do Danilo um post sobre como criar Virtualhosts no Apache</a>, para servir diversos sites, e aproveitando a idéia, vale a pena falar como criar logs para cada <em>Virtualhost</em>.</p>
<p>O mais básico é dentro da diretiva do <em>Virtualhost</em> dizer que vai haver um <em>CustomLog</em> (log customizado) em uma determinada pasta, com um certo formato. O que eu sempre uso é algo assim (aproveitando o exemplo do Danilo):</p>
<pre style="font-family: monospace;">&lt;VirtualHost *&gt;
    ServerName meusite.dev
    DocumentRoot /var/www/meusite.dev
    CustomLog "/var/www/meusite/log/access.log"  combined
&lt;/VirtualHost&gt;</pre>
<p>No caso,  a pasta<em> /var/www/meusite/log</em> deve ser criada e o Apache deve ter permissão de escrita, e <em>combined</em> é o formato do log que o <em>Apache</em> vai criar (existem diversos, que podem ser encontrados na documentação oficial).</p>
<p>Agora, algo mais bacana é criar um arquivo de log por dia. Porque? Simples: um arquivo de log de um site mesmo de pequeno porte pode chegar facilmente a <em>gigas</em> de tamanho em pouco tempo &#8211; pouco tempo = poucos meses.<br />
Criando um arquivo por dia, é mais fácil de se fazer <em>backup</em>, ter controle do que está sendo logado e mesmo para usar os logs &#8211; como com um <em>log analyzer</em>. Para isso, é possível usar no linux o <em>rotatelogs</em>. Sei que no Windows é possível fazer isso também, mas não lembro de cabeça qual é o aplicativo que o faz.</p>
<pre style="font-family: monospace;">&lt;VirtualHost *&gt;
    ServerName meusite.dev
    DocumentRoot /var/www/meusite.dev
    CustomLog "|/usr/sbin/rotatelogs /var/www/meusite/log/access_%Y%m%d.log 86400 -180"  combined
&lt;/VirtualHost&gt;</pre>
<p>Nesse caso, para cada dia (86400 segundos) é criado um arquivo diferente, com o nome no formato desejado (underline, ano, mês e dia no final). Voi-lá, tudo funcionando!</p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.chrisb.com.br/blog/usando-compressao-gzip-no-apache-e-vendo-os-resultados-num-log/" title="Usando compressão gzip no Apache e vendo os resultados num log">Usando compressão gzip no Apache e vendo os resultados num log</a> (3)</li><li><a href="http://www.chrisb.com.br/blog/como-proteger-uma-area-do-seu-site-com-login-e-senha-pelo-apache/" title="Como proteger uma área do seu site com login e senha pelo Apache">Como proteger uma área do seu site com login e senha pelo Apache</a> (4)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrisb.com.br/blog/criar-arquivo-log-por-dia-apache-rotatelogs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>vnStat PHP Frontend</title>
		<link>http://www.chrisb.com.br/blog/vnstat-php-frontend/</link>
		<comments>http://www.chrisb.com.br/blog/vnstat-php-frontend/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 18:09:58 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[analisador]]></category>
		<category><![CDATA[locaweb]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tráfego]]></category>
		<category><![CDATA[vnstat]]></category>

		<guid isPermaLink="false">http://www.chrisb.com.br/blog/?p=2087</guid>
		<description><![CDATA[Em breve creio que vou escrever um manual sobre como configurar um servidor completo Linux com a quantidade de posts que tenho feito com as (novas) tarefas que tenho feito &#8211; e isso é bom, pois serve no mínimo como aprendizado. Bem, vamos lá: estava precisando de um analisador de tráfego pro servidor, uma vez [...]]]></description>
			<content:encoded><![CDATA[<p>Em breve creio que vou escrever um manual sobre como configurar um servidor completo <em>Linux</em> com a quantidade de posts que tenho feito com as (novas) tarefas que tenho feito &#8211; e isso é bom, pois serve no mínimo como aprendizado. Bem, vamos lá: estava precisando de um analisador de tráfego pro servidor, uma vez que o da <em>Locaweb</em> ou não existe ou não consegui achar como acessar.</p>
<p>Bem, o primeiro passo foi instalar o <a href="http://humdi.net/vnstat/">vnStat</a>:</p>
<blockquote><p><em>apt-get install vnstat</em></p></blockquote>
<p>E configurá-lo</p>
<blockquote><p><em>vnstat -u -i eth0</em></p></blockquote>
<p>Com isso, foi criado o que o database para o vnStat na saída eth0</p>
<p>Próximo passo foi <a href="http://www.sqweek.com/sqweek/index.php?p=1">baixar o vnStat PHP Frontend</a>, que nada mais é do que um <em>frontend</em> para o vnStat para ser acessado pelo browser. Depois, só precisei alterar o config.php dizendo o caminho do bináio do vnStat</p>
<blockquote><p><em>$vnstat_bin = &#8216;/usr/bin/vnstat&#8217;;</em></p></blockquote>
<p>E tudo funcionando! Pelo browser, agora tenho estatísticas com essa carinha, bem agradável</p>
<p><img class="alignnone" title="vnStat" src="http://www.sqweek.com/sqweek/files/scrot1.png" alt="" width="600" /></p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.chrisb.com.br/blog/configurando-acesso-a-pasta-de-uploads-do-wordpress-na-locaweb/" title="Configurando acesso a pasta de uploads do Wordpress na Locaweb">Configurando acesso a pasta de uploads do Wordpress na Locaweb</a> (8)</li><li><a href="http://www.chrisb.com.br/blog/novidades-na-versao-2-9-do-wordpress/" title="Novidades na versão 2.9 do Wordpress">Novidades na versão 2.9 do Wordpress</a> (3)</li><li><a href="http://www.chrisb.com.br/blog/como-php-se-tornou-um-grande-sucesso-entrevista-com-rasmus-lerdorf/" title="Como PHP se tornou um grande sucesso &#8211; entrevista com Rasmus Lerdorf">Como PHP se tornou um grande sucesso &#8211; entrevista com Rasmus Lerdorf</a> (1)</li><li><a href="http://www.chrisb.com.br/blog/qual-sua-ide-de-desenvolvimento/" title="Qual sua IDE de desenvolvimento?">Qual sua IDE de desenvolvimento?</a> (30)</li><li><a href="http://www.chrisb.com.br/blog/5-novos-blogs-que-tenho-seguido-2/" title="5 novos blogs que tenho seguido #2">5 novos blogs que tenho seguido #2</a> (4)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrisb.com.br/blog/vnstat-php-frontend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sendmail no servidor linux muito lento?</title>
		<link>http://www.chrisb.com.br/blog/sendmail-no-servidor-linux-muito-lento/</link>
		<comments>http://www.chrisb.com.br/blog/sendmail-no-servidor-linux-muito-lento/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 12:08:15 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[sendmail]]></category>
		<category><![CDATA[servidor]]></category>

		<guid isPermaLink="false">http://www.chrisb.com.br/blog/?p=2082</guid>
		<description><![CDATA[Continuando a saga da configuração do servidor cloud da Locaweb que comecei a usar, o que mais me deu dor de cabeça foi o envio de e-mails usando o sendmail do linux. Eu até ia instalar o Postfix, mas estava faltando tempo, então fiz o basico e instalei o sendmail e configurei no php.ini para [...]]]></description>
			<content:encoded><![CDATA[<p>Continuando a saga da configuração do servidor cloud da <strong>Locaweb</strong> que comecei a usar, o que mais me deu dor de cabeça foi o envio de e-mails usando o <em>sendmail</em> do linux. Eu até ia instalar o <em>Postfix</em>, mas estava faltando tempo, então fiz o basico e instalei o <em>sendmail</em> e configurei no<em> php.ini </em>para que ele fosse usado, normalmente, com o</p>
<blockquote><p><em>sendmail -t </em></p></blockquote>
<p>Primeiro teste, e muito lento o envio. Testei denovo, lento denovo&#8230; comecei a ficar preocupado.<br />
Depois de muito vasculhar, cai no <a href="http://forum.locaweb.com.br">forum</a> do própria Locaweb no qual um usuário falava que teve o mesmo problema e que isso tem a ver com os DNS configurados no hosts da instalação padrão do servidor.<br />
Por padrão, ele vem assim:</p>
<blockquote><p><em>127.0.0.1		localhost<br />
187.45.206.79	XXXCNN[xxxx]</em></p></blockquote>
<p>*o [xxxx] é o número da máquina que a Locaweb me forneceu.</p>
<p>O problema é que o sendmail se perde para achar o host, pois não há um domínio completo, e ele fica procurando em diversos locais, por isso a demora.</p>
<p>A solução é simples: só configurar os domínios completos</p>
<blockquote><p><em>127.0.0.1		localhost.localdomain	localhost<br />
187.45.206.79	XXXCNN[xxxx].hospedagemdesites.ws	XXXCNN[xxxx]</em></p></blockquote>
<p>Não sei se a minha explicação dos motivos está totalmente correta &#8211; existem muitas páginas no <em>Google</em> falando a respeito, é só procurar por &#8220;<em>sendmail + dns lookup</em>&#8220;, mas aparentemente a solução funciona <img src='http://www.chrisb.com.br/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3  class="related_post_title">Posts relacionados</h3><ul class="related_post"><li><a href="http://www.chrisb.com.br/blog/script-para-baixar-arquivos-do-svn-e-gerar-zip-automaticamente/" title="Script para baixar arquivos do SVN e gerar .zip automaticamente">Script para baixar arquivos do SVN e gerar .zip automaticamente</a> (2)</li><li><a href="http://www.chrisb.com.br/blog/configurando-acesso-a-pasta-de-uploads-do-wordpress-na-locaweb/" title="Configurando acesso a pasta de uploads do Wordpress na Locaweb">Configurando acesso a pasta de uploads do Wordpress na Locaweb</a> (8)</li><li><a href="http://www.chrisb.com.br/blog/qual-distro-linux-voce-utiliza/" title="Qual distro linux você utiliza?">Qual distro linux você utiliza?</a> (6)</li><li><a href="http://www.chrisb.com.br/blog/do-dos-para-unix-traducao-dos-comandos/" title="Do DOS para Unix: tradução dos comandos">Do DOS para Unix: tradução dos comandos</a> (5)</li><li><a href="http://www.chrisb.com.br/blog/e-minha-time-capsule-chegou/" title="E minha Time Capsule chegou">E minha Time Capsule chegou</a> (11)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.chrisb.com.br/blog/sendmail-no-servidor-linux-muito-lento/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->