<?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>WEB COM FARINHA</title>
	<atom:link href="http://webcomfarinha.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://webcomfarinha.com/blog</link>
	<description>Devorando a Web... e Comendo com Farinha</description>
	<lastBuildDate>Tue, 31 Aug 2010 04:02:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>calendar_date_select: Calendário Javascript no Rails</title>
		<link>http://webcomfarinha.com/blog/?p=510</link>
		<comments>http://webcomfarinha.com/blog/?p=510#comments</comments>
		<pubDate>Tue, 31 Aug 2010 04:02:05 +0000</pubDate>
		<dc:creator>Matheus</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[calendar_date_select]]></category>

		<guid isPermaLink="false">http://webcomfarinha.com/blog/?p=510</guid>
		<description><![CDATA[Continuando minha jornada no aprendizado do Rails, deparei-me com a tarefa de preencher um formulário com datas. A opção de disponibilizar ao usuário a visualização de um calendário para escolha de uma data é bastante aplicada hoje em dia devido a facilidade e beleza disponibilizada. Com o Rails, dei uma olhada na gem calendar_date_select e [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Continuando minha jornada no aprendizado do Rails, deparei-me com a tarefa de preencher um formulário com datas. A opção de disponibilizar ao usuário a visualização de um calendário para escolha de uma data é bastante aplicada hoje em dia devido a facilidade e beleza disponibilizada.</p>
<p style="text-align: justify;">Com o Rails, dei uma olhada na gem <em>calendar_date_select</em> e este atendeu às necessidades além de ser muito fácil configurar e inserir em seu código.</p>
<h2 style="text-align: justify;">Instalando</h2>
<p style="text-align: justify;">
<p style="text-align: justify;">Bem, utilizei para exemplo Rails 2.3.8.</p>
<p style="text-align: justify;">Caso você deseje apenas instalar em um projeto, escolha:</p>
<p style="text-align: justify;"><strong><span style="color: #888888;"><em>$ cd my_app</em></span></strong></p>
<p style="text-align: left;"><span style="color: #888888;"><em><strong>$ script/plugin install http://calendardateselect.googlecode.com/svn/tags/calendar_date_select</strong></em></span></p>
<p style="text-align: justify;">Isto instalará o plugin dentro do diretório <span style="color: #888888;"><strong><em>my_app/vendor/plugins</em></strong></span></p>
<p style="text-align: justify;">Você também pode optar por instalar a gem em seu ambiente</p>
<p style="text-align: justify;"><span style="color: #888888;"><em><strong>$ gem install calendar_date_select</strong></em></span></p>
<p style="text-align: justify;">sendo a versão mais atual até a confecção deste post a 1.6.1 e adicionar ao arquivo environment.rb a dependência de sua aplicação com a gem:</p>
<p style="text-align: justify;">
<div class="dean_ch" style="white-space: wrap;">config.<span class="me1">gem</span> <span class="st0">&quot;calendar_date_select&quot;</span></div>
<p style="text-align: justify;">
<h2 style="text-align: justify;">Utilizando</h2>
<p style="text-align: justify;">De forma simples e resumida, primeiramente, devemos adicionar em nosso layout, a chamada para os arquivos javascripts do Rails:</p>
<div class="dean_ch" style="white-space: wrap;">&lt;%= javascript_include_tag <span class="re3">:defaults</span> %&gt;</div>
<p style="text-align: justify;">em seguida a chamada aos arquivos javascript e css do calendário:</p>
<div class="dean_ch" style="white-space: wrap;">&lt;%= calendar_date_select_includes <span class="st0">&quot;silver&quot;</span>%&gt;</div>
<p style="text-align: justify;">O calendar_date_select proporciona diversas maneiras de utilização. Você pode conferir diversas formas de integração com o seu projeto no site <a href="http://electronicholas.com/calendar" target="_blank">demo</a>. No caso mais simples, para a inserção de uma data em um formulário, apenas adicionamos na view do formulário:</p>
<div class="dean_ch" style="white-space: wrap;">&lt;%= calendar_date_select_tag <span class="st0">&quot;minha_data&quot;</span> %&gt;</div>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">No meu caso, como a data é um atributo de meu modelo Edição do Evento, associei-o:</p>
<div class="dean_ch" style="white-space: wrap;">&lt;% form_for<span class="br0">&#40;</span><span class="br0">&#91;</span>@event, <span class="re1">@event_edition</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="kw1">do</span> |f| %&gt;<br />
&nbsp; &nbsp; &lt;%= f.<span class="me1">label</span> <span class="re3">:start_date</span> %&gt;&lt;br /&gt;<br />
&nbsp; &nbsp; &lt;%= calendar_date_select_tag  <span class="st0">&quot;event_edition[start_date]&quot;</span>, <span class="re1">@event_edition</span>.<span class="me1">start_date</span> %&gt;<br />
&lt;% <span class="kw1">end</span> %&gt;</div>
]]></content:encoded>
			<wfw:commentRss>http://webcomfarinha.com/blog/?feed=rss2&amp;p=510</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retorno de Valor com o Operador IF</title>
		<link>http://webcomfarinha.com/blog/?p=564</link>
		<comments>http://webcomfarinha.com/blog/?p=564#comments</comments>
		<pubDate>Wed, 04 Aug 2010 19:19:16 +0000</pubDate>
		<dc:creator>Matheus</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://webcomfarinha.com/blog/?p=564</guid>
		<description><![CDATA[Quando escrevemos métodos em Ruby, sabemos que a última linha lida/executada no método corresponde ao valor de retorno deste. A dica rápida de hoje é que, apesar do operador IF &#8220;não ser um método&#8221;, ele também retorna uma resposta! Observe o exemplo: ensolarado = true local = &#160;if ensolarado &#160; &#160; &#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Quando escrevemos métodos em Ruby, sabemos que a última linha lida/executada no método corresponde ao valor de retorno deste.</p>
<p style="text-align: justify;">A dica rápida de hoje é que, apesar do operador IF &#8220;não ser um método&#8221;, ele também retorna uma resposta! Observe o exemplo:</p>
<div class="dean_ch" style="white-space: wrap;">ensolarado = <span class="kw2">true</span><br />
local = &nbsp;<span class="kw1">if</span> ensolarado<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&quot;praia&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&quot;cinema&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">end</span></div>
<p style="text-align: justify;">Bem melhor do que atribuir o valor para a variável &#8216;local&#8217; dentro dos blocos não é?</p>
]]></content:encoded>
			<wfw:commentRss>http://webcomfarinha.com/blog/?feed=rss2&amp;p=564</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autenticação no Ruby on Rails com Devise</title>
		<link>http://webcomfarinha.com/blog/?p=521</link>
		<comments>http://webcomfarinha.com/blog/?p=521#comments</comments>
		<pubDate>Mon, 02 Aug 2010 23:06:21 +0000</pubDate>
		<dc:creator>Matheus</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[autenticação]]></category>
		<category><![CDATA[devise]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ror]]></category>

		<guid isPermaLink="false">http://webcomfarinha.com/blog/?p=521</guid>
		<description><![CDATA[Simples tutorial de instalação e configuração do Devise como recurso na autenticação de usuários no Ruby on Rails. Um bom espaço para conhecer o Devise é no blog da empresa que desenvolveu a gem. Tanto no blog da PlataformaTec quanto no github do projeto, existem diversos documentos que fornecem uma excelente documentação para quem quer utilizar o Devise. Neste primeiro post, vou mostrar procedimentos básicos, mas suficientes para integrar e configurar o Devise com seu projeto.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft" src="http://lh6.ggpht.com/_Zd2EyrjMBKY/S1d9JmqsbJI/AAAAAAAAAKA/pZ0VIT5p_fk/encriptar-md5.png" alt="" width="154" height="154" />Resolvi utilizar o <a href="http://github.com/plataformatec/devise" target="_blank">Devise </a>para autenticação de usuários no rails. Existem outras alternativas como <a href="http://github.com/binarylogic/authlogic" target="_blank">Authologic</a>, <a href="http://github.com/thoughtbot/clearance" target="_blank">Clearance</a>, etc. Não sei responder qual destas é a melhor ou mais completa. Contudo, após uma pesquisa em fóruns e na comunidade ativa do rails, percebi que muitos adotam o Devise para autenticação e o CanCan para autorização (falarei mais adiante sobre ele) em projetos que necessitam destes recursos. Logo, cabe a você, desenvolvedor, escolher os recursos que mais lhe agradem e que resolvam as suas necessidades e problemas.</p>
<p style="text-align: justify;">Um bom espaço para conhecer o Devise é no <a href="http://blog.plataformatec.com.br/tag/devise/" target="_blank">blog</a> da empresa que desenvolveu a gem. Tanto no blog da PlataformaTec quanto no <a href="http://github.com/plataformatec/devise" target="_blank">github</a> do projeto, existem diversos documentos que fornecem uma excelente documentação para quem quer utilizar o Devise.</p>
<p style="text-align: justify;">Neste primeiro post, vou mostrar procedimentos básicos, mas suficientes para integrar e configurar o Devise com seu projeto.</p>
<p style="text-align: justify;">
<p style="text-align: justify;"><span id="more-521"></span></p>
<h2 style="text-align: justify;">Condições Iniciais</h2>
<p style="text-align: justify;">Primeiramente, deixo aqui a configuração do ambiente que utilizei para este post:</p>
<ul>
<li>
<div style="text-align: justify;">Ubuntu 10.04</div>
</li>
<li>
<div style="text-align: justify;">Ruby 1.8.7 MRI</div>
</li>
<li>
<div style="text-align: justify;">Rubygems 1.3.7</div>
</li>
<li>
<div style="text-align: justify;">Rails 2.3.8</div>
</li>
</ul>
<h2 style="text-align: justify;">Instalando a GEM</h2>
<p style="text-align: justify;">Para minha configuração, segundo a <a href="http://github.com/plataformatec/devise" target="_blank">documentação</a> do Devise até a data deste post, a versão da gem que preciso instalar é a 1.0.8. Se você já está utilizando Rails 3, consulte a página do Devise para saber qual a melhor versão indicada.</p>
<p style="text-align: justify;"><strong><em><span style="color: #ff0000;">$ sudo gem install devise -v 1.0.8</span></em></strong></p>
<p style="text-align: justify;">Este comando, instalará o devise e o warden (necessário para o correto funcionamento).</p>
<p style="text-align: justify;">Você pode verificar se as gems foram instaladas através de:</p>
<p style="text-align: justify;"><strong><em><span style="color: #ff0000;">$ gem list</span></em></strong></p>
<p style="text-align: justify;"><strong><em><span style="color: #ff0000;"><br />
</span></em></strong></p>
<h2 style="text-align: justify;">Configurando</h2>
<p style="text-align: justify;">Precisamos informar ao rails do nosso projeto que este dependerá da gem Devise. No arquivo e<em>nviroment.rb </em>adicionamos a seguinte linha:</p>
<p style="text-align: justify;">
<div class="dean_ch" style="white-space: wrap;">config.<span class="me1">gem</span> <span class="st0">&quot;devise&quot;</span>,  <span class="re3">:version</span> =&gt; <span class="st0">&quot;1.0.8&quot;</span></div>
<p style="text-align: justify;">A informação da versão é opcional, porém por questões de compatibilidade com o projeto, achei conveniente informar. Se você desejar vendorizar a gem para a sua aplicação (importar para /vendor/gems) execute:</p>
<p style="text-align: justify;">
<div class="dean_ch" style="white-space: wrap;">rake gems:unpack</div>
<p style="text-align: justify;">Isto importará a gem Devise, ou ainda</p>
<p style="text-align: justify;">
<div class="dean_ch" style="white-space: wrap;">rake gems:unpack:dependencies</div>
<p>que vendorizará as gems necessárias e todas as suas dependências (neste caso Devise + warden). Depois rodamos o seguinte comando rake:</p>
<div class="dean_ch" style="white-space: wrap;">rake gems:build<br />
&nbsp;</div>
<h2 style="text-align: justify;">Utilizando o Devise</h2>
<p style="text-align: justify;">Vamos criar uma aplicação em que existirá uma seção Eventos onde somente usuários cadastrados no site podem acessar a página. Utilizando o scaffold para agilizar esta parte:</p>
<p style="text-align: justify;"><strong><em><span style="color: #ff0000;">$ script/generate scaffold Event name:string info:text</span></em></strong></p>
<p style="text-align: justify;">Feito isto, iniciamos o uso do Devise, onde precisamos rodar primeiramente a instalação do devise em nossa aplicação:</p>
<p style="text-align: justify;"><strong><em><span style="color: #ff0000;">$ script/generate devise_install</span></em></strong></p>
<p style="text-align: justify;">Assim que voce rodar o comando acima, 3 passos da configuração deverão ser feitas manualmente:</p>
<p>1. Adicionar em <em>config/enviroments/development.rb</em> a seguinte linha:</p>
<div class="dean_ch" style="white-space: wrap;">config.<span class="me1">action_mailer</span>.<span class="me1">default_url_options</span> = <span class="br0">&#123;</span> <span class="re3">:host</span> =&gt; &nbsp;<span class="st0">&#8216;localhost:3000&#8242;</span> <span class="br0">&#125;</span></div>
<p>(caso o endereço do host de desenvolvimento seja  este)</p>
<p>2. Verificar se no arquivo de rotas <em>(config/routes.rb</em>) existe a definição de uma url root como:</p>
<div class="dean_ch" style="white-space: wrap;">map.<span class="me1">root</span> <span class="re3">:controller</span> =&gt; <span class="st0">&#8216;home&#8217;</span></div>
<p>3. Verificar se existe o arquivo de layout padrão (<em>views/layouts</em>) e a chamada de mensagens flash</p>
<div class="dean_ch" style="white-space: wrap;">&lt;p&gt;&lt;%= flash<span class="br0">&#91;</span><span class="re3">:notice</span><span class="br0">&#93;</span> %&gt;&lt;/p&gt;</div>
<div class="dean_ch" style="white-space: wrap;">&lt;p&gt;&lt;%= flash<span class="br0">&#91;</span><span class="re3">:alert</span><span class="br0">&#93;</span> %&gt;&lt;/p&gt;</div>
<p style="text-align: justify;">Agora, podemos criar nosso model User com a autenticação:</p>
<p style="text-align: justify;"><strong><em><span style="color: #ff0000;">$ script/generate devise User</span></em></strong></p>
<p style="text-align: justify;">Caso o model User já exista não tem problema, pois o Devise apenas adicionará todos os recursos necessários para a autenticação.</p>
<p style="text-align: justify;">Repare agora que alguns arquivos foram criados como a migration para criação da tabela de usuários no banco de dados assim como o model user.rb. Vale a pena conferir a estrutura e o conteúdo destes arquivos para entender quais campos são criados e habilitar os recursos necessários para seu projeto.</p>
<p style="text-align: justify;">Verifique também em seu arquivo config/routes.rb se foi adicionado a seguinte linha:</p>
<div style="text-align: justify;">
<div class="dean_ch" style="white-space: wrap;">devise_for <span class="re3">:users</span></div>
<p style="text-align: justify;">Feito isto, atualizamos nosso banco de dados com:</p>
<p style="text-align: justify;"><strong><em><span style="color: #ff0000;">$ rake db:migrate</span></em></strong></p>
<p style="text-align: justify;">Observe que a autenticação já funciona! No nosso caso, possuímos os seguintes endereços:</p>
<ul>
<li>
<div style="text-align: justify;"><a href="http://localhost:3000/users_sign_in">localhost:3000/users_sign_in</a> : fazer login (iniciar sessão)</div>
</li>
<li>
<div style="text-align: justify;">localhos:3000/users_sign_out :fazer logout (destruir sessão)</div>
</li>
<li>
<div style="text-align: justify;">localhost:3000/users_sign_up : cadastrar novo usuário</div>
</li>
</ul>
<p style="text-align: justify;">No controller de Eventos, basta adicionar</p>
<p style="text-align: justify;">
<div class="dean_ch" style="white-space: wrap;">before_filter <span class="re3">:authenticate_user</span>!</div>
<p style="text-align: justify;">que habilitará a necessidade da autenticação de um usuário para todas as actions do Evento.</p>
<h2 style="text-align: justify;">Conclusão</h2>
<p style="text-align: justify;">Em outros posts, falarei mais sobre algumas configurações que o Devise proporciona. Mas nada impede de olhar a documentação dele que é muito fácil e completa! Recomendo também fortemente assistir os episódios do <a href="http://railscasts.com/episodes?search=devise" target="_blank">RailsCasts</a> sobre o Devise.</p>
<p style="text-align: justify;">Valeu!</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://webcomfarinha.com/blog/?feed=rss2&amp;p=521</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Exemplos e Demonstrações do HTML5</title>
		<link>http://webcomfarinha.com/blog/?p=492</link>
		<comments>http://webcomfarinha.com/blog/?p=492#comments</comments>
		<pubDate>Sat, 22 May 2010 12:18:40 +0000</pubDate>
		<dc:creator>Matheus</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://webcomfarinha.com/blog/?p=492</guid>
		<description><![CDATA[HTML5&#8230;.. Assunto que está bombando no nosso meio. Confesso que ainda não iniciei meus estudos na nova versão da linguagem pois há ainda muito que aprender em outros tópicos. Porém, é fato que não se pode fechar os olhos e não acompanhar as novidades nas especificações além dos belos e eficientes exemplos que surgem a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">HTML5&#8230;..</p>
<p style="text-align: justify;">Assunto que está bombando no nosso meio. Confesso que ainda não iniciei meus estudos na nova versão da linguagem pois há ainda muito que aprender em outros tópicos. Porém, é fato que não se pode fechar os olhos e não acompanhar as novidades nas especificações além dos belos e eficientes exemplos que surgem a cada dia.</p>
<p style="text-align: justify;">O <a href="http://pt.wikipedia.org/wiki/HTML_5" target="_blank">HTML5</a> veio para ficar e junto com outras &#8220;evoluções&#8221; de outras linguagens, técnicas, vêem com o intuito de melhorar o modo como fazemos a web trazendo um pouco mais de semântica. Claro que tudo depende de quem está entre o monitor e a cadeira corcordam?</p>
<p style="text-align: justify;">Venho neste post mostrar um site interessante: o <a href="http://html5demos.com/" target="_blank">HTML5 Demos</a>. Um site que mostra alguns recursos e novidades da nova versão da linguagem como vídeo, áudio, canvas, geolocalização e muito mais. O bacana também é que o espaço fornece uma amostra de quais novos recursos são compatíveis com os principais navegadores. Vale a pena conferir:</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://www.webresourcesdepot.com/wp-content/uploads/html5-demos.gif" alt="html5 demos" width="480" height="190" /></p>
<p style="text-align: justify;"><a href="http://html5demos.com/" target="_blank">http://html5demos.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webcomfarinha.com/blog/?feed=rss2&amp;p=492</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sites para Auxiliar o Desenvolvedor Web</title>
		<link>http://webcomfarinha.com/blog/?p=482</link>
		<comments>http://webcomfarinha.com/blog/?p=482#comments</comments>
		<pubDate>Thu, 20 May 2010 01:08:32 +0000</pubDate>
		<dc:creator>Matheus</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Truques e Dicas]]></category>
		<category><![CDATA[Truque e Dicas]]></category>

		<guid isPermaLink="false">http://webcomfarinha.com/blog/?p=482</guid>
		<description><![CDATA[Existem centenas de sites na web que fornecem serviços que podem auxiliar o desenvolvedor em sua tarefa. Abaixo, seguem alguns sites que podem ajudar você na execução de seus projetos &#160; MySql Format Date Problemas em escrever ou executar queries no MySql com datas? Este site bem bacana fornece a opção de você configurar o [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Existem centenas de  sites na web que fornecem serviços que podem auxiliar o desenvolvedor em sua tarefa. Abaixo, seguem alguns sites que podem ajudar você na execução de seus projetos</p>
<p style="text-align: justify;">&nbsp;</p>
<h2 style="text-align: justify;">MySql Format Date</h2>
<p style="text-align: justify;">Problemas em escrever ou executar queries no MySql com datas? Este site bem bacana fornece a opção de você configurar o formato de data que você deseja de retorno em sua query e ele gera para vocẽ o código para inserir em sua implementação. O site baseia-se na funçao MySQL DATE_FORMAT.</p>
<p style="text-align: justify;">Visite o site: <a href="http://www.mysqlformatdate.com/" target="_blank">http://www.mysqlformatdate.com/</a></p>
<p><span id="more-482"></span></p>
<p style="text-align: justify;">&nbsp;</p>
<h2 style="text-align: justify;">Script Src</h2>
<p style="text-align: justify;">Achei esta ideia bem bacana. O site fornece a opção de você copiar a script tag da última versão de várias bibliotecas Javascript. Não sabe qual a última versão do jQuery, Mootools, Prototype? Basta acessar o site e obter o código completo para inserir em seu projeto.</p>
<p style="text-align: justify;">Por exemplo: Para o jQuery ele fornece-me o seguinte resultado:</p>
<p style="text-align: justify;">&lt;script type=&#8221;text/javascript&#8221; src=&#8221;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&#8221;&gt;&lt;/script&gt;</p>
<p style="text-align: justify;"><strong>Visite site: <a href="http://scriptsrc.net/">http://scriptsrc.net</a></strong></p>
<p style="text-align: justify;">&nbsp;</p>
<h2 style="text-align: justify;">EmChart</h2>
<p style="text-align: justify;">Para quem não gosta ou não tem muita familiaridade com tamanho de fontes na unidade de medida &#8216;em&#8217;, este site pode ajudar. É uma planilha com a relação entre as unidades em e pixel. Vale a pena dar uma olhada</p>
<p style="text-align: justify;"><strong>Visite site: <a href="http://aloestudios.com/tools/emchart">http://aloestudios.com/tools/emchart</a></strong></p>
<p style="text-align: justify;">&nbsp;</p>
<h2 style="text-align: justify;">Smush it</h2>
<p style="text-align: justify;">Serviço online oferecido pelo Yahoo com o intuito bem simples: reduzir o tamanho de suas imagens web sem perda de qualidade. Bacana os comparativos apresentados além da existência de um plugin para o WordPress que você encontra <a href="http://wordpress.org/extend/plugins/wp-smushit/" target="_blank">aqui</a>.</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://www.catswhocode.com/blog/wp-content/uploads/2010/05/smushit.png" alt="" /><strong>Visite site: <a href="http://developer.yahoo.com/yslow/smushit/">http://developer.yahoo.com/yslow/smushit/</a></strong></p>
<p style="text-align: justify;">&nbsp;</p>
<h2 style="text-align: justify;"><strong>Quer mais?</strong></h2>
<p style="text-align: justify;">Se você deseja encontrar mais sites com serviços que auxiliam no desenvolvimento web não deixe de conferir o artigo original que possue mais algumas dicas<strong>.</strong></p>
<p style="text-align: justify;"><strong>Artigo original no <a href="http://www.catswhocode.com/blog/10-sites-developers-should-have-in-their-bookmarks" target="_blank">CatsWhoCode</a><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://webcomfarinha.com/blog/?feed=rss2&amp;p=482</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plugin de gerenciador de projetos para WordPress</title>
		<link>http://webcomfarinha.com/blog/?p=479</link>
		<comments>http://webcomfarinha.com/blog/?p=479#comments</comments>
		<pubDate>Thu, 11 Mar 2010 18:52:37 +0000</pubDate>
		<dc:creator>Matheus</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[collabpress]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://webcomfarinha.com/blog/?p=479</guid>
		<description><![CDATA[CollabPress: Plugin para o Wordpress que adiciona um gerenciador de projetos e tarefas no blog.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Sempre procurei um bom gerenciador de projetos, tarefas que fosse fácil de usar e ao mesmo tempo fornecesse todos os recursos necéssários para ter um bom controle do processo de contrução de um simples site até um sistema mais complexo.</p>
<p style="text-align: justify;">Hoje, navegando no <a href="http://www.pblog.com.br/quem-somos/" target="_blank">pBlog </a>visualizei um plugin bastante interessante para o WordPress: o <a href="http://wordpress.org/extend/plugins/collabpress/" target="_blank">CollabPress</a>. Dentre suas principais características, destacam-se número ilimitado de projetos e tarefas, facilidade na edição de tarefas e projetos, notificação por email de novas tarefas e comentários, atribuição de prazos para cada tarefa, utiliza as mesmas contas de usuários do WordPress.</p>
<p style="text-align: justify;">Vale a pena dar uma conferida!</p>
<p style="text-align: center;"><a href="http://www.pblog.com.br/wp-content/uploads/2010/03/collabpress-1.png"><img class="aligncenter" src="http://www.pblog.com.br/wp-content/uploads/2010/03/collabpress-1-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Via: <a href="http://www.pblog.com.br/2010/03/09/que-tal-criar-um-gerenciador-de-projetos-com-o-wordpress/" target="_blank">pBlog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webcomfarinha.com/blog/?feed=rss2&amp;p=479</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Esquema básico de um job</title>
		<link>http://webcomfarinha.com/blog/?p=477</link>
		<comments>http://webcomfarinha.com/blog/?p=477#comments</comments>
		<pubDate>Tue, 09 Mar 2010 15:33:46 +0000</pubDate>
		<dc:creator>Matheus</dc:creator>
				<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://webcomfarinha.com/blog/?p=477</guid>
		<description><![CDATA[Achei a ilustração bastante interessante e resolvi compartilhar. o Post original você confere no Design com Limão]]></description>
			<content:encoded><![CDATA[<p>Achei a ilustração bastante interessante e resolvi compartilhar. o Post original você confere no <a href="http://www.designcomlimao.net/?p=1099" target="_blank">Design com Limão</a></p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.designcomlimao.net/wp-content/uploads/2010/03/esquema_de_um_job1-500x320.jpg" alt="" width="500" height="320" /></p>
]]></content:encoded>
			<wfw:commentRss>http://webcomfarinha.com/blog/?feed=rss2&amp;p=477</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Incríveis efeitos com CSS</title>
		<link>http://webcomfarinha.com/blog/?p=472</link>
		<comments>http://webcomfarinha.com/blog/?p=472#comments</comments>
		<pubDate>Wed, 03 Mar 2010 19:40:27 +0000</pubDate>
		<dc:creator>Matheus</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Román Cortés]]></category>

		<guid isPermaLink="false">http://webcomfarinha.com/blog/?p=472</guid>
		<description><![CDATA[Quem gosta bastante de design, HTML e CSS deve ter visto um efeito interessante de fazer uma lata de refrigerante rolar sobre a tela somente com uso de técnicas CSS. Tal efeito foi feito por Román Cortés onde o mesmo continua a mostrar o poder do CSS e apresentou novos exemplos de efeitos utilizando somente CSS [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Quem gosta bastante de design, HTML e CSS deve ter visto um <a title="Girar lata de Refrigerante com CSS" href="http://www.cssblog.es/girar-una-lata-de-coca-cola-con-css/" target="_blank">efeito interessante </a>de fazer uma lata de refrigerante rolar sobre a tela somente com uso de técnicas CSS.</p>
<p style="text-align: justify;">Tal efeito foi feito por <a href="http://www.romancortes.com/" target="_blank">Román Cortés </a>onde o mesmo continua a mostrar o poder do CSS e apresentou novos exemplos de efeitos utilizando somente CSS 1 e CSS 2 sem a utilização de Javascript ou CSS 3.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://ajaxian.com/wp-content/images/ajaxianprism.png" alt="" width="320" height="237" /></p>
<p style="text-align: center;">Ver o efeito <a href="http://ajaxian.com/romancortes/ajaxian.html">Ajaxian Prism</a></p>
<p style="text-align: center;"><img src="http://ajaxian.com/wp-content/images/starrynight.png" alt="" width="320" height="246" /></p>
<p style="text-align: center;">Ver o efeito <a href="http://ajaxian.com/romancortes/starry.html">Van Gogh&#8217;s Starry Night</a></p>
<p style="text-align: center;"><img src="http://ajaxian.com/wp-content/images/romajaxian.png" alt="" width="320" height="224" /></p>
<p style="text-align: center;">Ver o efeito <a href="http://ajaxian.com/romancortes/romajaxian.html">Sliding and Slicing</a></p>
<p style="text-align: justify;">Veja mais efeitos no <a href="http://ajaxian.com/archives/roman-cortes-and-ajaxian-make-up-with-amazing-css-demos" target="_blank">Ajaxian</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webcomfarinha.com/blog/?feed=rss2&amp;p=472</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Qual a importância do HipHop PHP para o CodeIgniter?</title>
		<link>http://webcomfarinha.com/blog/?p=465</link>
		<comments>http://webcomfarinha.com/blog/?p=465#comments</comments>
		<pubDate>Thu, 04 Feb 2010 22:32:00 +0000</pubDate>
		<dc:creator>Matheus</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[hiphop]]></category>

		<guid isPermaLink="false">http://webcomfarinha.com/blog/?p=465</guid>
		<description><![CDATA[ssa semana, o Facebook anunciou o seu projeto open source chamado HipHop PHP ocasionando um alvoroço e muita discussão na comunidade de desenvolvimento web principalmente na comunidade dos programadores da linguagem PHP. Que melhorias trará para os projetos feitos em CodeIgniter?]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft" src="http://www.michaelwales.com/wp-content/uploads/2010/02/HipHop_logo_white.png" alt="" width="213" height="278" />Essa semana, o <a href="http://www.facebook.com" target="_blank">Facebook</a> anunciou o seu projeto open source chamado HipHop PHP ocasionando um alvoroço e muita discussão na comunidade de desenvolvimento web principalmente na comunidade dos programadores da linguagem PHP.</p>
<p style="text-align: justify;">HipHop PHP é essencialmente um compilador (embora o Facebook chame isso de um transformador) de PHP para C++. Apenas um subconjunto de funcionalidades PHP é compatível com o compilador, porém os desenvolvedores do projeto dizem que apenas omitiu algumas funções menos utilizadas como por exemplo o <code>eval()</code>. A questão é que o código C++ é verdadeiramente multi-plataforma e pode ser compilado e executado em praticamente qualquer servidor, trazendo como principal benefício uma diminuição do uso da CPU e, portanto, maior velocidade na entrega de conteúdo para o usuário final.</p>
<p style="text-align: justify;">Então, o que isso significa para a comunidade de desenvolvedores <a href="http://www.codeigniter.com" target="_blank">CodeIgniter</a>? Em suma, absolutamente nada. A maioria dos desenvolvedores estão construindo aplicativos com CodeIgniter que serão executados em hosts compartilhados, virtuais ou cloud-based. Deste grupo, um número extremamente pequeno têm a capacidade de compilar o HipHop ou alterar sua configuração, a fim de servir páginas HipHop.</p>
<p style="text-align: justify;">Há um número muito pequeno de aplicações CodeIgniter que estão sendo executados em um par de servidores dedicados. Mesmo esses colaboradores não têm necessidade de HipHop! Os benefícios de desempenho obtidos através da execução do HipHop sobre esses servidores seria superficial no melhor dos casos, mesmo se forem visíveis. Estes sites não têm tráfego suficiente para ver melhorias mensuráveis no desempenho, concentrando-se no uso da CPU. Seu tempo é muito mais bem gasto focando o gargalo padrão: entrada / saída (consultas de dados e cache de saída).</p>
<p style="text-align: justify;">
<h2 style="text-align: justify;">Referência:</h2>
<p style="text-align: justify;">Este post é uma tradução/adaptação do original de <a href="http://www.michaelwales.com/2010/02/what-does-hiphop-php-mean-for-codeigniter/" target="_blank">michalwales</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webcomfarinha.com/blog/?feed=rss2&amp;p=465</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concatene e minimize arquivos CSS e JavaScript</title>
		<link>http://webcomfarinha.com/blog/?p=447</link>
		<comments>http://webcomfarinha.com/blog/?p=447#comments</comments>
		<pubDate>Fri, 22 Jan 2010 02:20:27 +0000</pubDate>
		<dc:creator>Matheus</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Truques e Dicas]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[minify]]></category>

		<guid isPermaLink="false">http://webcomfarinha.com/blog/?p=447</guid>
		<description><![CDATA[Segue abaixo uma boa lista de ferramentas e abordagens para concatenar e &#8220;minimizar&#8221; arquivos CSS e JavaScript para quem programa com PHP e Ruby PHP Minify: Minify combina múltiplos CSS ou arquivos JavaScript, remove espaços desnecessários e comentários, além de compactar com codificação gzip. Combine: Script PHP combinado com a reescrita de URL para concatenar [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Segue abaixo uma boa lista de ferramentas e abordagens para concatenar e &#8220;minimizar&#8221; arquivos CSS e JavaScript para quem programa com PHP e Ruby</p>
<h2 style="text-align: justify;">PHP</h2>
<p style="text-align: justify;"><span style="color: #0000ff;"><a href="http://code.google.com/p/minify/" target="_blank">Minify:</a></span> Minify combina múltiplos CSS ou arquivos JavaScript, remove espaços desnecessários e comentários, além de compactar com codificação gzip.</p>
<p style="text-align: justify;"><span style="color: #0000ff;"><a href="http://rakaz.nl/code/combine" target="_blank">Combine</a></span>: Script PHP combinado com a reescrita de URL para concatenar e comprimir arquivos CSS e JavaScript.</p>
<p style="text-align: justify;"><span style="color: #0000ff;"><a href="http://farhadi.ir/works/smartoptimizer" target="_blank">SmartOptimizer</a></span>: Uma biblioteca PHP que melhora o desempenho do seu site otimizando o front-end usando técnicas como minifying, compressão, caching, concatenação e incorporação. Todo o trabalho é feito on the fly on demand.</p>
<p style="text-align: justify;"><span style="color: #0000ff;"><a href="http://csstidy.sourceforge.net/" target="_blank">CSSTidy</a></span>: Compactação de arquivos CSS. Não há suporte para arquivos JavaScript.</p>
<p style="text-align: justify;"><span style="color: #0000ff;"><a href="http://crisp.tweakblogs.net/blog/1665/a-new-javascript-minifier-jsmin+.html" target="_blank"> JSMin +</a></span>:Baseado em PHP, analisa o JavaScript. Não há suporte para arquivos CSS.</p>
<p style="text-align: justify;">
<h2 style="text-align: justify;">Ruby</h2>
<p style="text-align: justify;"><a href="http://getsprockets.com/" target="_blank">Sprockets:</a> biblioteca para Ruby que pre processa e concatena arquivos JavaScript.</p>
<p style="text-align: justify;"><a href="http://github.com/cjohansen/juicer" target="_blank">Juicer</a>: Comprime CSS e JavaScript, além de oferecer suporte a dados URI-embedding de imagens em arquivos CSS.</p>
<p style="text-align: justify;"><a href="http://documentcloud.github.com/jammit/" target="_blank">Jammit</a>: fornece tanto concatenação e compressão para arquivos CSS como JavaScript, bem como YUI Compressor, além de outras funcionalidades;</p>
<p style="text-align: justify;"><a href="http://synthesis.sbecker.net/pages/asset_packager" target="_blank">AssetPackager</a>: Mescla e comprime arquivos JavaScript e CSS quando executados.</p>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;">Via: <a href="http://robertnyman.com/2010/01/19/tools-for-concatenating-and-minifying-css-and-javascript-files-in-different-development-environments/" target="_blank">Robert Nyman</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webcomfarinha.com/blog/?feed=rss2&amp;p=447</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
