<?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>FReNeTiC</title>
	<atom:link href="http://www.frenetic.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.frenetic.com.br</link>
	<description>Developer! Developer! Developer!</description>
	<lastBuildDate>Wed, 30 Nov 2011 18:05:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Smarty Template Engine: Usar ou não?</title>
		<link>http://www.frenetic.com.br/artigos-e-textos/smarty-template-engine-usar-ou-nao/</link>
		<comments>http://www.frenetic.com.br/artigos-e-textos/smarty-template-engine-usar-ou-nao/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 19:12:13 +0000</pubDate>
		<dc:creator>FReNeTiC</dc:creator>
				<category><![CDATA[Artigos e Textos]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Smarty]]></category>
		<category><![CDATA[Tutoriais de desenvolvimento]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[overhead]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[tempalte engine]]></category>

		<guid isPermaLink="false">http://www.frenetic.com.br/?p=225</guid>
		<description><![CDATA[Antes de responder a pergunta feita no título desse post primeiro precisamos entender o que é template engine, o que é Smarty e por que usar uma template engine?. O que é Template Engine? Template Engine (motor de template) é um processo, parte de um software ou um software, capaz de receber um ou mais [...]]]></description>
			<content:encoded><![CDATA[<p>Antes de responder a pergunta feita no título desse post primeiro precisamos entender <b>o que é template engine</b>, <b>o que é Smarty</b> e <b>por que usar uma template engine?</b>.</p>
<h3>O que é Template Engine?</h3>
<p>Template Engine (motor de template) é um processo, parte de um software ou um software, capaz de receber um ou mais documentos formatados, um ou mais modelos de dados, compilá-los e retornar um ou mais documentos de saída.<br />
De forma bem simples, o template engine é a parte de um programa responsável por pegar um arquivo de modelo (template), que representa a saída do programa e preenchê-lo com dados da execução atual, retornando o documento final para o usuário.<br />
Logo, tem-se que o código de processamento (Controller) está separado do código da visualização (View), podendo assim alcançar o padrão de arquitetura <a href="http://pt.wikipedia.org/wiki/MVC" target="_blank">MVC</a>.</p>
<h3>O que é Smarty Template Engine?</h3>
<p>Existem várias Template Engines para várias linguagens de programação. Inclusive, vários frameworks, como o <a href="https://www.djangoproject.com/" target="_blank">Django</a> (para Python) possuem sua própria engine.<br />
<a href="http://php.net" target="_blank">PHP</a>, como linguagem, não é diferente e possui um conjunto de aplicações do tipo Template Engine. Dentre essas aplicações existe o <a href="http://www.smarty.net/" target="_blank">Smarty</a>.<br />
<a href="http://www.smarty.net/" target="_blank">Smarty</a> é a Template Engine mais popular para <a href="http://php.net" target="_blank">PHP</a>, e me atrevo a dizer que <a href="http://www.smarty.net/" target="_blank">Smarty</a> é a template engine mais popular dentre todas as template engines de todas as linguagens.<br />
Basta tentar uma busca no <a href="http://google.com" target="blank">Google</a> pelo termo <b>template engine</b>, e você verá logo após o artigo do Wikipedia quem aparece.<br />
Também, o projeto <a href="http://www.smarty.net/" target="_blank">Smarty</a> existe desde 2002, o que dá uma certa credibilidade em relação as engines mais novas.</p>
<p>Utilizo o <a href="http://www.smarty.net/" target="_blank">Smarty</a> desde que o vi pela primeira vez, em 2006.<br />
Desde então, não sei programar <a href="http://php.net" target="_blank">PHP</a> sem utilizá-lo!<br />
As vezes procuro novas templates engines para não ficar preso/bitolado no <a href="http://www.smarty.net/" target="_blank">Smarty</a>, mas para <a href="http://php.net" target="_blank">PHP</a> nenhuma engine conseguiu chamar minha atenção.</p>
<h3>Por que usar uma template engine?</h3>
<p>O primeiro motivo é querer separar o código HTML (ou outra forma de saída do seu script) do seu código <a href="http://php.net" target="_blank">PHP</a> é evitar o <a href="http://en.wikipedia.org/wiki/Spaghetti_code" target="_blank">código spaghetti</a>, que é quando tem-se aquela bagunça de, no mesmo arquivo (código-fonte) termos PHP-Html-JavaScript-CSS, tudo junto e misturado, o que é bem comum no mundo <a href="http://php.net" target="_blank">PHP</a> (MAS NÃO DEVERIA SER COMUM!)</p>
<p>O segundo motivo é a manutenção.<br />
Quando utilizamos uma template engine, separando o código-fonte (controller) do layout(view), podemos fazer várias alterações no layout final sem nem sequer precisar abrir o arquivo do código fonte.<br />
Por exemplo, levem em consideração o <a href="http://wordpress.org" target='_blank'>WordPress</a>. Ele separa o código da plataforma de blog do código do layout. Podemos então alterar várias vezes o layout do blog sem nem sequer abrir o código fonte da plataforma de blog.<br />
Porém, o <a href="http://wordpress.org" target='_blank'>WordPress</a> não usa uma template engine. O que ele faz é importar e executar arquivos PHP que definem o layout.</p>
<p>O terceiro motivo é trabalhar com designers.<br />
Na facilidade (e problema) citado no exemplo do <a href="http://wordpress.org" target='_blank'>WordPress</a>, o nosso caro designer teria que aprender a programar em PHP para conseguir fazer um layout.<br />
Não é legal.<br />
Sem querer ofender ninguém, mas designers não estudam para isso e podem não ter uma &#8220;mente lógica e algorítmica&#8221; que muitos programadores possuem. Claro que existem exceções, e temos por ai grandes designers-programadores.<br />
Mas, quando trabalhamos em uma equipe de desenvolvimento, queremos manter cada membro focado na sua atividade. Ter que fazer o designer aprender PHP ou ter que migrar o layout de HTML para PHP pode representar perca de foco, tempo e dinheiro.<br />
Para isso, as template engines implementam pequenas funções chaves (tags), como loops para preencher os <b>options</b> dentro de um campo <b>select</b>.<br />
O designer não precisa aprender a programar. O que ele precisa é conhecer as tags da template engine, que são poucas, e conhecer o nome das variáveis que virão do código-fonte, que pode ser definido na documentação do projeto.</p>
<h3>Smarty Template Engine: Usar ou não?</h3>
<p>Agora podemos responder a pergunta feita no post desse artigo.</p>
<p>Se você acredita que seu projeto precisa atingir pelo menos 1 dos três pontos supra-citados e este será programado em PHP, você é um forte candidato a utilizar o <a href="http://www.smarty.net/" target="_blank">Smarty</a>.<br />
Você pode optar por usar outra template engine, mas para finalizar este artigo, e responder a pergunta <b>Smarty Template Engine: Usar ou não?</b> gostaria de citar alguns pontos que me fizeram escolher esta ferramenta e que me fazem permanecer com ela por 6 anos consecutivos.</p>
<ul>
<li><b>Eficiência</b> &#8211; quem faz o trabalho é o PHP.<br />
Um das tarefas executadas pelo <a href="http://www.smarty.net/" target="_blank">Smarty</a> é traduzir o seu template para PHP. Logo, seu template é analisado pelo <a href="http://en.wikipedia.org/wiki/Parsing" target="_blank">PARSER</a> do PHP, o que torna a tarefa <a href="http://www.smarty.net/" target="_blank">Smarty</a> simples e rápida.</li>
<li><b>Sem Retrabalhos</b> &#8211; <a href="http://www.smarty.net/" target="_blank">Smarty</a> não possui <a href="http://en.wikipedia.org/wiki/Overhead_%28computing%29" target='_blank'>overhead</a>.<br />
Em sua primeira execução, o template é traduzido para PHP, análisado pelo parser do PHP e salvo. Nas futuras execuções, basta executar o arquivo PHP gerado em conjunto com os dados passados pela aplicação.<br />
Assim, não existe o retrabalho de sempre executar a operação de tradução e PARSER do template.<br />
<a href="http://www.smarty.net/" target="_blank">Smarty</a> percebe se seu template foi modificado e, então, o recompila.</li>
<li><b>Cache</b> &#8211; Com cache, não há retrabalho.<br />
O template é compilado e salvo junto com os dados da execução para ser reutilizado sem precisar ser TRADUZIDO, PARSEADO, COMPILADO JUNTO COM OS DADOS.<br />
Basta apenas ser exibido para o usuário.<br />
Simples assim.</li>
<li><b>Herança de Templates</b> &#8211; Uma forma simples e intuitiva de reutilizar códigos de template no seu projeto.<br />
Assim, escrevendo menos e produzindo mais!<br />
Herança de Templates é uma idéia nova, muito bem utilizada no <a href="https://www.djangoproject.com/" target="_blank">Django</a>.</li>
<li><b>E MUITO MAIS!</b> &#8211; Parecendo um vendedor de itens pela tv, mas é verdade!<br />
Tags customizáveis, delimitadores, um conjunto de tags úteis que fazem muito em apenas uma linha, capacidade de plugins, facilidade de tornar um template internacionalizado (vários arquivos de lingua, um arquivo de template), etc</li>
</ul>
<p>E ai, vai usar ou não?</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Smarty+Template+Engine%3A+Usar+ou+n%C3%A3o%3F&amp;link=http://www.frenetic.com.br/artigos-e-textos/smarty-template-engine-usar-ou-nao/&amp;notes=Antes%20de%20responder%20a%20pergunta%20feita%20no%20t%C3%ADtulo%20desse%20post%20primeiro%20precisamos%20entender%20o%20que%20%C3%A9%20template%20engine%2C%20o%20que%20%C3%A9%20Smarty%20e%20por%20que%20usar%20uma%20template%20engine%3F.%0D%0A%20%0D%0AO%20que%20%C3%A9%20Template%20Engine%3F%0D%0ATemplate%20Engine%20%28motor%20de%20template%29%20%C3%A9%20um%20processo%2C%20parte%20de%20um%20software%20ou%20um%20software%2C%20capaz%20de%20receb&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Smarty+Template+Engine%3A+Usar+ou+n%C3%A3o%3F&amp;link=http://www.frenetic.com.br/artigos-e-textos/smarty-template-engine-usar-ou-nao/&amp;notes=Antes%20de%20responder%20a%20pergunta%20feita%20no%20t%C3%ADtulo%20desse%20post%20primeiro%20precisamos%20entender%20o%20que%20%C3%A9%20template%20engine%2C%20o%20que%20%C3%A9%20Smarty%20e%20por%20que%20usar%20uma%20template%20engine%3F.%0D%0A%20%0D%0AO%20que%20%C3%A9%20Template%20Engine%3F%0D%0ATemplate%20Engine%20%28motor%20de%20template%29%20%C3%A9%20um%20processo%2C%20parte%20de%20um%20software%20ou%20um%20software%2C%20capaz%20de%20receb&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D%2B%2528via%2B%2540frenetic_br%2529&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.shareaholic.com/api/share/?title=Smarty+Template+Engine%3A+Usar+ou+n%C3%A3o%3F&amp;link=http://www.frenetic.com.br/artigos-e-textos/smarty-template-engine-usar-ou-nao/&amp;notes=Antes%20de%20responder%20a%20pergunta%20feita%20no%20t%C3%ADtulo%20desse%20post%20primeiro%20precisamos%20entender%20o%20que%20%C3%A9%20template%20engine%2C%20o%20que%20%C3%A9%20Smarty%20e%20por%20que%20usar%20uma%20template%20engine%3F.%0D%0A%20%0D%0AO%20que%20%C3%A9%20Template%20Engine%3F%0D%0ATemplate%20Engine%20%28motor%20de%20template%29%20%C3%A9%20um%20processo%2C%20parte%20de%20um%20software%20ou%20um%20software%2C%20capaz%20de%20receb&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=88&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=Smarty+Template+Engine%3A+Usar+ou+n%C3%A3o%3F&amp;link=http://www.frenetic.com.br/artigos-e-textos/smarty-template-engine-usar-ou-nao/&amp;notes=Antes%20de%20responder%20a%20pergunta%20feita%20no%20t%C3%ADtulo%20desse%20post%20primeiro%20precisamos%20entender%20o%20que%20%C3%A9%20template%20engine%2C%20o%20que%20%C3%A9%20Smarty%20e%20por%20que%20usar%20uma%20template%20engine%3F.%0D%0A%20%0D%0AO%20que%20%C3%A9%20Template%20Engine%3F%0D%0ATemplate%20Engine%20%28motor%20de%20template%29%20%C3%A9%20um%20processo%2C%20parte%20de%20um%20software%20ou%20um%20software%2C%20capaz%20de%20receb&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-evernote">
			<a href="http://www.shareaholic.com/api/share/?title=Smarty+Template+Engine%3A+Usar+ou+n%C3%A3o%3F&amp;link=http://www.frenetic.com.br/artigos-e-textos/smarty-template-engine-usar-ou-nao/&amp;notes=Antes%20de%20responder%20a%20pergunta%20feita%20no%20t%C3%ADtulo%20desse%20post%20primeiro%20precisamos%20entender%20o%20que%20%C3%A9%20template%20engine%2C%20o%20que%20%C3%A9%20Smarty%20e%20por%20que%20usar%20uma%20template%20engine%3F.%0D%0A%20%0D%0AO%20que%20%C3%A9%20Template%20Engine%3F%0D%0ATemplate%20Engine%20%28motor%20de%20template%29%20%C3%A9%20um%20processo%2C%20parte%20de%20um%20software%20ou%20um%20software%2C%20capaz%20de%20receb&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=191&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Clip this to Evernote">Clip this to Evernote</a>
		</li>
		<li class="shr-orkut">
			<a href="http://www.shareaholic.com/api/share/?title=Smarty+Template+Engine%3A+Usar+ou+n%C3%A3o%3F&amp;link=http://www.frenetic.com.br/artigos-e-textos/smarty-template-engine-usar-ou-nao/&amp;notes=Antes%20de%20responder%20a%20pergunta%20feita%20no%20t%C3%ADtulo%20desse%20post%20primeiro%20precisamos%20entender%20o%20que%20%C3%A9%20template%20engine%2C%20o%20que%20%C3%A9%20Smarty%20e%20por%20que%20usar%20uma%20template%20engine%3F.%0D%0A%20%0D%0AO%20que%20%C3%A9%20Template%20Engine%3F%0D%0ATemplate%20Engine%20%28motor%20de%20template%29%20%C3%A9%20um%20processo%2C%20parte%20de%20um%20software%20ou%20um%20software%2C%20capaz%20de%20receb&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=247&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Promote this on Orkut">Promote this on Orkut</a>
		</li>
		<li class="shr-tumblr">
			<a href="http://www.shareaholic.com/api/share/?title=Smarty+Template+Engine%3A+Usar+ou+n%C3%A3o%3F&amp;link=http%3A%2F%2Fwww.frenetic.com.br%2Fartigos-e-textos%2Fsmarty-template-engine-usar-ou-nao%2F&amp;notes=Antes%20de%20responder%20a%20pergunta%20feita%20no%20t%C3%ADtulo%20desse%20post%20primeiro%20precisamos%20entender%20o%20que%20%C3%A9%20template%20engine%2C%20o%20que%20%C3%A9%20Smarty%20e%20por%20que%20usar%20uma%20template%20engine%3F.%0D%0A%20%0D%0AO%20que%20%C3%A9%20Template%20Engine%3F%0D%0ATemplate%20Engine%20%28motor%20de%20template%29%20%C3%A9%20um%20processo%2C%20parte%20de%20um%20software%20ou%20um%20software%2C%20capaz%20de%20receb&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=78&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Tumblr">Share this on Tumblr</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.frenetic.com.br/artigos-e-textos/smarty-template-engine-usar-ou-nao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Comparando Frameworks PHP] Parte 02: Banco de Dados do Projeto</title>
		<link>http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-02-banco-de-dados-do-projeto/</link>
		<comments>http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-02-banco-de-dados-do-projeto/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 17:48:43 +0000</pubDate>
		<dc:creator>FReNeTiC</dc:creator>
				<category><![CDATA[Artigos e Textos]]></category>
		<category><![CDATA[Comparando Frameworks PHP]]></category>

		<guid isPermaLink="false">http://www.frenetic.com.br/?p=206</guid>
		<description><![CDATA[Antes de começar a desenvolver a aplicação, faz-se mister definir o banco de dados e as ações do usuário no sistema, assim como as ações de resposta do sistema. Tendo isso definido, pode-se desenvolver sistemas parecidos, mesmo que utilizando frameworks e/ou linguagens diferentes. Neste post vamos definir o schema (modelo) do banco de dados da [...]]]></description>
			<content:encoded><![CDATA[<p>Antes de começar a desenvolver a aplicação, faz-se mister definir o banco de dados e as ações do usuário no sistema, assim como as ações de resposta do sistema.<br />
Tendo isso definido, pode-se desenvolver sistemas parecidos, mesmo que utilizando frameworks e/ou linguagens diferentes.<br />
Neste post vamos definir o <i>schema</i> (modelo) do banco de dados da nossa aplicação.<br />
Posteriormente, em outro post, definiremos as ações e alguns wireframes da aplicação.</p>
<h3>O Modelo:</h3>
<p>Desenhei um banco simples que atende a necessidade do projeto, o sistema de enquetes.<br />
Caso tenham interesse em saber, utilizei a ferramenta <a href="http://wb.mysql.com/" target="_blank">MySQL Workbench</a> para desenhar o modelo do banco.</p>
<p><a href="http://www.frenetic.com.br/wp-content/uploads/2011/09/banco-de-dados2.png"><img src="http://www.frenetic.com.br/wp-content/uploads/2011/09/banco-de-dados2.png" alt="" title="banco de dados2" width="567" height="543" class="aligncenter size-full wp-image-277" /></a></p>
<p>Desse modelo, utilizando a própria ferramenta <a href="http://wb.mysql.com/" target="_blank">MySQL Workbench</a>, pude gerar o seguinte código SQL para a criação do banco de dados:</p>
<pre class="brush: sql; title: ; notranslate">
-- -----------------------------------------------------
-- Table `usuario`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `usuario` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  `login` VARCHAR(20) NOT NULL ,
  `senha` VARCHAR(32) NOT NULL ,
  `nome` VARCHAR(80) NOT NULL ,
  `email` VARCHAR(80) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `permissao`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `permissao` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  `descricao` VARCHAR(45) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `usuario_permissao`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `usuario_permissao` (
  `usuario_id` INT UNSIGNED NOT NULL ,
  `permissao_id` INT UNSIGNED NOT NULL ,
  PRIMARY KEY (`usuario_id`, `permissao_id`) ,
  INDEX `fk_usuario_has_permissao_permissao1` (`permissao_id` ASC) ,
  INDEX `fk_usuario_has_permissao_usuario` (`usuario_id` ASC) ,
  CONSTRAINT `fk_usuario_has_permissao_usuario`
    FOREIGN KEY (`usuario_id` )
    REFERENCES `usuario` (`id` )
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `fk_usuario_has_permissao_permissao1`
    FOREIGN KEY (`permissao_id` )
    REFERENCES `permissao` (`id` )
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `enquete`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `enquete` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  `titulo` VARCHAR(45) NOT NULL ,
  `descricao` VARCHAR(45) NULL ,
  `inicio` DATETIME NOT NULL ,
  `usuario_id` INT UNSIGNED NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `fk_enquete_usuario1` (`usuario_id` ASC) ,
  CONSTRAINT `fk_enquete_usuario1`
    FOREIGN KEY (`usuario_id` )
    REFERENCES `usuario` (`id` )
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `opcao`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `opcao` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  `titulo` VARCHAR(45) NOT NULL ,
  `descricao` VARCHAR(100) NULL ,
  `enquete_id` INT UNSIGNED NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `fk_opcao_enquete1` (`enquete_id` ASC) ,
  CONSTRAINT `fk_opcao_enquete1`
    FOREIGN KEY (`enquete_id` )
    REFERENCES `enquete` (`id` )
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `voto`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `voto` (
  `usuario_id` INT UNSIGNED NOT NULL ,
  `opcao_id` INT UNSIGNED NOT NULL ,
  `hora` DATETIME NOT NULL ,
  PRIMARY KEY (`usuario_id`, `opcao_id`) ,
  INDEX `fk_usuario_has_enquete_usuario1` (`usuario_id` ASC) ,
  INDEX `fk_usuario_has_enquete_opcao1` (`opcao_id` ASC) ,
  CONSTRAINT `fk_usuario_has_enquete_usuario1`
    FOREIGN KEY (`usuario_id` )
    REFERENCES `usuario` (`id` )
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `fk_usuario_has_enquete_opcao1`
    FOREIGN KEY (`opcao_id` )
    REFERENCES `opcao` (`id` )
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB;
</pre>
<h3>Entendendo o Modelo</h3>
<p>A primeira tabela a ser analisada é a tabela <b>usuario</b>. Nela definimos o usuário do sistema. Moleza, certo?</p>
<p>A segunda tabela a ser analisada é a tabela <b>permissao</b>. Nela definimos as permissões que existem dentro do sistema.<br />
Permissões como &#8220;adicionar ou excluir usuário&#8221; ou &#8220;extrair relatórios&#8221;, e por ai vai.</p>
<p>Logo, já podemos entender a tabela <b>usuario_permissao</b>, que definie as permissões que foram dadas a um usuário.<br />
Dessa forma pode-se criar uma forma bem simples de se distribuir permissões dentro de um sistema.</p>
<p>em seguida podemos analisar as tabelas <b>enquete</b> e <b>opcao</b>.<br />
Na primeira, ficam alguns dados do cabeçalho de uma enquete, enquanto na segunda ficam todas as opções passiveis de serem selecionadas naquela enquete.</p>
<p>Por fim, temos a tabela <b>voto</b>, que associa o usuário a uma opção.<br />
Assim sabemos qual foi a opção escolhida por um usuário em uma enquete.</p>
<h3>O que vem a seguir?</h3>
<p>Programaaaaaaaaar!!!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+02%3A+Banco+de+Dados+do+Projeto&amp;link=http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-02-banco-de-dados-do-projeto/&amp;notes=Antes%20de%20come%C3%A7ar%20a%20desenvolver%20a%20aplica%C3%A7%C3%A3o%2C%20faz-se%20mister%20definir%20o%20banco%20de%20dados%20e%20as%20a%C3%A7%C3%B5es%20do%20usu%C3%A1rio%20no%20sistema%2C%20assim%20como%20as%20a%C3%A7%C3%B5es%20de%20resposta%20do%20sistema.%0D%0ATendo%20isso%20definido%2C%20pode-se%20desenvolver%20sistemas%20parecidos%2C%20mesmo%20que%20utilizando%20frameworks%20e%2Fou%20linguagens%20diferentes.%0D%0ANeste%20po&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+02%3A+Banco+de+Dados+do+Projeto&amp;link=http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-02-banco-de-dados-do-projeto/&amp;notes=Antes%20de%20come%C3%A7ar%20a%20desenvolver%20a%20aplica%C3%A7%C3%A3o%2C%20faz-se%20mister%20definir%20o%20banco%20de%20dados%20e%20as%20a%C3%A7%C3%B5es%20do%20usu%C3%A1rio%20no%20sistema%2C%20assim%20como%20as%20a%C3%A7%C3%B5es%20de%20resposta%20do%20sistema.%0D%0ATendo%20isso%20definido%2C%20pode-se%20desenvolver%20sistemas%20parecidos%2C%20mesmo%20que%20utilizando%20frameworks%20e%2Fou%20linguagens%20diferentes.%0D%0ANeste%20po&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D%2B%2528via%2B%2540frenetic_br%2529&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+02%3A+Banco+de+Dados+do+Projeto&amp;link=http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-02-banco-de-dados-do-projeto/&amp;notes=Antes%20de%20come%C3%A7ar%20a%20desenvolver%20a%20aplica%C3%A7%C3%A3o%2C%20faz-se%20mister%20definir%20o%20banco%20de%20dados%20e%20as%20a%C3%A7%C3%B5es%20do%20usu%C3%A1rio%20no%20sistema%2C%20assim%20como%20as%20a%C3%A7%C3%B5es%20de%20resposta%20do%20sistema.%0D%0ATendo%20isso%20definido%2C%20pode-se%20desenvolver%20sistemas%20parecidos%2C%20mesmo%20que%20utilizando%20frameworks%20e%2Fou%20linguagens%20diferentes.%0D%0ANeste%20po&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=88&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+02%3A+Banco+de+Dados+do+Projeto&amp;link=http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-02-banco-de-dados-do-projeto/&amp;notes=Antes%20de%20come%C3%A7ar%20a%20desenvolver%20a%20aplica%C3%A7%C3%A3o%2C%20faz-se%20mister%20definir%20o%20banco%20de%20dados%20e%20as%20a%C3%A7%C3%B5es%20do%20usu%C3%A1rio%20no%20sistema%2C%20assim%20como%20as%20a%C3%A7%C3%B5es%20de%20resposta%20do%20sistema.%0D%0ATendo%20isso%20definido%2C%20pode-se%20desenvolver%20sistemas%20parecidos%2C%20mesmo%20que%20utilizando%20frameworks%20e%2Fou%20linguagens%20diferentes.%0D%0ANeste%20po&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-evernote">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+02%3A+Banco+de+Dados+do+Projeto&amp;link=http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-02-banco-de-dados-do-projeto/&amp;notes=Antes%20de%20come%C3%A7ar%20a%20desenvolver%20a%20aplica%C3%A7%C3%A3o%2C%20faz-se%20mister%20definir%20o%20banco%20de%20dados%20e%20as%20a%C3%A7%C3%B5es%20do%20usu%C3%A1rio%20no%20sistema%2C%20assim%20como%20as%20a%C3%A7%C3%B5es%20de%20resposta%20do%20sistema.%0D%0ATendo%20isso%20definido%2C%20pode-se%20desenvolver%20sistemas%20parecidos%2C%20mesmo%20que%20utilizando%20frameworks%20e%2Fou%20linguagens%20diferentes.%0D%0ANeste%20po&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=191&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Clip this to Evernote">Clip this to Evernote</a>
		</li>
		<li class="shr-orkut">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+02%3A+Banco+de+Dados+do+Projeto&amp;link=http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-02-banco-de-dados-do-projeto/&amp;notes=Antes%20de%20come%C3%A7ar%20a%20desenvolver%20a%20aplica%C3%A7%C3%A3o%2C%20faz-se%20mister%20definir%20o%20banco%20de%20dados%20e%20as%20a%C3%A7%C3%B5es%20do%20usu%C3%A1rio%20no%20sistema%2C%20assim%20como%20as%20a%C3%A7%C3%B5es%20de%20resposta%20do%20sistema.%0D%0ATendo%20isso%20definido%2C%20pode-se%20desenvolver%20sistemas%20parecidos%2C%20mesmo%20que%20utilizando%20frameworks%20e%2Fou%20linguagens%20diferentes.%0D%0ANeste%20po&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=247&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Promote this on Orkut">Promote this on Orkut</a>
		</li>
		<li class="shr-tumblr">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+02%3A+Banco+de+Dados+do+Projeto&amp;link=http%3A%2F%2Fwww.frenetic.com.br%2Fartigos-e-textos%2Fcomparando-frameworks-php-parte-02-banco-de-dados-do-projeto%2F&amp;notes=Antes%20de%20come%C3%A7ar%20a%20desenvolver%20a%20aplica%C3%A7%C3%A3o%2C%20faz-se%20mister%20definir%20o%20banco%20de%20dados%20e%20as%20a%C3%A7%C3%B5es%20do%20usu%C3%A1rio%20no%20sistema%2C%20assim%20como%20as%20a%C3%A7%C3%B5es%20de%20resposta%20do%20sistema.%0D%0ATendo%20isso%20definido%2C%20pode-se%20desenvolver%20sistemas%20parecidos%2C%20mesmo%20que%20utilizando%20frameworks%20e%2Fou%20linguagens%20diferentes.%0D%0ANeste%20po&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=78&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Tumblr">Share this on Tumblr</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-02-banco-de-dados-do-projeto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Comparando Frameworks PHP] Parte 01: Introdução</title>
		<link>http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-01-introducao/</link>
		<comments>http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-01-introducao/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 04:19:47 +0000</pubDate>
		<dc:creator>FReNeTiC</dc:creator>
				<category><![CDATA[Artigos e Textos]]></category>
		<category><![CDATA[Comparando Frameworks PHP]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.frenetic.com.br/?p=200</guid>
		<description><![CDATA[PHP e eu: Programo com PHP a um pouco mais que 5 anos. Como gosto de construir projetos sólidos que dependam muito pouco de códigos externos, sempre abominei a utilização de frameworks. Nas minhas aplicações a única biblioteca que não era desenvolvida por mim e nem pela minha equipe era o Smarty Template Engine. Também [...]]]></description>
			<content:encoded><![CDATA[<h3>PHP e eu:</h3>
<p>Programo com <a href="http://php.net">PHP</a> a um pouco mais que 5 anos.<br />
Como gosto de construir projetos sólidos que dependam muito pouco de códigos externos, sempre abominei a utilização de <a href="http://pt.wikipedia.org/wiki/Framework" target="_blank">frameworks</a>.<br />
Nas minhas aplicações a única biblioteca que não era desenvolvida por mim e nem pela minha equipe era o <a href="http://www.smarty.net/" target="_blank">Smarty Template Engine</a>. Também pudera, depois que conheci o <a href="http://www.smarty.net/" target="_blank">Smarty</a> passei a achar ser impossível fazer um bom projeto sem utilizá-lo.<br />
Na primeira empresa que trabalhei conheci o <a href="http://www.propelorm.org/" target="_blank">Propel</a>, um <a href="http://pt.wikipedia.org/wiki/Mapeamento_objeto-relacional" target="_blank">ORM</a> para PHP. Uma bela mão na roda, mas isso era 2006. Na época o PHP5 ainda era tido como novidade, e o danado do <a href="http://www.propelorm.org/" target="_blank">Propel</a> as vezes apresentava uns bugs esquisitos e aleatórios, por isso parei de utilizá-lo.</p>
<h3>Frameworks e Python:</h3>
<p>Ultimamente tenho brincado bastante com <a href="http://www.python.org/" target="_blank">Python</a> e web.<br />
Podem descordar de mim, mas acredito que hoje em dia é praticamente impossível achar um projeto Python para web que não utilize um framework.<br />
Existem muitos frameworks para colocar seu código Python na web. Todos são muito robustos, cheios de bibliotecas e facilidades incorporadas, sem contar que grande parte ainda aceita plugins externos de forma fácil.<br />
São tantos frameworks que eles são divididos em categorias como, por exemplo, os <i>micro-frameworks</i>, que fazem o básico que é ajudar a por o servidor no ar e antender as requisições GET e POST, ou os <i>full-stack frameworks</i>, que fazem de tudo. <b>LITERALMENTE TUDO!</b> ORM, Views, Url Dispatcher, Forms, Template engines etc.</p>
<h3>Por que PHP e não Python:</h3>
<p>Python é uma linguagem realmente legal e que faz com que o programador sinta prazer em programar.<br />
Mas tenho uma maior fluência e experiência com o PHP e ainda prefiro trabalhar web com PHP. Pode ser que isso mude um dia, mas por enquanto, na minha opinião, programar para a web é sinônimo de PHP.<br />
Também tem o fato de que ninguém ainda conseguiu me convencer que, no tocante desempenho, Python é melhor que PHP, quando falamos de aplicações WEB.<br />
Por isso decidi que iria aprender um ou dois frameworks para PHP e que iria começar a usá-los daqui para frente. Quem sabe não encontro algo tão legal quanto <a href="https://www.djangoproject.com/" target="_blank">Django</a>?</p>
<h3>PHP e os vários frameworks:</h3>
<p>Foi ai que percebi que a comunidade PHP cresceu bastante nesses últimos anos, e que frameworks que eu ouvia falar que estavam em fase <i>alpha</i> hoje são os top-pica das galáxias.</p>
<p>Li vários artigos, conversei com alguns amigos e pesquisei bastante.<br />
Existem boas opções mas existem poucas comparações.<br />
Assim fica realmente difícil escolher um framework.<br />
A solução é aprender e testar um por um e então adotar um ou dois para serem os meus &#8220;frameworks oficiais&#8221;.<br />
Claro que não vou largar minha mania de programar sem frameworks. Mas, as vezes, pode ser que um projeto tenha um prazo muito curto, e frameworks ajudam bastante nessas horas.</p>
<h3>A Experiência:</h3>
<p>Para me ajudar a comparar os frameworks irei construir com cada um deles a mesma aplicação.<br />
O pequeno projeto é um sistema de votação, onde os usuários podem criar uma nova enquete, com suas respectivas opções, votar e ver resultados.</p>
<p>É um projeto bem simples, que envolve <a href="http://pt.wikipedia.org/wiki/CRUD" target="_blank">CRUD</a> no banco de dados, visualização, formulários, logins e permissionamento.</p>
<h3>Julgando os frameworks:</h3>
<p>Para poder decidir qual, ou quais, framework(s) vou utilizar, preciso definir como vou julgá-los.<br />
As notas serão de 0 a 10 para cada quesito que for por mim analisado.<br />
Por enquanto os quesitos que acredito que vou utilizar para a analise são:</p>
<ul>
<li><b>Manuais, docs e tutoriais</b> &#8211; Quanto mais fácil for para achar formas de aprender e tirar dúvidas, melhor</li>
<li><b>Facilidade de aprendizado, entendimento e uso</b></li>
<li><b>Liberdade de paradigma</b> &#8211; As vezes você quer usar <a href="http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos" target="_blank">POO</a> e as vezes não.</li>
<li><b>Templates</b> &#8211; Quanto mais fácil de utilizar e legível for o template, melhor</li>
<li><b>MVC</b> &#8211; O <a href="http://pt.wikipedia.org/wiki/MVC" target="_blank">MVC</a> é pré-requisito</li>
<li><b>Multiplos bancos e ORM</b> &#8211; Pelo menos <a href="http://www.mysql.com/" target="_blank">MySql</a> e <a href="http://www.postgresql.org/" target="_blank">Postgre</a></li>
<li><b>Validação e segurança</b> &#8211; O framework deve ajudar bastante!</li>
<li><b>logins, auths e sessions</b></li>
<li><b>DRY</b> &#8211; <a href="http://en.wikipedia.org/wiki/Don't_repeat_yourself" target="_blank">Don&#8217;t Repeat Yourself</a></li>
<li><b>Url Dispatcher</b> &#8211; Url Routing</li>
<li><b>Licença de uso</b></li>
<li><b>Feeling</b> &#8211; O quão bem me sinto programando com esse framework</li>
</ul>
<h3>Concorrentes:</h3>
<p>Aproveitando o embalo de estar metendo a mão na massa para fazer análises de frameworks, analisarei também os dois principais projetos de PHP ORM, o <a href="http://www.propelorm.org/" target="_blank">Propel</a> e o <a href="http://www.doctrine-project.org/" target="_blank">Doctrine</a>.</p>
<ul>
<li><b>PHP + Smarty</b> &#8211; O basicão de cada dia, utilizando o <a href="http://php.net/manual/en/book.pdo.php" target="_blank">PDO</a></li>
<li><b>PHP + Smarty + Propel</b> &#8211; O basicão com a ajuda de um ORM, primeiro round</li>
<li><b>PHP + Smarty + Doctrine</b> &#8211; O basicão com a ajuda de um ORM, segundo round</li>
<li>Framework <a href="http://cakephp.org/" target="_blank">CakePhp</a></li>
<li>Framework <a href="http://codeigniter.com/" target="_blank">CodeIgniter</a></li>
<li>Framework <a href="http://framework.zend.com/" target="_blank">Zend</a></li>
<li>Framework <a href="http://www.yiiframework.com/" target="_blank">Yii</a></li>
<li>Framework <a href="http://symfony.com/" target="_blank">Symfony</a></li>
<li>Framework <a href="http://www.akelos.org/" target="_blank">Akelos</a></li>
<li>Framework <a href="http://kohanaframework.org/" target="_blank">Kohana</a></li>
<li>Framework <a href="http://doophp.com/" target="_blank">DooPHP</a></li>
</ul>
<h3>Desenvolvimento:</h3>
<p>Tenho muita vontade de brincar com cada uma desses modelos e frameworks, mas falta-me o tempo.<br />
Codificarei o projeto supracitado em cada um dos modelos e frameworks, e publicarei um review para cada um deles aqui neste blog.<br />
Também, quem quiser ver os códigos, eles estarão disponíveis no seguinte repositório:<br />
<a href="https://github.com/frenetic/PHP-FrameWorks-Comparison">https://github.com/frenetic/PHP-FrameWorks-Comparison</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+01%3A+Introdu%C3%A7%C3%A3o&amp;link=http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-01-introducao/&amp;notes=PHP%20e%20eu%3A%0D%0A%0D%0AProgramo%20com%20PHP%20a%20um%20pouco%20mais%20que%205%20anos.%0D%0AComo%20gosto%20de%20construir%20projetos%20s%C3%B3lidos%20que%20dependam%20muito%20pouco%20de%20c%C3%B3digos%20externos%2C%20sempre%20abominei%20a%20utiliza%C3%A7%C3%A3o%20de%20frameworks.%0D%0ANas%20minhas%20aplica%C3%A7%C3%B5es%20a%20%C3%BAnica%20biblioteca%20que%20n%C3%A3o%20era%20desenvolvida%20por%20mim%20e%20nem%20pela%20minha%20equipe%20era&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+01%3A+Introdu%C3%A7%C3%A3o&amp;link=http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-01-introducao/&amp;notes=PHP%20e%20eu%3A%0D%0A%0D%0AProgramo%20com%20PHP%20a%20um%20pouco%20mais%20que%205%20anos.%0D%0AComo%20gosto%20de%20construir%20projetos%20s%C3%B3lidos%20que%20dependam%20muito%20pouco%20de%20c%C3%B3digos%20externos%2C%20sempre%20abominei%20a%20utiliza%C3%A7%C3%A3o%20de%20frameworks.%0D%0ANas%20minhas%20aplica%C3%A7%C3%B5es%20a%20%C3%BAnica%20biblioteca%20que%20n%C3%A3o%20era%20desenvolvida%20por%20mim%20e%20nem%20pela%20minha%20equipe%20era&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D%2B%2528via%2B%2540frenetic_br%2529&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+01%3A+Introdu%C3%A7%C3%A3o&amp;link=http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-01-introducao/&amp;notes=PHP%20e%20eu%3A%0D%0A%0D%0AProgramo%20com%20PHP%20a%20um%20pouco%20mais%20que%205%20anos.%0D%0AComo%20gosto%20de%20construir%20projetos%20s%C3%B3lidos%20que%20dependam%20muito%20pouco%20de%20c%C3%B3digos%20externos%2C%20sempre%20abominei%20a%20utiliza%C3%A7%C3%A3o%20de%20frameworks.%0D%0ANas%20minhas%20aplica%C3%A7%C3%B5es%20a%20%C3%BAnica%20biblioteca%20que%20n%C3%A3o%20era%20desenvolvida%20por%20mim%20e%20nem%20pela%20minha%20equipe%20era&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=88&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+01%3A+Introdu%C3%A7%C3%A3o&amp;link=http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-01-introducao/&amp;notes=PHP%20e%20eu%3A%0D%0A%0D%0AProgramo%20com%20PHP%20a%20um%20pouco%20mais%20que%205%20anos.%0D%0AComo%20gosto%20de%20construir%20projetos%20s%C3%B3lidos%20que%20dependam%20muito%20pouco%20de%20c%C3%B3digos%20externos%2C%20sempre%20abominei%20a%20utiliza%C3%A7%C3%A3o%20de%20frameworks.%0D%0ANas%20minhas%20aplica%C3%A7%C3%B5es%20a%20%C3%BAnica%20biblioteca%20que%20n%C3%A3o%20era%20desenvolvida%20por%20mim%20e%20nem%20pela%20minha%20equipe%20era&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-evernote">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+01%3A+Introdu%C3%A7%C3%A3o&amp;link=http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-01-introducao/&amp;notes=PHP%20e%20eu%3A%0D%0A%0D%0AProgramo%20com%20PHP%20a%20um%20pouco%20mais%20que%205%20anos.%0D%0AComo%20gosto%20de%20construir%20projetos%20s%C3%B3lidos%20que%20dependam%20muito%20pouco%20de%20c%C3%B3digos%20externos%2C%20sempre%20abominei%20a%20utiliza%C3%A7%C3%A3o%20de%20frameworks.%0D%0ANas%20minhas%20aplica%C3%A7%C3%B5es%20a%20%C3%BAnica%20biblioteca%20que%20n%C3%A3o%20era%20desenvolvida%20por%20mim%20e%20nem%20pela%20minha%20equipe%20era&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=191&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Clip this to Evernote">Clip this to Evernote</a>
		</li>
		<li class="shr-orkut">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+01%3A+Introdu%C3%A7%C3%A3o&amp;link=http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-01-introducao/&amp;notes=PHP%20e%20eu%3A%0D%0A%0D%0AProgramo%20com%20PHP%20a%20um%20pouco%20mais%20que%205%20anos.%0D%0AComo%20gosto%20de%20construir%20projetos%20s%C3%B3lidos%20que%20dependam%20muito%20pouco%20de%20c%C3%B3digos%20externos%2C%20sempre%20abominei%20a%20utiliza%C3%A7%C3%A3o%20de%20frameworks.%0D%0ANas%20minhas%20aplica%C3%A7%C3%B5es%20a%20%C3%BAnica%20biblioteca%20que%20n%C3%A3o%20era%20desenvolvida%20por%20mim%20e%20nem%20pela%20minha%20equipe%20era&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=247&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Promote this on Orkut">Promote this on Orkut</a>
		</li>
		<li class="shr-tumblr">
			<a href="http://www.shareaholic.com/api/share/?title=%5BComparando+Frameworks+PHP%5D+Parte+01%3A+Introdu%C3%A7%C3%A3o&amp;link=http%3A%2F%2Fwww.frenetic.com.br%2Fartigos-e-textos%2Fcomparando-frameworks-php-parte-01-introducao%2F&amp;notes=PHP%20e%20eu%3A%0D%0A%0D%0AProgramo%20com%20PHP%20a%20um%20pouco%20mais%20que%205%20anos.%0D%0AComo%20gosto%20de%20construir%20projetos%20s%C3%B3lidos%20que%20dependam%20muito%20pouco%20de%20c%C3%B3digos%20externos%2C%20sempre%20abominei%20a%20utiliza%C3%A7%C3%A3o%20de%20frameworks.%0D%0ANas%20minhas%20aplica%C3%A7%C3%B5es%20a%20%C3%BAnica%20biblioteca%20que%20n%C3%A3o%20era%20desenvolvida%20por%20mim%20e%20nem%20pela%20minha%20equipe%20era&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=78&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Tumblr">Share this on Tumblr</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.frenetic.com.br/artigos-e-textos/comparando-frameworks-php-parte-01-introducao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diário de Programador 18: Participe!</title>
		<link>http://www.frenetic.com.br/artigos-e-textos/diario-de-programador-18-participe/</link>
		<comments>http://www.frenetic.com.br/artigos-e-textos/diario-de-programador-18-participe/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 14:35:30 +0000</pubDate>
		<dc:creator>FReNeTiC</dc:creator>
				<category><![CDATA[Artigos e Textos]]></category>
		<category><![CDATA[Diário de um Programador]]></category>
		<category><![CDATA[diário]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[programador]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://www.frenetic.com.br/?p=192</guid>
		<description><![CDATA[Uma das dicas mais simples que posso dar para quem gosta do que faz e, em especial, ao pessoal da computação e afins: PARTICIPE! Participar? Vamos analisar e discutir a partir da minha exeperiência de vida (afinal, é para isso que serve o diário de programador). Na faculdade vi muitos grupos de estudo, células de [...]]]></description>
			<content:encoded><![CDATA[<p>Uma das dicas mais simples que posso dar para quem gosta do que faz e, em especial, ao pessoal da computação e afins: <b>PARTICIPE!</b></p>
<p><b>Participar?</b></p>
<p>Vamos analisar e discutir a partir da minha exeperiência de vida (afinal, é para isso que serve o diário de programador).</p>
<p>Na faculdade vi muitos grupos de estudo, células de aprendizado e organização de eventos acontecerem.<br />
Não participei de nenhuma.<br />
Não me arrependo por completo.<br />
Porém, perto do fim do curso conheci a linguagem de programação <a href="http://www.python.org" target="_blank">Python</a> pela qual <i>me apaixonei</i>, e movido por esse interesse descobri que na minha cidade/estado existia um grupo de estudo dessa linguagem, o <a href="http://pug.pe" target="_blank">PUG-PE</a> (Python User Group &#8211; Pernambuco).<br />
Desde que entrei faço questão de participar das discussões, tirar minhas dúvidas e ajudar a elucidar dúvidas de terceiros e, principalmente, ir para os encontros mensais!</p>
<p><b>É MUITO BOM PARTICIPAR!</b></p>
<p>Esse é um dos grandes motivos de participar de um grupo, é realmente muito bom!<br />
Você pode aprender, conhecer gente nova, tomar umas cervejas e muito mais.<br />
Gerar, distribuir e absorver conhecimento é muito prazeroso.<br />
Quando você participa de algo, você tem a chance de conhecer melhor aquilo que se gosta, e tem uma excelente oportunidade de crescer como pessoa.<br />
Também, participar ajuda no network, caso você queira trabalhar com a sua paixão!</p>
<p><b>Mas é para participar apenas de grupos de estudos?</b></p>
<p>NÃO!<br />
Esse é apenas o exemplo que vivo atualmente, mas há muito outros lugares que você pode participar!<br />
Projetos open source no <a href="http://github.com" target="_blank">GitHub</a>, eventos de seu interesse, listas de discussão, forums de um jogo que você adora, clan de um MMORPG, e por ai vai!<br />
O que importa é estar no meio de algo que você gosta, ser parte de um grupo e fazer com que o grupo cresça (não apenas em quantidade de pessoas, mas em conteúdo), que assim crescerás também!</p>
<p><b>Mas como achar um grupo? E se o grupo não existe?</b></p>
<p>Como achar um grupo?<br />
<a href="http://google.com" target="_blank">Google</a> é um bom começo.<br />
Com certeza esse grupo pode estar em uma rede social, tal qual o <a href="http://www.facebook.com" target="_blank">Facebook</a> ou <a href="http://orkut.com" target="_blank">Orkut</a>.<br />
E, com certeza, se este grupo existe, suas atividades, eventos e comentários pertinentes são divulgados no <a href="http://twitter.com" target="_blank">Twitter</a>!<br />
Basta dar uma procurada!</p>
<p>Se não conseguir encontrar o grupo nessas redes sociais e nem no Google, é porque o danado não existe.<br />
A partir deste ponto, há duas soluções: desistir ou criar um grupo.<br />
Criar um grupo pode dar trabalho, mas é um esforço recompensado.<br />
Crie um centro de discussão, como o <a href="http://groups.google.com" target="_blank">Google Groups</a> ou algum forum, crie um perfil social e/ou um blog, convide seus amigos e comece a promover conteúdo e encontro!<br />
Envolva todo mundo que goste do que você gosta.<br />
Com certeza outros entusiastas irão aparecer para participar dos debates e eventos.</p>
<p>Dúvida?<br />
Há um vídeo no <a href="http://youtu.be/uNPyC_6GWFQ" target="_blank">YouTube</a> que mostra a <a href="http://youtu.be/uNPyC_6GWFQ" target="_blank">evolução do PUG-PE</a>, contando a quantidade de participantes desde 2007 até 2011.<br />
O conteúdo é bom, as pessoas são legais, os eventos são excelentes!<br />
Ingredientes que fazem novos apaixonados em Python se agregarem cada vez mais ao <a href="http://pug.pe" target="_blank">PUG-PE</a>.</p>
<p>&nbsp;</p>
<p>Este artigo foi escrito no site <a href="http://www.CDVagabundo.com.br" target="_blank">CDVagabundo</a> e pode ser lido na URL:<br />
<a href="http://www.cdvagabundo.com.br/diariodeumprogramador/diario-de-um-programador-18-participe" target="_blank">http://www.cdvagabundo.com.br/diariodeumprogramador/diario-de-um-programador-18-participe</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+Programador+18%3A+Participe%21&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-programador-18-participe/&amp;notes=Uma%20das%20dicas%20mais%20simples%20que%20posso%20dar%20para%20quem%20gosta%20do%20que%20faz%20e%2C%20em%20especial%2C%20ao%20pessoal%20da%20computa%C3%A7%C3%A3o%20e%20afins%3A%20PARTICIPE%21%0D%0A%0D%0AParticipar%3F%0D%0A%0D%0AVamos%20analisar%20e%20discutir%20a%20partir%20da%20minha%20exeperi%C3%AAncia%20de%20vida%20%28afinal%2C%20%C3%A9%20para%20isso%20que%20serve%20o%20di%C3%A1rio%20de%20programador%29.%0D%0A%0D%0ANa%20faculdade%20vi%20muitos%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+Programador+18%3A+Participe%21&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-programador-18-participe/&amp;notes=Uma%20das%20dicas%20mais%20simples%20que%20posso%20dar%20para%20quem%20gosta%20do%20que%20faz%20e%2C%20em%20especial%2C%20ao%20pessoal%20da%20computa%C3%A7%C3%A3o%20e%20afins%3A%20PARTICIPE%21%0D%0A%0D%0AParticipar%3F%0D%0A%0D%0AVamos%20analisar%20e%20discutir%20a%20partir%20da%20minha%20exeperi%C3%AAncia%20de%20vida%20%28afinal%2C%20%C3%A9%20para%20isso%20que%20serve%20o%20di%C3%A1rio%20de%20programador%29.%0D%0A%0D%0ANa%20faculdade%20vi%20muitos%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D%2B%2528via%2B%2540frenetic_br%2529&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+Programador+18%3A+Participe%21&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-programador-18-participe/&amp;notes=Uma%20das%20dicas%20mais%20simples%20que%20posso%20dar%20para%20quem%20gosta%20do%20que%20faz%20e%2C%20em%20especial%2C%20ao%20pessoal%20da%20computa%C3%A7%C3%A3o%20e%20afins%3A%20PARTICIPE%21%0D%0A%0D%0AParticipar%3F%0D%0A%0D%0AVamos%20analisar%20e%20discutir%20a%20partir%20da%20minha%20exeperi%C3%AAncia%20de%20vida%20%28afinal%2C%20%C3%A9%20para%20isso%20que%20serve%20o%20di%C3%A1rio%20de%20programador%29.%0D%0A%0D%0ANa%20faculdade%20vi%20muitos%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=88&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+Programador+18%3A+Participe%21&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-programador-18-participe/&amp;notes=Uma%20das%20dicas%20mais%20simples%20que%20posso%20dar%20para%20quem%20gosta%20do%20que%20faz%20e%2C%20em%20especial%2C%20ao%20pessoal%20da%20computa%C3%A7%C3%A3o%20e%20afins%3A%20PARTICIPE%21%0D%0A%0D%0AParticipar%3F%0D%0A%0D%0AVamos%20analisar%20e%20discutir%20a%20partir%20da%20minha%20exeperi%C3%AAncia%20de%20vida%20%28afinal%2C%20%C3%A9%20para%20isso%20que%20serve%20o%20di%C3%A1rio%20de%20programador%29.%0D%0A%0D%0ANa%20faculdade%20vi%20muitos%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-evernote">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+Programador+18%3A+Participe%21&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-programador-18-participe/&amp;notes=Uma%20das%20dicas%20mais%20simples%20que%20posso%20dar%20para%20quem%20gosta%20do%20que%20faz%20e%2C%20em%20especial%2C%20ao%20pessoal%20da%20computa%C3%A7%C3%A3o%20e%20afins%3A%20PARTICIPE%21%0D%0A%0D%0AParticipar%3F%0D%0A%0D%0AVamos%20analisar%20e%20discutir%20a%20partir%20da%20minha%20exeperi%C3%AAncia%20de%20vida%20%28afinal%2C%20%C3%A9%20para%20isso%20que%20serve%20o%20di%C3%A1rio%20de%20programador%29.%0D%0A%0D%0ANa%20faculdade%20vi%20muitos%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=191&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Clip this to Evernote">Clip this to Evernote</a>
		</li>
		<li class="shr-orkut">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+Programador+18%3A+Participe%21&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-programador-18-participe/&amp;notes=Uma%20das%20dicas%20mais%20simples%20que%20posso%20dar%20para%20quem%20gosta%20do%20que%20faz%20e%2C%20em%20especial%2C%20ao%20pessoal%20da%20computa%C3%A7%C3%A3o%20e%20afins%3A%20PARTICIPE%21%0D%0A%0D%0AParticipar%3F%0D%0A%0D%0AVamos%20analisar%20e%20discutir%20a%20partir%20da%20minha%20exeperi%C3%AAncia%20de%20vida%20%28afinal%2C%20%C3%A9%20para%20isso%20que%20serve%20o%20di%C3%A1rio%20de%20programador%29.%0D%0A%0D%0ANa%20faculdade%20vi%20muitos%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=247&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Promote this on Orkut">Promote this on Orkut</a>
		</li>
		<li class="shr-tumblr">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+Programador+18%3A+Participe%21&amp;link=http%3A%2F%2Fwww.frenetic.com.br%2Fartigos-e-textos%2Fdiario-de-programador-18-participe%2F&amp;notes=Uma%20das%20dicas%20mais%20simples%20que%20posso%20dar%20para%20quem%20gosta%20do%20que%20faz%20e%2C%20em%20especial%2C%20ao%20pessoal%20da%20computa%C3%A7%C3%A3o%20e%20afins%3A%20PARTICIPE%21%0D%0A%0D%0AParticipar%3F%0D%0A%0D%0AVamos%20analisar%20e%20discutir%20a%20partir%20da%20minha%20exeperi%C3%AAncia%20de%20vida%20%28afinal%2C%20%C3%A9%20para%20isso%20que%20serve%20o%20di%C3%A1rio%20de%20programador%29.%0D%0A%0D%0ANa%20faculdade%20vi%20muitos%20&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=78&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Tumblr">Share this on Tumblr</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.frenetic.com.br/artigos-e-textos/diario-de-programador-18-participe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diário de um Programador 17: Um bom salário VS uma boa oportunidade</title>
		<link>http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-17-um-bom-salario-vs-uma-boa-oportunidade/</link>
		<comments>http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-17-um-bom-salario-vs-uma-boa-oportunidade/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 12:36:03 +0000</pubDate>
		<dc:creator>FReNeTiC</dc:creator>
				<category><![CDATA[Artigos e Textos]]></category>
		<category><![CDATA[Diário de um Programador]]></category>
		<category><![CDATA[diário]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[programador]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://www.frenetic.com.br/?p=177</guid>
		<description><![CDATA[Após um bom tempo sem escrever um Diário de Programador, trago hoje um fato da minha vida que muitos me perguntam e eu sempre penso a respeito: O que vale mais, um bom salário ou uma boa oportunidade? Claro que nesta dicotomia estou considerando que ambas as opções são para fazer algo que você realmente [...]]]></description>
			<content:encoded><![CDATA[<p>Após um bom tempo sem escrever um Diário de Programador, trago hoje um fato da minha vida que muitos me perguntam e eu sempre penso a respeito: <b>O que vale mais, um bom salário ou uma boa oportunidade</b>?<br />
Claro que nesta dicotomia estou considerando que ambas as opções são para fazer algo que você realmente gosta.<br />
Afinal, comentando o que todo mundo já sabe: &#8220;faça o que você gosta e o que te dá prazer, ou vire dona de casa&#8221;.</p>
<p>Trabalho, atualmente, no escritório administrativo de uma empresa que ainda não está funcionando.<br />
A construção da fábrica dessa empresa está perto do fim e o maquinário para começar a produção está chegando. A previsão é que no segundo semestre de 2011 possamos estar funcionando com força total.<br />
Aqui sou líder de uma grande <b>EU</b>quipe de programação.<br />
Para este cargo ganho <b>X Reais</b>.</p>
<p>Alguns colegas daqui da empresa e um pessoal da faculdade me perguntam por que eu não troco de emprego.<br />
Por que que eu não vou para uma empresa que me pague melhor e que eu tenha oportunidade de crescer profissionalmente?</p>
<p>É, vale salientar que dentro da empresa que estou é praticamente impossível subir profissionalmente.</p>
<p>Já fui convidado algumas vezes para sair daqui.<br />
Para ir para outras empresas para fazer o mesmo, até mesmo trabalhar menos, e ganhar cerca de duas a três vezes mais como salário inicial, podendo crescer dentro da empresa.<br />
Não fui.<br />
Sempre digo não para essas oprotunidades.</p>
<p>Ai você se pergunta, <b>Mas por que <a href="http://twitter.com/frenetic_br" target="_blank">FReNeTiC</a>?</b></p>
<p>O investimento feito na empresa que estou atualmente já passou dos <b>R$4.000.000.000,00</b> (Quatro bilhões de Reais).<br />
É ou não é uma boa empresa para se ter no currículo?<br />
Além disso, semana passada estive do lado de 1 roteador Cisco que vale, montado, quase <b>R$5.000.000,00</b> (Cinco milhões de Reais).<br />
Também, aqui acabaram de ser montados dois <a href="http://en.wikipedia.org/wiki/Blade_server" target="_blank">blade server</a> da <a href="http://www.hp.com" target="_blank">HP</a>, que devem valer juntos, e montadinhos, uns <b>R$4.000.000, 00</b> (Quatro milhões de Reais).</p>
<p>Já viram isso funcionando?<br />
Tem som de TeraBytes!</p>
<p>Além disso, aqui estou tendo a oportunidade de estar a frente das especificações e análises técnicas de uma licitação, além de ver muita coisa interessante acontecer aqui quando o assunto é TI.</p>
<p><b>Vale a pena?</b></p>
<p>Essa é a questão, vale a pena estar aqui ou invés de ir atrás de melhores salários?</p>
<p>Para mim vale.<br />
Sou novo, ainda moro com a minha mãe, não tenho filhos e nem despesas expressivas.<br />
Pondero muito sobre isso e, por enquanto, ainda vale a pena estar onde estou e ver muita coisa acontecer.<br />
O que vejo e aprendo aqui na empresa mata muito a minha curiosidade nerd de descobrir como funciona uma super empresa, como é o TI, o planejamento, os equipamentos.<br />
Não conheço ninguém que tem uma oportunidade parecida com a minha.</p>
<p>Claro que, uma hora essa oportunidade já não terá tanto peso, e ai não irá mais valer a pena.<br />
Num futuro <B>MUITO</B> próximo, quero atingir objetivos maiores, ganhar mais, ter um cargo bem mais expressivo e colocar toda a minha experiência e aprendizado em prática.</p>
<p>Acredito que essa possa ser a dúvida de muita gente, <b>começar logo uma carreira estável ou aprender muito?</b></p>
<p>Aqui, vale reflexão.<br />
Eu sou muito curioso e gosto muito de aprender e ver as coisas funcionando.<br />
Pra mim, vale muito a pena a experiência que estou tendo.</p>
<p>Por outro lado, conheço gente que é louca para atingir logo um cargo grande em uma empresa e ter um super salário logo quando formado.<br />
Ou então montar a sua empresa e lutar para que ela vire uma grande empresa.<br />
Isso também é experiência e aprendizado. Os caminhos, o esforço e o estudo que você precisa para alcançar seus objetivos, o que muitas vezes vai ser solitário e tomando muita porrada da vida, tudo isso, é bem interessante.</p>
<p>Essa decisão é &#8220;de momento&#8221; e &#8220;de gosto&#8221;.<br />
Vale a pena experimentar um pouco de cada.<br />
Afinal, ter conhecimento, experiência e fazendo o que você é apaixonado, não é palpável a qualquer um.</p>
<p>&nbsp;</p>
<p>Este artigo foi escrito no site <a href="http://www.CDVagabundo.com.br" target="_blank">CDVagabundo</a> e pode ser lido na URL:<br />
<a href="http://www.cdvagabundo.com.br/diariodeumprogramador/diario-de-um-programador-17-um-bom-salario-vs-uma-boa-oportunidade" target="_blank">http://www.cdvagabundo.com.br/diariodeumprogramador/diario-de-um-programador-17-um-bom-salario-vs-uma-boa-oportunidade</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+17%3A+Um+bom+sal%C3%A1rio+VS+uma+boa+oportunidade&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-17-um-bom-salario-vs-uma-boa-oportunidade/&amp;notes=Ap%C3%B3s%20um%20bom%20tempo%20sem%20escrever%20um%20Di%C3%A1rio%20de%20Programador%2C%20trago%20hoje%20um%20fato%20da%20minha%20vida%20que%20muitos%20me%20perguntam%20e%20eu%20sempre%20penso%20a%20respeito%3A%20O%20que%20vale%20mais%2C%20um%20bom%20sal%C3%A1rio%20ou%20uma%20boa%20oportunidade%3F%0D%0AClaro%20que%20nesta%20dicotomia%20estou%20considerando%20que%20ambas%20as%20op%C3%A7%C3%B5es%20s%C3%A3o%20para%20fazer%20algo%20que%20voc&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+17%3A+Um+bom+sal%C3%A1rio+VS+uma+boa+oportunidade&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-17-um-bom-salario-vs-uma-boa-oportunidade/&amp;notes=Ap%C3%B3s%20um%20bom%20tempo%20sem%20escrever%20um%20Di%C3%A1rio%20de%20Programador%2C%20trago%20hoje%20um%20fato%20da%20minha%20vida%20que%20muitos%20me%20perguntam%20e%20eu%20sempre%20penso%20a%20respeito%3A%20O%20que%20vale%20mais%2C%20um%20bom%20sal%C3%A1rio%20ou%20uma%20boa%20oportunidade%3F%0D%0AClaro%20que%20nesta%20dicotomia%20estou%20considerando%20que%20ambas%20as%20op%C3%A7%C3%B5es%20s%C3%A3o%20para%20fazer%20algo%20que%20voc&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D%2B%2528via%2B%2540frenetic_br%2529&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+17%3A+Um+bom+sal%C3%A1rio+VS+uma+boa+oportunidade&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-17-um-bom-salario-vs-uma-boa-oportunidade/&amp;notes=Ap%C3%B3s%20um%20bom%20tempo%20sem%20escrever%20um%20Di%C3%A1rio%20de%20Programador%2C%20trago%20hoje%20um%20fato%20da%20minha%20vida%20que%20muitos%20me%20perguntam%20e%20eu%20sempre%20penso%20a%20respeito%3A%20O%20que%20vale%20mais%2C%20um%20bom%20sal%C3%A1rio%20ou%20uma%20boa%20oportunidade%3F%0D%0AClaro%20que%20nesta%20dicotomia%20estou%20considerando%20que%20ambas%20as%20op%C3%A7%C3%B5es%20s%C3%A3o%20para%20fazer%20algo%20que%20voc&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=88&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+17%3A+Um+bom+sal%C3%A1rio+VS+uma+boa+oportunidade&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-17-um-bom-salario-vs-uma-boa-oportunidade/&amp;notes=Ap%C3%B3s%20um%20bom%20tempo%20sem%20escrever%20um%20Di%C3%A1rio%20de%20Programador%2C%20trago%20hoje%20um%20fato%20da%20minha%20vida%20que%20muitos%20me%20perguntam%20e%20eu%20sempre%20penso%20a%20respeito%3A%20O%20que%20vale%20mais%2C%20um%20bom%20sal%C3%A1rio%20ou%20uma%20boa%20oportunidade%3F%0D%0AClaro%20que%20nesta%20dicotomia%20estou%20considerando%20que%20ambas%20as%20op%C3%A7%C3%B5es%20s%C3%A3o%20para%20fazer%20algo%20que%20voc&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-evernote">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+17%3A+Um+bom+sal%C3%A1rio+VS+uma+boa+oportunidade&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-17-um-bom-salario-vs-uma-boa-oportunidade/&amp;notes=Ap%C3%B3s%20um%20bom%20tempo%20sem%20escrever%20um%20Di%C3%A1rio%20de%20Programador%2C%20trago%20hoje%20um%20fato%20da%20minha%20vida%20que%20muitos%20me%20perguntam%20e%20eu%20sempre%20penso%20a%20respeito%3A%20O%20que%20vale%20mais%2C%20um%20bom%20sal%C3%A1rio%20ou%20uma%20boa%20oportunidade%3F%0D%0AClaro%20que%20nesta%20dicotomia%20estou%20considerando%20que%20ambas%20as%20op%C3%A7%C3%B5es%20s%C3%A3o%20para%20fazer%20algo%20que%20voc&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=191&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Clip this to Evernote">Clip this to Evernote</a>
		</li>
		<li class="shr-orkut">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+17%3A+Um+bom+sal%C3%A1rio+VS+uma+boa+oportunidade&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-17-um-bom-salario-vs-uma-boa-oportunidade/&amp;notes=Ap%C3%B3s%20um%20bom%20tempo%20sem%20escrever%20um%20Di%C3%A1rio%20de%20Programador%2C%20trago%20hoje%20um%20fato%20da%20minha%20vida%20que%20muitos%20me%20perguntam%20e%20eu%20sempre%20penso%20a%20respeito%3A%20O%20que%20vale%20mais%2C%20um%20bom%20sal%C3%A1rio%20ou%20uma%20boa%20oportunidade%3F%0D%0AClaro%20que%20nesta%20dicotomia%20estou%20considerando%20que%20ambas%20as%20op%C3%A7%C3%B5es%20s%C3%A3o%20para%20fazer%20algo%20que%20voc&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=247&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Promote this on Orkut">Promote this on Orkut</a>
		</li>
		<li class="shr-tumblr">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+17%3A+Um+bom+sal%C3%A1rio+VS+uma+boa+oportunidade&amp;link=http%3A%2F%2Fwww.frenetic.com.br%2Fartigos-e-textos%2Fdiario-de-um-programador-17-um-bom-salario-vs-uma-boa-oportunidade%2F&amp;notes=Ap%C3%B3s%20um%20bom%20tempo%20sem%20escrever%20um%20Di%C3%A1rio%20de%20Programador%2C%20trago%20hoje%20um%20fato%20da%20minha%20vida%20que%20muitos%20me%20perguntam%20e%20eu%20sempre%20penso%20a%20respeito%3A%20O%20que%20vale%20mais%2C%20um%20bom%20sal%C3%A1rio%20ou%20uma%20boa%20oportunidade%3F%0D%0AClaro%20que%20nesta%20dicotomia%20estou%20considerando%20que%20ambas%20as%20op%C3%A7%C3%B5es%20s%C3%A3o%20para%20fazer%20algo%20que%20voc&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=78&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Tumblr">Share this on Tumblr</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-17-um-bom-salario-vs-uma-boa-oportunidade/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ConSys, PHP + GTk em ação!</title>
		<link>http://www.frenetic.com.br/codigos-e-projetos/consys-php-gtk-em-acao/</link>
		<comments>http://www.frenetic.com.br/codigos-e-projetos/consys-php-gtk-em-acao/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 18:20:39 +0000</pubDate>
		<dc:creator>FReNeTiC</dc:creator>
				<category><![CDATA[Códigos e Projetos]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Beta]]></category>
		<category><![CDATA[ConSys]]></category>
		<category><![CDATA[glade]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[PHP-GTk]]></category>

		<guid isPermaLink="false">http://www.frenetic.com.br/?p=151</guid>
		<description><![CDATA[Como muitas pessoas, por um tempo acreditei que a linguagem PHP só servia para aplicações WEB, mas me enganei. Existe um projeto que deve ser considerado chamado PHP-GTk que une a linguagem de programação PHP à biblioteca GTk, o que possibilita a criação de aplicações desktop. Esta idéia de tentar tornar o PHP mais presente [...]]]></description>
			<content:encoded><![CDATA[<p>Como muitas pessoas, por um tempo acreditei que a linguagem <a href="http://www.php.net" target="_blank">PHP</a> só servia para aplicações WEB, mas me enganei.<br />
Existe um projeto que deve ser considerado chamado <a href="http://www.php-gtk.com.br/" target="_blank">PHP-GTk</a> que une a linguagem de programação PHP à biblioteca <a href="http://www.gtk.org/" target="_blank">GTk</a>, o que possibilita a criação de aplicações desktop.<br />
Esta idéia de tentar tornar o PHP mais presente em aplicações desktop é tão séria que chega a estar presente nos planos da nova versão do PHP, o PHP 6.</p>
<p>Como bom programador que sou fui correndo descobrir como que funcionava essa mistura PHP + GTk, e aproveitei a necessidade de um tio meu que é psiquiatra que precisava manter anotações dos seus pacientes como comportamento e remédios que haviam sido receitados.<br />
Surgiu então o <a href="http://www.frenetic.com.br/projetos/conSys/ConSys.zip" target="_blank">ConSys Beta</a>, um pequeno projeto pessoal que fiz para aprender como utilizar PHP + GTk.<br />
Aproveitei a experiência para aprender a modelar interfaces GTk com o aplicativo <a href="http://glade.gnome.org/" target="_blank">Glade</a>, o que se tornou um aprendizado bastante útil.</p>
<p>O projeto <a href="http://www.frenetic.com.br/projetos/conSys/ConSys.zip" target="_blank">ConSys Beta</a> está com seu código todo comentado para facilitar o aprendizado de quem desejar aprender um pouco de PHP + GTk.<br />
O projeto pode ser baixado pela URL <a href="http://www.frenetic.com.br/projetos/conSys/ConSys.zip" target="_blank">www.frenetic.com.br/projetos/conSys/ConSys.zip</a> e tem cerca de 18Mb comprimido em um arquivo Zip.</p>
<p>Screenshots do projeto:<br />
<div id="attachment_152" class="wp-caption alignleft" style="width: 160px"><a href="http://www.frenetic.com.br/wp-content/uploads/2010/07/tela-inicial.jpg"><img src="http://www.frenetic.com.br/wp-content/uploads/2010/07/tela-inicial-150x91.jpg" alt="" title="tela inicial" width="150" height="91" class="size-thumbnail wp-image-152" /></a><p class="wp-caption-text">Tela inicial do projeto</p></div></p>
<div id="attachment_155" class="wp-caption alignleft" style="width: 160px"><a href="http://www.frenetic.com.br/wp-content/uploads/2010/07/tela-inicial-filtro-de-busca.jpg"><img src="http://www.frenetic.com.br/wp-content/uploads/2010/07/tela-inicial-filtro-de-busca-150x91.jpg" alt="" title="tela inicial - filtro de busca" width="150" height="91" class="size-thumbnail wp-image-155" /></a><p class="wp-caption-text">tela inicial - filtro de busca</p></div>
<div id="attachment_156" class="wp-caption alignleft" style="width: 160px"><a href="http://www.frenetic.com.br/wp-content/uploads/2010/07/tela-inserir-usuario.jpg"><img src="http://www.frenetic.com.br/wp-content/uploads/2010/07/tela-inserir-usuario-150x68.jpg" alt="" title="tela inserir usuario" width="150" height="68" class="size-thumbnail wp-image-156" /></a><p class="wp-caption-text">tela inserir e editar usuario</p></div>
<div style="clear:both;"></div>
<div id="attachment_157" class="wp-caption alignleft" style="width: 160px"><a href="http://www.frenetic.com.br/wp-content/uploads/2010/07/tela-de-consultas-do-paciente.jpg"><img src="http://www.frenetic.com.br/wp-content/uploads/2010/07/tela-de-consultas-do-paciente-150x95.jpg" alt="" title="tela de consultas do paciente" width="150" height="95" class="size-thumbnail wp-image-157" /></a><p class="wp-caption-text">tela de verificação das consultas do paciente</p></div>
<div id="attachment_158" class="wp-caption alignleft" style="width: 160px"><a href="http://www.frenetic.com.br/wp-content/uploads/2010/07/tela-de-consultas-do-paciente-acao.jpg"><img src="http://www.frenetic.com.br/wp-content/uploads/2010/07/tela-de-consultas-do-paciente-acao-150x72.jpg" alt="" title="tela de consultas do paciente - acao" width="150" height="72" class="size-thumbnail wp-image-158" /></a><p class="wp-caption-text">tela de inserção e edição de consulta</p></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=ConSys%2C+PHP+%2B+GTk+em+a%C3%A7%C3%A3o%21&amp;link=http://www.frenetic.com.br/codigos-e-projetos/consys-php-gtk-em-acao/&amp;notes=Como%20muitas%20pessoas%2C%20por%20um%20tempo%20acreditei%20que%20a%20linguagem%20PHP%20s%C3%B3%20servia%20para%20aplica%C3%A7%C3%B5es%20WEB%2C%20mas%20me%20enganei.%0D%0AExiste%20um%20projeto%20que%20deve%20ser%20considerado%20chamado%20PHP-GTk%20que%20une%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP%20%C3%A0%20biblioteca%20GTk%2C%20o%20que%20possibilita%20a%20cria%C3%A7%C3%A3o%20de%20aplica%C3%A7%C3%B5es%20desktop.%0D%0AEsta%20id%C3%A9i&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=ConSys%2C+PHP+%2B+GTk+em+a%C3%A7%C3%A3o%21&amp;link=http://www.frenetic.com.br/codigos-e-projetos/consys-php-gtk-em-acao/&amp;notes=Como%20muitas%20pessoas%2C%20por%20um%20tempo%20acreditei%20que%20a%20linguagem%20PHP%20s%C3%B3%20servia%20para%20aplica%C3%A7%C3%B5es%20WEB%2C%20mas%20me%20enganei.%0D%0AExiste%20um%20projeto%20que%20deve%20ser%20considerado%20chamado%20PHP-GTk%20que%20une%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP%20%C3%A0%20biblioteca%20GTk%2C%20o%20que%20possibilita%20a%20cria%C3%A7%C3%A3o%20de%20aplica%C3%A7%C3%B5es%20desktop.%0D%0AEsta%20id%C3%A9i&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D%2B%2528via%2B%2540frenetic_br%2529&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.shareaholic.com/api/share/?title=ConSys%2C+PHP+%2B+GTk+em+a%C3%A7%C3%A3o%21&amp;link=http://www.frenetic.com.br/codigos-e-projetos/consys-php-gtk-em-acao/&amp;notes=Como%20muitas%20pessoas%2C%20por%20um%20tempo%20acreditei%20que%20a%20linguagem%20PHP%20s%C3%B3%20servia%20para%20aplica%C3%A7%C3%B5es%20WEB%2C%20mas%20me%20enganei.%0D%0AExiste%20um%20projeto%20que%20deve%20ser%20considerado%20chamado%20PHP-GTk%20que%20une%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP%20%C3%A0%20biblioteca%20GTk%2C%20o%20que%20possibilita%20a%20cria%C3%A7%C3%A3o%20de%20aplica%C3%A7%C3%B5es%20desktop.%0D%0AEsta%20id%C3%A9i&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=88&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=ConSys%2C+PHP+%2B+GTk+em+a%C3%A7%C3%A3o%21&amp;link=http://www.frenetic.com.br/codigos-e-projetos/consys-php-gtk-em-acao/&amp;notes=Como%20muitas%20pessoas%2C%20por%20um%20tempo%20acreditei%20que%20a%20linguagem%20PHP%20s%C3%B3%20servia%20para%20aplica%C3%A7%C3%B5es%20WEB%2C%20mas%20me%20enganei.%0D%0AExiste%20um%20projeto%20que%20deve%20ser%20considerado%20chamado%20PHP-GTk%20que%20une%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP%20%C3%A0%20biblioteca%20GTk%2C%20o%20que%20possibilita%20a%20cria%C3%A7%C3%A3o%20de%20aplica%C3%A7%C3%B5es%20desktop.%0D%0AEsta%20id%C3%A9i&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-evernote">
			<a href="http://www.shareaholic.com/api/share/?title=ConSys%2C+PHP+%2B+GTk+em+a%C3%A7%C3%A3o%21&amp;link=http://www.frenetic.com.br/codigos-e-projetos/consys-php-gtk-em-acao/&amp;notes=Como%20muitas%20pessoas%2C%20por%20um%20tempo%20acreditei%20que%20a%20linguagem%20PHP%20s%C3%B3%20servia%20para%20aplica%C3%A7%C3%B5es%20WEB%2C%20mas%20me%20enganei.%0D%0AExiste%20um%20projeto%20que%20deve%20ser%20considerado%20chamado%20PHP-GTk%20que%20une%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP%20%C3%A0%20biblioteca%20GTk%2C%20o%20que%20possibilita%20a%20cria%C3%A7%C3%A3o%20de%20aplica%C3%A7%C3%B5es%20desktop.%0D%0AEsta%20id%C3%A9i&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=191&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Clip this to Evernote">Clip this to Evernote</a>
		</li>
		<li class="shr-orkut">
			<a href="http://www.shareaholic.com/api/share/?title=ConSys%2C+PHP+%2B+GTk+em+a%C3%A7%C3%A3o%21&amp;link=http://www.frenetic.com.br/codigos-e-projetos/consys-php-gtk-em-acao/&amp;notes=Como%20muitas%20pessoas%2C%20por%20um%20tempo%20acreditei%20que%20a%20linguagem%20PHP%20s%C3%B3%20servia%20para%20aplica%C3%A7%C3%B5es%20WEB%2C%20mas%20me%20enganei.%0D%0AExiste%20um%20projeto%20que%20deve%20ser%20considerado%20chamado%20PHP-GTk%20que%20une%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP%20%C3%A0%20biblioteca%20GTk%2C%20o%20que%20possibilita%20a%20cria%C3%A7%C3%A3o%20de%20aplica%C3%A7%C3%B5es%20desktop.%0D%0AEsta%20id%C3%A9i&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=247&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Promote this on Orkut">Promote this on Orkut</a>
		</li>
		<li class="shr-tumblr">
			<a href="http://www.shareaholic.com/api/share/?title=ConSys%2C+PHP+%2B+GTk+em+a%C3%A7%C3%A3o%21&amp;link=http%3A%2F%2Fwww.frenetic.com.br%2Fcodigos-e-projetos%2Fconsys-php-gtk-em-acao%2F&amp;notes=Como%20muitas%20pessoas%2C%20por%20um%20tempo%20acreditei%20que%20a%20linguagem%20PHP%20s%C3%B3%20servia%20para%20aplica%C3%A7%C3%B5es%20WEB%2C%20mas%20me%20enganei.%0D%0AExiste%20um%20projeto%20que%20deve%20ser%20considerado%20chamado%20PHP-GTk%20que%20une%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP%20%C3%A0%20biblioteca%20GTk%2C%20o%20que%20possibilita%20a%20cria%C3%A7%C3%A3o%20de%20aplica%C3%A7%C3%B5es%20desktop.%0D%0AEsta%20id%C3%A9i&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=78&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Tumblr">Share this on Tumblr</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.frenetic.com.br/codigos-e-projetos/consys-php-gtk-em-acao/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Diário de um Programador 16: escravo da tecnologia</title>
		<link>http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-16-escravo-da-tecnologia/</link>
		<comments>http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-16-escravo-da-tecnologia/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 16:54:12 +0000</pubDate>
		<dc:creator>FReNeTiC</dc:creator>
				<category><![CDATA[Artigos e Textos]]></category>
		<category><![CDATA[Diário de um Programador]]></category>
		<category><![CDATA[diário]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[programador]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://www.frenetic.com.br/?p=145</guid>
		<description><![CDATA[Há apenas dois motivos para uma pessoa decidir entrar na área da tecnologia: Ou você é DOIDO ou você adora tecnologia. Alguém pode dizer: &#8220;e a questão da necessidade?&#8221; Acredite, necessidade nenhuma vai fazer alguém se enveredar pelo mundo tecnológico. No meu curso de graduação, bacharelado em Ciência da Computação, o mais comum é ser [...]]]></description>
			<content:encoded><![CDATA[<p>Há apenas dois motivos para uma pessoa decidir entrar na área da tecnologia: Ou você é <b>DOIDO</b> ou você adora tecnologia.<br />
Alguém pode dizer: &#8220;e a questão da necessidade?&#8221;<br />
Acredite, necessidade nenhuma vai fazer alguém se enveredar pelo mundo tecnológico.<br />
No meu curso de graduação, bacharelado em <a href="http://pt.wikipedia.org/wiki/Ci%C3%AAncia_da_computa%C3%A7%C3%A3o" target="_blank">Ciência da Computação</a>, o mais comum é ser doido e adorar tecnologia, tudo ao mesmo tempo.<br />
Ou seja, somos pessoas com problemas. O nosso problema é que é muito fácil se deixar levar pela tecnologia, suas inovações e revoluções, e acabamos por virar escravos dela.</p>
<p><b>E como é possível não virar escravo?</b></p>
<p>NÃO SEI!<br />
A tecnologia vicia!</p>
<p>É fácil ver o pessoal da computação, ou a famosa turma da <b>TI</b>, virar noites e mais noites acordados na frente do computador ou deixar a vida social de lado para estar mechendo em algum gadget.<br />
Fazemos isso por que amamos a tecnologia, e por que é o mal da profissão (ossos do ofício).</p>
<p>As vezes, quando em um projeto é muito desafiador, interessante ou inovador, acabamos por misturar obrigação e prazer, trabalho e diversão.<br />
É difícil, então, abrir mão de estar pesquisando, programando, mechendo e futucando, para estar fazendo algo tão &#8220;banal&#8221; quanto viver!<br />
Somos atacados pela <a href="http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-04-peitica/">PEITICA</a>!</p>
<p>Mas falando sério, é difícil não ser escravizado pela tecnologia e por toda a revolução e benefícios que elas nos trazem, mesmo que ninguém perceba.<br />
É fácil ver <b>nerds</b> em suas horas livres, depois de muito estudo e trabalho, falando sobre tecnologia e todas as suas fofocas, sobre as empresas que lançam produtos, sobre gadgets e sobre revoluções feitas no core do <a href="http://www.cdvagabundo.com.br/category/linux" target="_blank">Linux</a>.<br />
Esse tipo conversa é pura escravidão tecnológica!</p>
<p><b>Tá bom, e qual o problema nisso?</b></p>
<p>Qual o escravo da tecnologia que não dorme de madrugada e não acorda cedo?<br />
Que muda seus hábitos alimentares para poder conseguir comer com uma única mão na frente do computador?</p>
<p>Pode não parecer, mas estamos nos matando aos poucos&#8230;<br />
O pouco sono afeta a memória e o coração, a alimentação vai tudo para a barriga e faz celulite na bunda, e viver NA tecnologia destrói aos poucos a nossa habilidade de se socializar.<br />
De fato, conseguimos manter amizade com os outros viciados em tecnologia como nós&#8230;</p>
<p>Não sei vocês, mas estou tentando me policiar, afinal passo no mínimo 14 horas diárias na frente do computador, e já ganhei 2.5 graus no meu óculos, que antes eu não usava, além de uns 17 quilinhos.<br />
Estou tentando conquistar a minha alforria, mas só de pensar que o <a href="http://www.CDVagabundo.com.br">CDVagabundo</a> precisa ser atualizado já começo a me preocupar se há alguma lei Áurea para a minha tecnoescravidão&#8230;</p>
<p>&nbsp;</p>
<p>Este artigo foi escrito no site <a href="http://www.CDVagabundo.com.br" target="_blank">CDVagabundo</a> e pode ser lido na URL:<br />
<a href="http://www.cdvagabundo.com.br/diariodeumprogramador/diario-de-um-programador-16-escravo-da-tecnologia" target="_blank">Diário de um Programador 16: escravo da tecnologia</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+16%3A+escravo+da+tecnologia&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-16-escravo-da-tecnologia/&amp;notes=H%C3%A1%20apenas%20dois%20motivos%20para%20uma%20pessoa%20decidir%20entrar%20na%20%C3%A1rea%20da%20tecnologia%3A%20Ou%20voc%C3%AA%20%C3%A9%20DOIDO%20ou%20voc%C3%AA%20adora%20tecnologia.%0D%0AAlgu%C3%A9m%20pode%20dizer%3A%20%22e%20a%20quest%C3%A3o%20da%20necessidade%3F%22%0D%0AAcredite%2C%20necessidade%20nenhuma%20vai%20fazer%20algu%C3%A9m%20se%20enveredar%20pelo%20mundo%20tecnol%C3%B3gico.%0D%0ANo%20meu%20curso%20de%20gradua%C3%A7%C3%A3o%2C%20bachare&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+16%3A+escravo+da+tecnologia&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-16-escravo-da-tecnologia/&amp;notes=H%C3%A1%20apenas%20dois%20motivos%20para%20uma%20pessoa%20decidir%20entrar%20na%20%C3%A1rea%20da%20tecnologia%3A%20Ou%20voc%C3%AA%20%C3%A9%20DOIDO%20ou%20voc%C3%AA%20adora%20tecnologia.%0D%0AAlgu%C3%A9m%20pode%20dizer%3A%20%22e%20a%20quest%C3%A3o%20da%20necessidade%3F%22%0D%0AAcredite%2C%20necessidade%20nenhuma%20vai%20fazer%20algu%C3%A9m%20se%20enveredar%20pelo%20mundo%20tecnol%C3%B3gico.%0D%0ANo%20meu%20curso%20de%20gradua%C3%A7%C3%A3o%2C%20bachare&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D%2B%2528via%2B%2540frenetic_br%2529&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+16%3A+escravo+da+tecnologia&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-16-escravo-da-tecnologia/&amp;notes=H%C3%A1%20apenas%20dois%20motivos%20para%20uma%20pessoa%20decidir%20entrar%20na%20%C3%A1rea%20da%20tecnologia%3A%20Ou%20voc%C3%AA%20%C3%A9%20DOIDO%20ou%20voc%C3%AA%20adora%20tecnologia.%0D%0AAlgu%C3%A9m%20pode%20dizer%3A%20%22e%20a%20quest%C3%A3o%20da%20necessidade%3F%22%0D%0AAcredite%2C%20necessidade%20nenhuma%20vai%20fazer%20algu%C3%A9m%20se%20enveredar%20pelo%20mundo%20tecnol%C3%B3gico.%0D%0ANo%20meu%20curso%20de%20gradua%C3%A7%C3%A3o%2C%20bachare&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=88&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+16%3A+escravo+da+tecnologia&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-16-escravo-da-tecnologia/&amp;notes=H%C3%A1%20apenas%20dois%20motivos%20para%20uma%20pessoa%20decidir%20entrar%20na%20%C3%A1rea%20da%20tecnologia%3A%20Ou%20voc%C3%AA%20%C3%A9%20DOIDO%20ou%20voc%C3%AA%20adora%20tecnologia.%0D%0AAlgu%C3%A9m%20pode%20dizer%3A%20%22e%20a%20quest%C3%A3o%20da%20necessidade%3F%22%0D%0AAcredite%2C%20necessidade%20nenhuma%20vai%20fazer%20algu%C3%A9m%20se%20enveredar%20pelo%20mundo%20tecnol%C3%B3gico.%0D%0ANo%20meu%20curso%20de%20gradua%C3%A7%C3%A3o%2C%20bachare&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-evernote">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+16%3A+escravo+da+tecnologia&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-16-escravo-da-tecnologia/&amp;notes=H%C3%A1%20apenas%20dois%20motivos%20para%20uma%20pessoa%20decidir%20entrar%20na%20%C3%A1rea%20da%20tecnologia%3A%20Ou%20voc%C3%AA%20%C3%A9%20DOIDO%20ou%20voc%C3%AA%20adora%20tecnologia.%0D%0AAlgu%C3%A9m%20pode%20dizer%3A%20%22e%20a%20quest%C3%A3o%20da%20necessidade%3F%22%0D%0AAcredite%2C%20necessidade%20nenhuma%20vai%20fazer%20algu%C3%A9m%20se%20enveredar%20pelo%20mundo%20tecnol%C3%B3gico.%0D%0ANo%20meu%20curso%20de%20gradua%C3%A7%C3%A3o%2C%20bachare&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=191&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Clip this to Evernote">Clip this to Evernote</a>
		</li>
		<li class="shr-orkut">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+16%3A+escravo+da+tecnologia&amp;link=http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-16-escravo-da-tecnologia/&amp;notes=H%C3%A1%20apenas%20dois%20motivos%20para%20uma%20pessoa%20decidir%20entrar%20na%20%C3%A1rea%20da%20tecnologia%3A%20Ou%20voc%C3%AA%20%C3%A9%20DOIDO%20ou%20voc%C3%AA%20adora%20tecnologia.%0D%0AAlgu%C3%A9m%20pode%20dizer%3A%20%22e%20a%20quest%C3%A3o%20da%20necessidade%3F%22%0D%0AAcredite%2C%20necessidade%20nenhuma%20vai%20fazer%20algu%C3%A9m%20se%20enveredar%20pelo%20mundo%20tecnol%C3%B3gico.%0D%0ANo%20meu%20curso%20de%20gradua%C3%A7%C3%A3o%2C%20bachare&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=247&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Promote this on Orkut">Promote this on Orkut</a>
		</li>
		<li class="shr-tumblr">
			<a href="http://www.shareaholic.com/api/share/?title=Di%C3%A1rio+de+um+Programador+16%3A+escravo+da+tecnologia&amp;link=http%3A%2F%2Fwww.frenetic.com.br%2Fartigos-e-textos%2Fdiario-de-um-programador-16-escravo-da-tecnologia%2F&amp;notes=H%C3%A1%20apenas%20dois%20motivos%20para%20uma%20pessoa%20decidir%20entrar%20na%20%C3%A1rea%20da%20tecnologia%3A%20Ou%20voc%C3%AA%20%C3%A9%20DOIDO%20ou%20voc%C3%AA%20adora%20tecnologia.%0D%0AAlgu%C3%A9m%20pode%20dizer%3A%20%22e%20a%20quest%C3%A3o%20da%20necessidade%3F%22%0D%0AAcredite%2C%20necessidade%20nenhuma%20vai%20fazer%20algu%C3%A9m%20se%20enveredar%20pelo%20mundo%20tecnol%C3%B3gico.%0D%0ANo%20meu%20curso%20de%20gradua%C3%A7%C3%A3o%2C%20bachare&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=78&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Tumblr">Share this on Tumblr</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-16-escravo-da-tecnologia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transformando imagens em arte ASCII com PHP</title>
		<link>http://www.frenetic.com.br/artigos-e-textos/transformando-imagens-em-arte-ascii-com-php/</link>
		<comments>http://www.frenetic.com.br/artigos-e-textos/transformando-imagens-em-arte-ascii-com-php/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 17:52:13 +0000</pubDate>
		<dc:creator>FReNeTiC</dc:creator>
				<category><![CDATA[Artigos e Textos]]></category>
		<category><![CDATA[Tutoriais de desenvolvimento]]></category>
		<category><![CDATA[algoritmo]]></category>
		<category><![CDATA[ascii]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[gd]]></category>
		<category><![CDATA[imagem]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.frenetic.com.br/?p=127</guid>
		<description><![CDATA[Para mostrar que programar não é puramente escravidão, trouxe um pequeno código para deixar o dia mais divertido. Venho hoje ensinar como transformar imagens em arte ASCII, utilizando a linguagem de programação PHP. No nosso exemplo iremos pegar esta imagem: E transformar em mais ou menos isso: Para tanto iremos precisar da linguagem PHP (como [...]]]></description>
			<content:encoded><![CDATA[<p>Para mostrar que programar não é puramente escravidão, trouxe um pequeno código para deixar o dia mais divertido.<br />
Venho hoje ensinar como transformar imagens em arte ASCII, utilizando a linguagem de programação <a href="www.php.net" target="_blank">PHP</a>.</p>
<p>No nosso exemplo iremos pegar esta imagem:<br />
<a href="http://www.frenetic.com.br/wp-content/uploads/2010/07/epic.jpg"><img src="http://www.frenetic.com.br/wp-content/uploads/2010/07/epic.jpg" alt="" title="epic" width="210" height="210" class="aligncenter size-full wp-image-128" /></a></p>
<p>E transformar em mais ou menos isso:<br />
<a href="http://www.frenetic.com.br/wp-content/uploads/2010/07/epic_ascii.jpg"><img src="http://www.frenetic.com.br/wp-content/uploads/2010/07/epic_ascii-150x295.jpg" alt="" title="epic_ascii" width="150" height="295" class="aligncenter size-thumbnail wp-image-129" /></a></p>
<p>Para tanto iremos precisar da linguagem <a href="www.php.net" target="_blank">PHP</a> (como diz o título do artigo, duh!) e da biblioteca <a href="http://www.php.net/manual/en/book.image.php" target="_blank">GD</a> ativada nas configurações da linguagem, o que é bastante comum nos servidores e instalações desktop (vide <a href="http://www.apachefriends.org/en/xampp.html" target="_blank">xampp</a>).</p>
<p>O código que faz a conversão é o seguinte:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

/*    abrimos a imagem    */
$arquivo = imagecreatefromjpeg(&quot;epic.jpg&quot;);

/*    verificamos se estamos com o stream aberto    */
if ( $arquivo ) {

    /*    pegamos a largura e a altura da imagem para ser utilizado no loop de leitura    */
    $largura = imagesx( $arquivo );
    $altura = imagesy( $arquivo );

    /*    damos um loop de linha em linha    */
    for ( $y = 0; $y &lt; $altura; $y = $y + 1 ) {

        /*    damos o loop para ir de colona em coluna    */
        for( $x = 0; $x &lt; $largura; $x = $x + 1 ) {

            /*    pegamos a cor alocada na posição (x, y) da iamgem    */
            $rgb = @imagecolorat($arquivo, $x, $y);
            $cores = imagecolorsforindex($arquivo, $rgb);

            /*    imprimimos um * com a cor do ponto    */
            echo &quot;&lt;font style='color:rgb(&quot;
                . $cores[&quot;red&quot;] . &quot;,&quot;
                . $cores[&quot;green&quot;] . &quot;,&quot;
                . $cores[&quot;blue&quot;] . &quot;)'&gt;*&lt;/font&gt;&quot;;

        }

        /*    chegamos ao fim do loop das colunas, então iremos imprimir a próxima linha    */
        echo &quot;&lt;br&gt;&quot;;
    }
}
?&gt;
</pre>
<p>Alguns podem não estar familiarizados com as funções:</p>
<ul>
<li><a href="http://www.php.net/manual/en/function.imagecolorat.php" target="_blank">ImageColorAt</a> &#8211; Que le o ponto (x, y) da imagem e retorna um inteiro contento as cores R,G,B daquele ponto</li.
<li><a href="http://www.php.net/manual/en/function.imagecolorsforindex.php" target="_blank">ImageColorsForIndex</a> &#8211; Que recebe o valor gerado por ImageColorAt e o divide em um array, o que facilita o nosso trabalho</i>
</ul>
<p>Como podemos melhorar o nosso código?</p>
<p>Notem que o nosso loop lê a imagem ponto-a-ponto. Isso é legal pois deixa o nosso resultado bastante nítido, mas a ponto de desempenho é absolutamente pífio.<br />
Podemos dar uma melhorada no desempenho da nossa conversão reduzindo a quantidade de pontos retirados da imagem, mas tentando evitar a perda de nitidez.</p>
<p>Ao invez de pegar ponto-a-ponto na imagem podemos pegar 1 ponto a cada 3 pontos fazendo a seguinte alteração:</p>
<p>alterar a linha 17 que contém:</p>
<pre class="brush: php; first-line: 17; title: ; notranslate">for( $x = 0; $x &lt; $largura; $x = $x + 1 ) {</pre>
<p>para:</p>
<pre class="brush: php; first-line: 17; title: ; notranslate">for( $x = 0; $x &lt; $largura; $x = $x + 3 ) {</pre>
<p>Note que o desempenho atual foi bem maior e que a sua imagem pode ter ficado um pouco distorcida.<br />
Para melhorar o problema da distorção, faça a mesma alteração no loop das linhas, alterando a linha 14 que contém:</p>
<pre class="brush: php; first-line: 14; title: ; notranslate">for ( $y = 0; $y &lt; $altura; $y = $y + 1 ) {</pre>
<p>para:</p>
<pre class="brush: php; first-line: 14; title: ; notranslate">for ( $y = 0; $y &lt; $altura; $y = $y + 3 ) {</pre>
<p>Claro que este código pode ser melhorado mil vezes, tanto em desempenho quanto em funcionalidade.<br />
Ele pode ser alterado para abranger outros formatos de imagem usando funções como <a href="http://www.php.net/manual/en/function.imagecreatefromgif.php" target="_blank">ImageCreateFromGif</a>, <a href="http://www.php.net/manual/en/function.imagecreatefrompng.php" target="_blank">ImageCreateFromPng</a>, etc.</p>
<p>&nbsp;</p>
<p>Este artigo foi escrito no site <a href="http://www.papogeek.com.br" target="_blank">PapoGeek</a> e pode ser lido na URL:<br />
<a href="http://www.papogeek.com.br/2010/07/transformando-imagens-em-arte-ascii-com-php/" target="_blank">http://www.papogeek.com.br/2010/07/transformando-imagens-em-arte-ascii-com-php</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Transformando+imagens+em+arte+ASCII+com+PHP&amp;link=http://www.frenetic.com.br/artigos-e-textos/transformando-imagens-em-arte-ascii-com-php/&amp;notes=Para%20mostrar%20que%20programar%20n%C3%A3o%20%C3%A9%20puramente%20escravid%C3%A3o%2C%20trouxe%20um%20pequeno%20c%C3%B3digo%20para%20deixar%20o%20dia%20mais%20divertido.%0D%0AVenho%20hoje%20ensinar%20como%20transformar%20imagens%20em%20arte%20ASCII%2C%20utilizando%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP.%0D%0A%0D%0ANo%20nosso%20exemplo%20iremos%20pegar%20esta%20imagem%3A%0D%0A%0D%0A%0D%0AE%20transformar%20em%20mais%20ou%20m&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Transformando+imagens+em+arte+ASCII+com+PHP&amp;link=http://www.frenetic.com.br/artigos-e-textos/transformando-imagens-em-arte-ascii-com-php/&amp;notes=Para%20mostrar%20que%20programar%20n%C3%A3o%20%C3%A9%20puramente%20escravid%C3%A3o%2C%20trouxe%20um%20pequeno%20c%C3%B3digo%20para%20deixar%20o%20dia%20mais%20divertido.%0D%0AVenho%20hoje%20ensinar%20como%20transformar%20imagens%20em%20arte%20ASCII%2C%20utilizando%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP.%0D%0A%0D%0ANo%20nosso%20exemplo%20iremos%20pegar%20esta%20imagem%3A%0D%0A%0D%0A%0D%0AE%20transformar%20em%20mais%20ou%20m&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D%2B%2528via%2B%2540frenetic_br%2529&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.shareaholic.com/api/share/?title=Transformando+imagens+em+arte+ASCII+com+PHP&amp;link=http://www.frenetic.com.br/artigos-e-textos/transformando-imagens-em-arte-ascii-com-php/&amp;notes=Para%20mostrar%20que%20programar%20n%C3%A3o%20%C3%A9%20puramente%20escravid%C3%A3o%2C%20trouxe%20um%20pequeno%20c%C3%B3digo%20para%20deixar%20o%20dia%20mais%20divertido.%0D%0AVenho%20hoje%20ensinar%20como%20transformar%20imagens%20em%20arte%20ASCII%2C%20utilizando%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP.%0D%0A%0D%0ANo%20nosso%20exemplo%20iremos%20pegar%20esta%20imagem%3A%0D%0A%0D%0A%0D%0AE%20transformar%20em%20mais%20ou%20m&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=88&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=Transformando+imagens+em+arte+ASCII+com+PHP&amp;link=http://www.frenetic.com.br/artigos-e-textos/transformando-imagens-em-arte-ascii-com-php/&amp;notes=Para%20mostrar%20que%20programar%20n%C3%A3o%20%C3%A9%20puramente%20escravid%C3%A3o%2C%20trouxe%20um%20pequeno%20c%C3%B3digo%20para%20deixar%20o%20dia%20mais%20divertido.%0D%0AVenho%20hoje%20ensinar%20como%20transformar%20imagens%20em%20arte%20ASCII%2C%20utilizando%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP.%0D%0A%0D%0ANo%20nosso%20exemplo%20iremos%20pegar%20esta%20imagem%3A%0D%0A%0D%0A%0D%0AE%20transformar%20em%20mais%20ou%20m&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-evernote">
			<a href="http://www.shareaholic.com/api/share/?title=Transformando+imagens+em+arte+ASCII+com+PHP&amp;link=http://www.frenetic.com.br/artigos-e-textos/transformando-imagens-em-arte-ascii-com-php/&amp;notes=Para%20mostrar%20que%20programar%20n%C3%A3o%20%C3%A9%20puramente%20escravid%C3%A3o%2C%20trouxe%20um%20pequeno%20c%C3%B3digo%20para%20deixar%20o%20dia%20mais%20divertido.%0D%0AVenho%20hoje%20ensinar%20como%20transformar%20imagens%20em%20arte%20ASCII%2C%20utilizando%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP.%0D%0A%0D%0ANo%20nosso%20exemplo%20iremos%20pegar%20esta%20imagem%3A%0D%0A%0D%0A%0D%0AE%20transformar%20em%20mais%20ou%20m&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=191&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Clip this to Evernote">Clip this to Evernote</a>
		</li>
		<li class="shr-orkut">
			<a href="http://www.shareaholic.com/api/share/?title=Transformando+imagens+em+arte+ASCII+com+PHP&amp;link=http://www.frenetic.com.br/artigos-e-textos/transformando-imagens-em-arte-ascii-com-php/&amp;notes=Para%20mostrar%20que%20programar%20n%C3%A3o%20%C3%A9%20puramente%20escravid%C3%A3o%2C%20trouxe%20um%20pequeno%20c%C3%B3digo%20para%20deixar%20o%20dia%20mais%20divertido.%0D%0AVenho%20hoje%20ensinar%20como%20transformar%20imagens%20em%20arte%20ASCII%2C%20utilizando%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP.%0D%0A%0D%0ANo%20nosso%20exemplo%20iremos%20pegar%20esta%20imagem%3A%0D%0A%0D%0A%0D%0AE%20transformar%20em%20mais%20ou%20m&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=247&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Promote this on Orkut">Promote this on Orkut</a>
		</li>
		<li class="shr-tumblr">
			<a href="http://www.shareaholic.com/api/share/?title=Transformando+imagens+em+arte+ASCII+com+PHP&amp;link=http%3A%2F%2Fwww.frenetic.com.br%2Fartigos-e-textos%2Ftransformando-imagens-em-arte-ascii-com-php%2F&amp;notes=Para%20mostrar%20que%20programar%20n%C3%A3o%20%C3%A9%20puramente%20escravid%C3%A3o%2C%20trouxe%20um%20pequeno%20c%C3%B3digo%20para%20deixar%20o%20dia%20mais%20divertido.%0D%0AVenho%20hoje%20ensinar%20como%20transformar%20imagens%20em%20arte%20ASCII%2C%20utilizando%20a%20linguagem%20de%20programa%C3%A7%C3%A3o%20PHP.%0D%0A%0D%0ANo%20nosso%20exemplo%20iremos%20pegar%20esta%20imagem%3A%0D%0A%0D%0A%0D%0AE%20transformar%20em%20mais%20ou%20m&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=78&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Tumblr">Share this on Tumblr</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.frenetic.com.br/artigos-e-textos/transformando-imagens-em-arte-ascii-com-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Algoritmo competitivo e sua complexidade computacional</title>
		<link>http://www.frenetic.com.br/codigos-e-projetos/algoritmo-competitivo-e-sua-complexidade-computacional/</link>
		<comments>http://www.frenetic.com.br/codigos-e-projetos/algoritmo-competitivo-e-sua-complexidade-computacional/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 20:02:10 +0000</pubDate>
		<dc:creator>FReNeTiC</dc:creator>
				<category><![CDATA[Códigos e Projetos]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[algoritmo]]></category>
		<category><![CDATA[aprendizado]]></category>
		<category><![CDATA[artificial]]></category>
		<category><![CDATA[competitivo]]></category>
		<category><![CDATA[complexidade]]></category>
		<category><![CDATA[computacional]]></category>
		<category><![CDATA[inteligência]]></category>

		<guid isPermaLink="false">http://www.frenetic.com.br/?p=106</guid>
		<description><![CDATA[Em 2010, na Universidade Católica de Pernambuco, desenvolvi um projeto junto com um amigo sobre a complexidade computacional do algoritmo de aprendizagem competitivo, para a cadeira de inteligência artificial ministrada pelo professor Francisco Madeiro. O algoritmo, e sua complexidade computacional, foram inferidos do artigo Complexidade Computacional de um Algoritmo Competitivo Aplicado ao Projeto de Quantizadores [...]]]></description>
			<content:encoded><![CDATA[<p>Em 2010, na <a href="http://www.unicap.br" target="_blank">Universidade Católica de Pernambuco</a>, desenvolvi um projeto junto com um amigo sobre a <a href="http://pt.wikipedia.org/wiki/Complexidade_computacional" target="_blank">complexidade computacional</a> do algoritmo de aprendizagem competitivo, para a cadeira de <a href="http://pt.wikipedia.org/wiki/Intelig%C3%AAncia_artificial" target="_blank">inteligência artificial</a> ministrada pelo professor <a href="http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4791988D6" target="_blank">Francisco Madeiro</a>.<br />
O algoritmo, e sua complexidade computacional, foram inferidos do artigo <a href="http://www02.lps.ufrj.br/~sbrn/artigos/vol2-no1-art4.pdf" target="_blank">Complexidade Computacional de um Algoritmo Competitivo Aplicado ao Projeto de Quantizadores Vetoriais</a>, escrito pelo professor Madeiro em conjunto com outros mestres para a revista da <a href="http://www.sbrn.org.br/" target="_blank">Sociedade Brasileira de Redes Neurais</a>.</p>
<p>A implementação foi feita usando a linguagem de programação <a href="http://www.python.org/" target="_blank">Python</a>, a biblioteca Python para manipulação de imagens <a href="http://www.pythonware.com/products/pil/" target="_blank">PIL</a> e a biblioteca de interface gráfica padrão <a href="http://wiki.python.org/moin/TkInter" target="_blank">Tkinter</a>.</p>
<p>A aplicação recebe como dados de entrada:</p>
<ul>
<li>k = A quantidade de números que irão compor cada vetor;</li>
<li>w = A quantidade de vetores de peso (W);</li>
<li>nAC = A quantidade de iterações de aprendizagem;</li>
<li>Fator de aprendizagem inicial;</li>
<li>Fator de aprendizagem final;</li>
<li>Um arquivo contendo os números que serão utilizados pelo algoritmo;</li>
</ul>
<p>A aplicação gera/retorna:</p>
<ul>
<li>Retorna os vetores de peso inicial;</li>
<li>Retorna os vetores de peso após as iterações de aprendizagem;</li>
<li>Retorna a quantidade de operações utilizadas no processo de aprendizagem;</li>
<li>Gera um arquivo chamado VetoresDeTreino.jpg que exibe todos os vetores de treino;</li>
<li>Gera um arquivo chamado VetoresDePesoAntes.jpg que exibe todos os vetores de peso antes do aprendizado;</li>
<li>Gera um arquivo chamado VetoresDePesoDepois.jpg que exibe todos os vetores de peso depois do aprendizado;</li>
</ul>
<p>Note que as 3 imagens só serão geradas se a quantidade de números (k) que irão compor cada vetor for igual a 2 (duas dimensões).</p>
<p>O projeto pode ser baixado no link <a href="http://www.frenetic.com.br/projetos/ia_python/IA_Python.zip">Algoritmo competitivo em Python</a> ou através da URL:<br />
<a href="http://www.frenetic.com.br/projetos/ia_python/IA_Python.zip">www.frenetic.com.br/projetos/ia_python/IA_Python.zip</a></p>
<p>Screenshots do projeto:<br />
<div id="attachment_111" class="wp-caption alignleft" style="width: 160px"><a href="http://www.frenetic.com.br/wp-content/uploads/2010/06/janela-principal.jpg" target="_blank"><img src="http://www.frenetic.com.br/wp-content/uploads/2010/06/janela-principal-150x63.jpg" alt="" title="janela principal" width="150" height="63" class="size-thumbnail wp-image-111" /></a><p class="wp-caption-text">Janela Principal</p></div></p>
<div id="attachment_113" class="wp-caption alignleft" style="width: 160px"><a href="http://www.frenetic.com.br/wp-content/uploads/2010/06/vetoresDeTreino.jpg" target="_blank"><img src="http://www.frenetic.com.br/wp-content/uploads/2010/06/vetoresDeTreino-150x150.jpg" alt="" title="vetoresDeTreino" width="150" height="150" class="size-thumbnail wp-image-113" /></a><p class="wp-caption-text">VetoresDeTreino.jpg</p></div>
<div id="attachment_116" class="wp-caption alignleft" style="width: 160px"><a href="http://www.frenetic.com.br/wp-content/uploads/2010/06/vetorPesoAntes.jpg" target="_blank"><img src="http://www.frenetic.com.br/wp-content/uploads/2010/06/vetorPesoAntes-150x150.jpg" alt="" title="vetorPesoAntes" width="150" height="150" class="size-thumbnail wp-image-116" /></a><p class="wp-caption-text">vetorPesoAntes.jpg</p></div>
<div id="attachment_117" class="wp-caption alignleft" style="width: 160px"><a href="http://www.frenetic.com.br/wp-content/uploads/2010/06/vetorPesoDepois.jpg" target="_blank"><img src="http://www.frenetic.com.br/wp-content/uploads/2010/06/vetorPesoDepois-150x150.jpg" alt="" title="vetorPesoDepois" width="150" height="150" class="size-thumbnail wp-image-117" /></a><p class="wp-caption-text">vetorPesoDepois.jpg</p></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Algoritmo+competitivo+e+sua+complexidade+computacional&amp;link=http://www.frenetic.com.br/codigos-e-projetos/algoritmo-competitivo-e-sua-complexidade-computacional/&amp;notes=Em%202010%2C%20na%20Universidade%20Cat%C3%B3lica%20de%20Pernambuco%2C%20desenvolvi%20um%20projeto%20junto%20com%20um%20amigo%20sobre%20a%20complexidade%20computacional%20do%20algoritmo%20de%20aprendizagem%20competitivo%2C%20para%20a%20cadeira%20de%20intelig%C3%AAncia%20artificial%20ministrada%20pelo%20professor%20Francisco%20Madeiro.%0D%0AO%20algoritmo%2C%20e%20sua%20complexidade%20computacion&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Algoritmo+competitivo+e+sua+complexidade+computacional&amp;link=http://www.frenetic.com.br/codigos-e-projetos/algoritmo-competitivo-e-sua-complexidade-computacional/&amp;notes=Em%202010%2C%20na%20Universidade%20Cat%C3%B3lica%20de%20Pernambuco%2C%20desenvolvi%20um%20projeto%20junto%20com%20um%20amigo%20sobre%20a%20complexidade%20computacional%20do%20algoritmo%20de%20aprendizagem%20competitivo%2C%20para%20a%20cadeira%20de%20intelig%C3%AAncia%20artificial%20ministrada%20pelo%20professor%20Francisco%20Madeiro.%0D%0AO%20algoritmo%2C%20e%20sua%20complexidade%20computacion&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D%2B%2528via%2B%2540frenetic_br%2529&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.shareaholic.com/api/share/?title=Algoritmo+competitivo+e+sua+complexidade+computacional&amp;link=http://www.frenetic.com.br/codigos-e-projetos/algoritmo-competitivo-e-sua-complexidade-computacional/&amp;notes=Em%202010%2C%20na%20Universidade%20Cat%C3%B3lica%20de%20Pernambuco%2C%20desenvolvi%20um%20projeto%20junto%20com%20um%20amigo%20sobre%20a%20complexidade%20computacional%20do%20algoritmo%20de%20aprendizagem%20competitivo%2C%20para%20a%20cadeira%20de%20intelig%C3%AAncia%20artificial%20ministrada%20pelo%20professor%20Francisco%20Madeiro.%0D%0AO%20algoritmo%2C%20e%20sua%20complexidade%20computacion&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=88&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=Algoritmo+competitivo+e+sua+complexidade+computacional&amp;link=http://www.frenetic.com.br/codigos-e-projetos/algoritmo-competitivo-e-sua-complexidade-computacional/&amp;notes=Em%202010%2C%20na%20Universidade%20Cat%C3%B3lica%20de%20Pernambuco%2C%20desenvolvi%20um%20projeto%20junto%20com%20um%20amigo%20sobre%20a%20complexidade%20computacional%20do%20algoritmo%20de%20aprendizagem%20competitivo%2C%20para%20a%20cadeira%20de%20intelig%C3%AAncia%20artificial%20ministrada%20pelo%20professor%20Francisco%20Madeiro.%0D%0AO%20algoritmo%2C%20e%20sua%20complexidade%20computacion&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-evernote">
			<a href="http://www.shareaholic.com/api/share/?title=Algoritmo+competitivo+e+sua+complexidade+computacional&amp;link=http://www.frenetic.com.br/codigos-e-projetos/algoritmo-competitivo-e-sua-complexidade-computacional/&amp;notes=Em%202010%2C%20na%20Universidade%20Cat%C3%B3lica%20de%20Pernambuco%2C%20desenvolvi%20um%20projeto%20junto%20com%20um%20amigo%20sobre%20a%20complexidade%20computacional%20do%20algoritmo%20de%20aprendizagem%20competitivo%2C%20para%20a%20cadeira%20de%20intelig%C3%AAncia%20artificial%20ministrada%20pelo%20professor%20Francisco%20Madeiro.%0D%0AO%20algoritmo%2C%20e%20sua%20complexidade%20computacion&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=191&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Clip this to Evernote">Clip this to Evernote</a>
		</li>
		<li class="shr-orkut">
			<a href="http://www.shareaholic.com/api/share/?title=Algoritmo+competitivo+e+sua+complexidade+computacional&amp;link=http://www.frenetic.com.br/codigos-e-projetos/algoritmo-competitivo-e-sua-complexidade-computacional/&amp;notes=Em%202010%2C%20na%20Universidade%20Cat%C3%B3lica%20de%20Pernambuco%2C%20desenvolvi%20um%20projeto%20junto%20com%20um%20amigo%20sobre%20a%20complexidade%20computacional%20do%20algoritmo%20de%20aprendizagem%20competitivo%2C%20para%20a%20cadeira%20de%20intelig%C3%AAncia%20artificial%20ministrada%20pelo%20professor%20Francisco%20Madeiro.%0D%0AO%20algoritmo%2C%20e%20sua%20complexidade%20computacion&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=247&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Promote this on Orkut">Promote this on Orkut</a>
		</li>
		<li class="shr-tumblr">
			<a href="http://www.shareaholic.com/api/share/?title=Algoritmo+competitivo+e+sua+complexidade+computacional&amp;link=http%3A%2F%2Fwww.frenetic.com.br%2Fcodigos-e-projetos%2Falgoritmo-competitivo-e-sua-complexidade-computacional%2F&amp;notes=Em%202010%2C%20na%20Universidade%20Cat%C3%B3lica%20de%20Pernambuco%2C%20desenvolvi%20um%20projeto%20junto%20com%20um%20amigo%20sobre%20a%20complexidade%20computacional%20do%20algoritmo%20de%20aprendizagem%20competitivo%2C%20para%20a%20cadeira%20de%20intelig%C3%AAncia%20artificial%20ministrada%20pelo%20professor%20Francisco%20Madeiro.%0D%0AO%20algoritmo%2C%20e%20sua%20complexidade%20computacion&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=78&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Tumblr">Share this on Tumblr</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.frenetic.com.br/codigos-e-projetos/algoritmo-competitivo-e-sua-complexidade-computacional/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recriando o clássico jogo Snakes utilizando JavaScript</title>
		<link>http://www.frenetic.com.br/codigos-e-projetos/recriando-o-classico-jogo-snakes-utilizando-javascript/</link>
		<comments>http://www.frenetic.com.br/codigos-e-projetos/recriando-o-classico-jogo-snakes-utilizando-javascript/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 18:48:59 +0000</pubDate>
		<dc:creator>FReNeTiC</dc:creator>
				<category><![CDATA[Códigos e Projetos]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[código fonte]]></category>
		<category><![CDATA[jogo]]></category>
		<category><![CDATA[snakes]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.frenetic.com.br/?p=99</guid>
		<description><![CDATA[Como dito no artigo Diário de um programador 04: Peitica, decidi recriar o clássico jogo Snakes, utilizando JavaScript. O resultado, assim como o código fonte (todo comentado e mastigado) pode ser conferido na URL: www.frenetic.com.br/projetos/snakes/snakes.html Divirtam-se! Share this on Facebook Tweet This! Share this on LinkedIn Add this to Google Bookmarks Clip this to Evernote [...]]]></description>
			<content:encoded><![CDATA[<p>Como dito no artigo <a href="http://www.frenetic.com.br/artigos-e-textos/diario-de-um-programador-04-peitica/">Diário de um programador 04: Peitica</a>, decidi recriar o clássico jogo Snakes, utilizando <a href="http://pt.wikipedia.org/wiki/JavaScript" target="_blank">JavaScript</a>.<br />
O resultado, assim como o código fonte (todo comentado e mastigado) pode ser conferido na URL:<br />
<a href="http://www.frenetic.com.br/projetos/snakes/snakes.html">www.frenetic.com.br/projetos/snakes/snakes.html</a></p>
<p>Divirtam-se!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Recriando+o+cl%C3%A1ssico+jogo+Snakes+utilizando+JavaScript&amp;link=http://www.frenetic.com.br/codigos-e-projetos/recriando-o-classico-jogo-snakes-utilizando-javascript/&amp;notes=Como%20dito%20no%20artigo%20Di%C3%A1rio%20de%20um%20programador%2004%3A%20Peitica%2C%20decidi%20recriar%20o%20cl%C3%A1ssico%20jogo%20Snakes%2C%20utilizando%20JavaScript.%0D%0AO%20resultado%2C%20assim%20como%20o%20c%C3%B3digo%20fonte%20%28todo%20comentado%20e%20mastigado%29%20pode%20ser%20conferido%20na%20URL%3A%0D%0Awww.frenetic.com.br%2Fprojetos%2Fsnakes%2Fsnakes.html%0D%0A%0D%0ADivirtam-se%21&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Recriando+o+cl%C3%A1ssico+jogo+Snakes+utilizando+JavaScript&amp;link=http://www.frenetic.com.br/codigos-e-projetos/recriando-o-classico-jogo-snakes-utilizando-javascript/&amp;notes=Como%20dito%20no%20artigo%20Di%C3%A1rio%20de%20um%20programador%2004%3A%20Peitica%2C%20decidi%20recriar%20o%20cl%C3%A1ssico%20jogo%20Snakes%2C%20utilizando%20JavaScript.%0D%0AO%20resultado%2C%20assim%20como%20o%20c%C3%B3digo%20fonte%20%28todo%20comentado%20e%20mastigado%29%20pode%20ser%20conferido%20na%20URL%3A%0D%0Awww.frenetic.com.br%2Fprojetos%2Fsnakes%2Fsnakes.html%0D%0A%0D%0ADivirtam-se%21&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D%2B%2528via%2B%2540frenetic_br%2529&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.shareaholic.com/api/share/?title=Recriando+o+cl%C3%A1ssico+jogo+Snakes+utilizando+JavaScript&amp;link=http://www.frenetic.com.br/codigos-e-projetos/recriando-o-classico-jogo-snakes-utilizando-javascript/&amp;notes=Como%20dito%20no%20artigo%20Di%C3%A1rio%20de%20um%20programador%2004%3A%20Peitica%2C%20decidi%20recriar%20o%20cl%C3%A1ssico%20jogo%20Snakes%2C%20utilizando%20JavaScript.%0D%0AO%20resultado%2C%20assim%20como%20o%20c%C3%B3digo%20fonte%20%28todo%20comentado%20e%20mastigado%29%20pode%20ser%20conferido%20na%20URL%3A%0D%0Awww.frenetic.com.br%2Fprojetos%2Fsnakes%2Fsnakes.html%0D%0A%0D%0ADivirtam-se%21&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=88&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.shareaholic.com/api/share/?title=Recriando+o+cl%C3%A1ssico+jogo+Snakes+utilizando+JavaScript&amp;link=http://www.frenetic.com.br/codigos-e-projetos/recriando-o-classico-jogo-snakes-utilizando-javascript/&amp;notes=Como%20dito%20no%20artigo%20Di%C3%A1rio%20de%20um%20programador%2004%3A%20Peitica%2C%20decidi%20recriar%20o%20cl%C3%A1ssico%20jogo%20Snakes%2C%20utilizando%20JavaScript.%0D%0AO%20resultado%2C%20assim%20como%20o%20c%C3%B3digo%20fonte%20%28todo%20comentado%20e%20mastigado%29%20pode%20ser%20conferido%20na%20URL%3A%0D%0Awww.frenetic.com.br%2Fprojetos%2Fsnakes%2Fsnakes.html%0D%0A%0D%0ADivirtam-se%21&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=74&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-evernote">
			<a href="http://www.shareaholic.com/api/share/?title=Recriando+o+cl%C3%A1ssico+jogo+Snakes+utilizando+JavaScript&amp;link=http://www.frenetic.com.br/codigos-e-projetos/recriando-o-classico-jogo-snakes-utilizando-javascript/&amp;notes=Como%20dito%20no%20artigo%20Di%C3%A1rio%20de%20um%20programador%2004%3A%20Peitica%2C%20decidi%20recriar%20o%20cl%C3%A1ssico%20jogo%20Snakes%2C%20utilizando%20JavaScript.%0D%0AO%20resultado%2C%20assim%20como%20o%20c%C3%B3digo%20fonte%20%28todo%20comentado%20e%20mastigado%29%20pode%20ser%20conferido%20na%20URL%3A%0D%0Awww.frenetic.com.br%2Fprojetos%2Fsnakes%2Fsnakes.html%0D%0A%0D%0ADivirtam-se%21&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=191&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Clip this to Evernote">Clip this to Evernote</a>
		</li>
		<li class="shr-orkut">
			<a href="http://www.shareaholic.com/api/share/?title=Recriando+o+cl%C3%A1ssico+jogo+Snakes+utilizando+JavaScript&amp;link=http://www.frenetic.com.br/codigos-e-projetos/recriando-o-classico-jogo-snakes-utilizando-javascript/&amp;notes=Como%20dito%20no%20artigo%20Di%C3%A1rio%20de%20um%20programador%2004%3A%20Peitica%2C%20decidi%20recriar%20o%20cl%C3%A1ssico%20jogo%20Snakes%2C%20utilizando%20JavaScript.%0D%0AO%20resultado%2C%20assim%20como%20o%20c%C3%B3digo%20fonte%20%28todo%20comentado%20e%20mastigado%29%20pode%20ser%20conferido%20na%20URL%3A%0D%0Awww.frenetic.com.br%2Fprojetos%2Fsnakes%2Fsnakes.html%0D%0A%0D%0ADivirtam-se%21&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=247&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Promote this on Orkut">Promote this on Orkut</a>
		</li>
		<li class="shr-tumblr">
			<a href="http://www.shareaholic.com/api/share/?title=Recriando+o+cl%C3%A1ssico+jogo+Snakes+utilizando+JavaScript&amp;link=http%3A%2F%2Fwww.frenetic.com.br%2Fcodigos-e-projetos%2Frecriando-o-classico-jogo-snakes-utilizando-javascript%2F&amp;notes=Como%20dito%20no%20artigo%20Di%C3%A1rio%20de%20um%20programador%2004%3A%20Peitica%2C%20decidi%20recriar%20o%20cl%C3%A1ssico%20jogo%20Snakes%2C%20utilizando%20JavaScript.%0D%0AO%20resultado%2C%20assim%20como%20o%20c%C3%B3digo%20fonte%20%28todo%20comentado%20e%20mastigado%29%20pode%20ser%20conferido%20na%20URL%3A%0D%0Awww.frenetic.com.br%2Fprojetos%2Fsnakes%2Fsnakes.html%0D%0A%0D%0ADivirtam-se%21&amp;short_link=&amp;shortener=google&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=78&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Tumblr">Share this on Tumblr</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.frenetic.com.br/codigos-e-projetos/recriando-o-classico-jogo-snakes-utilizando-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

