<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feed.lambda3.com.br/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Blogs da Lambda3</title>
	
	<link>http://blog.lambda3.com.br</link>
	<description />
	<lastBuildDate>Fri, 17 May 2013 17:54:13 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feed.lambda3.com.br/Lambda3Blog" /><feedburner:info uri="lambda3blog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Lambda3Blog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>DNAD 13 – .NET Architects Days</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/LOjCAd4af04/</link>
		<comments>http://blog.lambda3.com.br/2013/05/dnad-13-net-architects-days/#comments</comments>
		<pubDate>Fri, 17 May 2013 17:54:13 +0000</pubDate>
		<dc:creator>rodrigo.vidal</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Práticas de Engenharia]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[DNAD]]></category>
		<category><![CDATA[Eventos]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5545</guid>
		<description><![CDATA[Olá pessoal, O DNAD13 acontecerá no Rio de Janeiro, nos dias 02 e 03 de Agosto! A Lambda3, como sempre, estará presente no evento. Se quiserem conversar com alguns de nós é uma excelente oportunidade. As inscrições estão ABERTAS, visitem &#8230; <a href="http://blog.lambda3.com.br/2013/05/dnad-13-net-architects-days/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/05/logo2.png" rel="lightbox[5545]"><img class=" wp-image-5552 aligncenter" alt="DNAD13" src="http://blog.lambda3.com.br/wp-content/uploads//2013/05/logo2.png" width="543" height="157" /></a></p>
<p>Olá pessoal,</p>
<p><strong>O DNAD13 acontecerá no Rio de Janeiro, nos dias 02 e 03 de Agosto!</strong></p>
<p>A Lambda3, como sempre, estará presente no evento. Se quiserem conversar com alguns de nós é uma excelente oportunidade.</p>
<p>As inscrições estão ABERTAS, visitem o site: <a href="http://dnad.azurewebsites.net">http://dnad.azurewebsites.net</a></p>
<p>Submetam propostas de palestra através do call for papers: <a href="https://docs.google.com/forms/d/1IN3cbm46WVSEQjEx0BXiVXwRkb0gQufbG8xQqR--Ljc/viewform">https://docs.google.com/forms/d/1IN3cbm46WVSEQjEx0BXiVXwRkb0gQufbG8xQqR&#8211;Ljc/viewform</a></p>
<p><em id="__mceDel"> É a sua oportunidade de palestrar no DNAD e mostrar para toda a comunidade o que você tem feito!</em></p>
<p>Abraço,<br />
Rodrigo Vidal</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/LOjCAd4af04" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/05/dnad-13-net-architects-days/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/05/dnad-13-net-architects-days/</feedburner:origLink></item>
		<item>
		<title>Bug no TFS 2012 pode causar perda de permissionamento. Veja como resolver</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/pygBk_JeRoI/</link>
		<comments>http://blog.lambda3.com.br/2013/05/bug-no-tfs-2012-pode-causar-perda-de-permissionamento-veja-como-resolver/#comments</comments>
		<pubDate>Fri, 10 May 2013 11:00:20 +0000</pubDate>
		<dc:creator>Vinicius Moura</dc:creator>
				<category><![CDATA[ALM]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[TFS2012]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5429</guid>
		<description><![CDATA[Pessoal, quero compartilhar com vocês mais uma experiência que tive recentemente em um cliente. Após a instalação do Team Foundation Server 2012, o cliente solicitou a transferência das bases de dados do TFS do drive C: para o drive D:. &#8230; <a href="http://blog.lambda3.com.br/2013/05/bug-no-tfs-2012-pode-causar-perda-de-permissionamento-veja-como-resolver/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img style="background-image: none; float: right; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="image" alt="image" src="http://blog.lambda3.com.br/wp-content/uploads//2013/05/f3.png" width="330" height="330" align="right" border="0" />Pessoal, quero compartilhar com vocês mais uma experiência que tive recentemente em um cliente. Após a instalação do Team Foundation Server 2012, o cliente solicitou a transferência das bases de dados do TFS do drive C: para o drive D:. Para isso, seguimos os passos abaixo:<a href="http://blog.lambda3.com.br/wp-content/uploads//2013/05/f3.png" rel="lightbox[5429]"><br />
</a></p>
<ol>
<li>Detach Collection &#8211; através da ferramenta Administration Console, foi realizado o Detach da Collection;</li>
<li>Detach Database &#8211; através do SQL Server Management Studio foi executado o Detach da base de dados da respectiva Collection;</li>
<li>Transferência dos Arquivos – após o Detach da Collection e da respectiva base de dados, os arquivos de dados (extensão mdf) e o arquivo de log (extensão ldf), foram transferidos do drive C: para o drive D:;</li>
<li>Attach Database &#8211; através do SQL Server Management Studio, foi executado o Attach da base da respectiva Collection;</li>
<li>Attach Collection &#8211; através da ferramenta Administration Console, foi executado o Attach da Collection.</li>
</ol>
<p>Após a execução do procedimento descrito acima, todos os desenvolvedores começaram a perceber “perda” de permissionamento na respectiva Collection migrada, não conseguindo a conexão conforme demonstrado na figura abaixo:</p>
<p style="text-align: left;"><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/05/f11.png" rel="lightbox[5429]"><img class="aligncenter size-full wp-image-5437" alt="f1" src="http://blog.lambda3.com.br/wp-content/uploads//2013/05/f11.png" width="569" height="363" /></a></p>
<p>Após verificação da instalação do Team Foundation Server e pesquisa dos Updates no site da Microsoft, foi necessária a instalação <a href="http://www.microsoft.com/en-us/download/details.aspx?id=36392">Update to Team Foundation Server Update 1 (KB2803625)</a>.</p>
<p>Dentre as atualizações executadas pelo patch, destacamos na figura abaixo os problemas corrigidos que nos ajudaram finalizar a migração da Collection:</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/05/f2.png" rel="lightbox[5429]"><img class="size-full wp-image-5431 alignnone" alt="f2" src="http://blog.lambda3.com.br/wp-content/uploads//2013/05/f2.png" width="569" height="210" /></a></p>
<p>Para obter mais detalhes de todas as correções executadas pelo patch, acesso o link <a href="http://support.microsoft.com/kb/2803625/pt-br">Atualização cumulativa 1 para atualização do Visual Studio Team Foundation Server 2012</a>.</p>
<p>Importante lembrar que essa atualização vale para o Team Foundation Server Update 1. Para quem já possui o TFS 2012 Update 2 os problemas com migração de Collection e permissionamento dos desenvolvedores já foi resolvido.</p>
<p>Abraços e até a próxima,</p>
<p>Vinicius Moura</p>
<p>&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/pygBk_JeRoI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/05/bug-no-tfs-2012-pode-causar-perda-de-permissionamento-veja-como-resolver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/05/bug-no-tfs-2012-pode-causar-perda-de-permissionamento-veja-como-resolver/</feedburner:origLink></item>
		<item>
		<title>Mudando a plataforma que o MSBuild irá rodar durante o processo de Build</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/OuDeCv8_FnM/</link>
		<comments>http://blog.lambda3.com.br/2013/05/mudando-a-plataforma-que-o-msbuild-ir-rodar-durante-o-processo-de-build/#comments</comments>
		<pubDate>Thu, 09 May 2013 20:06:44 +0000</pubDate>
		<dc:creator>Claudio Leite</dc:creator>
				<category><![CDATA[ALM]]></category>
		<category><![CDATA[MSBuild]]></category>
		<category><![CDATA[Team Build]]></category>

		<guid isPermaLink="false">https://blog.lambda3.com.br/?p=5401</guid>
		<description><![CDATA[Pessoal, Essa eu passei durante uma consultoria no cliente. A situação era a seguinte: O Team Build e os agentes estão instalados em máquinas 64bits. Tinha um projeto que precisava ser compilado com algumas informações e dll´s de x86. Quando &#8230; <a href="http://blog.lambda3.com.br/2013/05/mudando-a-plataforma-que-o-msbuild-ir-rodar-durante-o-processo-de-build/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Pessoal,</p>
<p>Essa eu passei durante uma consultoria no cliente. A situação era a seguinte: O Team Build e os agentes estão instalados em máquinas 64bits. Tinha um projeto que precisava ser compilado com algumas informações e dll´s de x86.</p>
<p>Quando mandava rodar normalmente, ele apenas dava um erro falando que não conseguia carregar umas dll´s.</p>
<p>Após fazer um estudo percebi que o msbuild procurava as informações no diretório x64 dos projetos e as informações dentro do arquivo de csproj (que é o arquivo que contém o script de msbuild) mandava procurar dentro do x86. Se eu mudasse essa informação quebrava a compilação na máquina dos Devs e sem ela não funciona no servidor de build. E aí, como resolver ?</p>
<p>Dentro da Build Definition tem um parametro que nós podemos usar justamente para isso.</p>
<p>Como setar o parâmetro:</p>
<p>Vá na sua Build Definition –&gt; <strong>Aba Process –&gt; Advanced</strong>. Lá tem uma opção chamada: <strong>MSBuild Plataform </strong>e pronto, todos os seus problemas estão resolvidos! <img src='http://blog.lambda3.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/04/image2.png" rel="lightbox[5401]"><img style="display: inline; border: 0px;" title="image" alt="image" src="http://blog.lambda3.com.br/wp-content/uploads//2013/04/image_thumb.png" width="550" height="179" border="0" /></a></p>
<p>Por padrão ele vem com a opção Auto, isso significa que ele vai identificar qual é a plataforma do sistema operacional que ele vai rodar e chama o MSbuild.exe daquela plataforma.</p>
<p>Para resolver o problema aqui, simplesmente coloquei a propriedade com o valor <strong>X86</strong> e tudo funcionou perfeitamente!</p>
<p>Até a próxima</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/OuDeCv8_FnM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/05/mudando-a-plataforma-que-o-msbuild-ir-rodar-durante-o-processo-de-build/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/05/mudando-a-plataforma-que-o-msbuild-ir-rodar-durante-o-processo-de-build/</feedburner:origLink></item>
		<item>
		<title>Minha palestra no Seminário Paranaense de Qualidade de Software</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/ge6mDEmFzxM/</link>
		<comments>http://blog.lambda3.com.br/2013/05/minha-palestra-no-seminrio-paranaense-de-qualidade-de-software/#comments</comments>
		<pubDate>Tue, 07 May 2013 12:00:35 +0000</pubDate>
		<dc:creator>Igor Abade</dc:creator>
				<category><![CDATA[ALM]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Testes manuais]]></category>
		<category><![CDATA[TFS2012]]></category>

		<guid isPermaLink="false">https://blog.lambda3.com.br/?p=5447</guid>
		<description><![CDATA[No dia 29 de abril de 2013 estive em Curitiba, a convite dos nossos amigos da PrimeControl, para palestrar no 1o. Seminário Paranaense de Qualidade de Software. A Lambda3 foi um dos patrocinadores do evento, que ocorreu na ESIC Business &#8230; <a href="http://blog.lambda3.com.br/2013/05/minha-palestra-no-seminrio-paranaense-de-qualidade-de-software/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img style="background-image: none; float: right; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" alt="image" src="http://blog.lambda3.com.br/wp-content/uploads//2013/05/image.png" width="163" height="240" align="right" border="0" />No dia 29 de abril de 2013 estive em Curitiba, a convite dos nossos amigos da <a href="http://www.primecontrol.com.br" target="_blank">PrimeControl</a>, para palestrar no <a href="http://spqs.primecontrol.com.br/" target="_blank">1o. Seminário Paranaense de Qualidade de Software</a>.</p>
<p>A Lambda3 foi um dos patrocinadores do evento, que ocorreu na ESIC Business Marketing School.</p>
<p>O tema da minha palestra foi “Scrum em Team Foundation Server: Qualidade ao longo do ciclo de vida da aplicação”:</p>
<blockquote><p>Empresas no mundo inteiro têm cada vez mais dificuldade para desenvolver e entregar software de qualidade. Os desafios são vários, tais como gerenciar as expectativas do usuário e as mudanças constantes de requisitos, bem como garantir a coesão e o foco do time. Venha ver como o desenvolvimento ágil de aplicações, apoiado sobre o Scrum e o Team Foundation Server 2012, pode ajudar times de desenvolvimento a melhorar seu dia-a-dia de trabalho para entregar software de qualidade a seus clientes.</p></blockquote>
<p>É sempre bem interessante pôr este tema em discussão. Isso nos dá a oportunidade de lembrar quão danoso pode ser o modelo de “<em>test-last development</em>” (onde o teste é deixado para o final do projeto). Infelizmente tratar qualidade como um <em>afterthought</em> (e achar que testes, por si só, garantem a qualidade do software) ainda são atitudes muito comuns nas empresas. De certa forma, estendemos a discussão que começou na minha palestra do ALM Summit Brasil (“O testador está morto. Longa vida ao desenvolvedor!”).</p>
<p>O evento foi bem legal e suscitou discussões bem bacanas. Espero que todos tenham curtido!</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/05/image5.png" rel="lightbox"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Clique para ampliar" alt="Palestrando no 1o. Seminário Paranaense de Qualidade de Software" src="http://blog.lambda3.com.br/wp-content/uploads//2013/05/image5_thumb.png" width="215" height="244" border="0" /></a>  <a href="http://blog.lambda3.com.br/wp-content/uploads//2013/05/image8.png" rel="lightbox"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Clique para ampliar" alt="Cantinho da Lambda3" src="http://blog.lambda3.com.br/wp-content/uploads//2013/05/image8_thumb.png" width="194" height="244" border="0" /></a></p>
<p>&nbsp;</p>
<p>Para os que me pediram durante o evento: minha apresentação está disponível para download no SlideShare:</p>
<p><iframe src="http://www.slideshare.net/slideshow/embed_code/20272248" height="400" width="476" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>&nbsp;</p>
<p>Em tempo: Queria agradecer mais uma vez o convite da PrimeControl. Nos vemos no ano que vem!</p>
<p>&nbsp;</p>
<p>Um abraço,<br />
Igor</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/ge6mDEmFzxM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/05/minha-palestra-no-seminrio-paranaense-de-qualidade-de-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/05/minha-palestra-no-seminrio-paranaense-de-qualidade-de-software/</feedburner:origLink></item>
		<item>
		<title>Acessando o TFS em ambientes Linux</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/oYztdJMfAdo/</link>
		<comments>http://blog.lambda3.com.br/2013/05/acessando-o-tfs-em-ambientes-linux/#comments</comments>
		<pubDate>Mon, 06 May 2013 21:00:13 +0000</pubDate>
		<dc:creator>Claudio Leite</dc:creator>
				<category><![CDATA[ALM]]></category>

		<guid isPermaLink="false">https://blog.lambda3.com.br/?p=5377</guid>
		<description><![CDATA[Fala Pessoal, No último mês trabalhei em uma PoC e nela temos que validar alguns cenários especificos. Um desses cenários era trabalhar com códigos-fontes que são desenvolvidos apenas em máquinas que rodam Linux. Até aí nada demais vocês podem falar, &#8230; <a href="http://blog.lambda3.com.br/2013/05/acessando-o-tfs-em-ambientes-linux/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Fala Pessoal,</p>
<p>No último mês trabalhei em uma PoC e nela temos que validar alguns cenários especificos. Um desses cenários era trabalhar com códigos-fontes que são desenvolvidos apenas em máquinas que rodam Linux.</p>
<p>Até aí nada demais vocês podem falar, afinal posso usar o Team Explorer Everywhere (TEE) que vai resolver meu problema, ou posso usar o TFS e Git como demonstrado pelo Giovanni Bassi nesse post (<a href="http://blog.lambda3.com.br/2013/01/tfs-agora-suporta-git/">http://blog.lambda3.com.br/2013/01/tfs-agora-suporta-git/</a>) .</p>
<p>Mas imagine que você está trabalhando com um ambiente de TFS local e não o TF Service (que é o único que suporta Git) e ainda tem aquele usuário de linux que gosta de usar apenas linha de comando, ou por algum outro motivo, não possa ou não queira instalar o Eclipse para rodar o TEE.</p>
<p>Para esse cenário, podemos usar o <a href="http://www.microsoft.com/en-us/download/details.aspx?id=30661">Cross-platform Command-Line Client for Team Foundation server</a>.</p>
<p>Nesse link tem os passos necessários para você baixar e configurar o command line. Mas e aí, como eu uso para poder fazer o meu check-in e check-out ?</p>
<p>Primeiro temos que aceitar o End User License Agreement (EULA), para isso, na pasta onde você descompactou o zip digite:</p>
<p><strong>tf eula</strong></p>
<p>Vá até o final do arquivos e aceite os termos.</p>
<p>Depois de aceitar o EULA, vamos agora facilitar as coisas um pouco. Os comandos que vamos usar sempre pedem que passemos como parametros a collection vou realizar a operação, usuário e senha. Para evitar de ficar sempre digitando as informações, sugiro criarmos um alias no bash, assim além de em qualquer lugar você apenas digitar o <strong>tf</strong>  e o seu S.O entender podemos também já colocar essas informações que sempre precisariamos usar. Para isso, digite o seguinte na sua console:</p>
<p><strong>alias tf=’local_onde_voce_descompactou_o_script/tf –login:(seu_usuario)@dominio.(Senha) –collection:http://end_servidor:porta/tfs/nm_collection</strong></p>
<p>Com o nosso alias configurado vamos criar o nosso workspace, para isso, crie uma pasta na sua home, como por exemplo ProjetoNoTFS com o seguinte comando:</p>
<p><strong>mkdir ~/ProjetoNoTFS</strong></p>
<p>Agora vamos criar o nosso workspace no TFS, para isso digite:</p>
<p><strong>tf workspace –new –location:local –permission:Private</strong></p>
<p>Existem outros parametros, para ter uma lista completa, digite apenas <strong>./tf</strong></p>
<p>Depois de ter o workspace criado, vamos mapear a working folder, para isso, digite:</p>
<p><strong>tf workfold –map (pasta_no_servidor) (pasta_local) –workspace:(nome_do_workspace)</strong></p>
<p>Agora podemos baixar todos os arquivos que já estão no repositório. Entre na pasta que acabamos de mapear e digite :</p>
<p><strong>tf get </strong></p>
<p>Agora podemos editar as informações e fazer um checkin, no meu caso, vou adicionar um arquivo txt que criei no Linux. Para isso digite :</p>
<p><strong>tf add </strong> <strong>(nome_do_arquivo)</strong></p>
<p>Agora vamos fazer um checkin, para isso digite:</p>
<p><strong>tf checkin </strong> <strong>(nome_do_arquivo) –comment:“comentario que quiser”</strong></p>
<p>se quiser vincular um workitem no checkin, utilize o parametro <strong>–associate</strong> ou <strong>-resolve</strong></p>
<p>e para fazer o checkout :</p>
<p><strong>tf checkout </strong> <strong>(nome_do_arquivo)</strong></p>
<p>Espero que tenham gostado.</p>
<p>Até a próxima</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/oYztdJMfAdo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/05/acessando-o-tfs-em-ambientes-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/05/acessando-o-tfs-em-ambientes-linux/</feedburner:origLink></item>
		<item>
		<title>Sidekicks, uma ferramenta essencial para Administradores do Team Foundation Server</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/buUup_uKB3E/</link>
		<comments>http://blog.lambda3.com.br/2013/05/sidekicks_uma_ferramenta_essencial_para_administradores_do_team_foundation_server/#comments</comments>
		<pubDate>Fri, 03 May 2013 19:34:15 +0000</pubDate>
		<dc:creator>Claudio Leite</dc:creator>
				<category><![CDATA[ALM]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=2918</guid>
		<description><![CDATA[Fala Pessoal, Imaginem o seguinte cenário, um desenvolvedor que trabalhava no seu projeto pediu demissão e um novo desenvolvedor foi contratado para trabalhar em seu lugar. Antes de liberar a máquina para o novo desenvolvedor, geralmente a máquina com as &#8230; <a href="http://blog.lambda3.com.br/2013/05/sidekicks_uma_ferramenta_essencial_para_administradores_do_team_foundation_server/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Fala Pessoal,</p>
<p>Imaginem o seguinte cenário, um desenvolvedor que trabalhava no seu projeto pediu demissão e um novo desenvolvedor foi contratado para trabalhar em seu lugar. Antes de liberar a máquina para o novo desenvolvedor, geralmente a máquina com as configurações originais é formatada e preparada para o novo desenvolvedor.</p>
<p>Perfeito, temos tudo pronto e o desenvolvedor novo já pode começar a trabalhar. Assim que ele abre o Visual Studio, esse novo desenvolvedor vai criar seu workspace para “baixar” seu projeto em uma pasta padrão. Ao fazer isso ele pode receber uma mensagem, informando que já existe um workspace vinculado no Visual Studio.</p>
<p>E agora? o desenvolvedor antigo já foi embora. A máquina que ele usava já foi formatada. Como podemos apagar essa informação do servidor e libere a máquina para outro usuário?</p>
<p>Outra situação, seu desenvolvedor saiu de férias e esqueceu de fazer o check-in de alguma coisa que ainda estava trabalhando e outra pessoa da sua equipe precisa mexer nesse(s) arquivo(s). Como podemos liberar esses arquivos?</p>
<p>Existem duas maneiras, uma é via linha de comando, porém nada amigável e a outra é usando uma excelente ferramenta que ajuda na administração do seu Team Foundation Server: <a href="http://www.attrice.info/downloads/index.htm#tfssidekicks2012">Team Foundation Sidekicks</a></p>
<p>Essa é uma das ferramentas que utilizo muito e sempre passo para o clientes para ajudar na administração do TFS.</p>
<p>Até a próxima!</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/buUup_uKB3E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/05/sidekicks_uma_ferramenta_essencial_para_administradores_do_team_foundation_server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/05/sidekicks_uma_ferramenta_essencial_para_administradores_do_team_foundation_server/</feedburner:origLink></item>
		<item>
		<title>Slides da palestra sobre Git ministrada no ALM Summit 2013</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/orp9PJZMsVY/</link>
		<comments>http://blog.lambda3.com.br/2013/05/slides-da-palestra-sobre-git-ministrada-no-alm-summit-2013/#comments</comments>
		<pubDate>Thu, 02 May 2013 02:54:56 +0000</pubDate>
		<dc:creator>Giovanni Bassi</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Source Control]]></category>
		<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false">https://blog.lambda3.com.br/?p=5421</guid>
		<description><![CDATA[Dia 20/4 ministrei uma palestra de Git no ALM Summit 2013. A palestra foi filmada, e em breve teremos o vídeo. Enquanto isso vocês podem ver os slides. Estão abaixo: Porque você precisa aprender Git from Giovanni Bassi Algumas referências: &#8230; <a href="http://blog.lambda3.com.br/2013/05/slides-da-palestra-sobre-git-ministrada-no-alm-summit-2013/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://git-scm.com" target="_blank"><img title="Git-Logo-2Color[1]" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="Git-Logo-2Color[1]" src="http://blog.lambda3.com.br/wp-content/uploads//2013/05/Git-Logo-2Color1.png" width="240" height="100"></a></p>
<p>Dia 20/4 ministrei uma palestra de Git no <a href="http://www.almsummitbrasil.com.br/" target="_blank">ALM Summit 2013</a>. A palestra foi filmada, e em breve teremos o vídeo. </p>
<p>Enquanto isso vocês podem ver os slides. Estão abaixo:</p>
<p><iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/19319258" frameborder="0" width="427" marginwidth="0" scrolling="no" mozallowfullscreen webkitallowfullscreen allowfullscreen> </iframe>
<div style="margin-bottom: 5px"><strong><a title="Porque voc&ecirc; precisa aprender Git" href="http://www.slideshare.net/giovanni.bassi/porque-voc-precisa-aprender-git" target="_blank">Porque você precisa aprender Git</a> </strong>from <strong><a href="http://www.slideshare.net/giovanni.bassi" target="_blank">Giovanni Bassi</a></strong> </div>
<p>Algumas referências:</p>
<p>Site do Git: <a href="http://git-scm.com/">http://git-scm.com</a><a href="http://git-scm.com/">/</a>
<p>Podcast sobre DVCS: <a href="http://www.tecnoretorica.com.br/2012/05/dvcs/">http://www.tecnoretorica.com.br/2012/05/dvcs</a><a href="http://www.tecnoretorica.com.br/2012/05/dvcs/">/</a>
<p>Video do Linus explicando porque Git: <a href="http://bit.ly/linusgit">http://</a><a href="http://bit.ly/linusgit">bit.ly/linusgit</a> (Video)
<p>Excelente livro gratuito sobre Git: <a href="http://progit.org/">http://progit.org<a href="http://progit.org/">/</a></a>
<p>Artigo avançado sobre internals do Git: <a href="http://bit.ly/gitfrombottomup">http://<a href="http://bit.ly/gitfrombottomup">bit.ly/gitfrombottomup</a></a>
<p>Tag de Git no blog da Lambda3: <a href="http://blog.lambda3.com.br/tag/git/">http://blog.lambda3.com.br/tag/git/</a></p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/orp9PJZMsVY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/05/slides-da-palestra-sobre-git-ministrada-no-alm-summit-2013/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/05/slides-da-palestra-sobre-git-ministrada-no-alm-summit-2013/</feedburner:origLink></item>
		<item>
		<title>RoundTable – Clean Code</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/VlOLXE4ddPo/</link>
		<comments>http://blog.lambda3.com.br/2013/04/roundtable-clean-code/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 20:01:47 +0000</pubDate>
		<dc:creator>rodrigo.vidal</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Clean Code]]></category>
		<category><![CDATA[Livro]]></category>
		<category><![CDATA[Round-Table]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5299</guid>
		<description><![CDATA[Olá pessoal na última terça-feira realizamos a primeira mesa redonda na Lambda3 Rio de Janeiro \o/. O assunto foi o capítulo 2 do livro Clean Code. Muitos, senão todos, do nosso time já leram esse livro a um bom tempo, &#8230; <a href="http://blog.lambda3.com.br/2013/04/roundtable-clean-code/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Olá pessoal na última terça-feira realizamos a primeira mesa redonda na Lambda3 Rio de Janeiro \o/. O assunto foi o capítulo 2 do livro<a href="http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/ref=sr_1_1?ie=UTF8&amp;qid=1366118348&amp;sr=8-1&amp;keywords=clean+code"> Clean Code</a>. Muitos, senão todos, do nosso time já leram esse livro a um bom tempo, então tínhamos um objetivo de relembrar e discutir o assunto que estudamos, para não ficar chato Colocamos um time-box de uma hora para não nos estendermos demais.</p>
<p>O que segue abaixo foram anotações que fizemos durante a sessão, com alguns tópicos. Nosso objetivo aqui não é explicá-los e sim registrá-los, se você quiser entender melhor cada um dos tópicos é só chegar aqui na Lambda3 que a gente fala sobre eles <img src='http://blog.lambda3.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>O tempo foi suficiente para discutirmos 5 tópicos do capítulo 2 &#8211; Meaningful names</p>
<ul>
<li>Intention revealing names</li>
<li>Avoid disinformation</li>
<li>Make meaningful distinctions</li>
<li>Use Pronounceable names</li>
<li>Use Searchable Names</li>
</ul>
<p><strong>Intention revealing names</strong></p>
<ul>
<li>Intention revealing names é dependente do domínio e do contexto em que a interface em questão esta sendo usada. O programador tem que conhecer o domínio, caso contrário a interface dificilmente será reveladora.</li>
<li>Bons nomes dependem bastante das experiências de cada um, sendo assim um nome que é razoável para um desenvolvedor pode parecer o nome ideal para outro, e vice-versa.</li>
<li>O preciosismo com nomes deve ser evitado.</li>
<li>Alguns casos como no C# foi escolhido mudar uma interface para o público alvo entender melhor. Como exemplos temos o Linq com os métodos Reduce/Fold</li>
<li>Há diferenças em IRN(Intention revealing names) em linguagens estaticamente tipadas e em linguagens dinâmicas. Chegamos ao questionamento se a recomendação em linguagens dinâmicas é usar o tipo como parte do nome.</li>
</ul>
<p><strong>Desinformation</strong></p>
<ul>
<li>Programar em idiomas estrangeiros requer cuidado extra para nomeá-los. Buscar o nome significativo para ter certeza se o nome  corresponde ao que você esta querendo dizer.</li>
<li>Bad smells: descrever imperativamente no nome método exatamente como faz. Você deve descrever o que ele faz.</li>
<li>Membro novo no time tende a criar nomes descontextualizados.</li>
</ul>
<p><strong>Make meaningful distinctions</strong></p>
<ul>
<li>Palavras genéricas não servem para distinguir conceitos. DadosAdicionais</li>
<li>Plural são distinções significativas? eg: ObterUsuario() x ObterUsuarios()</li>
</ul>
<p><strong>Use Pronounceable names</strong></p>
<ul>
<li>A linguagem de domínio utilizada pelo Product Owner as vezes não representa a linguagem ubíqua. No caso de um nome ruim, você pode sugerir um nome melhor.</li>
<li>Buscar conhecimento de outras pessoas é interessante mas deve tomar cuidado pois uma mesma coisa pode ter nomes diferentes em contextos diferentes.</li>
</ul>
<p>É isso pessoal, esse é apenas um relato da nossa discussão. Esperamos em breve conseguir tornar a discussão pública, aguarde novidades <img src='http://blog.lambda3.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Participaram desta discussão:</p>
<ul>
<li>Bernardo Rosmaninho</li>
<li>Higor Cesar Ramos</li>
<li>Rodrigo Vidal</li>
</ul>
<p>Abraço.</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/VlOLXE4ddPo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/04/roundtable-clean-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/04/roundtable-clean-code/</feedburner:origLink></item>
		<item>
		<title>Podcast sobre programação funcional com Juliano Alves</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/1dHqRjX6DnY/</link>
		<comments>http://blog.lambda3.com.br/2013/04/podcast-sobre-programao-funcional-com-juliano-alves/#comments</comments>
		<pubDate>Mon, 29 Apr 2013 11:07:00 +0000</pubDate>
		<dc:creator>Giovanni Bassi</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[f#]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[programação funcional]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5372</guid>
		<description><![CDATA[Gravei um podcast pro Tecnoretórica com o Juliano Alves sobre programação funcional. Falamos de Scala, F#, e alguns conceitos básicos. Se você quer conhecer o assunto, é uma boa pedida. Ouçam lá: http://www.tecnoretorica.com.br/2013/04/programacao-funcional/ E já assinem o RSS: http://feeds.tecnoretorica.com.br/tecnoretorica Também &#8230; <a href="http://blog.lambda3.com.br/2013/04/podcast-sobre-programao-funcional-com-juliano-alves/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img title="Scala" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Scala" src="http://blog.lambda3.com.br/wp-content/uploads//2013/04/Scala_logo1.png" width="240" height="68"><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/04/FSharp_Logo1.png" rel="lightbox"><img title="F#" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="F#" src="http://blog.lambda3.com.br/wp-content/uploads//2013/04/FSharp_Logo1_thumb.png" width="114" height="78"></a></p>
<p>Gravei um podcast pro Tecnoretórica com o <a href="http://twitter.com/vonjuliano" target="_blank">Juliano Alves</a> sobre programação funcional. Falamos de Scala, F#, e alguns conceitos básicos. Se você quer conhecer o assunto, é uma boa pedida.</p>
<p>Ouçam lá: <a href="http://www.tecnoretorica.com.br/2013/04/programacao-funcional/">http://www.tecnoretorica.com.br/2013/04/programacao-funcional/</a>
<p>E já assinem o RSS: <a href="http://feeds.tecnoretorica.com.br/tecnoretorica">http://feeds.tecnoretorica.com.br/tecnoretorica</a>
<p>Também na iTunes Store, e no Windows Phone Marketplace:<a href="https://itunes.apple.com/pt/podcast/tecnoretorica/id374959406">https://itunes.apple.com/pt/podcast/tecnoretorica/id374959406</a></p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/1dHqRjX6DnY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/04/podcast-sobre-programao-funcional-com-juliano-alves/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/04/podcast-sobre-programao-funcional-com-juliano-alves/</feedburner:origLink></item>
		<item>
		<title>Discutindo sobre DVCS e Git com Juliano Alves e Raphael Molesim</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/dKjJmRu96PI/</link>
		<comments>http://blog.lambda3.com.br/2013/04/discutindo-sobre-dvcs-e-git-com-juliano-alves-e-raphael-molesim/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 13:48:54 +0000</pubDate>
		<dc:creator>Giovanni Bassi</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[podcast]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5367</guid>
		<description><![CDATA[Ministrei uma palestra de Git no último sábado e reparei que não tinha postado aqui no blog sobre o bate papo que tive com o Raphael Molesim e o Juliano Alves sobre DVCS, Git e afins. Então estou resolvendo esse &#8230; <a href="http://blog.lambda3.com.br/2013/04/discutindo-sobre-dvcs-e-git-com-juliano-alves-e-raphael-molesim/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/04/Git-Logo-2Color.png" rel="lightbox"><img title="Git-Logo-2Color" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="Git-Logo-2Color" src="http://blog.lambda3.com.br/wp-content/uploads//2013/04/Git-Logo-2Color_thumb.png" width="240" height="100"></a></p>
<p>Ministrei uma palestra de Git no último sábado e reparei que não tinha postado aqui no blog sobre o bate papo que tive com o <a href="https://twitter.com/raphaelmolesim" target="_blank">Raphael Molesim</a> e o <a href="https://twitter.com/vonjuliano" target="_blank">Juliano Alves</a> sobre DVCS, Git e afins. Então estou resolvendo esse problema com esse post.</p>
<p>Ouçam lá: <a href="http://www.tecnoretorica.com.br/2012/05/dvcs/">http://www.tecnoretorica.com.br/2012/05/dvcs/</a></p>
<p>E já assinem o RSS: <a href="http://feeds.tecnoretorica.com.br/tecnoretorica">http://feeds.tecnoretorica.com.br/tecnoretorica</a></p>
<p>Também na iTunes Store, e no Windows Phone Marketplace: <a href="https://itunes.apple.com/pt/podcast/tecnoretorica/id374959406">https://itunes.apple.com/pt/podcast/tecnoretorica/id374959406</a></p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/dKjJmRu96PI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/04/discutindo-sobre-dvcs-e-git-com-juliano-alves-e-raphael-molesim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/04/discutindo-sobre-dvcs-e-git-com-juliano-alves-e-raphael-molesim/</feedburner:origLink></item>
		<item>
		<title>Vídeo da palestra de NodeJS</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/DaWkrjl6dro/</link>
		<comments>http://blog.lambda3.com.br/2013/04/video-da-palestra-de-nodejs/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 13:09:00 +0000</pubDate>
		<dc:creator>Giovanni Bassi</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[expressjs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[Nuvem]]></category>
		<category><![CDATA[socketio]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5362</guid>
		<description><![CDATA[O vídeo da palestra de NodeJS que fiz no AzureSummit foi publicado hoje. Está aqui: Eu já havia publicado os slides e informações em outro post aqui no blog. Enjoy.]]></description>
				<content:encoded><![CDATA[<p>O vídeo da palestra de NodeJS que fiz no AzureSummit foi publicado hoje. Está aqui:</p>
<p><iframe height="315" src="http://www.youtube.com/embed/Iylp9HF1tes" frameborder="0" width="560" allowfullscreen></iframe>
<p>Eu já havia publicado os slides e informações em outro post <a href="http://blog.lambda3.com.br/2013/03/azure-summit-brasil-2013-palestra-de-node-js/" target="_blank">aqui no blog</a>.</p>
<p>Enjoy.</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/DaWkrjl6dro" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/04/video-da-palestra-de-nodejs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/04/video-da-palestra-de-nodejs/</feedburner:origLink></item>
		<item>
		<title>Lambda Day RJ 2013</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/8-_g10n7Mlk/</link>
		<comments>http://blog.lambda3.com.br/2013/04/lambda-day-rj-2013/#comments</comments>
		<pubDate>Thu, 18 Apr 2013 19:46:41 +0000</pubDate>
		<dc:creator>Higor Ramos</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Eventos]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5252</guid>
		<description><![CDATA[Fála pessoal! Demorou um pouco, mas aqui está o meu relato sobre o LambdaDay. O evento aconteceu no RJ e SP nos dias 08/03 e 09/03 respectivamente. Esse foi o primeiro evento com a cara da Lambda3. A Lambda3 é cheia &#8230; <a href="http://blog.lambda3.com.br/2013/04/lambda-day-rj-2013/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Fála pessoal! Demorou um pouco, mas aqui está o meu relato sobre o <a href="http://day.lambda3.com.br/">LambdaDay</a>. O evento aconteceu no <a href="http://day.lambda3.com.br/rio-de-janeiro">RJ</a> e <a href="http://day.lambda3.com.br/sao-paulo">SP</a> nos dias 08/03 e 09/03 respectivamente. Esse foi o primeiro evento com a cara da Lambda3.<br />
A Lambda3 é cheia de pessoas que participam da organização de diversos eventos, pelo Brasil todo. Além de patrocinar e participar através de palestras ou debates. Sendo assim, já era hora de fazermos o nosso evento. O evento no RJ teve gosto de lançamento da Lambda3 aqui no estado, afinal, depois de bastante trabalho, temos um escritório aqui.</p>
<p><strong>Tecnicamente falando<br />
</strong>A idéia foi organizar um evento pragmático focando no conteúdo que estamos aplicando durante o desenvolvimento de projetos e consultorias. O <a href="https://twitter.com/victorhg">Victor Hugo</a> fez as honras de abrir o evento apresentando a Lambda3 e falando um pouco sobre os três anos de vida da empresa.</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/04/LamdaDayVH.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="LamdaDayVH" alt="LamdaDayVH" src="http://blog.lambda3.com.br/wp-content/uploads//2013/04/LamdaDayVH_thumb.jpg" width="244" height="184" border="0" /></a></p>
<p>Eu fiz isso através da minha apresentação sobre <a href="http://www.slideshare.net/higorcrr/aprensentacao-ootrincheiras">Orientação a objetos</a>. Vejam os slides de todas as apresentações no final deste post.</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/04/HigorLambdaDay.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="HigorLambdaDay" alt="HigorLambdaDay" src="http://blog.lambda3.com.br/wp-content/uploads//2013/04/HigorLambdaDay_thumb.jpg" width="244" height="184" border="0" /></a></p>
<p><strong>Comunidade<br />
</strong>Todos nós ficamos impressionados com a velocidade com a qual os ingressos se esgotaram. Em apenas um dia, todas as 50 vagas acabaram! Fica aqui o agradecimento à comunidade pela participação e divulgação do evento. O feedback serviu para nos mostrar que o próximo LambdaDay (que ainda não tem data) será um evento bem maior, e contamos com vocês para isso.</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/04/LambdaDayGalera.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="LambdaDayGalera" alt="LambdaDayGalera" src="http://blog.lambda3.com.br/wp-content/uploads//2013/04/LambdaDayGalera_thumb.jpg" width="244" height="184" border="0" /></a><br />
Ao término do evento tomamos um chopp e rolou uma interação melhor com a galera, vejam como foi:</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/04/884313_581271925235248_1086929818_o.jpg" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="884313_581271925235248_1086929818_o" alt="884313_581271925235248_1086929818_o" src="http://blog.lambda3.com.br/wp-content/uploads//2013/04/884313_581271925235248_1086929818_o_thumb.jpg" width="244" height="184" border="0" /></a></p>
<p><strong>Slides das apresentações</strong></p>
<p><strong> <a title="Orientação a objetos nas trincheiras" href="http://www.slideshare.net/higorcrr/aprensentacao-ootrincheiras" target="_blank">Orientação a objetos nas trincheiras</a> </strong><br />
<iframe style="border: 1px solid #CCC; border-width: 1px 1px 0; margin-bottom: 5px;" src="http://www.slideshare.net/slideshow/embed_code/17461097" height="356" width="427" allowfullscreen="" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p><strong> <a title="Introdução ao NHibernate" href="http://www.slideshare.net/rodrigosilvadeandrade/n-hibernate" target="_blank">Introdução ao NHibernate</a> </strong><br />
<iframe style="border: 1px solid #CCC; border-width: 1px 1px 0; margin-bottom: 5px;" src="http://www.slideshare.net/slideshow/embed_code/18633016" height="356" width="427" allowfullscreen="" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br />
O código utilizado para a palestra de Introdção ao NHibernate está disponível no <a title="GitHub" href="https://github.com/Rodrigo-Andrade/LambdaDay.NHibernate" target="_blank">GitHub</a>.</p>
<p><strong> <a title="Overview sobre Transição Ágil" href="http://www.slideshare.net/brosmaninho/overview-sobre-transio-gil" target="_blank">Overview sobre Transição Ágil</a> </strong><br />
<iframe style="border: 1px solid #CCC; border-width: 1px 1px 0; margin-bottom: 5px;" src="http://www.slideshare.net/slideshow/embed_code/18199961" height="356" width="427" allowfullscreen="" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>É isso pessoal, fiquem ligados no blog da Lambda3, pois muito conteúdo ainda está por vir.</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/8-_g10n7Mlk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/04/lambda-day-rj-2013/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/04/lambda-day-rj-2013/</feedburner:origLink></item>
		<item>
		<title>Conteúdo do Lambda Day SP 2013</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/BSThLac0Av4/</link>
		<comments>http://blog.lambda3.com.br/2013/04/conteudo-do-lambda-day-sp-2013/#comments</comments>
		<pubDate>Thu, 18 Apr 2013 15:47:58 +0000</pubDate>
		<dc:creator>Osmar Landin</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Eventos]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5316</guid>
		<description><![CDATA[No último mês de Março foi realizada a primeira edição do Lambda Day. Dias 08 e 09 no Rio de Janeiro e São Paulo, respectivamente. Como não pude participar do evento do RJ, minha intenção aqui é falar um pouco &#8230; <a href="http://blog.lambda3.com.br/2013/04/conteudo-do-lambda-day-sp-2013/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/04/lambda_day.png" rel="lightbox[5316]"><img class="alignnone size-full wp-image-5312" alt="lambda_day.png" src="http://blog.lambda3.com.br/wp-content/uploads//2013/04/lambda_day.png" width="1000" height="134" /></a></p>
<p>No último mês de Março foi realizada a primeira edição do Lambda Day. Dias 08 e 09 no Rio de Janeiro e São Paulo, respectivamente. Como não pude participar do evento do RJ, minha intenção aqui é falar um pouco sobre o evento realizado em São Paulo.</p>
<p>A idéia do Lambda Day surgiu há aproximadamente um ano atrás, e ainda não sabíamos exatamente como o evento deveria ser. A idéia foi sendo processada aos poucos, diversas discussões internas surgiram e depois de muito se refletir a respeito, a idéia finalmente saiu do papel e decidimos realizar esse evento para contar um pouco da história da empresa, tudo o que passamos nesses três anos de vida e compartilhar nossas experiências. Experiências boas e ruins, mas que fizeram a Lambda3 amadurecer, crescer e ter a oportunidade de apresentar tudo isso para a comunidade, através desse evento.<br />
Foi um evento pequeno, com apenas 50 vagas abertas ao público aqui em SP. No entanto, essas 50 vagas esgotaram-se em menos de 24 horas, o que indicaria que o evento seria um sucesso. E felizmente foi. Encontramos diversos membros da comunidade, amigos, clientes e parceiros. Pudemos conversar, trocar experiências, discutir e aprender com cada participante.</p>
<p><strong><span style="font-size: x-large;">Palestras</span></strong><br />
A missão dos palestrantes era entregar conteúdo de qualidade, à altura da Lambda3. Felizmente, acredito que conseguimos alcançar essa meta.<br />
Embora os temas tenham sido bastante variados (desde marketing de produtos digitais até programação funcional), os temas não foram escolhidos ao acaso. Em cada uma das palestras colocamos um pouco do que vivemos em diversos projetos e consultorias.<br />
Todos os palestrantes trabalham na Lambda3, e embora alguns deles sejam bastante experientes, todas as pessoas tiveram a oportunidade de participar. Eu, por exemplo, nunca tinha palestrado em nenhum evento e a ajuda dos mais experientes fez com que eu me sentisse bastante seguro para fazer isso.</p>
<p>Não vou citar cada palestra individualmente pois muito conteúdo foi apresentado. No entanto, aproveito para compartilhar os slides das paletras de São Paulo:</p>
<p><strong><a title="Keynote Lambda Day" href="http://www.slideshare.net/lambda3_br/keynote-lambda-day" target="_blank">Keynote Lambda Day</a></strong><br />
<iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid;" src="http://www.slideshare.net/slideshow/embed_code/19075046" height="356" width="427" allowfullscreen="allowfullscreen" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p><strong> <a title="Marketing de Produtos Digitais" href="http://www.slideshare.net/lambda3_br/marketing-de-produtos-digitais-19088813" target="_blank">Marketing de Produtos Digitais</a> </strong><br />
<iframe style="border: 1px solid #CCC; border-width: 1px 1px 0; margin-bottom: 5px;" src="http://www.slideshare.net/slideshow/embed_code/19088813" height="356" width="427" allowfullscreen="" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p><strong><a title="Web design responsivo" href="http://www.slideshare.net/dyegocosta/web-design-responsivo-17209244" target="_blank">Web Design Responsivo</a> </strong><br />
<iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid;" src="http://www.slideshare.net/slideshow/embed_code/17209244" height="356" width="427" allowfullscreen="allowfullscreen" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p><strong><a title="Técnicas de Programação Funcional" href="http://www.slideshare.net/lambda3_br/tcnicas-de-programao-funcional-19079939" target="_blank">Técnicas de Programação Funcional</a> </strong><iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid;" src="http://www.slideshare.net/slideshow/embed_code/19079939" height="356" width="427" allowfullscreen="allowfullscreen" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p><strong><a title="Backbone.js nas trincheiras" href="http://www.slideshare.net/lambda3_br/backbonejs-19074636" target="_blank">Backbone.js nas trincheiras</a> </strong><br />
<iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid;" src="http://www.slideshare.net/slideshow/embed_code/19074636" height="356" width="427" allowfullscreen="allowfullscreen" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br />
O código da aplicação de exemplo utilizada na palestra de Backbone.js está disponível no <a title="GitHub" href="https://github.com/Lambda3/lambdaday2013-backbonejs" target="_blank">GitHub</a>.</p>
<p><strong><a title="Novidades ALM Summit 2013" href="http://www.slideshare.net/lambda3_br/novidades-alm-summit-2013" target="_blank">Novidades ALM Summit 2013</a> </strong><br />
<iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid;" src="http://www.slideshare.net/slideshow/embed_code/19074888" height="356" width="427" allowfullscreen="allowfullscreen" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p><strong><a title="Experiências, Erros e Acertos no Desenvolvimento de Projetos Ágeis" href="http://www.slideshare.net/lambda3_br/experincias-erros-e-acertos-no-desenvolvimento-de-projetos-geis-19080181" target="_blank">Experiências, Erros e Acertos no Desenvolvimento de Projetos Ágeis</a> </strong><br />
<iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid;" src="http://www.slideshare.net/slideshow/embed_code/19080181" height="356" width="427" allowfullscreen="" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p><strong><a title="Lightning Talk - Jquery - Dicas e Truques" href="http://www.slideshare.net/lambda3_br/jquery-dicas-e-truques" target="_blank">Lightning Talk &#8211; Jquery &#8211; Dicas e Truques</a> </strong><br />
<iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid;" src="http://www.slideshare.net/slideshow/embed_code/19076998" height="356" width="427" allowfullscreen="allowfullscreen" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p><strong><a href="http://www.slideshare.net/lambda3_br/source-control-19077017" target="_blank">Lightning Talk &#8211; Source Control</a></strong><br />
<iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid;" src="http://www.slideshare.net/slideshow/embed_code/19077017" height="356" width="427" allowfullscreen="allowfullscreen" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p><strong><a href="http://www.slideshare.net/lambda3_br/como-voc-est-criando-os-seus-objetos" target="_blank">Lightning Talk &#8211; Como você está criando os seus objetos?</a></strong><br />
<iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid;" src="http://www.slideshare.net/slideshow/embed_code/19076971" height="356" width="427" allowfullscreen="allowfullscreen" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p><strong><span style="font-size: x-large;">Valor da inscrição<br />
</span></strong>Como informado no post do <a href="http://blog.lambda3.com.br/2013/02/lambda-day-2013/" target="_blank">anúncio do evento</a>, todo o dinheiro arrecadado com as inscrições em São Paulo (descontando-se a taxa de serviço do site de vendas que é de 10% do valor da inscrição) foi doado para a <a href="http://www.casadozezinho.org.br" target="_blank">Associação Educacional Casa do Zezinho</a>.</p>
<p><strong><span style="font-size: x-large;">Erros cometidos<br />
</span></strong>Sim, cometemos erros. Erros que conseguimos contornar durante o evento, mas que poderíamos ter evitado com um pouco mais de atenção. O principal problema foi o endereço errado no site do evento (a numeração do local estava incorreta), o que gerou atraso no evento de SP. Aproveito esse espaço para pedir desculpas à todas as pessoas que participaram e que foram, de alguma forma, afetadas.</p>
<p><strong><span style="font-size: x-large;">Feedbacks<br />
</span></strong>Felizmente, dado todos os feedbacks que recebemos durante e após o evento, acredito que conseguimos atingir o objetivo. Todas as palestras foram muito bem avaliadas, o que nos deixou muito mais confiantes para realizar o próximo Lambda Day.</p>
<blockquote><p>Eduardo Santos: &#8220;Quando ao Lambda Day, eu que tenho que agradecer pelo excelente trabalho. Tenha certeza de que o compartilhamento de conhecimento realizado por vocês influencia positivamente na formação profissional de muitas pessoas. Tanto na formação filosófica, quanto técnica.&#8221; (sic)</p></blockquote>
<blockquote><p>Jonas Abreu: &#8220;O evento foi um dos melhores que participei nos últimos anos.&#8221; (sic). <a href="http://www.vidageek.net/2013/03/11/lambda-day/" target="_blank">http://www.vidageek.net/2013/03/11/lambda-day/</a></p></blockquote>
<p><strong><span style="font-size: x-large;">Agradecimento<br />
</span></strong>Quero agradecer todos os participantes, todas as pessoas que foram ao evento no sábado de manhã, assistiram as palestras e interagiram conosco. A participação de vocês foi fundamental para o sucesso do Lambda Day.</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/04/Participantes-Lambda-Day-SP.png" rel="lightbox"><img class="alignleft" style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Participantes Lambda Day SP" alt="Participantes Lambda Day SP" src="http://blog.lambda3.com.br/wp-content/uploads//2013/04/Participantes-Lambda-Day-SP_thumb.png" width="720" height="258" border="0" /></a></p>
<p><em>Publicado originalmente em <a href="http://www.osmarlandin.net/index.php/2013/04/conteudo-do-lambda-day-sp-2013/" target="_blank">http://www.osmarlandin.net/index.php/2013/04/conteudo-do-lambda-day-sp-2013/</a> (18/04/2013)</em></p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/BSThLac0Av4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/04/conteudo-do-lambda-day-sp-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/04/conteudo-do-lambda-day-sp-2013/</feedburner:origLink></item>
		<item>
		<title>O testador está morto. Longa vida ao desenvolvedor!</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/zV9HGVU6YIM/</link>
		<comments>http://blog.lambda3.com.br/2013/04/o-testador-est-morto-longa-vida-ao-desenvolvedor/#comments</comments>
		<pubDate>Mon, 15 Apr 2013 04:08:18 +0000</pubDate>
		<dc:creator>Igor Abade</dc:creator>
				<category><![CDATA[ALM]]></category>
		<category><![CDATA[AgileBrazil]]></category>
		<category><![CDATA[ALM Summit Brasil]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Testes Automatizados]]></category>
		<category><![CDATA[Testes manuais]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5282</guid>
		<description><![CDATA[Não, você não leu errado. O papel do testador, tal como o conhecemos hoje, está com os dias contados. Há muito tempo o processo de controle de qualidade (QA, Quality Assurance) de software – em especial, as práticas de teste &#8230; <a href="http://blog.lambda3.com.br/2013/04/o-testador-est-morto-longa-vida-ao-desenvolvedor/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img style="background-image: none; float: right; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="image" alt="image" src="http://blog.lambda3.com.br/wp-content/uploads//2013/04/image.png" width="338" height="338" align="right" border="0" />Não, você não leu errado. O papel do testador, tal como o conhecemos hoje, está com os dias contados.</p>
<p>Há muito tempo o processo de controle de qualidade (QA, <em>Quality Assurance</em>) de software – em especial, as práticas de teste que são parte desse processo  – é tratado como um <em>afterthought</em>. Ou seja, na maioria dos projetos o controle de qualidade em geral (e os testes, mais especificamente) são relegados a um papel de menor importância e muitas vezes sequer fazem parte do planejamento do projeto.</p>
<p>“Se der tempo, na última semana antes da entrega, a gente testa. “ Vai dizer que você nunca ouviu isso?!</p>
<p>A luta do pessoal de QA para ser envolvido cada vez mais cedo no projeto é travada constantemente, mas às vezes parece inglória. Não importa o quanto se argumente, parece que o foco está sempre no desenvolvedor.</p>
<p>Como se não bastasse isso tudo, tem gente dizendo que os tais “agilistas” pregam que não precisam mais de testadores. Que o desenvolvedor resolve tudo. O Scrum é ainda mais explícito ao declarar no Scrum Guide (<a title="http://www.scrum.org/Scrum-Guides" href="http://www.scrum.org/Scrum-Guides">http://www.scrum.org/Scrum-Guides</a>) que:</p>
<blockquote><p>“<em><strong>Scrum recognizes no titles for Development Team members other than Developer, regardless of the work being performed by the person; there are no exceptions to this rule</strong></em>” (Scrum não reconhece títulos/cargos para membros do Time de Desenvolvimento além de Desenvolvedor, independentemente do trabalho realizado por aquela pessoa; não há exceções para essa regra); e</p>
<p>“<em><strong>Development Teams do not contain sub-teams dedicated to particular domains like testing or business analysis</strong></em>” (Times de Desenvolvimento não contêm sub-times dedicados a domínios particulares tais como testes ou análise de negócios).</p></blockquote>
<p>Quer dizer que não há testadores num time ágil? Apenas desenvolvedores?</p>
<p>É isso aí. E a tendência é que as coisas fiquem cada vez piores para os testadores, se considerarmos que a adoção de práticas ágeis de desenvolvimento (tais como o Scrum) continuam crescendo.</p>
<p>Eu não disse que o fim estava próximo?</p>
<p><img style="background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;" alt="" src="http://www.teclasap.com.br/wp-content/uploads/2009/06/rip.jpg" width="180" height="177" border="0" /></p>
<p>Claro que as coisas não são tão simples assim. Na verdade o que há é um grande mal-entendido sobre o que o Scrum Guide realmente quer dizer quando afirma que “todo mundo é desenvolvedor”. De maneira geral, nossa comunidade entende que desenvolvedor é sinônimo de programador e, portanto, o Scrum Guide estaria dizendo que um time é composto exclusivamente de programadores.</p>
<p>Nada mais falso.</p>
<p>Desenvolvedor é “aquele que desenvolve algo”, certo? Para desenvolver um produto complexo como um software é preciso muito mais do que produzir código. É preciso entender de negócios, de bancos de dados, de redes e infraestrutura… <strong>E também é preciso saber testar software</strong>!</p>
<p>O assunto é tão importante – e tão polêmico – que resolvi “cutucar a onça com vara curta” e palestrar sobre ele. Se quiser discutir o assunto, venha participar do debate no <a href="http://www.almsummitbrasil.com.br/" target="_blank">ALM Summit Brasil 2013</a> no próximo sábado (dia 20 de abril). Todas as opiniões serão mais que bem-vindas!</p>
<p>Ah, eu também submeti uma proposta para o <a href="http://www.agilebrazil.com/2013/" target="_blank">Agile Brazil 2013</a> para esta mesma palestra. Se minha submissão (que ainda está sob avaliação) for aprovada, poderemos também discutir sobre esse assunto em Brasília. Espero por vocês em São Paulo e (tomara!) também em Brasília.</p>
<p>O que você acha do assunto? Não deixe de comentar…</p>
<p>&nbsp;</p>
<p>Um abraço,<br />
    Igor</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/zV9HGVU6YIM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/04/o-testador-est-morto-longa-vida-ao-desenvolvedor/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/04/o-testador-est-morto-longa-vida-ao-desenvolvedor/</feedburner:origLink></item>
		<item>
		<title>Submissões de palestras do pessoal da Lambda3 para o AgileBrazil</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/yHMeY_bxZNA/</link>
		<comments>http://blog.lambda3.com.br/2013/04/submisses-de-palestras-do-pessoal-da-lambda3-para-o-agilebrazil/#comments</comments>
		<pubDate>Wed, 10 Apr 2013 11:43:00 +0000</pubDate>
		<dc:creator>Giovanni Bassi</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Gestão]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Eventos]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5253</guid>
		<description><![CDATA[O pessoal da Lambda3 fez diversas submissões de palestras pro AgileBrazil, todas muito interessantes. As propostas tem espaço para comentários, convido todos a irem até lá e dizerem o que acharam, esse feedback é muito importante. Vejam abaixo os assuntos &#8230; <a href="http://blog.lambda3.com.br/2013/04/submisses-de-palestras-do-pessoal-da-lambda3-para-o-agilebrazil/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.agilebrazil.com/2013/" target="_blank"><img title="AgileBrazil 2013" style="display: inline" border="0" alt="AgileBrazil 2013" src="http://www.agilebrazil.com/2013/wp-content/uploads/2013/02/logo-2013.png"></a></p>
<p>O pessoal da Lambda3 fez diversas submissões de palestras pro <a href="http://www.agilebrazil.com/2013/" target="_blank">AgileBrazil</a>, todas muito interessantes. As propostas tem espaço para comentários, convido todos a irem até lá e dizerem o que acharam, esse feedback é muito importante.</p>
<p>Vejam abaixo os assuntos que queremos abordar (em ordem alfabética). </p>
<ul>
<li><a href="http://submissoes.agilebrazil.com/2013/sessions/786-agilidade-esta-muito-alem-de-modelos-e-ferramentas">Agilidade está muito além de modelos e ferramentas</a> (Juliano Alves)
<li><a href="http://submissoes.agilebrazil.com/2013/sessions/910-comunicando-com-efetividade-com-comunicacao-nao-violenta">Comunicando com efetividade com Comunicação Não Violenta</a> (Giovanni Bassi)
<li><a href="http://submissoes.agilebrazil.com/2013/sessions/648-democracia-organizacional-o-proximo-passo-depois-da-agilidade">Democracia organizacional: o próximo passo depois da agilidade</a> (Giovanni Bassi e Victor Hugo Germano)
<li><a href="http://submissoes.agilebrazil.com/2013/sessions/692-experiencias-erros-e-acertos-em-desenvolvimento-de-projetos-ageis">Experiências, Erros e Acertos em Desenvolvimento de Projetos Ágeis</a> (Raphael Molesim e Victor Hugo Germano)
<li><a href="http://submissoes.agilebrazil.com/2013/sessions/649-indicadores-sao-malignos-verdade-ou-mentira">Indicadores são malígnos. Verdade ou mentira?</a> (Giovanni Bassi)
<li><a href="http://submissoes.agilebrazil.com/2013/sessions/664-o-testador-esta-morto-longa-vida-ao-desenvolvedor">O testador está morto. Longa vida ao desenvolvedor!</a> (Igor Abade)
<li><a href="http://submissoes.agilebrazil.com/2013/sessions/920-sendo-agil-com-single-page-applications">Sendo ágil com Single Page Applications</a> (Giovanni Bassi e Victor Cavalcante) </li>
</ul>
<p>Além de torcermos para as propostas serem aceitas (a concorrência é grande e há muitas submissões boas além das nossas) também estamos mais uma vez patrocinando o evento. Participamos do AgileBrazil desde sua primeira edição, patrocinando, coordenando, palestrando e, lógico, como congressistas. Se você não foi ainda, recomendo muito que esteja lá esse ano. E se já foi, já sabe que é bom. De qualquer forma passe no nosso estande esse ano para nos dar um olá e bater papo.</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/yHMeY_bxZNA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/04/submisses-de-palestras-do-pessoal-da-lambda3-para-o-agilebrazil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/04/submisses-de-palestras-do-pessoal-da-lambda3-para-o-agilebrazil/</feedburner:origLink></item>
		<item>
		<title>Slides e referências da palestra de ASP.NET Web API do BluDotNet</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/NBcZFB1x3XM/</link>
		<comments>http://blog.lambda3.com.br/2013/04/slides-e-referncias-da-palestra-de-asp-net-web-api-do-bludotnet/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 14:24:28 +0000</pubDate>
		<dc:creator>Giovanni Bassi</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[azure websites]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[webapi]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5268</guid>
		<description><![CDATA[Sábado passado estive em Blumenau no evento MSDN Community BluDotNet, palestrando sobre ASP.NET Web API. Foi uma palestra de apresentação da tecnologia, mostrando alguns cenários de uso e apresentando seu uso e APIs. Mostrei também uma publicação no Azure via &#8230; <a href="http://blog.lambda3.com.br/2013/04/slides-e-referncias-da-palestra-de-asp-net-web-api-do-bludotnet/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Sábado passado estive em Blumenau no evento <a href="http://www.bludotnet.com.br/eventos-2/?event_id=18" target="_blank">MSDN Community BluDotNet</a>, palestrando sobre ASP.NET Web API. Foi uma palestra de apresentação da tecnologia, mostrando alguns cenários de uso e apresentando seu uso e APIs. Mostrei também uma publicação no Azure via linha de comando, que é uma demo linda.</p>
<p>O evento foi ótimo, revi algumas pessoas que já conhecia, e conheci outras. O Elemar Jr. estava presente também, e é sempre legal bater um papo com ele, principalmente porque ele insiste pra que eu aprenda C++ e eu pra que ele aprenda CoffeeScript. <img src='http://blog.lambda3.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A <a href="http://www.bludata.com.br/" target="_blank">BluData</a> com quem eu já havia trabalhado no passado e que patrocinou o evento, através do <a href="https://twitter.com/zote" target="_blank">Zote</a>, me convidou para a palestra. Agradeço o Zote e o <a href="https://twitter.com/MumHaBR">Rafael Leonhardt</a>, que organizou o evento, pelo convite. Vocês podem ver os comentários do evento no twitter pela hashtag <a href="https://twitter.com/search?q=%23bludotnet" target="_blank">#bludotnet</a>.</p>
<p>Os slides estão abaixo:</p>
<p><iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/18476080" frameborder="0" width="427" marginwidth="0" scrolling="no" mozallowfullscreen webkitallowfullscreen allowfullscreen> </iframe>
<div style="margin-bottom: 5px"><strong><a title="ASP.NET Web API no BluDotNet" href="http://www.slideshare.net/giovanni.bassi/blu-dotnet-webapi" target="_blank">ASP.NET Web API no BluDotNet</a> </strong>from <strong><a href="http://www.slideshare.net/giovanni.bassi" target="_blank">Giovanni Bassi</a></strong> </div>
<p>&nbsp;</p>
<p>E aqui algumas referências:</p>
<ul>
<li><a href="http://www.asp.net/web-api">Home page do WEB Api</a>
<li><a href="http://aspnetwebstack.codeplex.com/">ASP.NET no Codeplex</a>
<li><a href="http://blog.lambda3.com.br/tag/webapi/">WEB Api no blog da Lambda3</a></li>
</ul>
<p>Espero que tenham gostado.</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/NBcZFB1x3XM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/04/slides-e-referncias-da-palestra-de-asp-net-web-api-do-bludotnet/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/04/slides-e-referncias-da-palestra-de-asp-net-web-api-do-bludotnet/</feedburner:origLink></item>
		<item>
		<title>Vídeo da palestra sobre TypeScript da Campus Party</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/i4xpNyddVXw/</link>
		<comments>http://blog.lambda3.com.br/2013/04/video-da-palestra-sobre-typescript-da-campus-party/#comments</comments>
		<pubDate>Thu, 04 Apr 2013 21:36:03 +0000</pubDate>
		<dc:creator>Giovanni Bassi</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Typescript]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5245</guid>
		<description><![CDATA[A Campus Party publicou no Youtube o vídeo da palestra que o Victor Cavalcante e eu ministramos esse ano, sobre TypeScript. Está aqui: Já publicamos os slides e falamos um pouco sobre a palestra anteriormente. Vejam aqui no blog.]]></description>
				<content:encoded><![CDATA[<p>A Campus Party publicou no Youtube o vídeo da palestra que o Victor Cavalcante e eu ministramos esse ano, sobre TypeScript. Está aqui:</p>
<p><iframe height="315" src="http://www.youtube.com/embed/D31iC8qMGOY" frameborder="0" width="560" allowfullscreen></iframe></p>
<p>Já publicamos os slides e falamos um pouco sobre a palestra anteriormente. <a href="http://blog.lambda3.com.br/2013/01/typescript-lambda3-campusparty2013/">Vejam aqui no blog.</a></p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/i4xpNyddVXw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/04/video-da-palestra-sobre-typescript-da-campus-party/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/04/video-da-palestra-sobre-typescript-da-campus-party/</feedburner:origLink></item>
		<item>
		<title>Entrevista para a InfoQ sobre C#, Windows 8, SPAs, Git e outros</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/HcbUmKE1UiA/</link>
		<comments>http://blog.lambda3.com.br/2013/04/entrevista-para-a-infoq-sobre-c-windows-8-spas-git-e-outros/#comments</comments>
		<pubDate>Thu, 04 Apr 2013 12:31:00 +0000</pubDate>
		<dc:creator>Giovanni Bassi</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[Single-page apps]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[winrt]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5241</guid>
		<description><![CDATA[Dei uma entrevista para a InfoQ lá na Globalcode um tempo atrás. Ela acaba de ser publicada. Vocês podem assistir ela aqui. Abaixo embedei o vídeo, mas no site da InfoQ você consegue ver também os tópicos e navegar direto &#8230; <a href="http://blog.lambda3.com.br/2013/04/entrevista-para-a-infoq-sobre-c-windows-8-spas-git-e-outros/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Dei uma entrevista para a InfoQ lá na <a href="http://www.globalcode.com.br/" target="_blank">Globalcode</a> um tempo atrás. Ela acaba de ser publicada. Vocês podem assistir ela <a href="http://www.infoq.com/br/interviews/dotnet45-windows8-novidades" target="_blank">aqui</a>. Abaixo embedei o vídeo, mas no site da InfoQ você consegue ver também os tópicos e navegar direto pro ponto que te interessar.</p>
<p><object type="application/x-shockwave-flash" data="http://d1snlc0orfrhj.cloudfront.net/static/flash/svmplayer.swf" width="320" height="265" id="player" style="visibility: visible;"><param name="allowscriptaccess" value="always"><param name="allowfullscreen" value="true"><param name="wmode" value="opaque"><param name="flashvars" value="server=rtmpe://video.infoq.com/cfx/st/&amp;streams=mp4:interviews-br/GC-Fev2013-GiovanniBassi.mp4,0"></object></p>
<p>&nbsp;</p>
<p>Espero que gostem. Comentem aqui o que acharam.</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/HcbUmKE1UiA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/04/entrevista-para-a-infoq-sobre-c-windows-8-spas-git-e-outros/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/04/entrevista-para-a-infoq-sobre-c-windows-8-spas-git-e-outros/</feedburner:origLink></item>
		<item>
		<title>Você não deve acumular dívida técnica!</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/2G02uKab9-8/</link>
		<comments>http://blog.lambda3.com.br/2013/04/voc-no-deve-acumular-dvida-tcnica/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 12:00:00 +0000</pubDate>
		<dc:creator>Higor Ramos</dc:creator>
				<category><![CDATA[Práticas de Engenharia]]></category>
		<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5155</guid>
		<description><![CDATA[Olá pessoal, alguns de vocês devem saber que sempre fui um grande entusiasta de boas práticas e agilidade. O quesito agilidade teve início pra mim em 2006 quando tive a chance de conhecer extreme programming com o Vinícius teles. Ainda &#8230; <a href="http://blog.lambda3.com.br/2013/04/voc-no-deve-acumular-dvida-tcnica/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Olá pessoal, alguns de vocês devem saber que sempre fui um grande entusiasta de boas práticas e agilidade. O quesito agilidade teve início pra mim em 2006 quando tive a chance de conhecer <a href="http://www.extremeprogramming.org/">extreme programming</a> com o <a href="http://viniciusteles.com.br/sobre/pagina/home">Vinícius teles</a>.<br />
Ainda sem saber como realmente aquele universo funcionava me apaixonei de cara pelo XP e seus princípios, acho bem legal a forma de trabalhar em par, em ciclos e além de tudo existe o foco no cliente e na qualidade. Resumindo, perfeito!<br />
Desde então aprendi um pouco mais de agilidade e boas práticas até conhecer o conceito de <strong><a href="http://martinfowler.com/bliki/TechnicalDebt.html">dívida técnica</a></strong>. Não recordo exatamente como ou onde, mas aquilo soou bem natural pra mim.</p>
<p>Durante os projetos que trabalhei assumi débitos técnicos diversas vezes, algumas por<em> falta de conhecimento</em> <em>do negócio</em>, outras vezes por <em>falta de expertise técnica</em> e algumas outras por<em> pressão dos stakeholders</em>. Como o elemarjr diz <a href="http://elemarjr.net/2013/03/09/sobre-dividas-tecnicas/">nesse post</a>, eu ganhei experiência e pude aprender quais eram os momentos ideias para assumir esses débitos. Quero compartilhar aqui parte do aprendizado que obtive nós ultimos anos:</p>
<ol>
<li><span style="color: #333333;">Dívidas técnicas são plausíveis quando existe um release em produção do sistema. Com release quero dizer respeitar o time to market.</span></li>
<li><span style="color: #333333;">Deixar de escrever testes não favorece a velocidade de um time maduro, nem mesmo temporariamente.</span></li>
<li><span style="color: #333333;">Dívidas técnicas devem estar visíveis!</span></li>
<li><span style="color: #333333;">Dívidas técnicas devem ser pagas de tempos em tempos.</span></li>
<li><span style="color: #333333;">As dívidas não devem servir como um aditivo para performance do time.</span></li>
<li><span style="color: #333333;">Não devemos contar com a capacidade do time de assumir dívidas.</span></li>
<li><span style="color: #333333;">Precisamos limitar o endividamento.</span></li>
</ol>
<p>Esta lista poderia ser maior, no entanto acredito que com as dicas acima já conseguimos tratar as dívidas de uma forma melhor do que eu vejo times trabalhando no mercado.</p>
<p>Para fechar eu acho que é importante relacionar as dívidas com a <a href="http://pt.wikipedia.org/wiki/Teoria_das_Janelas_Partidas">teoria das janelas partidas</a> ou ainda com o <a href="http://pt.wikipedia.org/wiki/Princ%C3%ADpio_de_Pareto">princípio de pareto</a>. Assim fica mais facil entender como as dívidas podem criar juros e ainda decidir a melhor forma de assumi-las, repetindo que <em>não escrever os testes sem dúvida não é a melhor forma.</em></p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/2G02uKab9-8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/04/voc-no-deve-acumular-dvida-tcnica/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/04/voc-no-deve-acumular-dvida-tcnica/</feedburner:origLink></item>
		<item>
		<title>Branch &amp; Merge no MVP Conference</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/I4eHM4Cg07U/</link>
		<comments>http://blog.lambda3.com.br/2013/03/branch-merge-no-mvp-conference/#comments</comments>
		<pubDate>Wed, 27 Mar 2013 11:00:22 +0000</pubDate>
		<dc:creator>Claudio Leite</dc:creator>
				<category><![CDATA[ALM]]></category>
		<category><![CDATA[Branch&Merge]]></category>
		<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5226</guid>
		<description><![CDATA[Fala Pessoal, Hoje dia 26.03 eu tive a oportunidade de palestrar no MVP Virtual Conference. Foi um grande prazer! Ser escolhido para falar junto com os MVP´s de ALM realmente foi uma honra, espero ter atendido a todas as expectativas &#8230; <a href="http://blog.lambda3.com.br/2013/03/branch-merge-no-mvp-conference/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Fala Pessoal,</p>
<p>Hoje dia 26.03 eu tive a oportunidade de palestrar no MVP Virtual Conference. Foi um grande prazer! Ser escolhido para falar junto com os MVP´s de ALM realmente foi uma honra, espero ter atendido a todas as expectativas e de todos!</p>
<p>Na palestra eu comentei sobre os  Alm Rangers, o Guide de Branch &amp; Merge e o plug-in que instalado no Visual Studio nos ajuda a criar a nossa estrutura inicial de branch e guide.</p>
<ul>
<li> <a href="http://vsarbranchingguide.codeplex.com/">Branch &amp; Merge Guide</a></li>
<li><a href="http://vsarguidance.codeplex.com/releases/view/96222">Plug-in do Visual Studio 2012</a></li>
</ul>
<p>Surgiram perguntas em como poderíamos trabalhar com o Xcode e o TFS, como trabalhar em sistemas não Windows e o TFS para gerenciar minhas branches. Vou preparar essa semana alguns post sobre esses cenários.</p>
<p>Eu já tinha feito uma palestra sobre Branch e Merge no ALM Summit 2012 e acabei escrevendo um post completando algumas informações, quem quiser, pode acessar o post no link: <a href="http://blog.lambda3.com.br/2012/05/minha-palestra-no-alm-summit-brasil-2012/">http://blog.lambda3.com.br/2012/05/minha-palestra-no-alm-summit-brasil-2012/</a></p>
<p>Querem conhecer mais sobre ALM, não percam o ALM Summit Brasil 2013!!</p>
<p>Já imaginou você ir para um evento, ver as melhores práticas de ALM e ainda poder ganhar um XBOX ??</p>
<p>Para maiores informações : <a href="http://www.almsummitbrasil.com.br/">http://www.almsummitbrasil.com.br/</a></p>
<p>Espero que tenham gostado da palestra e em caso de dúvidas, deixem seus comentários ou enviem por twitter ou e-mail.</p>
<p>Abs!</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/I4eHM4Cg07U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/03/branch-merge-no-mvp-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/03/branch-merge-no-mvp-conference/</feedburner:origLink></item>
		<item>
		<title>Windows Azure &lt;3 Dropbox</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/G4RapB-Yh7o/</link>
		<comments>http://blog.lambda3.com.br/2013/03/windows-azure-3-dropbox/#comments</comments>
		<pubDate>Tue, 26 Mar 2013 13:00:00 +0000</pubDate>
		<dc:creator>Dyego Costa</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[azure websites]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Deploy Automatizado]]></category>
		<category><![CDATA[Nuvem]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5215</guid>
		<description><![CDATA[Atualmente existem diversas maneiras de publicar uma aplicação ou site utilizando o Windows Azure Web Sites e uma delas é através do Dropbox.O Dropbox é um serviço para armazenamento e compartilhamento de arquivos na nuvem (fotos, documentos, vídeos, etc) muito &#8230; <a href="http://blog.lambda3.com.br/2013/03/windows-azure-3-dropbox/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Atualmente existem diversas maneiras de publicar uma aplicação ou site utilizando o Windows Azure Web Sites e uma delas é através do Dropbox.<br />O <a href="http://www.dropbox.com/">Dropbox</a> é um serviço para armazenamento e compartilhamento de arquivos na nuvem (fotos, documentos, vídeos, etc) muito utilizado tanto para uso pessoal como empresarial.
<p>O processo de publicação é muito simples, basta autorizarmos o Windows Azure a utilizar nosso serviço Dropbox, essa autorização criará uma nova pasta compartilhada (geralmente no caminho <em>/Dropbox/Apps/Azure</em>) em que poderemos manter nossa aplicação/site para publicação. Esse método de publicação é válido para todos os tipos de projeto suportados pelo serviço Windows Azure SDK, nesse exemplo publicaremos uma aplicação ASP.NET MVC.
<p>Podemos ir no <a href="http://manage.windowsazure.com/">portal do Windows Azure</a> e criar nosso Windows Azure Web Site escolhendo o Dropbox como o serviço de publicação.
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image19.png" rel="lightbox[1]"><img title="Criando um Windows Azure Website" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="Criando um Windows Azure Website" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb14.png" width="504" height="316"></a></p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image20.png" rel="lightbox[1]"><img title="Op&ccedil;&atilde;o de publica&ccedil;&atilde;o via Source Control" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="Criando Website" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb15.png" width="504" height="316"></a></p>
<p>&nbsp;<a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image21.png" rel="lightbox[1]"><img title="Dropbox como Source Control" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="Source control" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb16.png" width="504" height="316"></a>
<p>Será requisitado que você dê acesso ao serviço do Windows Azure em seu Dropbox.
<p>&nbsp;<a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image22.png" rel="lightbox[1]"><img title="Autoriza&ccedil;&atilde;o para Dropbox" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="Autoriza&ccedil;&atilde;o para Dropbox" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb17.png" width="504" height="312"></a>
<p>Você terá a opção de criar uma nova pasta ou já utilizar alguma existente, como já tenho meu projeto criado eu apenas moverei ele para a pasta em que o Windows Azure tem acesso e o escolherei.
<p>&nbsp;<a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image23.png" rel="lightbox[1]"><img title="Pasta de publica&ccedil;&atilde;o" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="Selecionando pasta de publica&ccedil;&atilde;o" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb18.png" width="504" height="316"></a>
<p>E pronto! Se não houver nada de errado com nossa aplicação, ela estará no ar após o processo de publicação.
<p>&nbsp;<a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image24.png" rel="lightbox[1]"><img title="Site publicado" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="Site publicado" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb19.png" width="504" height="316"></a>
<p>Caso queira publicar alguma alteração feita basta utilizar o botão &#8220;Sync&#8221; que o Windows Azure realizará uma nova publicação e assim como nas outras formas de publicação será mantido o histórico de publicação tornando muito simples a possibilidade de retornar a alguma versão anterior.
<p>O site foi realmente publicado! <img src='http://blog.lambda3.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> <br /><a href="http://azurelovesdropbox.azurewebsites.net/">http://azurelovesdropbox.azurewebsites.net/</a>
<p>É isso pessoal, bem simples.<br />Abraços
<p>&nbsp;
<p><em>Publicado originalmente em </em><a title="http://dyegocomy.com/blog/deploy-windows-azure-via-dropbox/" href="http://dyegocomy.com/blog/deploy-windows-azure-via-dropbox/"><em>http://dyegocomy.com/blog/deploy-windows-azure-via-dropbox/</em></a><em> (21/03/2013)</em></p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/G4RapB-Yh7o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/03/windows-azure-3-dropbox/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/03/windows-azure-3-dropbox/</feedburner:origLink></item>
		<item>
		<title>Precisamos de controle, as pessoas não são naturalmente motivadas a trabalhar</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/-T-PwI2hFBo/</link>
		<comments>http://blog.lambda3.com.br/2013/03/precisamos-de-controle-as-pessoas-no-so-naturalmente-motivadas-a-trabalhar/#comments</comments>
		<pubDate>Mon, 25 Mar 2013 11:00:00 +0000</pubDate>
		<dc:creator>Giovanni Bassi</dc:creator>
				<category><![CDATA[Gestão]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[autogestão]]></category>
		<category><![CDATA[autoorganização]]></category>
		<category><![CDATA[Democracia organizacional]]></category>
		<category><![CDATA[democracy]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5190</guid>
		<description><![CDATA[O título desse post defende um ponto de vista muito comum para a existência do gestor. Muito defendido por quem vê o mundo do ponto de vista da Teoria X, esse tipo de crença tem produzido resultados aquém dos esperados, &#8230; <a href="http://blog.lambda3.com.br/2013/03/precisamos-de-controle-as-pessoas-no-so-naturalmente-motivadas-a-trabalhar/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img style="background-image: none; float: left; padding-top: 0px; padding-left: 0px; margin: 0px 10px 10px 0px; display: inline; padding-right: 0px; border-width: 0px;" title="Resolvendo um problema que eu mesmo criei? (http://www.flickr.com/photos/daniel-davies/4885899714/)" alt="Resolvendo um problema que eu mesmo criei? (http://www.flickr.com/photos/daniel-davies/4885899714/)" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image18.png" width="344" height="232" align="left" border="0" />O título desse post defende um ponto de vista muito comum para a existência do gestor. Muito defendido por quem vê o mundo do ponto de vista da <a href="http://en.wikipedia.org/wiki/Theory_X_and_Theory_Y#Theory_X" target="_blank">Teoria X</a>, esse tipo de crença tem produzido resultados aquém dos esperados, algo que vem sendo comprovado cientificamente.</p>
<p>Quem acredita que as pessoas precisam ser empurradas defende a existência do gerente (e seus semelhantes: diretores, presidentes, etc). E eles tem dados, vão mostrar diversos casos em que, não fosse o gerente, as pessoas não estariam trabalhando com tanta dedicação.</p>
<p>Quando a Teoria X e a Teoria Y surgiram, e junto com outros estudos começaram a demonstrar a falibilidade do argumento de que o gerente era necessário, começaram a surgir correções no modelo de gestão tradicional. Os donos do poder (<a href="http://blog.lambda3.com.br/2011/12/sim-sem-gerentes/" target="_blank">modernos feitores de escravos</a>), ávidos por não perderem esse poder, e com ele seu status, começaram a ~se adaptar~ aos novos tempos. Isso significava aumentar um pouco o tamanho da corrente que prendia o funcionário a mesa. Mas ela continuava lá. Com isso nasceu o horário flexível, a meta extendida, entre outras pseudo-liberdades, que nada mais eram do que novas formas de manter o controle.</p>
<p>O X da questão (já que estamos na letra) e que a gestão tradicionalista ainda não entendeu, é que os gerentes são a causa da falta de iniciativa e motivação dos próprios funcionários que eles gerenciam. É a falta de autonomia que advém da mera existência do gerente uma das maiores causadoras da apatia encontrada em tantos escritórios mundo afora.</p>
<p>Quando motivada externamente a fazer uma atividade, mesmo se for algo que se gosta naturalmente, a motivação intrínsica que impulsionava anteriormente sofre. Algo que antes era prazeroso, agora que é impulsionado por uma recompensa externa torna-se menos interessante. Tire da pessoa a sensação de escolha de fazer ou não fazer algo, e verá sua vontade de fazê-lo diminuída. Autonomia, tem-se comprovado, é o principal motivador que podemos encontrar, superando outros motivadores instrínsecos, como o senso de contribuição. Pesquisas feitas há décadas por <a href="http://en.wikipedia.org/wiki/Edward_L._Deci" target="_blank">Edward Deci</a>, que resultaram na Teoria da auto determinação (<a href="http://en.wikipedia.org/wiki/Self-determination_theory" target="_blank">Self Determination Theory</a>, ou SDT), <a href="http://en.wikipedia.org/wiki/Self-determination_theory#Autonomy" target="_blank">mostram</a> que incentivos externos, como bônus ou promoções, removem do trabalhador a sensação de estar dirigindo as próprias escolhas, o que acaba matando suas motivações iniciais, como a paixão por determinado assunto. Os estudos foram comprovados inúmeras vezes em laboratório, pela chamada psicologia comportamental, uma divisão da psicologia que não se contenta em dizer que algo funciona baseado apenas em achismos, mas vai ao laboratório testar suas hipóteses.</p>
<p>Como resolver? Livremo-nos dos gerentes, e <a href="http://blog.lambda3.com.br/2011/12/a-palavra-gerente/" target="_blank">busquemos uma nova palavra</a>. Muitas começam com “auto”: auto-motivação, auto-gestão, auto-organização. As pesquisas de <a href="http://en.wikipedia.org/wiki/Douglas_McGregor" target="_blank">Douglas McGregor</a>, criador da <a href="http://en.wikipedia.org/wiki/Theory_X_and_Theory_Y#Theory_Y" target="_blank">Teoria Y</a>,  mostram que os limites de produtividade e os resultados são muito menores, algo que ele apresentou no seu livro The Human Side of the Enterprise, a nada menos do que 50 anos atrás.</p>
<p>No desenvolvimento de software já aprendemos a fazer isso: chamamos de desenvolvimento ágil. A gestão na nossa área já está um passo adiante, ainda que não toda ela. Temos sorte. E as outras áreas tem começado a perceber, já que revistas como a Forbes e Harvard Business Review, tradicionalistas em diversos assuntos, mas ainda assim pragmáticas, <a href="http://www.forbes.com/sites/stevedenning/2012/04/09/the-best-kept-management-secret-on-the-planet-agile/" target="_blank">tem insistindo em divulgar</a> as novidades, ainda que em agile menos baseadas em pesquisas, são baseadas em fatos e resultados.</p>
<p>De fato, os gerentes vieram pra ~resolver~ um problema. Só não perceberam que eles mesmos eram os causadores do problema. A ciência já provou que podemos ser melhores. Falta apenas as empresas abandonarem suas crenças que não possuem qualquer embasamento na realidade e adotarem o que a academia já descobriu a décadas.</p>
<p>Em que tipo de empresa você trabalha? Em uma em que os gerentes acreditam que precisam motivar os trabalhadores com motivadores externos (além de acreditarem no saci e no papai noel)? Ou em uma em que utiliza os conhecimentos científicos que a engenhosidade humana foi capaz de produzir no último século?</p>
<p>E você? Que tipo de pessoa você é? Acha que bônus motivam ou desmotivam? Se ainda se apega às antigas crenças, talvez seja a hora de buscar entender um pouco mais sobre como as pessoas funcionam. Fica a dica.</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/-T-PwI2hFBo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/03/precisamos-de-controle-as-pessoas-no-so-naturalmente-motivadas-a-trabalhar/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/03/precisamos-de-controle-as-pessoas-no-so-naturalmente-motivadas-a-trabalhar/</feedburner:origLink></item>
		<item>
		<title>Azure Summit Brasil 2013 &gt; Palestra de Node.js</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/NCXBteyBBzI/</link>
		<comments>http://blog.lambda3.com.br/2013/03/azure-summit-brasil-2013-palestra-de-node-js/#comments</comments>
		<pubDate>Fri, 22 Mar 2013 11:00:00 +0000</pubDate>
		<dc:creator>Giovanni Bassi</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[expressjs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[Nuvem]]></category>
		<category><![CDATA[socketio]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5202</guid>
		<description><![CDATA[No dia 16/03/2013 ministrei uma palestra de Node.js no Azure Summit Brasil 2013. Apesar de ser um evento sobre Azure, foi praticamente uma pelestra sobre Node.js. Mostrei ele funcionando com o Express.js, um framework MVR para Node, servindo páginas dinâmicas &#8230; <a href="http://blog.lambda3.com.br/2013/03/azure-summit-brasil-2013-palestra-de-node-js/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://nodejs.org/" target="_blank"><img title="Node.js" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="Node.js" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/Nodejs_logo_light.png" width="520" height="178"></a></p>
<p>No dia 16/03/2013 ministrei uma palestra de Node.js no <a href="http://www.azuresummitbrasil.com.br/" target="_blank">Azure Summit Brasil 2013</a>. Apesar de ser um evento sobre Azure, foi praticamente uma pelestra sobre <a href="http://nodejs.org/" target="_blank">Node.js</a>. Mostrei ele funcionando com o <a href="http://expressjs.com/" target="_blank">Express.js</a>, um framework MVR para Node, servindo páginas dinâmicas web, além de um serviço com websockets e long pooling baseado em <a href="http://socket.io/" target="_blank">Socket.io</a>. Nem abri o Visual Studio, todo o desenvolvimento foi feito no Sublime (se estivesse no Linux seria o VIM, mas era uma demo com Windows). Depois subi tudo pro Azure com git, usando as ferramentas de linha de comando do Azure, baseadas em Node também (ou seja, cross platform, funcionam bem também no Linux e Mac). E então consumi os serviços de uma aplicação Windows 8 feita na hora com Html, Javascript e CoffeeScript.</p>
<p>O feedback foi ótimo (<a href="http://pensandoazure.wordpress.com/2013/03/18/azure-summit-brasil-movimenta-comunidade/" target="_blank">aqui tem um feedback legal</a> sobre o evento como um todo e cita minha palestra lá no final), os desenvolvedores adoraram o Node.js, que é bem simples e muito poderoso.</p>
<p>O código final está no meu github:</p>
<p><a title="https://github.com/giggio/Exemplo-NodeJS-com-Azure" href="https://github.com/giggio/Exemplo-NodeJS-com-Azure">https://github.com/giggio/Exemplo-NodeJS-com-Azure</a></p>
<p>Vou fazer um vídeo com a demo e subir pro Youtube no nosso canal, o <a href="http://blog.lambda3.com.br/tag/lambda3-tv/" target="_blank">Lambda3TV</a>. Já tem outros vídeos lá mostrando coisas parecidas. A demo é muito divertida e acho que muita gente vai gostar.</p>
<p>Pra saber mais sobre Node.js no Azure, tem uma área destina a ele no site:</p>
<p><a title="http://www.windowsazure.com/en-us/develop/nodejs/" href="http://www.windowsazure.com/en-us/develop/nodejs/">http://www.windowsazure.com/en-us/develop/nodejs/</a></p>
<p>Os slides estão abaixo.</p>
<p><iframe style="margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid; border-bottom: #ccc 0px solid; border-left: #ccc 1px solid" height="356" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/17454461" frameborder="0" width="427" marginwidth="0" scrolling="no" allowfullscreen mozallowfullscreen webkitallowfullscreen> </iframe></p>
<div style="margin-bottom: 5px"><strong><a title="Azure Summit Brasil 2013: Javascript do cliente para a nuvem com Windows 8, Node.js e Windows Azure" href="http://www.slideshare.net/giovanni.bassi/azure-summit-brasil-2013-javascript-do-cliente-para-a-nuvem-com-windows-8-nodejs-e-windows-azure" target="_blank">Azure Summit Brasil 2013: Javascript do cliente para a nuvem com Windows 8, Node.js e Windows Azure</a> </strong>from <strong><a href="http://www.slideshare.net/giovanni.bassi" target="_blank">Giovanni Bassi</a></strong> </div>
<p>Até o próximo!</p>
<p><strong>* Update:<br />O vídeo da palestra foi postado no Youtube:</strong></p>
<p><iframe height="315" src="http://www.youtube.com/embed/Iylp9HF1tes" frameborder="0" width="560" allowfullscreen></iframe></p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/NCXBteyBBzI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/03/azure-summit-brasil-2013-palestra-de-node-js/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/03/azure-summit-brasil-2013-palestra-de-node-js/</feedburner:origLink></item>
		<item>
		<title>Single Sign on e Sincronização de Dados do AD na Nuvem com o Office 365</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/qyuxpEN1Uxk/</link>
		<comments>http://blog.lambda3.com.br/2013/03/single-sign-on-e-sincronizao-de-dados-do-ad-na-nuvem-com-o-office-365/#comments</comments>
		<pubDate>Thu, 21 Mar 2013 11:00:00 +0000</pubDate>
		<dc:creator>Giovanni Bassi</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[ADFS]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[infra]]></category>
		<category><![CDATA[Nuvem]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[Office 365]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5170</guid>
		<description><![CDATA[*** Atenção: chapéu de IT Professional/Administrador de Redes/Cara de Infra na cabeça. Vamos em frente! *** Na Lambda3 colocamos quase todos nossos serviços na nuvem. Servidores de ALM, hospedagem de blog, site, controle de projetos, CRM, email, portal, etc. Basicamente &#8230; <a href="http://blog.lambda3.com.br/2013/03/single-sign-on-e-sincronizao-de-dados-do-ad-na-nuvem-com-o-office-365/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>*** Atenção: chapéu de IT Professional/Administrador de Redes/Cara de Infra na cabeça. Vamos em frente! ***</p>
<p>Na Lambda3 colocamos quase todos nossos serviços na nuvem. Servidores de ALM, hospedagem de blog, site, controle de projetos, CRM, email, portal, etc. Basicamente o que fica nos nossos sevidores internos são servidores de diretório (Active Directory, no caso) e Firewalls. Faz sentido, a empresa é nova, pra que nascer com algo que pode ser muito mais bem gerenciado por um terceiro na nuvem e mais barato. Pagamos para terceirizar o que não é nosso core business.</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image11.png" rel="lightbox[azuresync1]"><img style="background-image: none; float: left; padding-top: 0px; padding-left: 0px; margin: 0px 10px 10px 0px; display: inline; padding-right: 0px; border: 0px;" title="Azure AD" alt="Azure AD" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb8.png" width="404" height="252" align="left" border="0" /></a>Nosso e-mail está com a Microsoft, usamos o serviço do Office 365, com uma conta Enterprise, que nos dá direito inclusive a licenças de Office Pro Plus 2013. Junto nessa conta recebemos ainda um portal do Sharepoint, que vem com Word Web App, Excel Web App, além de Wiki, que usamos bastante. Com o serviço do Office 365 as pessoas da Lambda3 ganharam um endereço de email tipo fulaninho@lambda3.com.br. No entanto, o tal fulaninho tem também um login na rede da Lambda3, com o mesmo e-mail. Assim, ele tinha duas senhas: uma para a rede da Lambda3, outra para o e-mail, portal, wiki, etc.</p>
<p>O legal é que a Microsoft oferece uma maneira de você expor a autenticação dos usuários na internet, usando o Active Directory, e padrões abertos. É o Active Directory Federation Services (ADFS). Com o ADFS expomos um Secure Token Service (STS) que faz o trabalho de autenticação, e redireciona a pessoa para o site original, além de responder a chamadas de serviços (web services). Aqui <a href="http://technet.microsoft.com/en-us/library/cc757344(v=ws.10).aspx" target="_blank">nesse documento</a> mostra como o ADFS.</p>
<p>E mais legal ainda é que eles implementaram suporte a um STS no Office 365. Assim, retiramos a senha dos usuários do Office 365, e o usuário ele é redirecionado para o STS da Lambda3, que o autentica e o devolve para o site do Office 365 que ele está tentando acessar (portal, webmail, etc). Os serviços do Office 365, como por exemplo, Exchange (que hospeda os emails e sincroniza com o Outlook e client de email de celular e Windows 8), também falam com o STS. Temos o single sign on funcionando.</p>
<p>Além disso, habilitaram a sincronização dos usuários do AD no Office 365. Assim, posso subir todos os usuários da rede Lambda3 para o Office 365, e qualquer mudança (nome, sobrenome, telefone, etc) reflete de imediato.</p>
<p>Passei umas 12 horas arrumando esse ambiente (temos 30 pessoas na Lambda3 mais ou menos). Não foi exatamente rápido, já que tive que aprender como se fazia pra configurar tudo, inclusive nosso firewall, mas posso dizer que gastei umas 4 horas só sincronizando as contas. Se 2 contas são iguais (o mesmo usuário, mesmo e-mail) mas os dados diferem (nome, sobrenome, nome completo e e-mail), ele não sincroniza. Tive que arrumar tudo na mão, porque ainda não há uma maneira mais inteligente de fazer (imagino que isso deve ir melhorando com o tempo).</p>
<p>Como os protocolos usados são padrões, imagino que poderei começar a usar o single sign on unificado com qualquer serviço que suporte os serviços, baseados em SAML.</p>
<p>Mas ao final tudo funcionou. O resultado pode ser visto em diversos lugares. Por exemplo, aqui é o site do Office 365. Ele pode ser acessado via <a href="http://portal.microsoftonline.com.br">http://portal.microsoftonline.com.br</a>:</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image12.png" rel="lightbox[azuresync1]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Office 365 Users" alt="Office 365 Users" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb9.png" width="404" height="202" border="0" /></a></p>
<p>A administração é feita também via Windows Azure Directory, que ainda está em preview, acessível via <a href="https://activedirectory.windowsazure.com">https://activedirectory.windowsazure.com</a>. Imagino que em algum momento essa interface vai para dentro do portal do Azure. Por enquanto não nenhuma feature nova, fora uma interface gráfica mais amigável. Notem a sincronização e o single sign on estão habilitados:</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image13.png" rel="lightbox[azuresync1]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Azure AD Integration" alt="Azure AD Integration" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb10.png" width="244" height="329" border="0" /></a></p>
<p>Os usuários listados. Notem que os usuários listados como “In Cloud” não estão no AD da Lambda3, e os que estão “Synced with active directory” estão na nuvem e na Lambda3:</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image14.png" rel="lightbox[azuresync1]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Azure AD Users" alt="Azure AD Users" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb11.png" width="244" height="179" border="0" /></a></p>
<p>Não podemos alterar os dados de um usuário sincronizado, isso é feito diretamente no nosso AD, e depois sincronizado.</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image15.png" rel="lightbox[azuresync1]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Usuário Sincronizado" alt="Usuário Sincronizado" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb12.png" width="244" height="94" border="0" /></a></p>
<p>Podemos atribuir a um usuário (sincronizado ou não) uma licença do Office 365, que lhe dá acesso a email, Office Pro, Exchange, etc.</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image16.png" rel="lightbox[azuresync1]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Licenças" alt="Licenças" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb13.png" width="244" height="207" border="0" /></a></p>
<p>Aqui um gif animado mostrando o login (clique para ampliar):</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/Azure-Sync1.gif" rel="lightbox[azuresync1]"><img style="display: inline;" title="Azure Sync" alt="Azure Sync" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/Azure-Sync_thumb1.gif" width="240" height="135" /></a></p>
<p>Gostei muito do resultado final. Vamos continuar investindo no uso de serviços em nuvem. Poupam muito nosso tempo tendo que administrar tudo isso.</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/qyuxpEN1Uxk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/03/single-sign-on-e-sincronizao-de-dados-do-ad-na-nuvem-com-o-office-365/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/03/single-sign-on-e-sincronizao-de-dados-do-ad-na-nuvem-com-o-office-365/</feedburner:origLink></item>
		<item>
		<title>ASP.NET MVC4 – Rotas duplicadas</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/BLEBsPkOOHk/</link>
		<comments>http://blog.lambda3.com.br/2013/03/asp-net-mvc4-rotas-duplicadas/#comments</comments>
		<pubDate>Tue, 19 Mar 2013 11:00:09 +0000</pubDate>
		<dc:creator>Higor Ramos</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5143</guid>
		<description><![CDATA[Olá pessoal, tudo bem ? eu estou tendo a oportunidade de ministrar alguns treinamentos pela Lambda3 e um desses treinamentos é o de ASP.NET MVC. Eu uso “MVC” desde o beta 1 e gosto bastante do framework, quem quiser saber &#8230; <a href="http://blog.lambda3.com.br/2013/03/asp-net-mvc4-rotas-duplicadas/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Olá pessoal, tudo bem ? eu estou tendo a oportunidade de ministrar alguns treinamentos pela <a href="http://www.lambda3.com.br/">Lambda3</a> e um desses treinamentos é o de ASP.NET MVC. Eu uso “MVC” desde o beta 1 e gosto bastante do framework, quem quiser saber um pouco mais sobre os treinamentos da lambda3 pode olhar <a href="http://www.lambda3.com.br/treinamentos/proximasturmas">aqui</a>, inclusive teremos turmas no Rio de Janeiro.</p>
<p>Falando sobre o que importa, eu estou lendo o livro <a href="http://www.amazon.com/Pro-ASP-NET-MVC-Professional-Apress/dp/1430242361/ref=sr_1_2?s=books&amp;ie=UTF8&amp;qid=1363613372&amp;sr=1-2&amp;keywords=professional+asp.net+mvc+4">Pro ASP.NET MVC4</a> e vou falar sobre algumas coisas legais que não vejo pessoas falando normalmente sobre as capacidades do framework, e uma das features pouco exploradas são as rotas, então vamos ver um pouco mais sobre elas.</p>
<p align="left"><strong>Priorizando controllers por namespace<br />
</strong>Quando o mvc recebe uma requisição o sistema de roteamento analisa a rota e identifica quem deve responder a requisição, ou seja quando realizamos uma requisição para a url:</p>
<p align="center"><a title="http://localhost:61049/Home/Index" href="http://localhost:61049/Home/Index">http://localhost:61049/Home/Index</a></p>
<p align="left">O sistema de roteamento procura por um controller de nome <em>HomeController </em>de forma desqualificada, ou seja, independente do namespace. O framework não sabe o que fazer quando por exemplo existe um controller com o mesmo nome em outra pasta. por exemplo, se criarmos um HomeController dentro de uma pasta additional teremos o seguinte erro:</p>
<p align="left"><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/ErroMVCMultipleControllers.png" rel="lightbox[5143]"><img class="aligncenter size-full wp-image-5144" alt="ErroMVCMultipleControllers" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/ErroMVCMultipleControllers.png" width="1338" height="228" /></a></p>
<p>Para resolver esse problema podemos priorizar controllers usando o namespace. Então se quisermos que o controller dentro da pasta additional seja priorizado basta configurar o namespace no roteamento, segue o exemplo:</p>
<pre class="brush:csharp">routes.MapRoute(
  name: "Default",
  url: "{controller}/{action}/{id}",
  defaults: new { controller = "Home", action = "Index",
  id = UrlPa  rameter.Optional },
  namespaces: new[]
  {"ASPNETMVC4.Exemplos.RotasPorNamespace.Controllers.Additional",}
);</pre>
<p>Com o código acima o framework vai priorizar o namespace configurado e caso não encontre o controller no namespace então qualquer controller, independente de namespace será utilizado.<br />
O último detalhe é tomar cuidado para não priorizar mais de um namespace com um controller do mesmo nome, se mais de um namespace estiver configurado o erro acontece novamente, exemplo:</p>
<pre class="brush:csharp">routes.MapRoute(
  name: "Default",
  url: "{controller}/{action}/{id}",
  defaults: new { controller = "Home", action = "Index",
  id = UrlParameter.Optional },
  namespaces: new[]{
    "ASPNETMVC4.Exemplos.RotasPorNamespace.Controllers.Additional",
    "ASPNETMVC4.Exemplos.RotasPorNamespace.Controllers"
    }
);</pre>
<p>É isso pessoal, o código de exemplo está no <a href="https://github.com/HigorCesar/ASPNETMVC4.Exemplos">GitHub</a>.</p>
<p><em>Esse artigo foi postado também em<a href="http://higorcesar.com.br/asp-net-mvc4-rotas-parte-i"> higorcesar.com.br</a></em></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/BLEBsPkOOHk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/03/asp-net-mvc4-rotas-duplicadas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/03/asp-net-mvc4-rotas-duplicadas/</feedburner:origLink></item>
		<item>
		<title>O que preciso saber sobre Single-page applications?</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/7GrGnY577oo/</link>
		<comments>http://blog.lambda3.com.br/2013/03/o-que-preciso-saber-sobre-single-page-applications-spa/#comments</comments>
		<pubDate>Mon, 18 Mar 2013 11:00:00 +0000</pubDate>
		<dc:creator>Rafa Noronha</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Backbone.js]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Single-page apps]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5093</guid>
		<description><![CDATA[O HTML5 vem agindo como uma gigantesca onda de novidades sobre a web. Boa parte das novidades já é trazida como realidade por navegadores modernos cada vez mais tocados por esta onda. Aplicações web sempre tiveram na experiência do usuário &#8230; <a href="http://blog.lambda3.com.br/2013/03/o-que-preciso-saber-sobre-single-page-applications-spa/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>O HTML5 vem agindo como uma gigantesca onda de novidades sobre a web.<br />
Boa parte das novidades já é trazida como realidade por navegadores modernos cada vez mais tocados por esta onda.</p>
<p>Aplicações web sempre tiveram na experiência do usuário um revés.<br />
Padrões abertos que atendem pelo nome HTML5 agora lutam no lugar dos derrotados Adobe Flex e Microsoft Silverlight.<br />
Do outro lado do campo de batalha estão as tecnologias nativas, finalmente desafiadas por um adversário que assusta.</p>
<p>Em meio a outras inovações surgiu a atual proposta de Single-page applications (SPA).<br />
Por que subutilizar o lado do cliente enquanto sobrecarregamos o lado do servidor?<br />
Por que não equilibrar melhor esta carga?<br />
Além do maior equilíbrio também conseguiremos melhorar a experiência proporcionada ao usuário da aplicação por meio de maior ênfase nas técnicas de <a href="http://www.guardian.co.uk/help/insideguardian/2009/sep/28/blogpost">front-end development</a>.</p>
<p>Some a estas novas idéias um rápido crescimento da <a title="JavaScript no Github" href="https://github.com/languages">comunidade técnica JavaScript</a>.<br />
O terreno parece ser fértil para todos que ousarem mudar de direção.</p>
<p>Na prática desenvolver uma aplicação SPA significa:</p>
<ul>
<li>Escrever menos código server-side e mais código client-side<br />
(Consequentemente precisamos aprofundar nossos conhecimento de JavaScript)</li>
<li>Organizar da melhor maneira possível este código JavaScript<br />
(Normalmente com ajuda de um framework)</li>
<li>Mais oportunidades para proporcionar uma melhor experiência ao usuário</li>
</ul>
<h2>Qual a visão da Microsoft?</h2>
<p>A Microsoft tende a suportar cada vez mais este novo jeito de desenvolver para a web. Alguns indícios para isto são:</p>
<ul>
<li>Investimento no <a title="Web API" href="http://www.asp.net/web-api">Web API</a></li>
<li><a title="ASP.NET and Web Tools 2012.2 Update" href="http://weblogs.asp.net/scottgu/archive/2013/02/18/announcing-release-of-asp-net-and-web-tools-2012-2-update.aspx">Investimento em ferramental</a>, incluindo também a disponibilização de <a title="John Papa falando sobre o Template SPA para o MVC" href="http://www.johnpapa.net/inside-the-asp-net-single-page-apps-template/">um template SPA</a> para o ASP NET MVC</li>
<li><a title="Conteúdo publiado pelo John Papa" href="http://www.johnpapa.net/building-single-page-apps-with-knockout-jquery-and-web-api-ndash-the-story-begins/">Publicação de conteúdo</a> voltado ao engajamento de desenvolvedores</li>
<li>Trazer padrões web <a title="Opinião do Giovanni Bassi sobre este jogada da Microsoft" href="http://blog.lambda3.com.br/2012/05/porque-html5-e-javascript-no-windows-8-uma-opiniao/">para dentro do Windows</a></li>
<li>Investimento em <a title="Análise do Giovanni Bassi sobre TypeScript" href="http://blog.lambda3.com.br/2012/10/typescript-uma-anlise-inicial/">TypeScript</a></li>
</ul>
<h2>Quando apostar em SPA?</h2>
<p>A primeira grande motivação para SPA é o potencial para melhorar a experiência do usuário da aplicação.<br />
É provável que <a href="http://backbonejs.org/#examples-trello">Trello</a>, <a href="http://backbonejs.org/#examples-foursquare">Foursquare</a>, <a href="http://backbonejs.org/#examples-code-school">Code School</a> e <a href="http://backbonejs.org/#examples-documentcloud">DocumentCloud</a> sejam exemplos de aplicações tocadas por esta motivação. <a title="Aplicações web que apostaram no Backbone.js" href="http://backbonejs.org/#examples">Dentre muitas outras</a> estas empresas apostaram no uso de <a href="http://backbonejs.org/">Backbone.js</a> (atualmente o framework SPA em maior evidência).</p>
<p>Do ponto de vista técnico, uma motivação arquitetural é a melhor separação das responsabilidades de cliente e servidor.</p>
<p>Uma importante implicação é a mudança de ferramental.<br />
Para apostar em SPA precisamos buscar expertise em padrões web, principalmente JavaScript.</p>
<p>SPA também parece uma boa opção para aplicativos móveis.<br />
<a href="http://backbonejs.org/#examples-linkedin">LinkedIn</a>, <a href="http://backbonejs.org/#examples-walmart">Walmart </a>e <a href="http://backbonejs.org/#examples-soundcloud">SoundCloud </a>apostaram no Backbone.js para construir seus aplicativos.<br />
Talvez pelo fato dos padrões web possuírem mais força de trabalho que as tecnologias nativas.</p>
<p>Como vimos muitas empresas inovadoras apostaram em Single-page applications. Os gráficos a seguir sustentam a tese de que o tema está em evidência.</p>
<p><a href="http://www.google.com/trends/explore?hl=en#q=model%20view%20controller%2C%20single%20page%20application&amp;date=1%2F2008%2063m&amp;cmpt=q"><img class="alignnone size-full wp-image-5105" alt="SPA em evidência" src="http://blog.lambda3.com.br/wp-content/uploads/2013/03/mvc_spa.png" width="971" height="395" /></a></p>
<p><a href="http://www.google.com/trends/explore?hl=en#q=ruby%20on%20rails%2C%20asp%20net%20mvc%2C%20backbone.js&amp;date=1%2F2008%2063m&amp;cmpt=q"><img class="alignnone size-full wp-image-5105" alt="SPA em evidência" src="http://blog.lambda3.com.br/wp-content/uploads/2013/03/rails_mvc_backbone.png" width="971" height="395" /></a></p>
<p>Só o futuro vai mostrar aonde tudo isso vai parar.</p>
<p>No fundo SPA é mais uma buzzword fabricada no mercado de tecnologia, mas agora você já sabe tudo o que está por trás disto.</p>
<p>Eu aposto que novos dispositivos demandarão interfaces cada vez mais ricas. Também aposto na web como uma plataforma cada vez mais presente. Por isso vejo com naturalidade uma tendência para investirmos cada vez mais em JavaScript e outros padrões web.</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/7GrGnY577oo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/03/o-que-preciso-saber-sobre-single-page-applications-spa/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/03/o-que-preciso-saber-sobre-single-page-applications-spa/</feedburner:origLink></item>
		<item>
		<title>Deploy Automático de Aplicação Web com Team Build e Publish Profile</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/6RF4sjaG8Fw/</link>
		<comments>http://blog.lambda3.com.br/2013/03/deploy-automtico-de-aplicao-web-com-team-build-e-publish-profile/#comments</comments>
		<pubDate>Thu, 14 Mar 2013 12:00:32 +0000</pubDate>
		<dc:creator>Claudio Leite</dc:creator>
				<category><![CDATA[ALM]]></category>
		<category><![CDATA[Deploy Automatizado]]></category>
		<category><![CDATA[Team Build]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[TFS2012]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5007</guid>
		<description><![CDATA[Fala Pessoal, Nesse post vou falar um pouco de uma solução que implantei em um cliente. O Cenário lá é o seguinte: Eles possuem uma solution que contém mais de um projeto Web App e projetos WCF. Nós já tínhamos &#8230; <a href="http://blog.lambda3.com.br/2013/03/deploy-automtico-de-aplicao-web-com-team-build-e-publish-profile/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Fala Pessoal,</p>
<p>Nesse post vou falar um pouco de uma solução que implantei em um cliente. O Cenário lá é o seguinte: Eles possuem uma solution que contém mais de um projeto Web App e projetos WCF.</p>
<p>Nós já tínhamos implementado nesse projeto a Continuos Integration, criando uma Build Definition e setando a trigger de CI.</p>
<p>Depois de um tempo foi requisitado uma build noturna e que nessa build os projetos web e os serviços fossem publicados no ambiente de homologação, automatizando o processo de build e deploy.</p>
<p>Basicamente, iremos validar a compilação, rodar testes de unidade e integração (quando aplicável) e se tudo der certo, publicar no ambiente de homologação para que o usuário final pudesse validar as últimas alterações implementadas.</p>
<p>Para atender esse cenário, utilizamos uma funcionalidade do Visual Studio, o publish profile ( para infos sobre o que é e como criar, acesse o site: <a href="http://msdn.microsoft.com/en-us/library/dd465337.aspx">http://msdn.microsoft.com/en-us/library/dd465337.aspx</a> )</p>
<p>Depois que criarmos os publishes profiles conseguiríamos publicar os sites e serviços se clicássemos com o botão direito e der o publish. Essa ainda não é a solução desejada.</p>
<p>Como fazer para encaixar isso na minha Build Definition e quando ela rodar os meus sites serem publicados?</p>
<p>Na sua Build Definition, vá na aba de processos e procure a opção <b>MSBuild Arguments</b>, conforme a figura abaixo:</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/02/clip_image002.jpg" rel="lightbox[5007]"><img style="display: inline; border: 0px;" title="clip_image001" alt="clip_image001" src="http://blog.lambda3.com.br/wp-content/uploads//2013/02/clip_image001.jpg" width="244" height="124" border="0" /></a></p>
<p>Agora que a coisa começa a ficar interessante, o MSBuild tem um parâmetro que podemos passar que permite que eu informe o nome do meu <b>Publish Profile</b> para fazer o deploy logo após a compilação e execução dos testes.</p>
<p>Para isso digite o seguinte no <b>MSbuild Arguments</b> :</p>
<p><b>PublishProfile=&#8221;QA&#8221;</b></p>
<p>O “<b>QA” </b>é o nome que você deu para o seu <b>publish profile</b>. Para que todos os seus sites e serviços sejam publicados, basta dar o mesmo nome para o <b>publish profile</b> e tudo será publicado logo após a compilação e execução de testes.</p>
<p>Com isso, de forma simples e rápida montamos uma solução que compila e faz o deploy das nossas aplicações para qualquer ambiente que desejarmos.</p>
<p>Até a próxima.</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/6RF4sjaG8Fw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/03/deploy-automtico-de-aplicao-web-com-team-build-e-publish-profile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/03/deploy-automtico-de-aplicao-web-com-team-build-e-publish-profile/</feedburner:origLink></item>
		<item>
		<title>NHibernate – Associações many-to-one</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/gdSuyCg4am4/</link>
		<comments>http://blog.lambda3.com.br/2013/03/nhibernate-associacoes-many-to-one/#comments</comments>
		<pubDate>Wed, 13 Mar 2013 12:00:02 +0000</pubDate>
		<dc:creator>Rodrigo Silva de Andrade</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[ORM]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=4960</guid>
		<description><![CDATA[Uma associação many-to-one geralmente se refere a uma entidade que possui uma referência para outra entidade. No caso do banco de dados seria uma associação simples por chave estrangeira. Vejamos um exemplo: Esquema Classes POCO Mapeamento Note que a definição &#8230; <a href="http://blog.lambda3.com.br/2013/03/nhibernate-associacoes-many-to-one/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Uma associação many-to-one geralmente se refere a uma entidade que possui uma referência para outra entidade. No caso do banco de dados seria uma associação simples por chave estrangeira.</p>
<p>Vejamos um exemplo:</p>
<p>Esquema<br />
<img alt="schema" src="http://blog.lambda3.com.br/wp-content/uploads//2013/02/schema.png" width="599" height="331" /></p>
<p>Classes POCO<br />
<img alt="poco classes" src="http://blog.lambda3.com.br/wp-content/uploads//2013/02/poco-classes.png" width="655" height="438" /></p>
<p>Mapeamento<br />
<img alt="mapping classes" src="http://blog.lambda3.com.br/wp-content/uploads//2013/02/mapping-classes.png" width="376" height="365" /></p>
<p>Note que a definição da associação many-to-one se dá pelo <code>References</code> no <code>UsuarioMap</code>, por default o Fluent NHibernate infere que a coluna que define a chave estrangeira seja Endereco_Id (nome da classe sendo referida + &#8220;_Id&#8221;). Assim como vimos anteriormente, podemos definir um nome diferente utilizando <code>.Column("nome da colunda").</code></p>
<p>Feito isso podemos agora navegar a associação acessando a propriedade <code>Endereco </code>de <code>Usuario</code>:<br />
<img alt="console code" src="http://blog.lambda3.com.br/wp-content/uploads//2013/02/console-code.png" width="416" height="190" /></p>
<p>Veja as queries executadas:<br />
<img alt="usuario select" src="http://blog.lambda3.com.br/wp-content/uploads//2013/02/usuario-select.png" width="316" height="77" /></p>
<p><img class="alignnone size-full wp-image-4962" alt="endereco select" src="http://blog.lambda3.com.br/wp-content/uploads//2013/02/endereco-select.png" width="316" height="75" /></p>
<p>É interessante notar que a segunda query é executada apenas ao acessarmos a propriedade <code>Endereco</code>, por default as associações a outras entidades são carregadas sobre demanda (Lazy Loading), no futuro veremos estratégias de carregamento de associações e propriedades.</p>
<p>No próximo post: Associações one-to-many.</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/gdSuyCg4am4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/03/nhibernate-associacoes-many-to-one/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/03/nhibernate-associacoes-many-to-one/</feedburner:origLink></item>
		<item>
		<title>Palestra no DotNetFloripa</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/fWeC2F8OSPY/</link>
		<comments>http://blog.lambda3.com.br/2013/03/palestra-no-dotnetfloripa/#comments</comments>
		<pubDate>Tue, 12 Mar 2013 14:25:19 +0000</pubDate>
		<dc:creator>Claudio Leite</dc:creator>
				<category><![CDATA[ALM]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[TFS2012]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5095</guid>
		<description><![CDATA[Fala pessoal, Semana passada eu estava fazendo uma PoC em floripa e acabou que pude ir em uma reunião do grupo DotNetFloripa para falar um pouco sobre o TFS. A palestra era para ser de 45 mins, mas acabou que &#8230; <a href="http://blog.lambda3.com.br/2013/03/palestra-no-dotnetfloripa/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Fala pessoal,</p>
<p>Semana passada eu estava fazendo uma PoC em floripa e acabou que pude ir em uma reunião do grupo DotNetFloripa para falar um pouco sobre o TFS.</p>
<p>A palestra era para ser de 45 mins, mas acabou que ficamos conversando bem mais tempo. Também, falar de TFS é fácil, posso ficar horas conversando sem problemas.</p>
<p>Para comeplementar, quem quiser pode baixar a máquina virtual que eu utilizei para realizar as demos no seguinte link:</p>
<p><a title="http://blogs.msdn.com/b/briankel/archive/2011/09/16/visual-studio-11-application-lifecycle-management-virtual-machine-and-hands-on-labs-demo-scripts.aspx" href="http://blogs.msdn.com/b/briankel/archive/2011/09/16/visual-studio-11-application-lifecycle-management-virtual-machine-and-hands-on-labs-demo-scripts.aspx">http://blogs.msdn.com/b/briankel/archive/2011/09/16/visual-studio-11-application-lifecycle-management-virtual-machine-and-hands-on-labs-demo-scripts.aspx</a></p>
<p>Foi um prazer conversar com vocês !! Espero que na próxima eu consiga ir com mais calma e assim podermos beber mais cervejas! <img src='http://blog.lambda3.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Até a próxima!</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/fWeC2F8OSPY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/03/palestra-no-dotnetfloripa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/03/palestra-no-dotnetfloripa/</feedburner:origLink></item>
		<item>
		<title>Restore com LocalDb</title>
		<link>http://feed.lambda3.com.br/~r/Lambda3Blog/~3/Rab-23lB6cs/</link>
		<comments>http://blog.lambda3.com.br/2013/03/restore-com-localdb/#comments</comments>
		<pubDate>Mon, 11 Mar 2013 11:00:31 +0000</pubDate>
		<dc:creator>Giovanni Bassi</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=5059</guid>
		<description><![CDATA[A Microsoft lançou o LocalDb como um substituto ao SQL Server Express, quando usado como banco de dados de desenvolvimento, aquele que o desenvolvedor usa quando está codificando. Dessa forma ele não precisa instalar o SQL Server Express, que demanda &#8230; <a href="http://blog.lambda3.com.br/2013/03/restore-com-localdb/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image1.png" rel="lightbox"><img style="background-image: none; float: left; padding-top: 0px; padding-left: 0px; margin: 0px 10px 10px 0px; display: inline; padding-right: 0px; border: 0px;" title="Restore com LocalDb" alt="Restore com LocalDb" src="http://blog.lambda3.com.br/wp-content/uploads//2013/03/image_thumb.png" width="304" height="260" align="left" border="0" /></a>A Microsoft lançou o LocalDb como um substituto ao SQL Server Express, quando usado como banco de dados de desenvolvimento, aquele que o desenvolvedor usa quando está codificando. Dessa forma ele não precisa instalar o SQL Server Express, que demanda permissões administrativas para gerenciar. Além disso, o LocalDb só sobe quando demandado, não usando memória e ciclos de CPU desnecessários. Eu sempre deixei meu SQL Server Express com start manual pra diminuir tempo de startup da máquina e deixá-la mais leve, e com frequência esquecia disso quando estava desenvolvendo, o que me obrigava a mandar alguns comandos no terminal pra subi-lo. Não mais. Com o LocalDb, basta mandar conectar e ele conecta. Depois de um tempo sem acessos ele desliga sozinho. Perfeito!</p>
<p>Só que um cliente me mandou um backup do banco. Fui restaurar no LocalDb, lógico, nem tenho mais SQL Server Express instalado (não vem mais por padrão com o Visual Studio 2012). Qual não foi minha surpresa ao notar que ele não subia? Tive vários errinhos na janela de Restore do SQL Server Management Studio. Descobri que faltam alguns itens no registro do Windows. Basta colocá-los lá e tudo funciona. Eu podia ter feito via Transact-SQL, mas não sou um grande administrador do SQL Server, isso fica um pouco mais avançado do que tenho interesse de saber fazer. Nesse tipo de setup, no Windows, prefiro a janela.</p>
<p>Então fica pra referência. Se você precisar, os itens estão em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLE.LOCALDB\MSSQLServer. São os seguintes campos, todos string:</p>
<p>&#8220;DefaultData&#8221;=&#8221;&lt;seu perfil&gt;\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0&#8243;<br />
&#8220;DefaultLog&#8221;=&#8221;&lt;seu perfil&gt;\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0&#8243;<br />
&#8220;BackupDirectory&#8221;=&#8221;&lt;qualquer diretório que exista, pode ser c:\temp&gt;&#8221;</p>
<p>Onde está seu perfil, troque pelo caminho do seu perfil. Se seu user é giovanni, seria “C:\users\giovanni”.</p>
<p>Feito isso, basta clicar com o botão direito no banco no SQL Server Management Studio, daí Tasks, e escolher Restore &gt; Database.</p>
<img src="http://feeds.feedburner.com/~r/Lambda3Blog/~4/Rab-23lB6cs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2013/03/restore-com-localdb/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2013/03/restore-com-localdb/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.159 seconds. --><!-- Cached page generated by WP-Super-Cache on 2013-05-17 14:54:40 --><!-- Compression = gzip -->
