<?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>Dreibox Co Log &#187; Desenvolvimento</title>
	<atom:link href="http://log.dreibox.com/category/desenvolvimento/feed" rel="self" type="application/rss+xml" />
	<link>http://log.dreibox.com</link>
	<description>Desenvolvimento Sustentável</description>
	<lastBuildDate>Thu, 13 Oct 2011 15:04:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Do PHP ao Rails, e de volta ao PHP (com CakePHP)</title>
		<link>http://log.dreibox.com/do-php-ao-rails-e-de-volta-ao-php-com-cakephp.html</link>
		<comments>http://log.dreibox.com/do-php-ao-rails-e-de-volta-ao-php-com-cakephp.html#comments</comments>
		<pubDate>Mon, 31 Jan 2011 16:16:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[API REST]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[CakePHP JSON]]></category>
		<category><![CDATA[Framework PHP]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://log.dreibox.com/?p=19</guid>
		<description><![CDATA[PHP é sem dúvida a linguagem mais usada da Web, por diversos motivos, é uma linguagem fácil, roda em qualquer lugar, tem profissionais em abundância (isso não quer dizer bons) e baratos. Eu mesmo sou desenvolvedor PHP e começei com &#8230; <a href="http://log.dreibox.com/do-php-ao-rails-e-de-volta-ao-php-com-cakephp.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>PHP</strong> é sem dúvida a linguagem mais usada da Web, por diversos motivos, é uma linguagem fácil, roda em qualquer lugar, tem profissionais em abundância (isso não quer dizer bons) e baratos. Eu mesmo sou <strong>desenvolvedor PHP</strong> e começei com ele, no entanto buscava mais produtividade e algo mais elegante e organizado, Solução? <strong>FRAMEWORKS</strong>.</p>
<p>Mas não em <strong>PHP</strong>, conheçi o <strong>Rails</strong>, começei a brincar com <strong>Rails</strong> e <strong>Ruby</strong> e fui evoluindo, na ferramenta e profissionalmente, passei também pelo <strong>.Net</strong> em um capitulo isolado que não vem ao caso. No <strong>Rails</strong> tenho tudo que preciso, é legal, adoro a linguagem, é relativamente fácil e flexivel quando se aprende, no entanto, nos meios em que atuo ainda não é a primeira escolha ao se desenvolver um projeto, com o tempo isso mudará, mas ainda não é a hora.</p>
<h2>O caso &#8220;Problema&#8221;</h2>
<p>Eis que tenho um novo desafio, um projeto razoavelmente grande onde fiquei incumbido de definir ambiente e arquitetura do sistema, que tera uma <strong>API</strong> centralizada e diversos meios interagindo com ela, storage separado e um pesado processamento de imagem em um módulo separado, até ai tudo bem, o &#8220;problema&#8221;? <strong>PHP</strong>! só isso? claro que não né, temos pouco tempo e carência de mão de obra, alguns dos profissionais da agência serão disponibilizados, no entanto em datas e horários variados, no esquema do &#8220;quando der&#8221;, e por cima de tudo não há planos de contratação programada para o projeto.</p>
<p>Então como eu posso tentar implantar uma nova metodologia / linguagem sem contratar gente e com uma enorme curva de aprendizado para os recursos &#8220;disponíveis&#8221;?</p>
<h2>A Solução</h2>
<p><strong><img class="alignleft size-full wp-image-21" title="CakePHP" src="http://log.dreibox.com/wp-content/uploads/2011/01/cake.jpg" alt="" width="300" height="225" />Rails</strong> é produtivo, divertido, tem muitos dos recursos que necessito pra agilizar o projeto, então o quedevo fazer? Ora &#8230; ora, um &#8220;<strong>Rails em PHP</strong>&#8220;, eis que estudando e pesquisando chego a conclusão que o <strong><a title="CakePHP" href="http://www.cakephp.com.br/" target="_blank">CakePHP</a></strong> é o que eu preciso, bastante parecido com o <strong>Rails</strong>, com os mesmos recursos e ao alcance da equipe, com ele poderemos criar nossa <strong>API REST</strong> respondendo em <strong>JSON</strong>, podemos usa-lo nos testes (sim o projeto será <strong>TDD</strong>), <strong>ORM</strong> e testes integrando tudo isso.</p>
<p>Escolhi o <strong>CakePHP</strong> porque é parecido com <strong>Rails</strong>? também, mas é um <strong>framework PHP </strong>já consagrado e estável (vide <a title="Campus Party - Frameworks PHP " href="http://www.slideshare.net/augustopascutti/campus-party-frameworks-php" target="_blank">Campus Party &#8211; Frameworks PHP</a> do <a title="Augusto Pascutti" href="http://blog.augustopascutti.com/" target="_blank">Augusto Pascutti</a>), tem excelente desempenho, roda em qualquer lugar como o <strong>PHP</strong> e tem uma cartela de <strong>desenvolvedores</strong> bastante interessante, inclusive na equipe que irá trabalhar no projeto. <strong>CakePHP</strong> é melhor que <strong>Rails</strong>? tecnicamente prefiro não comentar, mas no meu contexto <strong>CakePHP</strong> preenche nossos requisitos com louvor respeitando as restrições.</p>
<p>Então que começe a folia.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.dreibox.com/do-php-ao-rails-e-de-volta-ao-php-com-cakephp.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Começando com Rails 3 &#8211; Instalando com Mysql</title>
		<link>http://log.dreibox.com/comecando-com-rails-3-instalando-com-mysql.html</link>
		<comments>http://log.dreibox.com/comecando-com-rails-3-instalando-com-mysql.html#comments</comments>
		<pubDate>Thu, 16 Sep 2010 19:02:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Problema Rails 3]]></category>
		<category><![CDATA[Rails 3]]></category>
		<category><![CDATA[Rails 3 Mysql]]></category>
		<category><![CDATA[Rails Mysql]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://log.dreibox.com/?p=8</guid>
		<description><![CDATA[Estamos começando a atualizar nossas aplicações para Rails 3 e começamos enfrentando alguns problemas e erros ao instala-lo, coisas simples mas que pode acabar atrapalhando a vida dos mais novos em Rails, decidimos instalar um ambiente Rails 3 do zero &#8230; <a href="http://log.dreibox.com/comecando-com-rails-3-instalando-com-mysql.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-13" title="Rails 3" src="http://log.dreibox.com/wp-content/uploads/2010/09/rails-3.png" alt="" width="300" height="368" />Estamos começando a atualizar nossas aplicações para <strong>Rails 3</strong> e começamos enfrentando alguns problemas e erros ao instala-lo, coisas simples mas que pode acabar atrapalhando a vida dos mais novos em <strong>Rails</strong>, decidimos instalar um ambiente <strong>Rails 3</strong> do zero (usando o <strong>Mint Linux</strong> &#8211; bastante compativel com <strong>Ubuntu</strong> e <strong>Debian</strong> em geral) para podermos identificar estes problemas e tentar ajudar a resolve-los, vamos começar instalando o <strong>Ruby</strong> (1.8.7, versão estavel até o momento).</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo apt-get install ruby1.8 ruby1.8-dev</pre></div></div>

<p>Também instalamos o <strong>RubyGems</strong> com o comando:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo apt-get install rubygems</pre></div></div>

<p>No entanto identificamos que até o presente instante nos repositórios do <strong>Mint Linux</strong> a versão corrente do <strong>RubyGems</strong> é a 1.3.5 e o Rails 3 necessita da &gt;= 1.3.6, logo baixamos o fonte da versão 1.3.7 do site oficial (aa) e instalamos na mão rodando o setup.rb.</p>
<p>Na sequencia instalamos o Mysql 5.1 com o comando:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo apt-get install mysql-server-5.1</pre></div></div>

<p>Se quiser pode instalar o client poara poder acessar o banco pelo console com:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo apt-get install mysql-client-5.1</pre></div></div>

<p>Bom, agora o principal, instalar o rails com o <strong>RubyGems</strong>, ele ja vai instalar tudo o que precisar, fazemos isso com o comando:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo gem install rails</pre></div></div>

<p>Se tudo correu bem já temos o rails instalado e você pode verifica a versão do <strong>Ruby</strong> e do <strong>Rails</strong> com os respectivos comandos:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">ruby -v
rails -v</pre></div></div>

<p>Até ai tudo certo, a partir daqui que começaram nossos problemas, após criarmos uma app <strong>Rails 3</strong> usando <strong>Mysql</strong> e configurando o banco ao rodar o comando para criarmos os bancos de dados (rake db:create:all) recebemos a seguinte mensagem:</p>
<blockquote><p>Could not find gem &#8216;mysql2 (&gt;= 0, runtime)&#8217; in any of the gem sources.<br />
Try running `bundle install`.</p></blockquote>
<p>A <strong>gem mysql2</strong> citada acima é a nova maneira de interagir com o <strong>Mysql</strong> adotado pelo <strong>Rails 3</strong>, tentamos instala-la e recebemos a seguinte mensagem:</p>
<blockquote><p>sudo gem install mysql2<br />
Building native extensions.  This could take a while&#8230;<br />
ERROR:  Error installing mysql2:<br />
ERROR: Failed to build gem native extension.</p>
<p>/usr/bin/ruby1.8 extconf.rb<br />
checking for rb_thread_blocking_region()&#8230; no<br />
checking for mysql_query() in -lmysqlclient&#8230; no<br />
checking for main() in -lm&#8230; yes<br />
checking for mysql_query() in -lmysqlclient&#8230; no<br />
checking for main() in -lz&#8230; yes<br />
checking for mysql_query() in -lmysqlclient&#8230; no<br />
checking for main() in -lsocket&#8230; no<br />
checking for mysql_query() in -lmysqlclient&#8230; no<br />
checking for main() in -lnsl&#8230; yes<br />
checking for mysql_query() in -lmysqlclient&#8230; no<br />
checking for main() in -lmygcc&#8230; no<br />
checking for mysql_query() in -lmysqlclient&#8230; no<br />
*** extconf.rb failed ***<br />
Could not create Makefile due to some reason, probably lack of<br />
necessary libraries and/or headers.  Check the mkmf.log file for more<br />
details.  You may need configuration options.</p>
<p>Provided configuration options:<br />
&#8211;with-opt-dir<br />
&#8211;without-opt-dir<br />
&#8211;with-opt-include<br />
&#8211;without-opt-include=${opt-dir}/include<br />
&#8211;with-opt-lib<br />
&#8211;without-opt-lib=${opt-dir}/lib<br />
&#8211;with-make-prog<br />
&#8211;without-make-prog<br />
&#8211;srcdir=.<br />
&#8211;curdir<br />
&#8211;ruby=/usr/bin/ruby1.8<br />
&#8211;with-mysql-config<br />
&#8211;without-mysql-config<br />
&#8211;with-mysql-dir<br />
&#8211;without-mysql-dir<br />
&#8211;with-mysql-include<br />
&#8211;without-mysql-include=${mysql-dir}/include<br />
&#8211;with-mysql-lib<br />
&#8211;without-mysql-lib=${mysql-dir}/lib<br />
&#8211;with-mysqlclientlib<br />
&#8211;without-mysqlclientlib<br />
&#8211;with-mlib<br />
&#8211;without-mlib<br />
&#8211;with-mysqlclientlib<br />
&#8211;without-mysqlclientlib<br />
&#8211;with-zlib<br />
&#8211;without-zlib<br />
&#8211;with-mysqlclientlib<br />
&#8211;without-mysqlclientlib<br />
&#8211;with-socketlib<br />
&#8211;without-socketlib<br />
&#8211;with-mysqlclientlib<br />
&#8211;without-mysqlclientlib<br />
&#8211;with-nsllib<br />
&#8211;without-nsllib<br />
&#8211;with-mysqlclientlib<br />
&#8211;without-mysqlclientlib<br />
&#8211;with-mygcclib<br />
&#8211;without-mygcclib<br />
&#8211;with-mysqlclientlib<br />
&#8211;without-mysqlclientlib</p>
<p>Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql2-0.2.3 for inspection.<br />
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql2-0.2.3/ext/mysql2/gem_make.out</p></blockquote>
<p>Solução</p>
<p>Percebemos que faltavam algumas libs no sistema, o problema foi facilmente corrigico com:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo apt-get install libmysql-ruby libmysqlclient-dev</pre></div></div>

<p>Agora tente instalar novamente a gem mysql2 com:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo gem install mysql2</pre></div></div>

<p>Pronto problema resolvido e tudo funcionando.</p>
<p><strong>Update 1</strong>: não se esqueça de adicionar suporte a openssl com o comando:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo apt-get install libopenssl-ruby</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://log.dreibox.com/comecando-com-rails-3-instalando-com-mysql.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Apostila Sobre HTML5</title>
		<link>http://log.dreibox.com/apostila-sobre-html5.html</link>
		<comments>http://log.dreibox.com/apostila-sobre-html5.html#comments</comments>
		<pubDate>Mon, 12 Jul 2010 14:42:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Apostila HTML5]]></category>
		<category><![CDATA[Desenvolvimento Web]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Livro HTML5]]></category>
		<category><![CDATA[Treinamento HTML5]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://log.dreibox.com/?p=1</guid>
		<description><![CDATA[O HTML5 tem sido aclamado por milhões de desenvolvedores Web pelo mundo, não é a toa, promete melhoras significativas e extensões que hoje fariam grande diferença na maneira como trabalhamos com conteúdo para a Web. A Visie foi escolhida pelo W3C &#8230; <a href="http://log.dreibox.com/apostila-sobre-html5.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>O <strong>HTML5</strong> tem sido aclamado por milhões de desenvolvedores Web pelo mundo, não é a toa, promete melhoras significativas e extensões que hoje fariam grande diferença na maneira como trabalhamos com conteúdo para a Web.</p>
<p>A <a href="http://visie.com.br/">Visie</a> foi escolhida pelo W3C do Brasil para ministrar um <strong>treinamento sobre HTML5</strong> para os seus membros e alguns convidados. Para tanto, construíram uma apostila com todo o conteúdo abordado neste nosso curso. Essa apostila está sendo agora publicada sob Creative Commons e está acessivel a todos.</p>
<p>Essa <strong>apostila de HTML5</strong> ficará em processo de constante atualização já que muitos pontos do <strong>HTML5</strong> não foram ainda definidos e também porque diversas outras características estão sendo planejadas e rascunhadas ainda.</p>
<p>Pelo pouco que vimos o material é bastante explicativo e vai de &#8220;for dummies&#8221; a experts, vale muito a pena conferir</p>
<h2>Apostila de HTML5</h2>
<p><a title="Guia de referência sobre HTML5 da Visie" href="http://tableless.com.br/html5/">Guia de Referência sobre HTML5</a></p>
]]></content:encoded>
			<wfw:commentRss>http://log.dreibox.com/apostila-sobre-html5.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

