<?xml version="1.0" encoding="UTF-8"?><feed
  xmlns="http://www.w3.org/2005/Atom"
  xmlns:thr="http://purl.org/syndication/thread/1.0"
  xml:lang="en"
  xml:base="http://blog.danielfariati.com/wp-atom.php"
   >
	<title type="text">Daniel Faria TI</title>
	<subtitle type="text"></subtitle>

	<updated>2013-03-08T13:01:04Z</updated>

	<link rel="alternate" type="text/html" href="http://blog.danielfariati.com" />
	<id>http://blog.danielfariati.com/feed/atom/</id>
	<link rel="self" type="application/atom+xml" href="http://blog.danielfariati.com/feed/atom/" />

	<generator uri="http://wordpress.org/" version="3.3.1">WordPress</generator>
		<entry>
		<author>
			<name>Daniel Faria Gomes</name>
					</author>
		<title type="html"><![CDATA[Netflix Asgard &#8211; Como utilizar?]]></title>
		<link rel="alternate" type="text/html" href="http://blog.danielfariati.com/2013/03/08/netflix-asgard-como-utilizar/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=netflix-asgard-como-utilizar" />
		<id>http://blog.danielfariati.com/?p=207</id>
		<updated>2013-03-08T13:01:04Z</updated>
		<published>2013-03-08T11:41:26Z</published>
		<category scheme="http://blog.danielfariati.com" term="Artigos" /><category scheme="http://blog.danielfariati.com" term="amazon web services" /><category scheme="http://blog.danielfariati.com" term="aws" /><category scheme="http://blog.danielfariati.com" term="devops" /><category scheme="http://blog.danielfariati.com" term="infraestrutura" /><category scheme="http://blog.danielfariati.com" term="netflix" /><category scheme="http://blog.danielfariati.com" term="open source" />		<summary type="html"><![CDATA[O Asgard é uma ferramenta desenvolvida pelo Netflix para manutenção da nuvem e deploy de aplicações na Amazon Web Services (AWS). É um projeto open-source ainda em desenvolvimento, e qualquer pessoa pode colaborar em https://github.com/Netflix/asgard. Ele facilita o gerenciamento de algumas coisas que não são diretamente gerenciáveis pelo console web da Amazon, como, por exemplo, deploy [...]]]></summary>
		<content type="html" xml:base="http://blog.danielfariati.com/2013/03/08/netflix-asgard-como-utilizar/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=netflix-asgard-como-utilizar"><![CDATA[<p>O Asgard é uma ferramenta desenvolvida pelo Netflix para manutenção da nuvem e deploy de aplicações na Amazon Web Services (AWS). É um projeto open-source ainda em desenvolvimento, e qualquer pessoa pode colaborar em <a href="https://github.com/Netflix/asgard">https://github.com/Netflix/asgard</a>. Ele facilita o gerenciamento de algumas coisas que não são diretamente gerenciáveis pelo console web da Amazon, como, por exemplo, deploy de aplicações e auto-scaling groups.</p>
<p>&nbsp;</p>
<h1><strong>Preparando o Asgard</strong></h1>
<p><strong>Ambiente:</strong></p>
<p>Para rodar o Asgard você primeiro precisará ter o Java instalado no servidor onde ficará instalado. Em seu site oficial, a recomendação é a utilização do Java 6, mas nada impede que rode no Java 7, se assim preferir.</p>
<p>&nbsp;</p>
<p><strong>AWS key pair:</strong></p>
<p>Você precisará também de pelo menos uma chave SSH na sua conta da AWS. Para criar sua chave, siga os seguintes passos:</p>
<p>1. Entre no console da AWS</p>
<p>2. Entre na página de configuração do EC2</p>
<p>3. Clique na opção Key Pairs, no menu à esquerda</p>
<p>4. Clique na opção Create Key Pair, no menu superior</p>
<p>5. Informe o nome da nova chave</p>
<p>6. Confirme</p>
<p>&nbsp;</p>
<p><strong>Download e Execução do Asgard:</strong></p>
<p>Para realizar o download, entre neste link: <a href="https://netflix.box.com/asgard/">https://netflix.box.com/asgard/</a></p>
<p>O Asgard oferece um .war com tomcat embutido, portanto, basta seguir os seguintes passos:</p>
<p>1. Realizar o download do arquivo asgard-standalone.jar, encontrado no link acima</p>
<p>2. Abrir a linha de comando</p>
<p>3. Navegar, pela linha de comando, até o diretório onde se localiza o download</p>
<p>4. Executar o seguinte comando: java -Xmx1024M -XX:MaxPermSize=128m -jar asgard-standalone.jar</p>
<p>Para verificar se o comando funcionou, basta acessar a url: http://localhost:8080</p>
<p>Também existe a possibilidade de baixar o .war encontrado na página de downloads e colocar dentro de seu Tomcat, se assim preferir.</p>
<p>&nbsp;</p>
<p><strong>Forneça as credenciais de sua conta AWS:</strong></p>
<p>Para obter as informações de sua conta, o Asgard necessita que informe suas credenciais a primeira vez que é executado. Para isso, siga as instruções:</p>
<p>1. Abra algum browser e acesse: http://localhost:8080</p>
<p>2. Insira suas credenciais nos campos que aparecem na tela</p>
<p>3. Aguarde o servidor carregar e armazenar as informações da AWS na memória da máquina. A página será recarregada automaticamente quando este processo terminar.</p>
<p>&nbsp;</p>
<p><strong>Crie uma aplicação:</strong></p>
<p>1. Clique em &#8220;App&#8221;</p>
<p>2. Clique em &#8220;Create new Application&#8221; (Criar nova aplicação)</p>
<p>3. Insira os dados de sua aplicação:</p>
<ul>
<li>Name: Nome da Aplicação</li>
<li>Description: Breve descrição sobre a Aplicação</li>
<li>Owner: Seu nome/Nome do responsável pela Aplicação</li>
<li>Email: Seu e-mail/E-mail do responsável pela Aplicação</li>
</ul>
<p>4. Envie os dados, clicando no botão &#8220;Create new Application&#8221;, na parte inferior da página</p>
<p>&nbsp;</p>
<p><strong>Crie um cluster:</strong></p>
<p>1. Clique em &#8220;Cluster&#8221;</p>
<p>2. Clique em &#8220;Create New Auto Scaling Group&#8221;</p>
<p>3. Selecione a Aplicação criada anteriormente</p>
<p>4. Na seção &#8220;Launch Configuration&#8221;, mude a AMI Image ID para a AMI que você deseja realizar deploy como seu exemplo de HelloWorld.</p>
<p>5. Selecione o security group para as instâncias do Cluster</p>
<p>6. Envie o formulário clicando em &#8221;Create New Auto Scaling Group&#8221;, na parte inferior da página</p>
<p>&nbsp;</p>
<p>Fazendo isso, o Asgard estará pronto para uso e sua aplicação estará pronta para utilizar as vantagens do Auto-Scaling da AWS. De acordo com suas métricas, definidas ao criar um cluster, o sistema automaticamente criará (e destruirá) máquinas quando necessário.</p>
<p>&nbsp;</p>
<h1><strong>Realizando Deploy</strong></h1>
<p>Uma das vantagens da utilização do Asgard é a facilidade para realizar deploy, com seus métodos já embutidos. Para utilizar essa feature, existem duas maneiras:</p>
<p>1. Rolling Push &#8211; As máquinas vão sendo derrubadas, uma a uma, sendo substituidas pela nova AMI informada. Apenas quando uma máquina foi criada com sucesso, outra é substituida. Este processo se repete até que todas as máquinas antigas tenham sido substituidas pelas novas.</p>
<p>2. Cluster de Auto Scaling Groups Sequenciais &#8211; Um novo cluster é criado com o número de máquinas informado em sua criação, e o tráfego é direcionado para estas novas máquinas apenas quando todas as máquinas estiverem prontas para uso. Após isso, você pode desligar as máquinas antigas. Esta opção pode ser usada para garantir que não exista nenhum tipo de downtime durante o processo de deploy.</p>
<p>&nbsp;</p>
<h1><strong>Personalizando User Data</strong></h1>
<p>Caso queria, é possível customizar o User Data gerado para sua aplicação, para que sejam executados os comandos necessários para sua aplicação sempre em que uma nova instância for criada.</p>
<p>&nbsp;</p>
<p>Para fazer isso, entre na pasta de configuração do Asgard (<em>~/.asgard</em>, por padrão) e cria uma pasta <em>plugins</em>. Todos os arquivos com extensão <em>.groovy </em>adicionados nesta pasta, serão lidos como Spring beans. Portanto, poderá utilizar anotações do Spring, como o <em>@Autowired</em>.</p>
<p>O Asgard possui a interface<em> com.netflix.asgard.plugin.UserDataProvider</em>, com apenas um método:</p>
<p><em>String buildUserDataForVariables(UserContext userContext, String appName, String autoScalingGroupName, String launchConfigName)</em>.</p>
<p>Para personalizar o User Data, basta criar uma classe implementando essa interface e colocá-la na pasta <em>plugins</em>, criada logo acima.</p>
<p>Além disso, deverá alterar o arquivo <em>Config.groovy</em>, adicionando a seguinte entrada:</p>
<blockquote><p><em>plugin {</em></p>
<p><em>    userDataProvider = &#8216;meuProvedorDeUserData&#8217;</em></p>
<p><em>}</em></p></blockquote>
<p>O nome <em>meuProvedorDeUserData</em> deve ser substituído pelo nome de sua classe, com lower camel case.</p>
<p>&nbsp;</p>
<h1><strong>Autenticação</strong></h1>
<p>Infelizmente o Asgard ainda não tem nenhum tipo de sistema de autenticação de usuários construído nele, permitindo que qualquer usuário, que saiba o caminho para o servidor aonde seu Asgard se encontra hospedado, entre no sistema sem nenhum tipo de validação. Para resolver isso, você pode utilizar o Apache para realizar autenticações, ou criar sua própria implementação de segurança.</p>
<p>&nbsp;</p>
<p>Bom, acho que por enquanto é só. Espero que tenham gostado. Aproveitem assinar o <a title="RSS/Feed" href="http://feeds.feedburner.com/DanielFariaTi" target="_blank">RSS/Feed</a> do blog.</p>
<div id="tweetbutton207" class="tw_button" style="position: absolute; margin-left: 400px; margin-top: 70px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.danielfariati.com%2F2013%2F03%2F08%2Fnetflix-asgard-como-utilizar%2F&amp;via=danielfariati&amp;text=Netflix%20Asgard%20%26%238211%3B%20Como%20utilizar%3F&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.danielfariati.com%2F2013%2F03%2F08%2Fnetflix-asgard-como-utilizar%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.danielfariati.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a class="a2a_button_google_plusone addtoany_special_service" data-href="http://blog.danielfariati.com/2013/03/08/netflix-asgard-como-utilizar/"></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2013%2F03%2F08%2Fnetflix-asgard-como-utilizar%2F&amp;linkname=Netflix%20Asgard%20%E2%80%93%20Como%20utilizar%3F" title="Google Reader" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_button_stumbleupon" href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2013%2F03%2F08%2Fnetflix-asgard-como-utilizar%2F&amp;linkname=Netflix%20Asgard%20%E2%80%93%20Como%20utilizar%3F" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2013%2F03%2F08%2Fnetflix-asgard-como-utilizar%2F&amp;linkname=Netflix%20Asgard%20%E2%80%93%20Como%20utilizar%3F" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2013%2F03%2F08%2Fnetflix-asgard-como-utilizar%2F&amp;linkname=Netflix%20Asgard%20%E2%80%93%20Como%20utilizar%3F" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_email" href="http://www.addtoany.com/add_to/email?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2013%2F03%2F08%2Fnetflix-asgard-como-utilizar%2F&amp;linkname=Netflix%20Asgard%20%E2%80%93%20Como%20utilizar%3F" title="Email" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/email.png" width="16" height="16" alt="Email"/></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2013%2F03%2F08%2Fnetflix-asgard-como-utilizar%2F&amp;linkname=Netflix%20Asgard%20%E2%80%93%20Como%20utilizar%3F" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a href="javascript:print()" title="Print" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/print.png" width="16" height="16" alt="Print"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.danielfariati.com%2F2013%2F03%2F08%2Fnetflix-asgard-como-utilizar%2F&amp;title=Netflix%20Asgard%20%E2%80%93%20Como%20utilizar%3F" id="wpa2a_2">Compartilhar</a></p>]]></content>
		<link rel="replies" type="text/html" href="http://blog.danielfariati.com/2013/03/08/netflix-asgard-como-utilizar/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=netflix-asgard-como-utilizar#comments" thr:count="0"/>
		<link rel="replies" type="application/atom+xml" href="http://blog.danielfariati.com/2013/03/08/netflix-asgard-como-utilizar/feed/atom/" thr:count="0"/>
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Daniel Faria Gomes</name>
					</author>
		<title type="html"><![CDATA[Visão Computacional: Parte 2]]></title>
		<link rel="alternate" type="text/html" href="http://blog.danielfariati.com/2012/04/10/visao-computacional-parte-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visao-computacional-parte-2" />
		<id>http://blog.danielfariati.com/?p=182</id>
		<updated>2012-04-10T16:57:08Z</updated>
		<published>2012-04-10T16:48:43Z</published>
		<category scheme="http://blog.danielfariati.com" term="Artigos" /><category scheme="http://blog.danielfariati.com" term="imagem" /><category scheme="http://blog.danielfariati.com" term="programação" /><category scheme="http://blog.danielfariati.com" term="visão computacional" />		<summary type="html"><![CDATA[Hoje continuarei a série de posts sobre visão computacional, iniciada aqui. Agora que já convertemos nossa imagem para uma matriz que a representa, podemos criar métodos que realmente tenham alguma utilidade para nós. Começarei com métodos simples, apenas para entenderem a lógica que utilizaremos em basicamente todos os métodos criados daqui para frente. Até o [...]]]></summary>
		<content type="html" xml:base="http://blog.danielfariati.com/2012/04/10/visao-computacional-parte-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visao-computacional-parte-2"><![CDATA[<p>Hoje continuarei a série de posts sobre visão computacional, iniciada <a href="http://blog.danielfariati.com/2012/04/02/visao-computacional-parte-1/">aqui</a>.</p>
<p>Agora que já convertemos nossa imagem para uma matriz que a representa, podemos criar métodos que realmente tenham alguma utilidade para nós.</p>
<p>Começarei com métodos simples, apenas para entenderem a lógica que utilizaremos em basicamente todos os métodos criados daqui para frente.</p>
<p>Até o final deste post, teremos feito métodos para modificar o brilho e o contraste da imagem.</p>
<p><span id="more-182"></span></p>
<p>Modificar o brilho nada mais é do que deslocar as cores de uma imagem, não importando o lado do deslocamento.</p>
<p>A implementação de um método para modificar o brilho de uma imagem, ficaria assim:</p><pre class="crayon-plain-tag">public static int[][][] modificarBrilho(int[][][] matriz, Integer brilho) {
    int altura = matriz[0].length;
    int largura = matriz.length;

    int[][][] matrizResultado = new int[largura][altura][3];

    for (int linha = 0; linha &lt; altura; linha++) {
        for (int coluna = 0; coluna &lt; largura; coluna++) {
            int r = matriz[coluna][linha][0];
            int g = matriz[coluna][linha][1];
            int b = matriz[coluna][linha][2];

            matrizResultado[coluna][linha][0] = r + brilho;
            matrizResultado[coluna][linha][1] = g + brilho;
            matrizResultado[coluna][linha][2] = b + brilho;
        }
    }

    return matrizResultado;
}</pre><p>Basicamente, estamos passando por cada ponto da matriz e adicionando o valor recebido no parâmetro brilho à seu valor (que representa a cor do pixel). Porém, lembrem-se que a cor varia de 0 à 255, e se não estiver nessa faixa, uma excessão será lançada. Portanto, teremos que criar um método que verifique isto, para evitarmos erros.</p><pre class="crayon-plain-tag">private static int limitar(int x) {
    if (x &gt; 255) {
        return 255;
    } else if (x &lt; 0) {
        return 0;
    } else {
        return x;
    }
}</pre><p>Agora basta chamarmos este método de limitação antes de cada atribuição em nosso método modificador de brilho e pronto, poderemos facilmente modificar o brilho de qualquer imagem.</p>
<p>O método para modificar contraste é extramamente parecido, mudando apenas o operador e o tipo do parâmetro (Double no lugar de Integer). Ao invés de somarmos, iremos multiplicar. O que isso significa, na prática? Ao invés de simplesmente estarmos deslocando as cores, estaremos dando destaque as cores mais fortes.</p>
<p>Codificando, encontrará algo assim:</p><pre class="crayon-plain-tag">public static int[][] modificarContraste(int[][] matriz, Double contraste) {    
    int altura = matriz[0].length;
    int largura = matriz.length;

    int[][][] matrizResultado = new int[largura][altura][3];

    for (int linha = 0; linha &lt; altura; linha++) {
        for (int coluna = 0; coluna &lt; largura; coluna++) {
            int r = matriz[coluna][linha][0];
            int g = matriz[coluna][linha][1];
            int b = matriz[coluna][linha][2];

            matrizResultado[coluna][linha][0] = limitar(matriz[coluna][linha][0] * contraste);
            matrizResultado[coluna][linha][1] = limitar(matriz[coluna][linha][1] * contraste);
            matrizResultado[coluna][linha][2] = limitar(matriz[coluna][linha][2] * contraste);
        }
    }

    return matrizResultado;
}</pre><p>Vamos testar!</p>
<p>Usarei esta imagem para realizar os testes:</p>
<div id="attachment_183" class="wp-caption alignnone" style="width: 250px"><a href="http://www.flickr.com/photos/drb62/484691677/"><img class="wp-image-183 " title="Flower - By Daniel R. Blume" src="http://blog.danielfariati.com/wp-content/uploads/2012/04/flower.jpg" alt="" width="240" height="180" /></a><p class="wp-caption-text">Flower - By Daniel R. Blume</p></div>
<p style="text-align: left;">
<p style="text-align: left;">Utilizando o método de modificar o brilho, passando como parâmetro o valor 50, teremos este resultado (Repare que todos os pixels da imagem estão igualmente mais claros):</p>
<p style="text-align: left;"><img class="size-full wp-image-184 alignnone" title="Flower - Brilho 50" src="http://blog.danielfariati.com/wp-content/uploads/2012/04/flower-brilho-50.jpg" alt="" width="240" height="180" /></p>
<p style="text-align: left;">
<p style="text-align: left;">Já utilizando o método de modificar o contraste, passando como parâmetro o valor 1.5, teremos este resultado (Repare que a flor recebeu maior destaque na foto, utilizando esta técnica):</p>
<p><img class="size-full wp-image-185 alignnone" title="Flower - Contraste 1.5" src="http://blog.danielfariati.com/wp-content/uploads/2012/04/flower-contraste-1.5.jpg" alt="" width="240" height="180" /></p>
<p style="text-align: left;">
<p style="text-align: left;"><span style="color: #000000;">Por hoje é só. Espero que tenham gostado. <span style="text-align: left;">Aproveitem para me seguir no <a title="twitter" href="http://www.twitter.com/danielfariati" target="_blank">twitter</a> e assinar o <a title="RSS/Feed" href="http://feeds.feedburner.com/DanielFariaTi" target="_blank">RSS/Feed</a> do blog.</span></span></p>
<div id="tweetbutton182" class="tw_button" style="position: absolute; margin-left: 400px; margin-top: 70px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F10%2Fvisao-computacional-parte-2%2F&amp;via=danielfariati&amp;text=Vis%C3%A3o%20Computacional%3A%20Parte%202&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F10%2Fvisao-computacional-parte-2%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.danielfariati.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a class="a2a_button_google_plusone addtoany_special_service" data-href="http://blog.danielfariati.com/2012/04/10/visao-computacional-parte-2/"></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F10%2Fvisao-computacional-parte-2%2F&amp;linkname=Vis%C3%A3o%20Computacional%3A%20Parte%202" title="Google Reader" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_button_stumbleupon" href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F10%2Fvisao-computacional-parte-2%2F&amp;linkname=Vis%C3%A3o%20Computacional%3A%20Parte%202" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F10%2Fvisao-computacional-parte-2%2F&amp;linkname=Vis%C3%A3o%20Computacional%3A%20Parte%202" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F10%2Fvisao-computacional-parte-2%2F&amp;linkname=Vis%C3%A3o%20Computacional%3A%20Parte%202" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_email" href="http://www.addtoany.com/add_to/email?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F10%2Fvisao-computacional-parte-2%2F&amp;linkname=Vis%C3%A3o%20Computacional%3A%20Parte%202" title="Email" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/email.png" width="16" height="16" alt="Email"/></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F10%2Fvisao-computacional-parte-2%2F&amp;linkname=Vis%C3%A3o%20Computacional%3A%20Parte%202" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a href="javascript:print()" title="Print" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/print.png" width="16" height="16" alt="Print"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F10%2Fvisao-computacional-parte-2%2F&amp;title=Vis%C3%A3o%20Computacional%3A%20Parte%202" id="wpa2a_4">Compartilhar</a></p>]]></content>
		<link rel="replies" type="text/html" href="http://blog.danielfariati.com/2012/04/10/visao-computacional-parte-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visao-computacional-parte-2#comments" thr:count="1"/>
		<link rel="replies" type="application/atom+xml" href="http://blog.danielfariati.com/2012/04/10/visao-computacional-parte-2/feed/atom/" thr:count="1"/>
		<thr:total>1</thr:total>
	</entry>
		<entry>
		<author>
			<name>Daniel Faria Gomes</name>
					</author>
		<title type="html"><![CDATA[Visão Computacional: Parte 1]]></title>
		<link rel="alternate" type="text/html" href="http://blog.danielfariati.com/2012/04/02/visao-computacional-parte-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visao-computacional-parte-1" />
		<id>http://blog.danielfariati.com/?p=157</id>
		<updated>2012-04-02T19:34:50Z</updated>
		<published>2012-04-02T19:16:07Z</published>
		<category scheme="http://blog.danielfariati.com" term="Artigos" /><category scheme="http://blog.danielfariati.com" term="imagem" /><category scheme="http://blog.danielfariati.com" term="programação" /><category scheme="http://blog.danielfariati.com" term="visão computacional" />		<summary type="html"><![CDATA[Nossa, a quanto tempo não escrevo para o blog. Espero não ter perdido a prática. Escreverei uma série de posts curtos sobre visão computacional, ensinando desde operações básicas até operações mais avançadas. Resolvi começar esta série pois não existe muito material didático gratuito sobre o assunto. Bom, espero que gostem. Começaremos com o mais básico, [...]]]></summary>
		<content type="html" xml:base="http://blog.danielfariati.com/2012/04/02/visao-computacional-parte-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visao-computacional-parte-1"><![CDATA[<p>Nossa, a quanto tempo não escrevo para o blog. Espero não ter perdido a prática.</p>
<p>Escreverei uma <em>série</em> de posts curtos sobre visão computacional, ensinando desde operações básicas até operações mais avançadas. Resolvi começar esta série pois não existe muito material didático <em>gratuito</em> sobre o assunto. Bom, espero que gostem.</p>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/genericface/420563241/"><img title="Vintage Pentax Film Camera" src="http://farm1.staticflickr.com/173/420563241_b41c8cabcf.jpg" alt="" width="500" height="284" /></a><p class="wp-caption-text">Vintage Pentax Film Camera - By genericface</p></div>
<p>Começaremos com o mais básico, transformar uma imagem em algo que possamos trabalhar e modificar livremente. Existem diversas maneiras de fazer isso, sendo as mais usuais transformar a imagem em uma matriz, RGB ou em tons de cinza.</p>
<p><span id="more-157"></span></p>
<p>O processo é simples: Fazemos uma matriz em que cada ponto se refere a um pixel da imagem que queremos trabalhar.</p>
<p>Em código, a conversão de uma imagem para uma matriz em tons de cinza, ficaria assim:</p><pre class="crayon-plain-tag">public static int[][] arquivoToMatriz(String path) {
	int[][] matriz;

	try {
		BufferedImage imagem = ImageIO.read(new File(path));

		int largura = imagem.getWidth();
		int altura = imagem.getHeight();

		matriz = new int[largura][altura];

		for (int linha = 0; linha &lt; altura; linha++) {
			for (int coluna = 0; coluna &lt; largura; coluna++) {
				Color pixel = new Color(imagem.getRGB(coluna, linha));
				matriz[coluna][linha] = (pixel.getRed() + pixel.getGreen() + pixel.getBlue()) / 3;
			}
		}
	} catch (IOException ex) {
		// Tratamento de Exception
	}

	return matriz;
}</pre><p><strong>Vamos analisar o código:</strong><br />
O método recebe o caminho da imagem, que é utilizado para a criação de uma BufferedImage. Logo após, criamos uma matriz de tamanho proporcional ao tamanho da imagem. Seguindo, fazemos um loop, passando pixel por pixel da imagem. Para cada pixel, nós recuperamos sua cor (em formato RGB) e armazenamos em uma variável. Finalmente, atribuimos ao ponto da matriz referente ao pixel em questão a média do valor RGB daquele pixel, deixando sua cor em um tom de cinza.</p>
<p>Bom, para finalizar, deixarei um desafio.<br />
Tente criar um método que converta uma imagem para uma matriz RGB. A resposta é simples, mas servirá como aquecimento para os próximos posts, em que faremos coisas mais complexas.</p>
<p>Por enquanto é só isso, espero que tenham gostado. Aproveitem para me seguir no <a title="twitter" href="http://www.twitter.com/danielfariati" target="_blank">twitter</a> e assinar o <a title="RSS/Feed" href="http://feeds.feedburner.com/DanielFariaTi" target="_blank">RSS/Feed</a> do blog.</p>
<div id="tweetbutton157" class="tw_button" style="position: absolute; margin-left: 400px; margin-top: 70px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F02%2Fvisao-computacional-parte-1%2F&amp;via=danielfariati&amp;text=Vis%C3%A3o%20Computacional%3A%20Parte%201&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F02%2Fvisao-computacional-parte-1%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.danielfariati.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a class="a2a_button_google_plusone addtoany_special_service" data-href="http://blog.danielfariati.com/2012/04/02/visao-computacional-parte-1/"></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F02%2Fvisao-computacional-parte-1%2F&amp;linkname=Vis%C3%A3o%20Computacional%3A%20Parte%201" title="Google Reader" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_button_stumbleupon" href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F02%2Fvisao-computacional-parte-1%2F&amp;linkname=Vis%C3%A3o%20Computacional%3A%20Parte%201" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F02%2Fvisao-computacional-parte-1%2F&amp;linkname=Vis%C3%A3o%20Computacional%3A%20Parte%201" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F02%2Fvisao-computacional-parte-1%2F&amp;linkname=Vis%C3%A3o%20Computacional%3A%20Parte%201" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_email" href="http://www.addtoany.com/add_to/email?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F02%2Fvisao-computacional-parte-1%2F&amp;linkname=Vis%C3%A3o%20Computacional%3A%20Parte%201" title="Email" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/email.png" width="16" height="16" alt="Email"/></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F02%2Fvisao-computacional-parte-1%2F&amp;linkname=Vis%C3%A3o%20Computacional%3A%20Parte%201" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a href="javascript:print()" title="Print" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/print.png" width="16" height="16" alt="Print"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.danielfariati.com%2F2012%2F04%2F02%2Fvisao-computacional-parte-1%2F&amp;title=Vis%C3%A3o%20Computacional%3A%20Parte%201" id="wpa2a_6">Compartilhar</a></p>]]></content>
		<link rel="replies" type="text/html" href="http://blog.danielfariati.com/2012/04/02/visao-computacional-parte-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visao-computacional-parte-1#comments" thr:count="3"/>
		<link rel="replies" type="application/atom+xml" href="http://blog.danielfariati.com/2012/04/02/visao-computacional-parte-1/feed/atom/" thr:count="3"/>
		<thr:total>3</thr:total>
	</entry>
		<entry>
		<author>
			<name>Daniel Faria Gomes</name>
					</author>
		<title type="html"><![CDATA[O mundo precisa que você faça o que ama]]></title>
		<link rel="alternate" type="text/html" href="http://blog.danielfariati.com/2011/09/15/o-mundo-precisa-que-voce-faca-o-que-ama/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=o-mundo-precisa-que-voce-faca-o-que-ama" />
		<id>http://blog.danielfariati.com/?p=143</id>
		<updated>2011-09-15T18:36:53Z</updated>
		<published>2011-09-15T17:35:29Z</published>
		<category scheme="http://blog.danielfariati.com" term="Artigos" /><category scheme="http://blog.danielfariati.com" term="emprego" /><category scheme="http://blog.danielfariati.com" term="paixão" /><category scheme="http://blog.danielfariati.com" term="profissão" /><category scheme="http://blog.danielfariati.com" term="talento" /><category scheme="http://blog.danielfariati.com" term="trabalho" /><category scheme="http://blog.danielfariati.com" term="valor" />		<summary type="html"><![CDATA[Recentemente encontrei um artigo, escrito por Jonathan Mead, chamado &#8220;The World Needs You To Do What You Love&#8220;. Achei tão interessante que vou fazer uma breve descrição das idéias principais do artigo. &#160; Pense comigo&#8230; As maiores mudanças, as maiores revoluções, foram feitas sempre por pessoas que estavam profundamente apaixonada, sentiam grande amor pelo que [...]]]></summary>
		<content type="html" xml:base="http://blog.danielfariati.com/2011/09/15/o-mundo-precisa-que-voce-faca-o-que-ama/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=o-mundo-precisa-que-voce-faca-o-que-ama"><![CDATA[<p>Recentemente encontrei um artigo, escrito por Jonathan Mead, chamado &#8220;<a href="http://zenhabits.net/the-world-needs-you-to-do-what-you-love/" target="_blank">The World Needs You To Do What You Love</a>&#8220;. Achei tão interessante que vou fazer uma breve descrição das idéias principais do artigo.</p>
<div id="attachment_145" class="wp-caption aligncenter" style="width: 624px"><a href="http://www.flickr.com/photos/howieluvzus/442520914/"><img class="size-full wp-image-145  " title="Happy Clown, por Mark Gstohl" src="http://blog.danielfariati.com/wp-content/uploads/2011/09/442520914_2f6a953382_b.jpg" alt="" width="614" height="461" /></a><p class="wp-caption-text">Happy Clown, por Mark Gstohl</p></div>
<p>&nbsp;</p>
<p>Pense comigo&#8230; As maiores mudanças, as maiores revoluções, foram feitas sempre por pessoas que estavam profundamente apaixonada, sentiam grande amor pelo que faziam.</p>
<p>Se você estiver trabalhando com algo que considere chato, desanimador, provavelmente não irá se esforçar ao máximo. Irá chegar ao trabalho, fazer o suficiente para não ser demitido, e voltar para casa. Não irá tentar promover a mudança e, com certeza, não irá inspirar outros.</p>
<p>Mas se o trabalho te deixa animado, deixa você acordado a noite toda, e te preenche&#8230; você fará mais. Você vai dedicar mais tempo, mais energia, mais paixão. Porque vale a pena. Te satisfaz.</p>
<p><span id="more-143"></span></p>
<p>A questão claramente não é se deve fazer trabalho chato ou que ame, mas sim como ser pago para fazer o que ama. Pensando nisso, seguem algumas dicas para ajudar neste caminho:</p>
<p>&nbsp;</p>
<h2>Encontre sua paixão</h2>
<p>Para ajudar você nesse passo, seguem algumas perguntas que pode fazer à você mesmo:</p>
<p>- Em que eu sou loucamente interessado em?</p>
<p>- Sobre o que eu posso falar por horas?</p>
<p>- O que eu faria de graça?</p>
<p>&nbsp;</p>
<h2>Encontre sua força</h2>
<p>Procure coisas que você é bom naturalmente, coisas em que tenha facilidade desde o nascimento. Contribua com seus talentos para o mundo. Se não consegue saber quais são suas habilidades, seus talentos, pergunte para amigos, familiares. Pergunte quais qualidades te diferem de outras pessoas.</p>
<p>&nbsp;</p>
<h2>Encontre seu valor</h2>
<p>Encontrar o ponto de junção entre o que você é bom e o que as pessoas estão dispostas a pagar para ter é o que fará toda a diferença. Se você não conseguir encontrar um jeito de ser pago pelo que faz, o resto perde o significado. Então passe um tempo pensando em todas as possibilidades, nessa etapa. Para começar, pense nos benefícios que tem a oferecer para os outros. Procure por algo que seja uma necessidade para outras pessoas.</p>
<p>&nbsp;</p>
<h2>Comprometa-se</h2>
<p>Talvez a maior causa do fracasso das pessoas seja a falta de comprometimento. Pensar &#8220;eu não sei&#8221; ou &#8220;talvez algum dia&#8221; não vai ser o suficiente para chegar ao ponto de conseguir viver fazendo apenas o que ama. É preciso um comprometimento intenso para fazer essa mudança. Em vez de pensar &#8220;eu não sei&#8221; pense &#8220;eu vou descobrir&#8221;. Lembre-se que para chegar ao fim do caminho, é preciso andar.</p>
<p>&nbsp;</p>
<h2>Prepare-se para mudar</h2>
<p>Por mais que você queira fazer todas estas mudanças, pode ser difícil deixar de lado o antigo moda de pensar e se comportar. Aquele monte de idéias que dizem que &#8220;trabalho não deve ser agradável&#8221; ou &#8220;não vai dar certo, deixa pra lá&#8221;. Quebrar essas crenças pode ser difícil, mas seguir o novo caminho com certeza compensa.</p>
<p>&nbsp;</p>
<h2>O que você terá que abandonar?</h2>
<p>Você pode estar pensando que não vai ter tempo para se aventurar nessa nova jornada&#8230; e você está certo. Você não terá tempo, até que arrume tempo. Nós temos muitas coisas no nosso planejamento que achamos importantes, mas pense bem. Faça uma lista de todas as suas atividades e organize por prioridade. Só assim encontrará tempo para fazer o que realmente é importante.</p>
<p>&nbsp;</p>
<h2>Você dirá Sim para você mesmo?</h2>
<p>Você pode querer virar um escritor, um dentista, um empresário, um professor, um pintor. Se você sabe que é isso que nasceu para fazer, então se dê permissão para ser chamado assim&#8230; mesmo que ainda não tenha se consagrado. E mesmo que não consiga viver apenas disso, abrace sua paixão.</p>
<p>&nbsp;</p>
<p>Esta pode ser apenas a ponta do iceberg, mas já é um <em>grande</em> começo. Clareza e comprometimento são as maiores necessidades, o resto é fácil.</p>
<p>O mundo precisa de seus talentos.</p>
<p>&nbsp;</p>
<p>Bom, espero que tenham gostado. Aproveitem para me seguir no <a href="http://www.twitter.com/danielfariati" target="_blank">twitter</a> e assinar o <a href="http://feeds.feedburner.com/DanielFariaTi" target="_blank">Feed/RSS</a> do blog.</p>
<p>Até o próximo artigo!</p>
<div id="tweetbutton143" class="tw_button" style="position: absolute; margin-left: 400px; margin-top: 70px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F15%2Fo-mundo-precisa-que-voce-faca-o-que-ama%2F&amp;via=danielfariati&amp;text=O%20mundo%20precisa%20que%20voc%C3%AA%20fa%C3%A7a%20o%20que%20ama&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F15%2Fo-mundo-precisa-que-voce-faca-o-que-ama%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.danielfariati.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a class="a2a_button_google_plusone addtoany_special_service" data-href="http://blog.danielfariati.com/2011/09/15/o-mundo-precisa-que-voce-faca-o-que-ama/"></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F15%2Fo-mundo-precisa-que-voce-faca-o-que-ama%2F&amp;linkname=O%20mundo%20precisa%20que%20voc%C3%AA%20fa%C3%A7a%20o%20que%20ama" title="Google Reader" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_button_stumbleupon" href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F15%2Fo-mundo-precisa-que-voce-faca-o-que-ama%2F&amp;linkname=O%20mundo%20precisa%20que%20voc%C3%AA%20fa%C3%A7a%20o%20que%20ama" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F15%2Fo-mundo-precisa-que-voce-faca-o-que-ama%2F&amp;linkname=O%20mundo%20precisa%20que%20voc%C3%AA%20fa%C3%A7a%20o%20que%20ama" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F15%2Fo-mundo-precisa-que-voce-faca-o-que-ama%2F&amp;linkname=O%20mundo%20precisa%20que%20voc%C3%AA%20fa%C3%A7a%20o%20que%20ama" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_email" href="http://www.addtoany.com/add_to/email?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F15%2Fo-mundo-precisa-que-voce-faca-o-que-ama%2F&amp;linkname=O%20mundo%20precisa%20que%20voc%C3%AA%20fa%C3%A7a%20o%20que%20ama" title="Email" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/email.png" width="16" height="16" alt="Email"/></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F15%2Fo-mundo-precisa-que-voce-faca-o-que-ama%2F&amp;linkname=O%20mundo%20precisa%20que%20voc%C3%AA%20fa%C3%A7a%20o%20que%20ama" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a href="javascript:print()" title="Print" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/print.png" width="16" height="16" alt="Print"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F15%2Fo-mundo-precisa-que-voce-faca-o-que-ama%2F&amp;title=O%20mundo%20precisa%20que%20voc%C3%AA%20fa%C3%A7a%20o%20que%20ama" id="wpa2a_8">Compartilhar</a></p>]]></content>
		<link rel="replies" type="text/html" href="http://blog.danielfariati.com/2011/09/15/o-mundo-precisa-que-voce-faca-o-que-ama/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=o-mundo-precisa-que-voce-faca-o-que-ama#comments" thr:count="8"/>
		<link rel="replies" type="application/atom+xml" href="http://blog.danielfariati.com/2011/09/15/o-mundo-precisa-que-voce-faca-o-que-ama/feed/atom/" thr:count="8"/>
		<thr:total>8</thr:total>
	</entry>
		<entry>
		<author>
			<name>Daniel Faria Gomes</name>
					</author>
		<title type="html"><![CDATA[A pirâmide do sucesso]]></title>
		<link rel="alternate" type="text/html" href="http://blog.danielfariati.com/2011/09/03/a-piramide-do-sucesso/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-piramide-do-sucesso" />
		<id>http://blog.danielfariati.com/?p=112</id>
		<updated>2011-09-03T16:56:27Z</updated>
		<published>2011-09-03T16:56:27Z</published>
		<category scheme="http://blog.danielfariati.com" term="Artigos" /><category scheme="http://blog.danielfariati.com" term="administração" /><category scheme="http://blog.danielfariati.com" term="empreendedorismo" /><category scheme="http://blog.danielfariati.com" term="liderança" />		<summary type="html"><![CDATA[Hoje vou falar sobre a pirâmide do sucesso, um resumo da filosofia de sucesso de John Wooden, o maior técnico de basquete de todos os tempos. Todas as informações que constam nesse post foram retiradas de seu livro &#8220;Jogando Para Vencer&#8221;. Recomendo a leitura. A pirâmide é formada por 15 blocos individuais que representam características [...]]]></summary>
		<content type="html" xml:base="http://blog.danielfariati.com/2011/09/03/a-piramide-do-sucesso/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-piramide-do-sucesso"><![CDATA[<p>Hoje vou falar sobre a pirâmide do sucesso, um resumo da filosofia de sucesso de John Wooden, o maior técnico de basquete de todos os tempos. Todas as informações que constam nesse post foram retiradas de seu livro &#8220;Jogando Para Vencer&#8221;. Recomendo a leitura.</p>
<p><a href="http://blog.danielfariati.com/wp-content/uploads/2011/09/piramide.png"><img class="size-full wp-image-113 aligncenter" title="piramide" src="http://blog.danielfariati.com/wp-content/uploads/2011/09/piramide.png" alt="" width="440" height="440" /></a></p>
<p>A pirâmide é formada por 15 blocos individuais que representam características pessoais que um líder deve ter para alcançar o sucesso. Sua disposição foi estudada e existe lógica por trás do posicionamento dos blocos.</p>
<p><span id="more-112"></span></p>
<p>Vou descrever os blocos e sua importância para ser um bom líder:</p>
<p>&nbsp;</p>
<h1>As pedras angulares</h1>
<p>&nbsp;</p>
<h3>- Dedicação</h3>
<blockquote><p>&#8220;Não se colhe nada sem que haja trabalho duro: dedicação.&#8221;</p></blockquote>
<p>O apetite pelo trabalho, a vontade de colocar a mão na massa é uma característica comum em todos os grande líderes. Sem exceções.  Seja persistente mesmo quando as tarefas não forem das mais estimulantes. Enfrente as dificuldades, trabalhe, e trabalhe, e trabalhe.</p>
<p>&nbsp;</p>
<h3>- Entusiasmo</h3>
<blockquote><p>&#8220;É preciso gostar do que se faz, colocar nisso seu coração: entusiasmo.&#8221;</p></blockquote>
<p>O entusiasmo é o que diferencia o simples trabalho da excelência. O entusiasmo do líder exerce uma grande influência no comportamento de sua equipe. Sua energia, sua disposição, motiva as pessoas ao seu redor. Sem se entregar de corpo e alma, não se oferece todo o potencial que pode ser oferecido.</p>
<p>&nbsp;</p>
<h1>A base</h1>
<p>&nbsp;</p>
<h3>- Amizade</h3>
<blockquote><p> &#8221;A amizade traz um espírito de boa vontade que nutre os relacionamentos.&#8221;</p></blockquote>
<p>Com a amizade presente na equipe o trabalho do líder fica mais fácil e a força do time aumenta consideravelmente. Como um líder poderia ser bem-sucedido se não houvesse respeito mútuo entre ele e os membros da equipe? Faça o grupo perceber que está trabalhando <em>com</em> você, e não<em> para</em> você. Demonstre interesse e preocupação sinceros pelos membros da sua equipe.</p>
<p>&nbsp;</p>
<h3>- Lealdade</h3>
<blockquote><p>&#8220;Não traia sua equipe e ela não trairá você.&#8221;</p></blockquote>
<p>A lealdade é uma via de mão dupla. &#8220;Trate os outros como gostaria de ser tratado&#8221; é clichê, mas funciona. Lealdade não se compra nem se vende, ela é conquistada. Nenhuma equipe consegue manter o alto nível em um ambiente competitivo se não houver lealdade a um líder que, por sua vez, lhe seja leal.</p>
<p>&nbsp;</p>
<h3>- Cooperação</h3>
<blockquote><p> &#8221;Cooperação: uma mão lava a outra.&#8221;</p></blockquote>
<p>Quando existe cooperação entre a equipe, os membros dela não se preocupam em levar os créditos, pois sabem que se a equipe obter sucesso, seu sucesso virá junto. O líder precisa se preocupar mais com <em>o que</em> é certo, <em>o que</em> é errado do que com <em>quem</em> está certo, <em>quem</em> está errado. Se preocupe em fazer as coisas do<em> melhor</em> jeito, não do <em>seu</em> jeito.</p>
<p>&nbsp;</p>
<h1>A segunda fileira</h1>
<p>&nbsp;</p>
<h3>- Autocontrole</h3>
<blockquote><p> &#8221;O controle do seu time começa com seu autocontrole.&#8221;</p></blockquote>
<p>Altos e baixos &#8211; no esforço, na performance e na produtividade &#8211; são o resultado da falta de disciplina pessoal, principalmente sobre as emoções. Seja consistente. Se você não é capaz de se controlar, como espera manter o controle de sua equipe? Emoções não controladas levam a decisões precipitadas.</p>
<h3>- Estado de alerta</h3>
<blockquote><p>&#8220;Agilidade mental e atenção aguçada são pré-requisitos para que se seja competitivo em qualquer área.&#8221;</p></blockquote>
<p>Sem estar em estado de alerta, repetem-se os mesmos erros e o resultado não muda. Observe, seja rápido em identificar fraquezas, perceber predisposições e fortalecer pontos positivos. Só é possível melhorar sua equipe se estiver sempre atento aos pontos negativos, e como pode melhorá-los, e aos pontos positivos, e porque estão acontecendo.</p>
<h3>- Iniciativa</h3>
<blockquote><p> &#8221;Deixar de agir é frequentemente o pior erro que cometemos.&#8221;</p></blockquote>
<p>Quando o que está em jogo é algo importante, o medo de falhar é enorme. Refletir, analisar e consultar sempre é bom na hora de tomar decisões, mas não importam se no final você não tomar uma atitude. É necessário ter iniciativa para fazer as coisas acontecerem. Quando chegar a hora de agir, não demore.</p>
<h3>- Constância</h3>
<blockquote><p>&#8220;De que adiantam a dedicação e o entusiasmo se forem usados só às vezes ou apenas por curtos períodos?&#8221;</p></blockquote>
<p>A constância nada mais é que a determinação inabalável de um líder de se manter em uma direção, por mais difícil que se torne o caminho. É a força de vontade sendo aplicada com empenho e por um longo período. Intensidade e foco estão implícitos nela. Desistir, recuar ou se render é muito fácil. Nunca faça isso. Tente de novo, e de novo. Tente com mais empenho, mais inteligência, mas nunca deixe de tentar.</p>
<p>&nbsp;</p>
<h1>A terceira fileira</h1>
<p>&nbsp;</p>
<h3>- Condicionamento</h3>
<blockquote><p> &#8221;Condicionamento tem a ver com qualidade: mental, moral e física. Todas as três são pré-requisitos para uma liderança produtiva.&#8221;</p></blockquote>
<p>Para alcançar esses pré-requisitos, é preciso exercitar o discernimento, o equilíbrio e a moderação em todas as áreas &#8211; além do bom senso. Não se permita ser desregrado, pois isso leva a diminuição do vigor físico, mental e moral. Mesmo que ser perfeito seja impossível, devemos buscar sempre minimizar nossas imperfeições. Quando seu corpo está enfraquecido fica mais difícil pensar com clareza e, com isso, acaba-se tomando decisões que podem não ser as melhores. O talento pode levar você ao topo, mas é preciso qualidade para manter-se lá.</p>
<h3>- Habilidade</h3>
<blockquote><p> &#8221;A capacidade plena &#8211; um conhecimento abrangente de como exercer as responsabilidades de liderança.&#8221;</p></blockquote>
<p>Você deve estar sempre ciente do que deve ser feito e ser capaz de fazê-lo. Deve capacitar-se, constantemente, em todas as áreas relevantes para o seu trabalho. Quando um líder resolver que não quer aprender mais, será o fim dele&#8230; e de sua equipe.</p>
<h3>- Espírito de equipe</h3>
<blockquote><p>&#8220;Seis cavalos puxando juntos um arado é trabalho de equipe. No entanto, fazer força na mesma direção não é tudo.&#8221;</p></blockquote>
<p>Espírito de equipe é colocar o bem de todos acima dos interesses pessoais. Significa colocar &#8220;nós&#8221; na frente do &#8220;eu&#8221;, o que nem sempre é fácil, inclusive para aqueles que são líderes. Cada um de seus membros é o mais importante para a equipe. O líder deve ser a pessoa que ensina que o sucesso da equipe significa o sucesso pessoal de cada um deles. Quando você e sua empresa percebem que é melhor compartilhar &#8211; informações, reconhecimento, trabalho e experiência -, a equipe se torna mais do que uma simples soma de integrantes. Não existe membros menos importantes, e sim pessoas com atribuições e competências diversas, quase sempre complementares.</p>
<p>&nbsp;</p>
<h1>A quarta fileira</h1>
<p>&nbsp;</p>
<h3>- Postura</h3>
<blockquote><p>&#8220;Um bom líder não se deixa abalar, seja nos momentos de vitória, de derrota ou do que quer que ocorra antes ou depois disso. A liderança requer postura.&#8221;</p></blockquote>
<p>Não se esqueça de sempre manter sua postura. Evite se comparar com os outros e não abra mão de seus princípios e ideais. Seja você mesmo, sem pose ou fingimento, sinta-se à vontade na sua própria pele. Prepare-se adequadamente e sempre manterá a postura.</p>
<h3>- Confiança</h3>
<blockquote><p>&#8220;A noção de que você e sua equipe estão prontos para qualquer tipo de competição.&#8221;</p></blockquote>
<p>Quando há confiança, você respeita o adversário, mas não o teme. Você deixa o resultado aparecer sozinho, pois providenciou toda a preparação para sair vitorioso.</p>
<p>&nbsp;</p>
<h1>O ápice</h1>
<p>&nbsp;</p>
<h3>- Excelência na competição</h3>
<blockquote><p>&#8220;O seu melhor é necessário todos os dias, principalmente se você é o líder.&#8221;</p></blockquote>
<p>A excelência na competição inclui gostar da lutar árdua e transmitir isso à todos que você lidera. É a própria competição &#8211; um adversário de valor &#8211; que dá a você e à sua equipe a oportunidade de descobrir seu potencial, de fazer a diferença dando o melhor de si. É preciso elevar o nível de exigência durante o período de preparação para que sua equipe se sinta confortável no desconforto de uma grande decisão.</p>
<p>&nbsp;</p>
<p>Por enquanto é só isso, espero que tenham gostado. Aproveitem para me seguir no <a title="twitter" href="http://www.twitter.com/danielfariati" target="_blank">twitter</a> e assinar o <a title="RSS/Feed" href="http://feeds.feedburner.com/DanielFariaTi" target="_blank">RSS/Feed</a> do blog.</p>
<p>Até o próximo artigo!</p>
<div id="tweetbutton112" class="tw_button" style="position: absolute; margin-left: 400px; margin-top: 70px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F03%2Fa-piramide-do-sucesso%2F&amp;via=danielfariati&amp;text=A%20pir%C3%A2mide%20do%20sucesso&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F03%2Fa-piramide-do-sucesso%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.danielfariati.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a class="a2a_button_google_plusone addtoany_special_service" data-href="http://blog.danielfariati.com/2011/09/03/a-piramide-do-sucesso/"></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F03%2Fa-piramide-do-sucesso%2F&amp;linkname=A%20pir%C3%A2mide%20do%20sucesso" title="Google Reader" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_button_stumbleupon" href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F03%2Fa-piramide-do-sucesso%2F&amp;linkname=A%20pir%C3%A2mide%20do%20sucesso" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F03%2Fa-piramide-do-sucesso%2F&amp;linkname=A%20pir%C3%A2mide%20do%20sucesso" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F03%2Fa-piramide-do-sucesso%2F&amp;linkname=A%20pir%C3%A2mide%20do%20sucesso" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_email" href="http://www.addtoany.com/add_to/email?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F03%2Fa-piramide-do-sucesso%2F&amp;linkname=A%20pir%C3%A2mide%20do%20sucesso" title="Email" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/email.png" width="16" height="16" alt="Email"/></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F03%2Fa-piramide-do-sucesso%2F&amp;linkname=A%20pir%C3%A2mide%20do%20sucesso" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a href="javascript:print()" title="Print" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/print.png" width="16" height="16" alt="Print"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F09%2F03%2Fa-piramide-do-sucesso%2F&amp;title=A%20pir%C3%A2mide%20do%20sucesso" id="wpa2a_10">Compartilhar</a></p>]]></content>
		<link rel="replies" type="text/html" href="http://blog.danielfariati.com/2011/09/03/a-piramide-do-sucesso/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-piramide-do-sucesso#comments" thr:count="4"/>
		<link rel="replies" type="application/atom+xml" href="http://blog.danielfariati.com/2011/09/03/a-piramide-do-sucesso/feed/atom/" thr:count="4"/>
		<thr:total>4</thr:total>
	</entry>
		<entry>
		<author>
			<name>Daniel Faria Gomes</name>
					</author>
		<title type="html"><![CDATA[Integração contínua]]></title>
		<link rel="alternate" type="text/html" href="http://blog.danielfariati.com/2011/08/25/integracao-continua/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=integracao-continua" />
		<id>http://blog.danielfariati.com/?p=93</id>
		<updated>2011-08-26T19:52:58Z</updated>
		<published>2011-08-25T18:51:07Z</published>
		<category scheme="http://blog.danielfariati.com" term="Artigos" /><category scheme="http://blog.danielfariati.com" term="agile" /><category scheme="http://blog.danielfariati.com" term="desenvolvimento ágil" /><category scheme="http://blog.danielfariati.com" term="integração contínua" />		<summary type="html"><![CDATA[O que é? Segundo Martin Fowler, “Integração Contínua é uma pratica de desenvolvimento de software onde os membros de um time integram seu trabalho frequentemente, geralmente cada pessoa integra pelo menos diariamente – podendo haver múltiplas integrações por dia. Cada integração é verificada por um build automatizado (incluindo testes) para detectar erros de integração o [...]]]></summary>
		<content type="html" xml:base="http://blog.danielfariati.com/2011/08/25/integracao-continua/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=integracao-continua"><![CDATA[<p><span style="font-size: 18.0pt; line-height: 115%;">O que é?</span></p>
<p>Segundo Martin Fowler, <em>“</em><em>Integração Contínua é uma pratica de desenvolvimento de software onde os membros de um time integram seu trabalho frequentemente, geralmente cada pessoa integra pelo menos diariamente – podendo haver múltiplas integrações por dia. Cada integração é verificada por um build automatizado (incluindo testes) para detectar erros de integração o mais rápido possível. Muitos times acham que essa abordagem leva a uma significante redução nos problemas de integração e permite que um time desenvolva software coeso mais rapidamente”.</em></p>
<p>Devido ao crescimento de popularidade das metodologias ágeis, a integração contínua tornou-se importante para a comunidade de desenvolvimento de software. Ela facilita a integração, não importando o tamanho da equipe e quantas pessoas estão alterando o código ao mesmo tempo.</p>
<p><span id="more-93"></span></p>
<p><span style="font-size: 18.0pt; line-height: 115%;">Repositórios e versionamento</span></p>
<div id="attachment_95" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/reinvented/5586120369/"><img class="size-full wp-image-95" title="Git to Subversion" src="http://blog.danielfariati.com/wp-content/uploads/2011/08/continuous.jpg" alt="Git to Subversion" width="500" height="334" /></a><p class="wp-caption-text">Git to Subversion por Peter Rukavina </p></div>
<p>&nbsp;</p>
<p>Um <strong>sistema de controle de versão</strong> (versionamento) tem como finalidade gerenciar diferentes versões do sistema e centralizar seu armazenamento.  Existem muitos sistemas desse tipo disponíveis no mercado, como: CVS, Subversion, Rational ClearCase, Git, Mercurial, Bazaar, entre outros.</p>
<p>Guardar versões facilita muito nossas vidas, pois se cometermos algum erro e só percebermos depois que o código já foi enviado, podemos desfazer as alterações com muita facilidade. O repositório se torna o destino final de tudo que é produzido pela equipe. Chamamos isso de integração.</p>
<p>&nbsp;</p>
<p><span style="font-size: 18.0pt; line-height: 115%;">Por que usar?</span></p>
<p>Utilizando as fases convencionais de desenvolvimento (integração apenas depois de completar o desenvolvimento), riscos são submetidos, existem muitos bugs na hora da integração, testes demoram muito mais e, claro, a entrega atrasa.</p>
<p>Com IC, a grande vantagem é o <strong>feedback instantâneo. </strong>A cada commit feito no repositório, o build é gerado automaticamente, os testes são todos executados e as falhas são detectadas. Você pode automatizar o sistema para enviar um e-mail para toda a equipe sempre que houver algum erro no build. Você poderá fazer mudanças sem medo, porque se algo der errado, você saberá rapidamente.</p>
<p>Quando os testes unitários falharem ou aparecer algum bug, os desenvolvedores podem reverter para uma versão sem bugs, sem perder tempo com debugging.  O caos de última hora é evitado, pois os problemas são detectados, e arrumados, continuamente. O feedback é instantâneo sobre a qualidade, funcionalidade e compatibilidade do código que está sendo escrito.</p>
<p>Cauê Guerra, da Caelum, descreveu integração contínua como uma “integração <strong>automática</strong> com processo de build <strong>automático</strong> e que roda testes de forma <strong>automática</strong> e <strong>automaticamente</strong> detecta falhas em cada pedaço”.</p>
<p>&nbsp;</p>
<p>Espero que tenham gostado! Por favor, deixe um comentário com seu feedback.</p>
<p>Aproveitem para me seguir no <a title="Twitter" href="http://www.twitter.com/danielfariati" target="_blank">twitter</a> e assinar o <a title="Feed/RSS" href="http://feeds.feedburner.com/DanielFariaTi" target="_blank">Feed/RSS</a> do blog.</p>
<p>&nbsp;</p>
<p><span style="font-size: 18.0pt; line-height: 115%;">Referências</span></p>
<p>[1] <a href="http://martinfowler.com/articles/continuousIntegration.html" target="_blank">Martin Fowler &#8211; Continuous Integration</a></p>
<p>[2] <a href="http://improveit.com.br/xp/praticas/integracao" target="_blank">Improve It &#8211; Integração Contínua</a></p>
<p>[3] <a href="http://blog.caelum.com.br/integracao-continua/" target="_blank">Caelum &#8211; Integração Contínua</a></p>
<p>[4] <a href="http://www.slideshare.net/igocoelho/integrao-contnua-1511351" target="_blank">Igo Coelho &#8211; Integração Contínua</a></p>
<div id="tweetbutton93" class="tw_button" style="position: absolute; margin-left: 400px; margin-top: 70px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F25%2Fintegracao-continua%2F&amp;via=danielfariati&amp;text=Integra%C3%A7%C3%A3o%20cont%C3%ADnua&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F25%2Fintegracao-continua%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.danielfariati.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a class="a2a_button_google_plusone addtoany_special_service" data-href="http://blog.danielfariati.com/2011/08/25/integracao-continua/"></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F25%2Fintegracao-continua%2F&amp;linkname=Integra%C3%A7%C3%A3o%20cont%C3%ADnua" title="Google Reader" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_button_stumbleupon" href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F25%2Fintegracao-continua%2F&amp;linkname=Integra%C3%A7%C3%A3o%20cont%C3%ADnua" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F25%2Fintegracao-continua%2F&amp;linkname=Integra%C3%A7%C3%A3o%20cont%C3%ADnua" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F25%2Fintegracao-continua%2F&amp;linkname=Integra%C3%A7%C3%A3o%20cont%C3%ADnua" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_email" href="http://www.addtoany.com/add_to/email?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F25%2Fintegracao-continua%2F&amp;linkname=Integra%C3%A7%C3%A3o%20cont%C3%ADnua" title="Email" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/email.png" width="16" height="16" alt="Email"/></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F25%2Fintegracao-continua%2F&amp;linkname=Integra%C3%A7%C3%A3o%20cont%C3%ADnua" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a href="javascript:print()" title="Print" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/print.png" width="16" height="16" alt="Print"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F25%2Fintegracao-continua%2F&amp;title=Integra%C3%A7%C3%A3o%20cont%C3%ADnua" id="wpa2a_12">Compartilhar</a></p>]]></content>
		<link rel="replies" type="text/html" href="http://blog.danielfariati.com/2011/08/25/integracao-continua/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=integracao-continua#comments" thr:count="1"/>
		<link rel="replies" type="application/atom+xml" href="http://blog.danielfariati.com/2011/08/25/integracao-continua/feed/atom/" thr:count="1"/>
		<thr:total>1</thr:total>
	</entry>
		<entry>
		<author>
			<name>Daniel Faria Gomes</name>
					</author>
		<title type="html"><![CDATA[Programação em par]]></title>
		<link rel="alternate" type="text/html" href="http://blog.danielfariati.com/2011/08/22/programacao-em-par/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=programacao-em-par" />
		<id>http://blog.danielfariati.com/?p=61</id>
		<updated>2011-09-07T16:39:42Z</updated>
		<published>2011-08-22T16:55:55Z</published>
		<category scheme="http://blog.danielfariati.com" term="Artigos" /><category scheme="http://blog.danielfariati.com" term="agile" /><category scheme="http://blog.danielfariati.com" term="desenvolvimento ágil" /><category scheme="http://blog.danielfariati.com" term="equipe" /><category scheme="http://blog.danielfariati.com" term="programação em par" /><category scheme="http://blog.danielfariati.com" term="xp" />		<summary type="html"><![CDATA[Quando ouvi falar em programação em par pela primeira vez, não conseguia entender como aquilo seria produtivo e os benefícios que trazia. Minha forma de pensar sobre o assunto mudou com o tempo, e gostaria de compartilhar o conhecimento adquirido. &#160; O que é programação em par? O nome já deixa explícito sobre o que [...]]]></summary>
		<content type="html" xml:base="http://blog.danielfariati.com/2011/08/22/programacao-em-par/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=programacao-em-par"><![CDATA[<p>Quando ouvi falar em programação em par pela primeira vez, não conseguia entender como aquilo seria produtivo e os benefícios que trazia. Minha forma de pensar sobre o assunto mudou com o tempo, e gostaria de compartilhar o conhecimento adquirido.</p>
<p>&nbsp;</p>
<p><span style="font-size: 18.0pt; line-height: 115%;">O que é programação em par?</span></p>
<p>O nome já deixa explícito sobre o que consiste a programação em par. Duas pessoas criando o código para um projeto de software, em conjunto (no mesmo computador). A pessoa que está digitando é chamada de <strong>condutor </strong>e a outra de<strong> navegador</strong>.</p>
<p>&nbsp;</p>
<p><span style="font-size: 18.0pt; line-height: 115%;">Por que programar em par?</span></p>
<div id="attachment_64" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/f_mafra/2998452988/" target="_blank"><img class="size-full wp-image-64" title="Programação em Par" src="http://blog.danielfariati.com/wp-content/uploads/2011/08/2998452988_5a86c023f4.jpg" alt="Programação em Par" width="500" height="334" /></a><p class="wp-caption-text">boo-turn por Fernando Mafra</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>- Aprendizado compartilhado</strong></p>
<p>Existem diversas opiniões sobre o mesmo assunto, cada um pensa de uma maneira diferente, tiveram experiências de vida diferentes. Programar em par faz essa diversidade no modo de pensar ser uma maneira de aprender mais, enxergar o problema de diversos pontos de vista.</p>
<p><span id="more-61"></span></p>
<p><strong>- Revisão contínua</strong></p>
<p>A programação em par estimula a revisão contínua do código, pois enquanto um está conduzindo, o outro está procurando erros no pensamento do condutor. Isto faz com que a qualidade do software aumente sem impactar de forma significativa no prazo. Pode parecer difícil acreditar nisso, pois se tem a impressão que duas pessoas trabalhando separadamente terão mais produtividade, o que não é verdade. Lembre-se que quanto mais tempo demorar para se encontrar um problema, mais tempo levará para encontrar a causa do mesmo e, consequentemente, a solução.</p>
<p>&nbsp;</p>
<p><strong>- Foco no projeto</strong></p>
<p>Com o crescimento/popularização das redes sociais, ficou mais fácil perder o foco no projeto. Pare e pense: Quanto tempo você passa, durante o horário de trabalho, vendo seus e-mails, checando atualizações nas redes sociais, pensando sobre o que fará após o expediente? Muito tempo é a resposta que a maioria dará. A programação em par faz a concentração aumentar, pois sempre terá alguém do seu lado esperando a resolução do problema, interagindo com você. As interrupções externas também são menores enquanto se usa esta técnica, pois os outros percebem, com mais facilidade, que você está ocupado.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 18.0pt; line-height: 115%;">Dicas de como programar em par</span></p>
<p>&nbsp;</p>
<p><strong>- Entenda a forma que cada um trabalha</strong></p>
<p>Sempre é bom entender a forma com que seu par prefere trabalhar e compartilhar a forma que você trabalha. Entender as preferências de cada um evita se frustrar quando precisar fazer algo diferente. Algumas pessoas gostam de desenhar diagramas, fazer comentários no programa inteiro&#8230; Eu, por exemplo, gosto de analisar o código. Faça o implícito ficar explícito.</p>
<p>&nbsp;</p>
<div>
<p><strong>- Respire fundo e relaxe</strong></p>
</div>
<p>Algumas pessoas são extremamente rápidas digitando. E reconheço que quando se está programando em par com alguém que não tenha esta habilidade, é preciso paciência. O mesmo vale para erros de sintaxe.  Porém, ficar implicando o tempo todo com seu parceiro passa certa desconfiança. Espere um segundo antes de apontar os erros, talvez ele perceba sozinho. Respire fundo. Claro que alguns erros de sintaxe/gramática são irritantes, mas são fáceis de concertar e não são o fim do mundo.</p>
<p>&nbsp;</p>
<p><strong>- Realize trocas frequentemente</strong></p>
<p>Trocar frequentemente cria um senso de liderança compartilhada, mas cuidado para não realizar as trocas em períodos muito curtos de tempo, isso pode acabar causando uma quebra no raciocínio e, consequentemente, diminuir a produtividade.  Crie uma forma de fazer a troca em momentos apropriados, como no fim de algum teste ou quando acabar uma função importante do código.</p>
<p>&nbsp;</p>
<p><strong>- Garanta que ambas as partes saibam porque estão em par</strong></p>
<div>
<div>
<div>
<p>Programar em par traz muitos benefícios, embora possam parecer pouco intuitivos. Lembre-se do entendimento compartilhado, de levar em conta mais de uma forma de resolver o problema, da revisão de código contínua, de ter novos olhos para o código, além de outros benefícios trazidos por esta prática.</p>
<p>&nbsp;</p>
<p>Espero que tenham gostado! Por favor, deixe um comentário com seu feedback.</p>
<p>Aproveitem para me seguir no <a title="twitter" href="http://www.twitter.com/DanielFariaTI" target="_blank">twitter</a> e assinar o <a title="Feed/RSS" href="http://feeds.feedburner.com/DanielFariaTi" target="_blank">Feed/RSS</a> do blog.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div>
<div>
<p><span style="font-size: 18.0pt; line-height: 115%;">Referências</span></p>
<p>[1] <a href="http://blog.andrefaria.com/programacao-em-par" target="_blank">André Faria – Programação em par</a></p>
<p>[2] <a href="http://www.thekua.com/atwork/2008/12/how-i-like-to-pair/" target="_blank">Thekua.com@work – How I like to pair</a></p>
<p>[3] <a href="http://www.infoq.com/news/2006/11/paired-progrmaming-myths" target="_blank">InfoQ – Common misconceptions about paired programming</a></p>
<p>[4] <a href="http://improveit.com.br/xp/praticas/programacao_par" target="_blank">Improve It – Programação em par</a></p>
<p>[5] <a href="http://imasters.com.br/artigo/13992/outros/programacao_em_par/" target="_blank">iMasters – Programação em par</a></p>
<p>[6] <a href="http://cantinhodoagile.blogspot.com/2011/01/beneficios-da-programacao-em-par.html" target="_blank">Cantinho do Agile – Benefícios da programação em par</a></p>
</div>
</div>
</div>
</div>
</div>
<div id="tweetbutton61" class="tw_button" style="position: absolute; margin-left: 400px; margin-top: 70px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F22%2Fprogramacao-em-par%2F&amp;via=danielfariati&amp;text=Programa%C3%A7%C3%A3o%20em%20par&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F22%2Fprogramacao-em-par%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.danielfariati.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a class="a2a_button_google_plusone addtoany_special_service" data-href="http://blog.danielfariati.com/2011/08/22/programacao-em-par/"></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F22%2Fprogramacao-em-par%2F&amp;linkname=Programa%C3%A7%C3%A3o%20em%20par" title="Google Reader" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_button_stumbleupon" href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F22%2Fprogramacao-em-par%2F&amp;linkname=Programa%C3%A7%C3%A3o%20em%20par" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F22%2Fprogramacao-em-par%2F&amp;linkname=Programa%C3%A7%C3%A3o%20em%20par" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F22%2Fprogramacao-em-par%2F&amp;linkname=Programa%C3%A7%C3%A3o%20em%20par" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_email" href="http://www.addtoany.com/add_to/email?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F22%2Fprogramacao-em-par%2F&amp;linkname=Programa%C3%A7%C3%A3o%20em%20par" title="Email" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/email.png" width="16" height="16" alt="Email"/></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F22%2Fprogramacao-em-par%2F&amp;linkname=Programa%C3%A7%C3%A3o%20em%20par" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a href="javascript:print()" title="Print" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/print.png" width="16" height="16" alt="Print"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F22%2Fprogramacao-em-par%2F&amp;title=Programa%C3%A7%C3%A3o%20em%20par" id="wpa2a_14">Compartilhar</a></p>]]></content>
		<link rel="replies" type="text/html" href="http://blog.danielfariati.com/2011/08/22/programacao-em-par/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=programacao-em-par#comments" thr:count="2"/>
		<link rel="replies" type="application/atom+xml" href="http://blog.danielfariati.com/2011/08/22/programacao-em-par/feed/atom/" thr:count="2"/>
		<thr:total>2</thr:total>
	</entry>
		<entry>
		<author>
			<name>Daniel Faria Gomes</name>
					</author>
		<title type="html"><![CDATA[Apresentação]]></title>
		<link rel="alternate" type="text/html" href="http://blog.danielfariati.com/2011/08/17/apresentacao/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=apresentacao" />
		<id>http://blog.danielfariati.com/?p=30</id>
		<updated>2011-08-22T17:10:48Z</updated>
		<published>2011-08-18T00:35:47Z</published>
		<category scheme="http://blog.danielfariati.com" term="Artigos" /><category scheme="http://blog.danielfariati.com" term="apresentação" />		<summary type="html"><![CDATA[Olá, galera. Finalmente tive vergonha na cara para criar um lugar que eu possa compartilhar tudo que aprendo sobre tecnologia da informação. Meu nome é Daniel Faria, tenho 20 anos e estou no terceiro ano do curso Sistemas de Informação, pela FIAP. Desde pequeno gosto de programar. Sou apaixonado por metodologias ágeis e programo nas [...]]]></summary>
		<content type="html" xml:base="http://blog.danielfariati.com/2011/08/17/apresentacao/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=apresentacao"><![CDATA[<p><a href="http://blog.danielfariati.com/wp-content/uploads/2011/08/hello.png"><br />
</a>Olá, galera.</p>
<p>Finalmente tive vergonha na cara para criar um lugar que eu possa compartilhar tudo que aprendo sobre tecnologia da informação.</p>
<p>Meu nome é Daniel Faria, tenho 20 anos e estou no terceiro ano do curso Sistemas de Informação, pela FIAP. Desde pequeno gosto de programar. Sou apaixonado por metodologias ágeis e programo nas seguintes linguagens: Java, C, C#, Javascript, PHP (além das recentes tentativas de aprender Ruby).</p>
<p>Em um primeiro momento, pretendo escrever artigos sobre metodologias ágeis, boas práticas de desenvolvimento, SEO, HTML5 e algoritmos simples.</p>
<p>Espero que possamos aprender juntos, pois foi com esta intenção que criei este espaço virtual.</p>
<p><strong>Até o próximo artigo!</strong></p>
<div id="tweetbutton30" class="tw_button" style="position: absolute; margin-left: 400px; margin-top: 70px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F17%2Fapresentacao%2F&amp;via=danielfariati&amp;text=Apresenta%C3%A7%C3%A3o&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F17%2Fapresentacao%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.danielfariati.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a class="a2a_button_google_plusone addtoany_special_service" data-href="http://blog.danielfariati.com/2011/08/17/apresentacao/"></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F17%2Fapresentacao%2F&amp;linkname=Apresenta%C3%A7%C3%A3o" title="Google Reader" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_button_stumbleupon" href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F17%2Fapresentacao%2F&amp;linkname=Apresenta%C3%A7%C3%A3o" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F17%2Fapresentacao%2F&amp;linkname=Apresenta%C3%A7%C3%A3o" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F17%2Fapresentacao%2F&amp;linkname=Apresenta%C3%A7%C3%A3o" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_email" href="http://www.addtoany.com/add_to/email?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F17%2Fapresentacao%2F&amp;linkname=Apresenta%C3%A7%C3%A3o" title="Email" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/email.png" width="16" height="16" alt="Email"/></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F17%2Fapresentacao%2F&amp;linkname=Apresenta%C3%A7%C3%A3o" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a href="javascript:print()" title="Print" rel="nofollow" target="_blank"><img src="http://blog.danielfariati.com/wp-content/plugins/add-to-any/icons/print.png" width="16" height="16" alt="Print"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.danielfariati.com%2F2011%2F08%2F17%2Fapresentacao%2F&amp;title=Apresenta%C3%A7%C3%A3o" id="wpa2a_16">Compartilhar</a></p>]]></content>
		<link rel="replies" type="text/html" href="http://blog.danielfariati.com/2011/08/17/apresentacao/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=apresentacao#comments" thr:count="3"/>
		<link rel="replies" type="application/atom+xml" href="http://blog.danielfariati.com/2011/08/17/apresentacao/feed/atom/" thr:count="3"/>
		<thr:total>3</thr:total>
	</entry>
	</feed>
