<?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>Felipe Ribeiro &#187; web 2.0</title>
	<atom:link href="http://blog.feliperibeiro.com/category/web-20/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.feliperibeiro.com</link>
	<description>My hacks, slides and random stuff</description>
	<lastBuildDate>Fri, 05 Mar 2010 19:04:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Entendendo a ideia por trás do HTML5 e a morte do XHTML2</title>
		<link>http://blog.feliperibeiro.com/2009/08/entendendo-a-ideia-por-tras-do-html5-e-a-morte-do-xhtml2.html</link>
		<comments>http://blog.feliperibeiro.com/2009/08/entendendo-a-ideia-por-tras-do-html5-e-a-morte-do-xhtml2.html#comments</comments>
		<pubDate>Sat, 01 Aug 2009 14:40:48 +0000</pubDate>
		<dc:creator>Felipe Ribeiro</dc:creator>
				<category><![CDATA[browsers]]></category>
		<category><![CDATA[desenvolvimento de software]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[webdesign]]></category>
		<category><![CDATA[comics]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://blog.feliperibeiro.com/?p=246</guid>
		<description><![CDATA[Uma explicação simples dos conceitos utilizados pelo HTML, XHTML e os motivos para o abandono ao padrão XHTML2 e o total foco no HTML5: Fonte: http://www.smashingmagazine.com/2009/07/29/misunderstanding-markup-xhtml-2-comic-strip/]]></description>
			<content:encoded><![CDATA[<p>Uma explicação simples dos conceitos utilizados pelo HTML, XHTML e os motivos para o abandono ao padrão XHTML2 e o total foco no HTML5:</p>
<div align="center"><img class="aligncenter" src="http://feliperibeiro.com/imagens/comic-960px.jpg" alt="" /></div>
<p>Fonte: <a href="http://www.smashingmagazine.com/2009/07/29/misunderstanding-markup-xhtml-2-comic-strip&lt;/a&gt;/">http://www.smashingmagazine.com/2009/07/29/misunderstanding-markup-xhtml-2-comic-strip/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.feliperibeiro.com/2009/08/entendendo-a-ideia-por-tras-do-html5-e-a-morte-do-xhtml2.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Selling software is a hard job</title>
		<link>http://blog.feliperibeiro.com/2009/03/selling-software-is-a-hard-job.html</link>
		<comments>http://blog.feliperibeiro.com/2009/03/selling-software-is-a-hard-job.html#comments</comments>
		<pubDate>Sun, 15 Mar 2009 05:44:52 +0000</pubDate>
		<dc:creator>Felipe Ribeiro</dc:creator>
				<category><![CDATA[desenvolvimento de software]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[geeky]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[comics]]></category>

		<guid isPermaLink="false">http://blog.feliperibeiro.com/?p=229</guid>
		<description><![CDATA[Mais uma excelente tirinha do Geek and Poke: Muitas outras estão disponíveis em: http://geekandpoke.typepad.com]]></description>
			<content:encoded><![CDATA[<p>Mais uma excelente tirinha do Geek and Poke:</p>
<div align='center'>
<img class="aligncenter size-full wp-image-231" title="6a00d8341d3df553ef011168ca571b970cjpg" src="http://blog.feliperibeiro.com/wp-content/uploads/2009/03/6a00d8341d3df553ef011168ca571b970cjpg.jpeg" alt="6a00d8341d3df553ef011168ca571b970cjpg" width="400" height="566" />
</div>
<p>Muitas outras estão disponíveis em: <a href="http://geekandpoke.typepad.com">http://geekandpoke.typepad.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.feliperibeiro.com/2009/03/selling-software-is-a-hard-job.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Caching em PHP com uma técnica &#8220;obscura&#8221; mas muito eficiente</title>
		<link>http://blog.feliperibeiro.com/2008/12/caching-em-php-com-uma-tecnica-obscura-mas-muito-eficiente.html</link>
		<comments>http://blog.feliperibeiro.com/2008/12/caching-em-php-com-uma-tecnica-obscura-mas-muito-eficiente.html#comments</comments>
		<pubDate>Thu, 25 Dec 2008 17:29:41 +0000</pubDate>
		<dc:creator>Felipe Ribeiro</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://blog.feliperibeiro.com/2008/12/caching-em-php-com-uma-tecnica-obscura-mas-muito-eficiente.html</guid>
		<description><![CDATA[Caching é fundamental para a escalabilidade de aplicações Web. Existem diversas ferramentas que oferecem diferentes maneiras de se fazer isso, seja no Smarty, no APC, nos diversos frameworks, ou Memcached para os mais drásticos&#8230; Mas essa é a &#8220;maneira Rasmus Lerdorf&#8221; de se fazer cache com PHP sem nenhuma ferramenta externa e com uma sacada [...]]]></description>
			<content:encoded><![CDATA[<p style="clear: both">Caching é fundamental para a escalabilidade de aplicações Web. Existem diversas ferramentas que oferecem diferentes maneiras de se fazer isso, seja no Smarty, no APC, nos diversos frameworks, ou Memcached para os mais drásticos&#8230;</p>
<p style="clear: both">Mas essa é a &#8220;<a title="Rasmus' trick" href="http://derickrethans.nl/errorhandling/rasmus-trick.html">maneira Rasmus Lerdorf</a>&#8221; de se fazer cache com PHP sem nenhuma ferramenta externa e com uma sacada fenomenal.</p>
<p style="clear: both">Para um servidor Web é <strong>muito</strong> mais rápido servir arquivos estáticos do que esperar que aquele arquivo seja interpretado por algum módulo ou que seja executado em CGI e é isso que esse método faz, gera arquivos estáticos sob demanda, utilizando os recursos que o Apache oferece.</p>
<p style="clear: both">Agora imagine que você tem um site de notícias e quer que elas sejam tratadas como arquivos estáticos, e os links para cada notícia seria algo como:</p>
<p style="clear: both">http://meusite.com.br/noticias/000001.html</p>
<p style="clear: both">1º passo: Setamos nas configurações do Apache para que a página de erro 404 seja um arquivo .php (isso pode ser feito no .htaccess da pasta ou nas configurações do Apache propriamente dito). No caso do .htaccess, basta colocar isso:</p>
<pre><code>
ErrorDocument 404 /noticias/gera_cache.php
</code></pre>
<p style="clear: both">2º passo: Criamos o arquivo gera_cache.php, que irá tratar as requisições que teriam como resposta o erro 404 (Not Found) com o seguinte codigo:</p>
<pre name="code" class="php:colapse:firstline[1]">

&lt;?php
    $id = basename($_SERVER['REDIRECT_URL'], '.html');

    /* Acessa a página dinâmica */
    $html = file_get_contents(sprintf("http://meusite.com.br/noticias.php?id=%d",$id));
    /* O ideal é fazer algum tratamento de erros, para evitar a
     criação de arquivos para ids inválidos */

    /* Exibe o conteúdo */
    header(sprintf('%s 200', $_SERVER['SERVER_PROTOCOL']));
    echo $html;

    /* Salva o conteúdo em um arquivo .html */
    $fp = fopen(sprintf(dirname(__FILE__)."/%d.html", $id), "w");
    fputs($fp, $html);
    fclose($fp);
?&gt;
</pre>
<p style="clear: both">Sendo assim, o que vai acontecer:</p>
<p style="clear: both">Quando o usuário acessar pela primeira vez o link <strong>http://meusite.com.br/noticias/000001.html</strong>, o arquivo <strong>/noticias/000001.html</strong> não existirá e o usuário será redirecionado para o <strong>gera_cache.php</strong>. O <strong>gera_cache.php</strong> acessa a página dinâmica que exibe o conteúdo da página com o id passado (000001) e salva em um html. Nos acessos consecutivos ao <strong>http://meusite.com.br/noticias/000001.html</strong> o arquivo existirá e não passará mais pelo PHP.</p>
<p>É uma técnica bem &#8220;<strong>tricky</strong>&#8221; e que precisa de cuidados, por exemplo, você precisa ter uma rotina que expira os arquivos em cache após algum tempo e quando houver alguma alteração em determinada informação que interfere na página que está em cache, para garantir consistência dos dados. Uma maneira muito simples de se fazer isso é usando a função <a href="http://br2.php.net/filectime">filectime</a> do PHP para checar a idade dos arquivos em uma rotina que rodaria em background e apagaria os que fossem mais velhos que o tempo desejado. Mas funciona muito bem!</p>
<p>P.S.: Um artigo que li dizia que apesar dessa técnica ter se tornado pública através do Rasmus, ela foi criada mesmo pelo <a href="http://pear.php.net/account-info.php?handle=ssb">Stig Bakken</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.feliperibeiro.com/2008/12/caching-em-php-com-uma-tecnica-obscura-mas-muito-eficiente.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Algoritmo de &#8220;Você quis dizer&#8221;</title>
		<link>http://blog.feliperibeiro.com/2008/10/algoritmo-de-voce-quis-dizer.html</link>
		<comments>http://blog.feliperibeiro.com/2008/10/algoritmo-de-voce-quis-dizer.html#comments</comments>
		<pubDate>Wed, 08 Oct 2008 17:09:44 +0000</pubDate>
		<dc:creator>Felipe Ribeiro</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[desenvolvimento de software]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[algoritmo]]></category>
		<category><![CDATA[busca]]></category>

		<guid isPermaLink="false">http://blog.feliperibeiro.com/?p=126</guid>
		<description><![CDATA[Recentemente precisei implementar um sistema de correção ortográfica à la Google. Pesquisei bastante sobre como fazer isso, e encontrei duas maneiras que explicarei agora, mas antes disso explicarei algo que é comum às duas: A criação do dicionário Para criar o dicionário, você precisa ter uma base de palavras, que idealmente é um arquivo txt. [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente precisei implementar um sistema de correção ortográfica à la Google.</p>
<p>Pesquisei bastante sobre como fazer isso, e encontrei duas maneiras que explicarei agora, mas antes disso explicarei algo que é comum às duas: <strong>A criação do dicionário</strong></p>
<p>Para criar o dicionário, você precisa ter uma base de palavras, que idealmente é um arquivo txt.</p>
<p>Você lê o arquivo e cria um array onde as palavras são as chaves e as frequências com que aparecem nos textos serão os valores.</p>
<pre name='code' class='php'>
&lt;?php
$text = file_get_contents('arquivo.txt');
preg_match_all("/[a-z]+/",strtolower($text),$matches);
$palavras = $matches[0];
$dicionario = array();
foreach($palavras as $palavra)
	$dicionario[$palavra] += 1;
sort($dicionario); /* Essa ordenação será útil para otimização de performance
                               no primeiro algoritmo */
file_put_contents('dicionario_serializado.dat',serialize($dicionario));
?&gt;
</pre>
<p>1 &#8211; Algoritmo de Levenshtein</p>
<p>PHP implementa nativamente o algoritmo de Levenshtein (<a href="http://php.net/levenshtein">http://php.net/levenshtein</a>), que calcula a distância de edição entre duas palavras, funcionando da seguinte forma:</p>
<ul>
<li>suponha que eu tenha duas palavras: água e mágua &#8211;  A distância de edição delas é de uma inserção de carácter</li>
<li>suponha que eu tenha as palavras: casa e caixa &#8211; A distância delas é de uma substituição (s por i) e uma inserção (x)</li>
<li>suponha que eu tenha as palavras: arrocho e arroto &#8211; A distância delas é de uma substituição e uma remoção.</li>
</ul>
<p>A função levenshtein também permite que você dê pesos diferenciados para inserção/remoção/substituição, sendo que o valor default é 1 para todas operações. Usando essa função, fica simples implementar um corretor, supondo que você tem um dicionário que já citei, você só precisa fazer:</p>
<pre name='code' class='php'>
&lt;?php
function voce_quis_dizer($palavra_procurada) {
	$dicionario = unserialize(file_get_contents(‘dicionario_serializado.dat’));
	$minima_distancia = -1;
	$palavra_procurada = strtolower($palavra_procurada);
	foreach($dicionario as $palavra_do_dicionario) {
		if($palavra_procurada == $palavra_do_dicionario) return $palavra;
		$distancia = levenshtein($palavra_procurada,$palavra_do_dicionario);
		if($distancia < $minima_distancia || $minima_distancia == -1) {
			$minima_distancia = $distancia;
			$sugestao = $palavra_do_dicionario;
		}
	}
return $sugestao;
}
?&gt;
</pre>
<p>Análise de desempenho:</p>
<p>Considerando que temos <strong>k</strong> palavras no dicionário, a palavra que desejamos procurar tem <strong>m</strong> letras e cada palavra do dicionário tem em média <strong>n</strong> letras, o algoritmo de Levenshtein tem ordem de complexidade <strong>O(m*n)</strong> onde para <strong>k</strong> comparações (no caso da palavra <strong>não</strong> existir no dicionário, já que se ela existir não teremos nenhuma comparação) teremos <strong>O(k*m*n)</strong> (<strong>k*m*n</strong> operações onde <strong>k</strong> é muito maior que <strong>m</strong> e <strong>n</strong>).</p>
<p>2 - Algoritmo de Peter Norvig</p>
<p>Toda explicação probabilística desse algorítmo está presente no site do Norvig, um cara renomado na área de inteligência artificial: <a href="http://norvig.com/spell-correct.html">http://norvig.com/spell-correct.html</a>. Mas basicamente esse algoritmo apesar de mais complicado é bem mais inteligente que o primeiro. O que ele faz é o seguinte: gera perturbações na sua palavra procurada e vê quais dessas perturbações é a mais relevante no dicionário. Evitando comparações desnecessárias, já que no primeiro algoritmo cada palavra que você colocar será comparada com todas as outras (por exemplo: se você digitar BOLA, e ela não existir no dicionário ela será comparada com palavras absurdas como: LIVRO, que obviamente não é o que você quis dizer).</p>
<p>Apesar do conceito do Norvig ser simples, o código é um pouquinho complicado. Então eu criei uma classe que implementa ele e disponibilizei sob Licença BSD no PHPClasses.org (<a href="http://www.phpclasses.org/browse/file/24605.html">http://www.phpclasses.org/browse/file/24605.html</a>) e tenho recebido elogios e feedback muito positivo de quem está usando.</p>
<p>Análise de desempenho:</p>
<p>Considerando <strong>26</strong> letras do alfabeto (depois da reforma da língua portuguesa, agora também temos 26 letras! <img src='http://blog.feliperibeiro.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ) e considerando que sua palavra tem <strong>m</strong> letras, teremos mais ou menos 26*m iterações para gerar as possíveis perturbações na palavra (inserções, remoções e substituições possíveis), e para garantir um segundo nível de perturbações teremos aproximadamente <strong>26*m</strong> para cada perturbação gerada, que dá um total de aproximadamente (26*m)*(26*m) = 676 m². Agora só precisamos consultar cada uma das perturbações para vermos qual a mais relevante no dicionário. Cada consulta no dicionário é <strong>O(1)</strong> então desprezaremos na análise de performance.</p>
<p>E podemos considerar esse algoritmo como sendo mais eficiente do que o primeiro pois o tempo de execução cresce de acordo com o quadrado do tamanho da palavra (que normalmente é bem menor do que o tamanho do dicionário). Enquanto o primeiro sofre interferência do tamanho do dicionário e do tamanho médio das palavras contidas lá, então esse é bem mais inteligente e eficiente.</p>
<p>Espero ter ajudado!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.feliperibeiro.com/2008/10/algoritmo-de-voce-quis-dizer.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Computação em nuvem – a nova tendência do mundo digital.</title>
		<link>http://blog.feliperibeiro.com/2008/05/computacao-em-nuvem-%e2%80%93-a-nova-tendencia-do-mundo-digital.html</link>
		<comments>http://blog.feliperibeiro.com/2008/05/computacao-em-nuvem-%e2%80%93-a-nova-tendencia-do-mundo-digital.html#comments</comments>
		<pubDate>Mon, 26 May 2008 14:31:41 +0000</pubDate>
		<dc:creator>Felipe Ribeiro</dc:creator>
				<category><![CDATA[desenvolvimento de software]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://blog.feliperibeiro.com/?p=93</guid>
		<description><![CDATA[O nome soa estranho, mas computação em nuvem é a tradução do termo “Cloud Computing” que vem rondando o vale do Silício há algum tempo e é um conceito que assusta gigantes do mundo do PC como a Microsoft e abre espaço para milhões de pequenas empresas na Web – as startups. A idéia da [...]]]></description>
			<content:encoded><![CDATA[<p>O nome soa estranho, mas computação em nuvem é a tradução do termo “Cloud Computing” que vem rondando o vale do Silício há algum tempo e é um conceito que assusta gigantes do mundo do PC como a Microsoft e abre espaço para milhões de pequenas empresas na Web – as <em><strong>startups.</strong></em></p>
<p>A idéia da computação em nuvem apresenta uma nova maneira de organização do mundo digital, que deixa de ser <strong>“PCcêntrico”</strong> e passa a ser <strong>“WEBcêntrico”</strong>, já que a tal nuvem é a própria Web, com os softwares deixando de ser produtos e se tornando serviços.</p>
<p>Dessa maneira, seus dados, documentos e ferramentas estariam hospedados em grandes servidores na Web e você acessaria tudo através do navegador, que seria uma espécie de cliente universal e assim você teria acesso aos seus arquivos a partir de qualquer computador no mundo e também exigiria menos dos PCs o que possibilitaria a produção de máquinas ainda mais baratas.</p>
<p>E o software como serviço abole de vez com as licenças e softwares de prateleira, pois você não precisa mais instalar nada, apenas paga-se uma taxa para usar um serviço online por um determinado tempo e no caso de serviços gratuitos, alguém está pagando para você: OS ANUNCIANTES.</p>
<p>Isso já vem acontecendo aos poucos com a oferta de serviços na Web de suítes de escritório e ferramentas de edição de imagem, entre outros e a tendência é que nas máquinas só estejam instalados softwares básicos.</p>
<p><strong>Mas por quê a Microsoft deve se preocupar?</strong></p>
<p><strong></strong>A política da Microsoft de vender software na caixinha fica obsoleta com essa novidade, e os usuários costumavam optar pelos MS Windows pelo enorme leque de opções de softwares compatível com ele. Porém se a idéia da computação em nuvem se concretizar, as aplicações se tornam independentes de plataforma e qualquer pessoa em qualquer sistema operacional que tenha um browser que implemente razoavelmente os padrões web W3C, como o excelente Mozilla Firefox, poderá ter acesso às tais aplicações, e essa é mais uma chance que o Linux tem de decolar.</p>
<p><strong>E o que ainda falta?</strong></p>
<p>Na minha humilde opinião ainda existe um <em>gap</em> que precisa ser considerado: o gargalo da rede. As aplicações Web estão conseguindo um nível de responsividade muito alto, mas para se equiparar aos potentes computadores modernos rodando aplicações stand-alone ainda há um caminho árduo a ser percorrido e não acho que seja algo que é feito da noite para o dia, mas sim algo gradual e relativamente lento, como realmente vem acontecendo.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.feliperibeiro.com/2008/05/computacao-em-nuvem-%e2%80%93-a-nova-tendencia-do-mundo-digital.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Browsershots.org &#8211; Teste seu site em vários browsers</title>
		<link>http://blog.feliperibeiro.com/2008/01/browsershotsorg-teste-seu-site-em-varios-browsers.html</link>
		<comments>http://blog.feliperibeiro.com/2008/01/browsershotsorg-teste-seu-site-em-varios-browsers.html#comments</comments>
		<pubDate>Fri, 01 Feb 2008 02:38:00 +0000</pubDate>
		<dc:creator>Felipe Ribeiro</dc:creator>
				<category><![CDATA[browsers]]></category>
		<category><![CDATA[desenvolvimento de software]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.feliperibeiro.com/blog/?p=78</guid>
		<description><![CDATA[A dica do dia é: http://browsershots.org, um site onde você pode obter o screenshot do seu site nos mais diversos browsers em diferentes versões e SO&#8217;s. Realmente muito bacana! Update: E para pegar um shot da pagina completa, tem esse serviço web bem bacana]]></description>
			<content:encoded><![CDATA[<p>A dica do dia é: <a href="http://browsershots.org/">http://browsershots.org</a>, um site onde você pode obter o screenshot do seu site nos mais diversos browsers em diferentes versões e SO&#8217;s. Realmente muito bacana!</p>
<p>Update: E para pegar um shot da pagina completa, tem <a href="http://www.superscreenshot.com/">esse</a> serviço web bem bacana</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.feliperibeiro.com/2008/01/browsershotsorg-teste-seu-site-em-varios-browsers.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Não acredito em profissionais &quot;Bombril&quot; na Web</title>
		<link>http://blog.feliperibeiro.com/2008/01/nao-acredito-em-profissionais-bombril-na-web.html</link>
		<comments>http://blog.feliperibeiro.com/2008/01/nao-acredito-em-profissionais-bombril-na-web.html#comments</comments>
		<pubDate>Thu, 03 Jan 2008 13:45:00 +0000</pubDate>
		<dc:creator>Felipe Ribeiro</dc:creator>
				<category><![CDATA[desenvolvimento de software]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.feliperibeiro.com/blog/?p=75</guid>
		<description><![CDATA[Com o aumento da complexidade de recursos dos sites na Web, o termo Webmaster entra cada vez mais em extinção. Antigamente, quando tudo era mais simples e feio, com sites em HTML estático e cheio de GIFs piscantes, era comum ter um cara que era responsável por tudo, o webmaster. Mas agora é cada vez [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://feliperibeiro.com/imagens/bombril7.jpg" align="left" hspace="5" vspace="2" />Com o aumento da complexidade de recursos dos sites na Web, o termo <strong>Webmaster</strong> entra cada vez mais em extinção.</p>
<p>Antigamente, quando tudo era mais simples e feio, com sites em HTML estático e cheio de GIFs piscantes, era comum ter um cara que era responsável por tudo, o webmaster.</p>
<p>Mas agora é cada vez mais difícil ter conhecimento suficiente para ser um <strong>bom</strong> designer e <strong>bom</strong> programador, eu me atrevo a dizer que seja <strong>impossível</strong>. E vou justificar&#8230;</p>
<p>As duas áreas podem ser extremamente profundas, design não é só fazer efeitos legais no Photoshop, nem programação é apenas fazer um <a href="http://pt.wikipedia.org/wiki/crud"><strong>CRUD</strong></a> em <s>drag&#8217;n'drop Net</s> dot Net</p>
<p>Um profissional de design precisa ter conhecimentos teóricos na área, saber criar conceitos, prezar pela usabilidade, ergonomia, sem esquecer da beleza e do conforto do usuário com cores e formas adequadas, e isso requer estudo, não é só questão de ter um &#8220;bom gosto&#8221;. Fora que muitas vezes a arte que é mostrada no site de uma empresa é a continuação de toda uma campanha que ocorre também fora do &#8220;cybermundo&#8221;.</p>
<p>E um profissional de desenvolvimento de software precisa conhecer algoritmos, padrões de projetos, tecnologias diversas, técnicas de otimização de performance, segurança, etc.</p>
<p>Existem <em>pseudo-profissionais</em> que se auto-intitulam web designers <strong>e</strong> programadores, e eu sinceramente não acredito nisso. Um programador pode até escolher um formato bacaninha pra mostrar sua informação e tal, mas está longe de ser um designer profissional, e um designer pode até colocar um reloginho em JavaScript mas também está longe de ser um programador.</p>
<p>São mundos bem diferentes com profissionais de perfis diferentes que se juntam na Web, e para que essa junção seja mais harmoniosa, existe um cara que é híbrido, é o programador de interfaces, caras que sacam um pouco de cá e um pouco de lá e que trabalham na equipe para fazer com que as coisas encaixem mais perfeitamente, pois nem sempre um designer vai saber XHTML, CSS, e etc. Em muitos casos ele sabe criar e desenhar, o programador de interfaces que se vira para adaptar a arte dele para o mundo da Web e interagir com o sistema que é criado pela equipe de programação. Mas também há casos que designers desempenham essa função e há outros em que o programador o faz, cada caso é um caso&#8230; mas ainda não existe profissional completo que cuide de tudo, e se faz não é profissional ou não faz bem feito como deveria.</p>
<p>P.S.: Quero avisar aos poucos, porém queridos, leitores desse blog que meu aniversário é domingo, e caso queiram presentear esse que vos escreve, sintam-se a vontade! <img src='http://blog.feliperibeiro.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  Aqui vai um endereço que talvez possa lhe ajudar: <a href="http://feliperibeiro.com/wishlist">http://feliperibeiro.com/wishlist</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.feliperibeiro.com/2008/01/nao-acredito-em-profissionais-bombril-na-web.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Paleta de cores da Web 2.0</title>
		<link>http://blog.feliperibeiro.com/2007/12/paleta-de-cores-da-web-20.html</link>
		<comments>http://blog.feliperibeiro.com/2007/12/paleta-de-cores-da-web-20.html#comments</comments>
		<pubDate>Sat, 29 Dec 2007 04:50:00 +0000</pubDate>
		<dc:creator>Felipe Ribeiro</dc:creator>
				<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.feliperibeiro.com/blog/?p=74</guid>
		<description><![CDATA[Um post (antigo, mas) interessante sobre as cores usadas nos sites mais &#8220;famosos&#8221; dos últimos tempos: http://www.modernlifeisrubbish.co.uk/article/web-2.0-colour-palette]]></description>
			<content:encoded><![CDATA[<p><span>Um post (antigo, mas) interessante sobre as cores usadas nos sites mais &#8220;famosos&#8221; dos últimos tempos:<br />
</span><a href="http://www.modernlifeisrubbish.co.uk/article/web-2.0-colour-palette">http://www.modernlifeisrubbish.co.uk/article/web-2.0-colour-palette</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.feliperibeiro.com/2007/12/paleta-de-cores-da-web-20.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
