<?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 » Victor Cavalcante</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/LLL/victorcavalcante" /><feedburner:info uri="lll/victorcavalcante" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>LLL/victorcavalcante</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Debugando sua aplicação com o código fonte do ASP.NET MVC parte 2</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/7n4KUgnkcRo/</link>
		<comments>http://blog.lambda3.com.br/2012/01/debugando-sua-aplicao-com-o-cdigo-fonte-do-asp-net-mvc-parte-2/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 12:17:00 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=2753</guid>
		<description><![CDATA[No último post eu demonstrei como vincular os símbolos (pdb) do ASP.NET MVC para podermos “debugar” no código fonte dele. Quem testou deve ter percebido que o debug começou a ficar com um tempo muito alto quando comparado com o &#8230; <a href="http://blog.lambda3.com.br/2012/01/debugando-sua-aplicao-com-o-cdigo-fonte-do-asp-net-mvc-parte-2/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a title="Veja aqui o último post" href="http://bit.ly/A9jQxa">No último post</a> eu demonstrei como vincular os símbolos (pdb) do ASP.NET MVC para podermos “debugar” no código fonte dele. Quem testou deve ter percebido que o debug começou a ficar com um tempo muito alto quando comparado com o modo normal, mas isso pode ser minimizado. Neste post vou demonstrar primeiro porque esse tempo fica alto e depois vamos diminui-lo.</p>
<p>Primeiro vamos para o ponto em que paramos no post anterior. Crie um breakpoint e quando ele parar nesse breakpoint vá nó menu Debug –&gt; Windows –&gt; Modules (Ctrl + D, M), veja essa janela abaixo e verifique que muitos dos símbolos carregados não serão utilizados, podemos citar como exemplo o símbolo do System.Xaml.dll que não iremos utilizar para nada:</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image23.png" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" alt="image" src="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image_thumb22.png" width="679" height="269" border="0" /></a></p>
<p>Isso torna o tempo de debug muito alto, pois ele está carregando muito mais símbolos do que o necessário para o nosso problema, vamos resolver isso. Vá em Tools –&gt; Options –&gt; Debugger –&gt; Symbols e ative a opção “Only specified modules”, depois clique em “Specified Modules”, então adicione a referência para a DLL do ASP.NET MVC: “System.Web.MVC.dll” (não se esqueça do .dll).</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image24.png" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" alt="image" src="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image_thumb23.png" width="529" height="400" border="0" /></a></p>
<p>Dessa forma só estaremos carregando os símbolos que desejarmos.</p>
<p>Faça o teste novamente, crie um breakpoint e carregue a janela de módulos, você irá perceber que agora estamos carregando muito menos símbolos (veja na imagem abaixo) e que o debug vai ficar consideravelmente mais rápido.</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image25.png" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" alt="image" src="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image_thumb24.png" width="521" height="194" border="0" /></a></p>
<p>Essa foi uma dica que o <a title="Veja o blog do Igor Abade" href="http://blog.lambda3.com.br/L3/igorabade/">Igor Abade</a> me deu e resolvi compartilhar com vocês, vou aproveitar para passar a dica que o <a title="Veja o blog do Giovanni Bassi" href="http://blog.lambda3.com.br/L3/giovannibassi/">Giovanni Bassi</a> me passou. Para quem tem o <a href="http://www.google.com.br/search?sourceid=chrome&amp;ie=UTF-8&amp;q=resharper">Resharper</a> instalado na máquina (o meu está na versão 6) pode, por exemplo, selecionar a palavra ViewBag e pressionar F12 (Go to implementation) e o Reshaper irá pedir para escolher uma das 5 opções, como a figura abaixo:</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image26.png" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" alt="image" src="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image_thumb25.png" width="570" height="471" border="0" /></a></p>
<p>Se você escolher a opção “Go to .NET framework sources” ele irá fazer o download do código fonte do ASP.NET MVC e exibi-lo automaticamente para você. Uma facilidade e tanto, mas é só para quem tem o Resharper instalado.</p>
<p>Espero que essas dicas ajudem no dia a dia de vocês. Se conhecerem outras formas de chegar ao resultado me avisem, adorei aprender mais alguns truques.</p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/7n4KUgnkcRo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2012/01/debugando-sua-aplicao-com-o-cdigo-fonte-do-asp-net-mvc-parte-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2012/01/debugando-sua-aplicao-com-o-cdigo-fonte-do-asp-net-mvc-parte-2/</feedburner:origLink></item>
		<item>
		<title>Debugando sua aplicação com o código fonte do ASP.NET MVC</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/VFSlK4lWc-g/</link>
		<comments>http://blog.lambda3.com.br/2012/01/debugando-sua-aplicacao-com-o-codigo-fonte-do-asp-net-mvc/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 12:00:46 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://blog.lambda3.com.br/?p=2723</guid>
		<description><![CDATA[Desde 2008 quando ASP.NET MVC ainda estava em preview, eu em palestras que ele é um framework open source, mas vejo poucas pessoas se beneficiando desse fato.  Durante o desenvolvimento eu já precisei algumas vezes olhar para o código fonte &#8230; <a href="http://blog.lambda3.com.br/2012/01/debugando-sua-aplicacao-com-o-codigo-fonte-do-asp-net-mvc/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Desde 2008 quando ASP.NET MVC ainda estava em preview, eu em palestras que ele é um <a title="Veja o post do Scott Guthrie anunciando isso" href="http://bit.ly/AwOBGy">framework open source</a>, mas vejo poucas pessoas se beneficiando desse fato.  Durante o desenvolvimento eu já precisei algumas vezes olhar para o código fonte para entender o que estava acontecendo.</p>
<p>Um exemplo disso foi quando saiu o ViewBag, eu queria entender o que ele realmente fazia, tinha a impressão que ele setava o próprio ViewData, tudo indicava isso, mas não tinha certeza. Como eu já tinha configurado o meu Visual Studio para utilizar os símbolos do ASP.NET MVC eu consegui debugar e verificar no próprio código do ASP.NET MVC e ver o que realmente estava acontecendo.</p>
<p>Neste artigo vou demonstrar como configurar o Visual Studio para fazer isso e você poderá aproveitar desse benefício sempre que quiser.</p>
<p>Primeiro abra o seu Visual Studio 2010 e vá em Tools -&gt; Options -&gt; Debugger -&gt; General</p>
<ul>
<li>Desabilite a opção “<em>Enable Just My Code (Managed only)</em>”</li>
<li>Habilite a opção “<em>Enable .NET Framework source stepping</em>”</li>
<li>Habilite a opção “<em>Enable source server support</em>”</li>
</ul>
<p>As suas configurações devem estar iguais as que estão em destaque na imagem:</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image16.png" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" alt="image" src="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image_thumb15.png" width="527" height="307" border="0" /></a></p>
<p>Depois entre na opção Symbols ainda em Debugger, nesta janela você deve configurar para que o Visual Studio faça o download  do servidor de símbolos da Microsoft, deixe a configuração igual a da imagem a seguir:</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image17.png" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" alt="image" src="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image_thumb16.png" width="532" height="310" border="0" /></a></p>
<p>Clique em OK e vamos testar se está tudo funcionando, vamos criar um novo projeto ASP.NET MVC 3, neste novo projeto entre no <em>HomeController.cs</em> e crie um <em>breakpoint</em> na primeira linha da<em> action Index</em>, como está na imagem abaixo:</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image18.png" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" alt="image" src="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image_thumb17.png" width="534" height="322" border="0" /></a></p>
<p>Agora vamos para o debug, inicie a aplicação pressionando F5, na primeira vez que você fizer isso ele irá fazer o download dos símbolos dos servidores da Microsoft (demora um pouquinho), quando terminar e ela irá parar nesse breakpoint, então dê um <em>steep into (F11</em>), se foi feito tudo como está no post (assumindo que não tem nada de errado no post J), ele irá entrar no código fonte do ASP.NET MVC 3 conforme a imagem abaixo:</p>
<p><a href="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image19.png" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" alt="image" src="http://blog.lambda3.com.br/wp-content/uploads//2012/01/image_thumb18.png" width="534" height="150" border="0" /></a></p>
<p>Você pode verificar que dessa forma é fácil tirar a dúvida que eu estava no início do post, o ViewBag faz exatamente o que eu pensava, ele simplesmente utiliza o ViewData por trás dos panos.</p>
<p>É claro que quem quiser pode fazer o download do  <a title="Download do código fonte do ASP.NET MVC 3" href="http://bit.ly/z2UA1t">download do código fonte do ASP.NET MVC</a> e olhar direto no código, há também a opção de usar o próprio projeto no ASP.NET MVC junto com o seu, para isso você mudar algumas coisas para que o seu projeto utilize o projeto do ASP.NET MVC ao invés da DLL compilada que já está no seu sistema, mas isso fica para um outro post.</p>
<p>Aproveito para perguntar para vocês:</p>
<p>Vocês já sentiram essa necessidade? Já fizeram isso alguma vez? Fizeram de outra forma?</p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/VFSlK4lWc-g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2012/01/debugando-sua-aplicacao-com-o-codigo-fonte-do-asp-net-mvc/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2012/01/debugando-sua-aplicacao-com-o-codigo-fonte-do-asp-net-mvc/</feedburner:origLink></item>
		<item>
		<title>Resultado do Mini Curso de jQuery</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/c70LJstbBoY/</link>
		<comments>http://blog.lambda3.com.br/2011/02/resultado-do-mini-curso-de-jquery/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 23:50:16 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[minicurso]]></category>

		<guid isPermaLink="false">http://cavalcante.net/post/resultado-do-mini-curso-de-jquery/</guid>
		<description><![CDATA[Realizei na último sábado (19/02/2011) um mini curso gratuito sobre jQuery para desenvolvedores, a motivação para isso pode ser vista no post em que anunciei a iniciativa. Foi um curso de 3 horas de duração, gastei cerca de 8 horas &#8230; <a href="http://blog.lambda3.com.br/2011/02/resultado-do-mini-curso-de-jquery/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Realizei na último sábado (19/02/2011) um mini curso gratuito sobre jQuery para desenvolvedores, a motivação para isso pode ser vista no <a href="http://cavalcante.net/post/webcast-%E2%80%9Cmini-curso-de-jquery-para-desenvolvedores%E2%80%9D/">post em que anunciei a iniciativa</a>.</p>
<p>Foi um curso de 3 horas de duração, gastei cerca de 8 horas para produzir o curso e posso afirmar que não me arrependo, foram 11 horas muito bem gastas, foram ao todo 131 pessoas que participaram, recebi ótimos feedbacks e graças a tudo isso pretendo fazer outros mini cursos nesse formato.</p>
<p>Gostaria de continuar recebendo comentários sobre os pontos fortes e fracos desse tipo de curso, para que nos próximos seja possível melhorar.</p>
<p>E aí pessoal? O que vocês gostaram? O que vocês não gostaram? Quais assuntos vocês querem que eu aborde em próximos mini cursos?</p>
<p>Como fiz uma gravação independente com o Live meeting e não tinha nenhuma ideia de como ele funcionava, não consegui fazer a gravação para que ele ficasse online, por isso estou colocando o <a href="http://cavalcante.net/files/MiniCursoJQueryParaDesenvolvedores.zip">arquivo compactado em Zip para que vocês façam o download</a>. Depois de feito o download, descompacte e abra o arquivo “ReplayMeeting.htm”.</p>
<p>Espero que gostem, estou aguardando os comentários.</p>
<p><a href="http://cavalcante.net/files/MiniCursoJQueryParaDesenvolvedores.zip"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" alt="image" src="http://cavalcante.net/wp-content/uploads/2011/02/image.png" width="244" height="230" border="0" /></a></p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/c70LJstbBoY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2011/02/resultado-do-mini-curso-de-jquery/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2011/02/resultado-do-mini-curso-de-jquery/</feedburner:origLink></item>
		<item>
		<title>WebCast: “Mini curso de jQuery para desenvolvedores”</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/k5cJgWpcfdo/</link>
		<comments>http://blog.lambda3.com.br/2011/02/webcast-%e2%80%9cmini-curso-de-jquery-para-desenvolvedores%e2%80%9d/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 18:49:10 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[minicurso]]></category>
		<category><![CDATA[Webcast]]></category>

		<guid isPermaLink="false">http://cavalcante.net/?p=27</guid>
		<description><![CDATA[Como ultimamente estou tirando bastante dúvidas sobre jQuery, resolvi fazer um WebCast com um conteúdo básico, mas com início, meio e fim. A ideia é que o programador que assistir esse webcast de 3 horas poderá desenvolver as tarefas do &#8230; <a href="http://blog.lambda3.com.br/2011/02/webcast-%e2%80%9cmini-curso-de-jquery-para-desenvolvedores%e2%80%9d/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Como ultimamente estou tirando bastante dúvidas sobre jQuery, resolvi fazer um WebCast com um conteúdo básico, mas com início, meio e fim. A ideia é que o programador que assistir esse webcast de 3 horas poderá desenvolver as tarefas do dia a dia, e ainda, saber onde procurar para desenvolver features mais avançadas.</p>
<p>Assuntos que serão abordados nesse mini curso:</p>
<ul>
<li>Introdução a padrões web</li>
<li>Porque jQuery</li>
<li>Introdução ao jQuery</li>
<li>Seletores</li>
<li>Filtros</li>
<li>Eventos</li>
<li>Plugins</li>
<li>Ajax</li>
</ul>
<p>Quem se interessar é só acessar o <a href="http://bit.ly/minicursojQuery">webcast no Sábado, 19 de fevereiro às 14h</a>.</p>
<p>Vejo vocês lá!</p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/k5cJgWpcfdo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2011/02/webcast-%e2%80%9cmini-curso-de-jquery-para-desenvolvedores%e2%80%9d/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2011/02/webcast-%e2%80%9cmini-curso-de-jquery-para-desenvolvedores%e2%80%9d/</feedburner:origLink></item>
		<item>
		<title>Despedida do SDC da Stefanini</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/QCr5tWEOhcQ/</link>
		<comments>http://blog.lambda3.com.br/2010/11/despedida-do-sdc-da-stefanini/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 17:37:00 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Outros]]></category>

		<guid isPermaLink="false">/post/Despedida-do-SDC-da-Stefanini.aspx</guid>
		<description><![CDATA[Estou mudando de empresa novamente, trabalhei por apenas 6 meses no #SDC (Software Delivery Center) da Stefanini, mas posso falar que foram os 6 meses que eu mais aprendi na minha carreira profissional. No SDC tive o prazer de conhecer &#8230; <a href="http://blog.lambda3.com.br/2010/11/despedida-do-sdc-da-stefanini/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Estou mudando de empresa novamente, trabalhei por apenas 6 meses no #SDC (Software Delivery Center) da Stefanini, mas posso falar que foram os 6 meses que eu mais aprendi na minha carreira profissional.</p>
<p>No SDC tive o prazer de conhecer &oacute;timos profissionais de diversas plataformas de desenvolvimento diferentes, mas posso dar destaque a alguns:</p>
<ul>
<li>Felipe Castro, o cara &eacute; muito bom em C# e desenvolvimento &aacute;gil, mesmo n&atilde;o gostando muito de &ldquo;comunistas&rdquo; (pessoas que atuam na comunidade) nos demos muito bem. </li>
<li>Raphael Nascimento, o cara &eacute; nervoso por padr&atilde;o, mas adora resolver problemas, ele &eacute; o cara que resolve e &eacute; muito engra&ccedil;ado. </li>
<li>Acauan, um moleque que manja muito, voc&ecirc; ensina ele em um dia, no outro ele &eacute; que est&aacute; te ensinando. </li>
<li>Gerson, um cara que chegou e depois de uma semana parecia que estava no time desde o come&ccedil;o do projeto, ele &eacute; muito bom programador e analista, pega as coisas muito r&aacute;pido. </li>
<li>Ricardo Martins, F&aacute;bio Jos&eacute; (vulgo Cadeieiro), Carlos (vulgo Mineiro) e Marcelo, desenvolvedores que abra&ccedil;aram a mudan&ccedil;a, mesmo quando uns loucos chegaram falando de Scrum, time de primeira. </li>
<li>Diego Bonif&aacute;cio (vulgo Frango), um &oacute;timo programador, ele n&atilde;o para de falar at&eacute; voc&ecirc; dar risada. </li>
<li>Edivan, um cara com &oacute;tima forma&ccedil;&atilde;o computacional, pena que trabalha com PHP : P. </li>
<li>Jo&atilde;o e Patr&iacute;cia, desenvolvedores PHP que s&atilde;o o exemplo de time que se compromete com a entrega. </li>
<li>Leonardo Neves, sem palavras para esse cara, foi ele que me chamou para o SDC, estava sempre nas reuni&otilde;es do .NetArchitects, o cara manja muito de desenvolvimento e agilidade. </li>
<li>Andr&eacute; Nascimento, outro cara que eu admiro muito, sempre que podia sentava com ele para pedir conselhos sobre agilidade, scrum e at&eacute; desenvolvimento, sempre tivemos uma &ldquo;open conversation&rdquo; onde nunca escond&iacute;amos nada, sempre papo aberto. </li>
<li>Claudio Kerber, um cara totalmente pirado, mas &eacute; o melhor analista de neg&oacute;cio que eu j&aacute; conheci, um cara r&aacute;pido no pensamento. </li>
<li>Ricardo Serradas, o TFS man, manja muito de TFS, programa&ccedil;&atilde;o e Scrum, al&eacute;m de ser um grande amigo. </li>
<li>Tucaz, o cara &eacute; fera, tem opini&otilde;es fortes e manja muito, s&oacute; tem um p&eacute;ssimo gosto para sistema operacional <img src='http://blog.lambda3.com.br/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> . </li>
</ul>
<p>Gostaria de citar todos os colegas, mas vou fazer alguma injusti&ccedil;a, por isso vou citar apenas os que eu trabalhei diretamente.</p>
<p>Todo mundo que me conhece ou me acompanha pelo blog/twitter sabe que eu adorava trabalhar l&aacute;, a&iacute; vem a pergunta, por que sair do lugar que gosta?</p>
<p>S&oacute; estou saindo porque recebi uma proposta de trabalho irrecus&aacute;vel de grandes amigos, a partir de hoje estarei trabalhando na Lambda3, uma empresa que est&aacute; come&ccedil;ando, mas que tem tudo para se tornar grande, principalmente pelas pessoas que trabalham l&aacute;: <a href="http://www.twitter.com/andrediasbr">Andr&eacute; Dias</a>, <a href="http://www.twitter.com/giovannibassi">Giovanni Bassi</a>, <a href="http://www.twitter.com/felipero">Felipe Rodrigues</a>, <a href="http://www.twitter.com/victorhg">Victor Hugo</a> e <a href="http://www.twitter.com/flavia_oliv">Fl&aacute;via Oliveira</a>.</p>
<p>Para finalizar eu quero agradecer muito a todos com quem eu me relacionei na Stefanini, foram &oacute;timos os 6 meses, aprendi muita coisa com todos com quem trabalhei, agora &eacute; fazer o mesmo na Lambda3.</p>
<p>&nbsp;</p>
<p>Aguardem novidades!</p>
<p><a href="https://cid-19f0f5c720bea437.photos.live.com/browse.aspx/SDC"><img src="http://cavalcante.net/pics/foto_sdc.jpg" alt="SDC" /></a></p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/QCr5tWEOhcQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2010/11/despedida-do-sdc-da-stefanini/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2010/11/despedida-do-sdc-da-stefanini/</feedburner:origLink></item>
		<item>
		<title>Palestra no #TDC2010</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/c6L-wNBBnMk/</link>
		<comments>http://blog.lambda3.com.br/2010/09/palestra-no-tdc2010/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 23:15:39 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Gestão]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[Eventos]]></category>

		<guid isPermaLink="false">/post/Palestra-no-TDC2010.aspx</guid>
		<description><![CDATA[Nos dias 20, 21 e 22 de agosto aconteceu o evento chamado The Developers Conference 2010 também conhecido como #TDC2010. Posso afirmar que foi um evento totalmente diferente de todos os que eu já participei (olha que eu já participei &#8230; <a href="http://blog.lambda3.com.br/2010/09/palestra-no-tdc2010/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a style="text-decoration: none;" href="http://www.thedevelopersconference.com.br"><img style="border: none; margin-right: 5px; float: left;" title="The Developers Conference 2010, um evento organizado pela Globalcode" alt=" The Developers Conference 2010, um evento organizado pela Globalcode" src="http://www.thedevelopersconference.com.br/banners/2010/banner-TDC2010-234x60.png" /></a>Nos dias 20, 21 e 22 de agosto aconteceu o evento chamado <a href="http://thedevelopersconference.com.br">The Developers Conference 2010</a> também conhecido como <a href="http://twitter.com/search#search?q=tdc2010">#TDC2010</a>. Posso afirmar que foi um evento totalmente diferente de todos os que eu já participei (olha que eu já participei de muitos), a mágica da coisa toda é a integração com várias “tribos”, tinha gente de todo tipo de linguagem lá. Várias dessas linguagens/tecnologias estavam oficialmente representadas em trilhas específicas, como: Arduíno, Java, Web, Ruby, Python, Testes, Spring, noSql, Agile, .NET, SOA &amp; Cloud, JavaEE  e Mobile. Além das trilhas tiveram a ótima ideia de criar um espaço denominado “Lado B”, onde rolava de tudo: Coding Dojo de ROR, .NET, BOO e muito mais. Além de tudo isso, tive o prazer de palestrar no evento, graças ao convite do <a href="http://unplugged.giggio.net/">Giovanni Bassi</a> que organizou a trilha de .NET e Agile, o interessante foi o fato de que quando ele me convidou era para dar a palestra sobre ASP.NET MVC 2, mas só depois de já ter divulgado no site saiu a notícia do lançamento do ASP.NET MVC 3 Preview 1, vendo isso ele foi me perguntar se eu topava o desafio e é claro que eu aceitei. A palestra foi sobre as novidades do ASP.NET MVC3, o qual estudei a fundo na semana que antecedeu o TDC, a palestra foi bem legal, tive ótimo feedback de quem assistiu, agora eu e o Giovanni estamos nos preparando para apresentar o mesmo tema só que no TechEd, não percam! Vou deixar os slides que utilizei no TDC. Abraços e até a próxima.</p>
<div id="__ss_5110213" style="width: 425px;"><strong style="margin: 12px 0px 4px; display: block;"><a title="Novidades do ASP.NET MVC3 Preview 1" href="http://www.slideshare.net/vcavalcante/novidades-do-aspnet-mvc3-preview-1">Novidades do ASP.NET MVC3 Preview 1</a></strong><object id="__sse5110213" width="425" height="355" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=tdc2010-asp-netmvc3-100901204047-phpapp01&amp;stripped_title=novidades-do-aspnet-mvc3-preview-1" /><param name="allowscriptaccess" value="always" /><param name="allowfullscreen" value="true" /><embed id="__sse5110213" width="425" height="355" type="application/x-shockwave-flash" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=tdc2010-asp-netmvc3-100901204047-phpapp01&amp;stripped_title=novidades-do-aspnet-mvc3-preview-1" allowFullScreen="true" allowScriptAccess="always" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/vcavalcante">vcavalcante</a>.</div>
</div>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/c6L-wNBBnMk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2010/09/palestra-no-tdc2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2010/09/palestra-no-tdc2010/</feedburner:origLink></item>
		<item>
		<title>PodCast sobre TDD no .Net Architects</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/NBoU7N3QvJY/</link>
		<comments>http://blog.lambda3.com.br/2010/07/podcast-sobre-tdd-no-net-architects/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 00:01:53 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Práticas de Engenharia]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">/post/PodCast-sobre-TDD-no-Net-Architects.aspx</guid>
		<description><![CDATA[Pessoal, acabou de sair o podcast sobre TDD que eu participei juntamente com o Christian Cunha e o Giovanni Bassi. A ideia desse podcast é esclarecer para quem está começando sobre o que é TDD, como implementar e as diferenças &#8230; <a href="http://blog.lambda3.com.br/2010/07/podcast-sobre-tdd-no-net-architects/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Pessoal, acabou de sair o <a href="http://podcast.dotnetarchitects.net/2010/07/podcast-14-test-driven-development">podcast sobre TDD</a> que eu participei juntamente com o <a href="http://cccunha.wordpress.com/">Christian Cunha</a> e o <a href="http://unplugged.giggio.net/">Giovanni Bassi</a>.</p>
<p>A ideia desse podcast é esclarecer para quem está começando sobre o que é TDD, como implementar e as diferenças entre testes integrados e unitários.</p>
<p>Segue alguns links sobre o assunto:</p>
<ul>
<li><a href="http://dojofloripa.wordpress.com/2007/09/10/tudo-sobre-tdd/">Tudo sobre TDD (Ótimo post do Victor Hugo Germano)</a></li>
<li><a href="http://improveit.com.br/xp/praticas/tdd">Desenvolvimento Orientado a Testes (InproveIT)</a></li>
<li><a href="http://pt.wikipedia.org/wiki/Behavior_Driven_Development">BDD</a></li>
<li><a href="http://martinfowler.com/articles/injection.html">Inversion of Control Containers and the Dependency Injection pattern</a></li>
<li><a href="http://en.wikipedia.org/wiki/Kent_Beck">Kent Beck</a></li>
<li><a href="http://pt.wikipedia.org/wiki/Refatora%C3%A7%C3%A3o">Refatoração</a></li>
</ul>
<p>Espero que gostem!</p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/NBoU7N3QvJY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2010/07/podcast-sobre-tdd-no-net-architects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2010/07/podcast-sobre-tdd-no-net-architects/</feedburner:origLink></item>
		<item>
		<title>Segunda chance para quem perdeu o Webcast</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/ypvbBws3gAc/</link>
		<comments>http://blog.lambda3.com.br/2010/07/segunda-chance-para-quem-perdeu-o-webcast/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 12:58:43 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[minicurso]]></category>
		<category><![CDATA[Webcast]]></category>

		<guid isPermaLink="false">/post/Segunda-chance-para-quem-perdeu-o-Webcast.aspx</guid>
		<description><![CDATA[No dia 11/06 apresentei o WebCast sobre jQuery e ASP.Net MVC, mas infelizmente aconteceu um problema técnico na gravação do aúdio, o que impossibilitou a disponibilização desse webcast para download, mas nem tudo está perdido, combinei com o pessoal do &#8230; <a href="http://blog.lambda3.com.br/2010/07/segunda-chance-para-quem-perdeu-o-webcast/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>No dia 11/06 apresentei o <a href="http://cavalcante.net/post/WebCast-sobre-jQuery-e-ASPNet-MVC.aspx">WebCast sobre jQuery e ASP.Net MVC</a>, mas infelizmente aconteceu um problema técnico na gravação do aúdio, o que impossibilitou a disponibilização desse webcast para download, mas nem tudo está perdido, combinei com o pessoal do MSDN e essa semana vou apresentar novamente o <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455649&amp;Culture=pt-BR">Webcast</a>, isso vai acontecer no dia <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455649&amp;Culture=pt-BR">08/07 as 12h</a>, não percam!</p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/ypvbBws3gAc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2010/07/segunda-chance-para-quem-perdeu-o-webcast/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2010/07/segunda-chance-para-quem-perdeu-o-webcast/</feedburner:origLink></item>
		<item>
		<title>Codificando 2010</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/dsGV9XI8Q4s/</link>
		<comments>http://blog.lambda3.com.br/2010/07/codificando-2010/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 12:55:19 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">/post/Codificando-2010.aspx</guid>
		<description><![CDATA[Antes tarde do que nunca, eu devia ter escrito sobre o Codificando 2010 há pelo menos 2 semanas, as coisas estão mais corridas do que o comum, mas vamos lá. O Alexandre Tarifa do Codificando.net me chamou para palestrar no &#8230; <a href="http://blog.lambda3.com.br/2010/07/codificando-2010/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Antes tarde do que nunca, eu devia ter escrito sobre o Codificando 2010 há pelo menos 2 semanas, as coisas estão mais corridas do que o comum, mas vamos lá.</p>
<p>O <a href="http://www.alexandretarifa.com.br/">Alexandre Tarifa</a> do <a href="http://www.codificando.net">Codificando.net</a> me chamou para palestrar no evento deles, o Codificando 2010, e é claro que eu aceitei de primeira, o tema como sempre girou em torno do jQuery e ASP.Net MVC sob o título “<em>jQuery</em> com <em>MVC: A Dupla Dinâmica</em>”.</p>
<p>Foi uma ótima oportunidade, o pessoal gostou tanto da apresentação que pediram para continuar, como tinha um horário vago depois da minha palestra eu extendi por mais uma hora, e olha que daria para falar muito mais.</p>
<p>Além disso, o pessoal do Codificando abriu as portas do evento para uma reunião do .NetArchitects, foi muito legal, eu comecei fazendo a apresentação do grupo e contando a história de como tudo aconteceu e qual era a intenção do DNA, logo depois o <a href="http://www.mgrtconsultoria.com/blog/">Fábio Margarito</a>, <a href="http://reverb.leandrodaniel.com/">Leandro Daniel</a>, <a href="http://blog.egomesbrandao.net/">Emmanuel</a>, <a href="http://www.viniciusquaiato.com/">Vinicius Quaiato</a>, <a href="http://www.danielfonsecacastro.com.br/">Daniel Fonseca Castro</a> e o <a href="http://www.valdir.blog.br">Valdir Rogério</a> puxaram a discussão com o pessoal do codificando, não pude ficar muito tempo pois tive que sair para a minha palestra.</p>
<p>Foi um prazer novamente conversar com a galera da comunidade como <a href="http://rodolforoim.wordpress.com">Rodolfo Roim</a>, <a href="http://www.israelaece.com/">Israel Aece</a>, <a href="http://www.facunte.com.br/">Facunte</a>, <a href="http://www.alexandretarifa.com.br/">Alexandre Tarifa</a>, <a href="http://www.diegonogare.net/">Diego Nogare</a>, <a href="http://www.fernandasallai.com/">Fernanda Sallai</a> entre outros.</p>
<p>Gostaria de agradecer o pessoal do Codificando pela abertura que nos deram, valeu pessoal!</p>
<p>&nbsp;</p>
<div class="wlWriterEditableSmartContent" id="scid:66721397-FF69-4ca6-AEC4-17E6B3208830:995d47e4-042f-44bd-88c7-175a0a6c850e" style="margin: 0px; display: inline; float: none; padding: 0px;">
<table>
<tbody>
<tr>
<td><a style="border: 0px;" href="http://cid-19f0f5c720bea437.skydrive.live.com/redir.aspx?page=play&amp;resid=19F0F5C720BEA437!622&amp;type=5&amp;Bsrc=Photomail&amp;Bpub=SDX.Photos" target="_blank"><img style="border: 0px;" alt="Exibir Codificando 2010" src="http://www.cavalcante.net/image.axd?picture=Codificando%202010_2.jpg" /></a></p>
<div style="width: 410px; text-align: center; overflow: visible;">
<div style="width: 410px; overflow: visible;"><a style="text-decoration: none;" href="http://cid-19f0f5c720bea437.skydrive.live.com/redir.aspx?page=browse&amp;resid=19F0F5C720BEA437!622&amp;type=5&amp;Bsrc=Photomail&amp;Bpub=SDX.Photos" target="_blank"><span style="line-height: 1.36em; padding: 0px; width: 410px; font-size: 26 pt; font-family: 'Segoe UI', helvetica, arial, sans-serif;">Codificando 2010</span></a></div>
<div style="text-align: center; padding: 9px 0px 0px 0px; margin: 0px 0px 0px 0px; font-family: 'Segoe UI', helvetica, arial, sans-serif; font-size: 8 pt;"><a style="font-family: 'Segoe UI', helvetica, arial, sans-serif; font-size: 8 pt; outline: none; border-style: none; text-decoration: none; margin: 0px 6px 0px 6px;" href="http://cid-19f0f5c720bea437.skydrive.live.com/redir.aspx?page=play&amp;resid=19F0F5C720BEA437!622&amp;type=5&amp;Bsrc=Photomail&amp;Bpub=SDX.Photos" target="_blank">EXIBIR APRESENTAÇÃO DE SLIDES</a> <a style="font-family: 'Segoe UI', helvetica, arial, sans-serif; font-size: 8 pt; outline: none; border-style: none; text-decoration: none; margin: 0px 6px 0px 6px;" href="http://cid-19f0f5c720bea437.skydrive.live.com/redir.aspx?page=downloadphotos&amp;resid=19F0F5C720BEA437!622&amp;type=5&amp;Bsrc=Photomail&amp;Bpub=SDX.Photos" target="_blank">BAIXAR TUDO</a></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="__ss_4687891" style="width: 425px;"><strong style="margin: 12px 0px 4px; display: block;"><a title="jQuery e ASP.Net MVC a dupla dinâmica" href="http://www.slideshare.net/vcavalcante/jquery-e-aspnet-mvc-a-dupla-dinmica">jQuery e ASP.Net MVC a dupla dinâmica</a></strong><object id="__sse4687891" width="425" height="355" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=jqueryeasp-netmvcadupladinmica-codificando2010-100705220123-phpapp02&amp;stripped_title=jquery-e-aspnet-mvc-a-dupla-dinmica" /><param name="allowscriptaccess" value="always" /><param name="allowfullscreen" value="true" /><embed id="__sse4687891" width="425" height="355" type="application/x-shockwave-flash" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=jqueryeasp-netmvcadupladinmica-codificando2010-100705220123-phpapp02&amp;stripped_title=jquery-e-aspnet-mvc-a-dupla-dinmica" allowFullScreen="true" allowScriptAccess="always" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px;">Veja mais <a href="http://www.slideshare.net/">apresentações</a> do <a href="http://www.slideshare.net/vcavalcante">Victor Cavalcante</a>.</div>
</div>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/dsGV9XI8Q4s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2010/07/codificando-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2010/07/codificando-2010/</feedburner:origLink></item>
		<item>
		<title>WebCast sobre jQuery e ASP.Net MVC</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/6pA11n7s680/</link>
		<comments>http://blog.lambda3.com.br/2010/06/webcast-sobre-jquery-e-asp-net-mvc/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 01:36:21 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Webcast]]></category>

		<guid isPermaLink="false">/post/WebCast-sobre-jQuery-e-ASPNet-MVC.aspx</guid>
		<description><![CDATA[Hoje eu tive o prazer de apresentar mais um WebCast com o título “Construindo aplicações Web de última geração com Microsoft ASP.NET MVC 2 e jQuery”. A ideia era apresentar como trabalhar da forma correta com jQuery e como o &#8230; <a href="http://blog.lambda3.com.br/2010/06/webcast-sobre-jquery-e-asp-net-mvc/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Hoje eu tive o prazer de apresentar mais um WebCast com o título “Construindo aplicações Web de última geração com Microsoft ASP.NET MVC 2 e jQuery”.</p>
<p>A ideia era apresentar como trabalhar da forma correta com jQuery e como o ASP.Net MVC ajuda a trabalhar com o client-side.</p>
<p>Segue abaixo o que foi abordado:</p>
<ul>
<li>WebStandards e o ASP.Net MVC</li>
<li>jQuery</li>
<li>Seletores</li>
<li>Eventos</li>
<li>Plugins</li>
<li>Ajax</li>
<li>Json com ASP.Net MVC</li>
</ul>
<p>Assim que ficar disponível a gravação do WebCast eu irei disponibilizar o link aqui no blog.</p>
<div id="__ss_4470804" style="width: 425px;"><strong style="margin: 12px 0px 4px; display: block;"><a title="jQuery e ASP.Net mvc2" href="http://www.slideshare.net/vcavalcante/jquery-e-aspnet-mvc2">jQuery e ASP.Net mvc2</a></strong><object id="__sse4470804" width="425" height="355" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=jqueryeasp-netmvc2-100610230041-phpapp02&amp;stripped_title=jquery-e-aspnet-mvc2" /><param name="allowscriptaccess" value="always" /><param name="allowfullscreen" value="true" /><embed id="__sse4470804" width="425" height="355" type="application/x-shockwave-flash" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=jqueryeasp-netmvc2-100610230041-phpapp02&amp;stripped_title=jquery-e-aspnet-mvc2" allowFullScreen="true" allowScriptAccess="always" allowscriptaccess="always" allowfullscreen="true" /></object></div>
<p>A aplicação que utilizei como exemplo <a title="Aplicação de exemplo" href="http://www.cavalcante.net/files/DemoWebCastjQuery.zip">está disponível aqui</a>.</p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/6pA11n7s680" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2010/06/webcast-sobre-jquery-e-asp-net-mvc/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2010/06/webcast-sobre-jquery-e-asp-net-mvc/</feedburner:origLink></item>
		<item>
		<title>MSDN Webcast: O que há de novo no ASP.NET MVC 2.0</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/FFnA-nEOZSw/</link>
		<comments>http://blog.lambda3.com.br/2010/05/msdn-webcast-o-que-ha-de-novo-no-asp-net-mvc-2-0/#comments</comments>
		<pubDate>Tue, 04 May 2010 02:37:00 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[Webcast]]></category>

		<guid isPermaLink="false">/post/MSDN-Webcast-O-que-ja-de-novo-no-ASPNET-MVC-20.aspx</guid>
		<description><![CDATA[Estou meio (muito) sumido do blog, mas estou me programando para voltar a postar e gravar os podcasts, enquanto isso não acontece vocês podem assistir no dia 04/05 o webcast que eu e o Márcio Fábio Althmann iremos apresentar. Como &#8230; <a href="http://blog.lambda3.com.br/2010/05/msdn-webcast-o-que-ha-de-novo-no-asp-net-mvc-2-0/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Estou meio (muito) sumido do blog, mas estou me programando para voltar a postar e gravar os podcasts, enquanto isso não acontece vocês podem assistir no dia 04/05 o webcast que eu e o <a href="http://www.marcioalthmann.net/">Márcio Fábio Althmann</a> iremos apresentar.</p>
<p>Como não podia deixar de ser, irei falar sobre as novidades do ASP.NET MVC 2.0, acabei de terminar as demos, está bem legal, não percam!</p>
<p><strong>Duração:</strong><br />
60 Minutos</p>
<p><strong>Data de Início:<br />
</strong>terça-feira, 4 de maio de 2010 12:00 Brasília</p>
<p><strong>Visão Geral do Evento<br />
</strong>Saiba mais sobre as mais recentes inovações no ASP.NET MVC 2 e suporte no Microsoft Visual Studio 2008 e 2010. Apresentaremos a você uma série de melhorias em produtividade (e extensibilidade), tais como auxiliares de modelos, validação de modelos e o novo recurso &#8220;Áreas&#8221;, que irá aprimorar o desenvolvimento em equipe para grandes sites. Com os auxiliares de modelos você pode colocar seu site no ar em execução para qualquer tipo de entidade de dados sem precisar criar uma interface do usuário. Com validação aprimorada no servidor e um novo suporte à validação no cliente, seu modelo de dados de negócios pode definir o comportamento de sua aplicação automaticamente. Tudo isso e muito mais!</p>
<p><a href="https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032449543&amp;EventCategory=4&amp;culture=pt-BR&amp;CountryCode=BR">Inscriva-se</a></p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/FFnA-nEOZSw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2010/05/msdn-webcast-o-que-ha-de-novo-no-asp-net-mvc-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2010/05/msdn-webcast-o-que-ha-de-novo-no-asp-net-mvc-2-0/</feedburner:origLink></item>
		<item>
		<title>Cavalcante.Net Podcast com Giovanni Bassi falando sobre PSD</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/oIILo10iMlc/</link>
		<comments>http://blog.lambda3.com.br/2010/03/cavalcante-net-podcast-com-giovanni-bassi-falando-sobre-psd/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 21:00:00 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Práticas de Engenharia]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Scrum Developer]]></category>

		<guid isPermaLink="false">/post/CavalcanteNet-Podcast-com-Giovanni-Bassi-falando-sobre-PSD.aspx</guid>
		<description><![CDATA[Hoje é a estreia do Cavalcante.net Podcast, é o primeiro de muitos (assim espero :p), para estrear em grande estilo convidei o Giovanni Bassi para falar sobre a nova Certificação Professional Scrum Developer. Neste podcast o Giovanni tira várias dúvidas &#8230; <a href="http://blog.lambda3.com.br/2010/03/cavalcante-net-podcast-com-giovanni-bassi-falando-sobre-psd/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Hoje é a estreia do Cavalcante.net Podcast, é o primeiro de muitos (assim espero :p), para estrear em grande estilo convidei o <a href="http://www.giovannibassi.com/">Giovanni Bassi</a> para falar sobre a nova Certificação Professional Scrum Developer.</p>
<p>Neste podcast o Giovanni tira várias dúvidas sobre a certificação PSD e explica como ela irá funcionar, para quem tem interesse em tirar a certificação é realmente imperdível.</p>
<p>Se você quer acompanhar os próximos episódios, não esqueça de acompanhar o <a href="http://feeds.feedburner.com/VictorCavalcanteBlog-Podcast">rss do podcast</a>.</p>
<p><a href="/Cavalcante.netPodcast1.mp3">Podcast1 (16MB)</a></p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/oIILo10iMlc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2010/03/cavalcante-net-podcast-com-giovanni-bassi-falando-sobre-psd/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2010/03/cavalcante-net-podcast-com-giovanni-bassi-falando-sobre-psd/</feedburner:origLink></item>
		<item>
		<title>Lançamentos no mundo .NET</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/4n46d6wOp6Q/</link>
		<comments>http://blog.lambda3.com.br/2010/02/lancamentos-no-mundo-net/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 01:29:32 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">/post/Lancamentos-no-mundo-NET.aspx</guid>
		<description><![CDATA[Esta semana a Microsoft estava empolgada, a consequência dessa empolgação foi me deixar acordado de madrugada para poder ver as novidades, e bota novidade nisso, lançamento de vários Release Candidates e Betas, vamos ver quais são: &#160; ASP.NET MVC 2 &#8230; <a href="http://blog.lambda3.com.br/2010/02/lancamentos-no-mundo-net/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Esta semana a Microsoft estava empolgada, a consequência dessa empolgação foi me deixar acordado de madrugada para poder ver as novidades, e bota novidade nisso, lançamento de vários Release Candidates e Betas, vamos ver quais são:</p>
<p>&nbsp;</p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7aba081a-19b9-44c4-a247-3882c8f749e3&amp;displaylang=en"><strong>ASP.NET MVC 2 Release Candidate 2</strong></a><br />
Estava esperando esta versão para poder olhar melhor as novidades do ASP.NET MVC e posso falar que estou gostando muito, estou fazendo alguns testes e logo vocês verão posts sobre as novidades.</li>
<li><strong><a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx">Visual Studio 2010 e .NET Framework 4.0 release Candidate</a></strong><br />
A principal diferença entre a versão Beta 2 e RC é a performance, isto fica claro quando você digita e não vê mais atrasos no intellisense ou na carga de um projeto, ficou muito bom.</li>
<li><a href="http://unity.codeplex.com/wikipage?title=Unity2%20Beta1"><strong>Enterprise Library 5.0 Beta 1</strong></a><br />
Um lançamento esperado pela comunidade, o time da <a href="http://msdn.microsoft.com/en-us/practices/default.aspx">patterns &amp; practices</a> trabalhou duro para liberar este lançamento, para quem quer ver as novidades pode acessar um <a href="http://blogs.msdn.com/agile/archive/2009/12/07/enterprise-library-5-0-preview-video-posted.aspx">vídeo</a> que foi feito pelo <a href="http://blogs.msdn.com/agile/">Grigori Melnik</a>, também tem este <a href="http://reverb.leandrodaniel.com/reverb/post/Enterprise-Library-50-esta-chegando!.aspx">post</a> do <a href="http://reverb.leandrodaniel.com/reverb/">Leandro Daniel</a> contando as novidades.</li>
<li><a href="http://unity.codeplex.com/wikipage?title=Unity2%20Beta1"><strong>Unity 2.0 Beta 1</strong></a><br />
Um ótimo contêiner de Injeção de Dependência que também estava sendo aguardado.</li>
</ul>
<p>Uma coisa é certa, como não gosto de sair na Avenida para pular carnaval e muito menos ficar assistindo escola de samba, vou estudar muito neste carnaval, bom estudos para todos e até a próxima.</p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/4n46d6wOp6Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2010/02/lancamentos-no-mundo-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2010/02/lancamentos-no-mundo-net/</feedburner:origLink></item>
		<item>
		<title>Cada um no seu quadrado no ASP.NET MVC</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/bN03g06sYNo/</link>
		<comments>http://blog.lambda3.com.br/2010/02/cada-um-no-seu-quadrado-no-asp-net-mvc/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 23:32:29 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>

		<guid isPermaLink="false">/post/Cada-um-no-seu-quadrado-no-ASPNET-MVC.aspx</guid>
		<description><![CDATA[Como nos 2 últimos posts eu falei sobre dúvidas que eu tinha recebido, vou continuar na mesma linha, só que agora busquei a dúvida nesta thread do grupo .NetArchitects, entre outras (muitas) coisas que foram discutidas foi levantado a dúvida &#8230; <a href="http://blog.lambda3.com.br/2010/02/cada-um-no-seu-quadrado-no-asp-net-mvc/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Como nos 2 últimos posts eu falei sobre dúvidas que eu tinha recebido, vou continuar na mesma linha, só que agora busquei a dúvida nesta <a href="http://groups.google.com/group/dotnetarchitects/browse_thread/thread/145750587e22714a">thread</a> do grupo <a href="http://www.dotnetarchitects.net">.NetArchitects</a>, entre outras (muitas) coisas que foram discutidas foi levantado a dúvida sobre a responsabilidade da View,  na dúvida o <a href="http://blog.egomesbrandao.net">Emmanuel</a> propõe um cenário que está exposto abaixo:</p>
<blockquote><p>Se você tem que exibir transações de conta corrente, por exemplo, débito e crédito, mas quando o saldo fica negativo você quer colocar a linha em vermelho, é uma regra de apresentação. Mas onde estaria esse código? Acho que não estaria no domínio por que não diz respeito a ele&#8230; Seria no Controller?</p></blockquote>
<p>Esta é uma pergunta mais comum do que se imagina, já me perguntaram diversas vezes sobre a responsabilidade de cada letra do MVC, e é por isso que eu coloquei como título deste post como “<a href="http://www.youtube.com/watch?v=Ktgsn_G59os">Cada um no seu quadrado</a>”.</p>
<p>A resposta simples e direta para a pergunta acima é que essa regra fica na View, mas vamos elaborar um pouco mais, por que não no Controller? Simples, por que assim ele estaria invadindo o quadrado da View, vou exemplificar o meu ponto de vista:</p>
<p>No cenário proposto pelo Emmanuel, o Controller enviaria os dados através da ViewData para a View e ela por sua vez verificaria se o Saldo é negativo, caso fosse exibiria ele em vermelho, vamos ver um pouco de código.</p>
<p>Vamos começar pelo modelo, para representar o cenário criei 3 classes, a Conta que contem os dados da conta e as transações, a Transação que representa cada transação da conta e o Repositório que para o exemplo irá preencher os objetos com dados randômicos.</p>
<p><strong>Conta</strong></p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:2484c917-f2d6-4415-aedf-50ce529ce623" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:c#">public class Conta
{
    public int Numero { get; set; }
    public int Agencia { get; set; }
    public IList&lt;Transacao&gt; Transacoes { get; set; }
    public double Saldo { get; set; }
}</pre>
</div>
<p><strong>Transação</strong></p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:683b87da-80d2-43f6-af42-f70f5f01af44" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:c#">public class Transacao
{
    public DateTime Data { get; set; }
    public string Descricao { get; set; }
    public double Valor { get; set; }
}</pre>
</div>
<p><strong>Repositório</strong></p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:47f46a85-e7eb-45b2-8530-21d0e16d8d14" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:c#">public class ContaRepositorio
{
    public Conta get(int Agencia, int Numero) {
        //aqui faria a consulta no banco, vou fazer um
        //faz de conta para facilitar
        Conta conta = new Conta();
        conta.Agencia = Agencia;
        conta.Numero = Numero;
        conta.Transacoes = new List&lt;Transacao&gt;();
        Random rnd = new Random();
        for (int i = 0; i &lt; 15; i++)
        {
            conta.Transacoes.Add(new Transacao{Data = DateTime.Now.AddDays(-i),Descricao = "Transação nº "+i, Valor= rnd.Next(0,358)});
        }
        conta.Saldo = rnd.Next(-1245, 1245);
        return conta;
    }
}</pre>
</div>
<p>Vamos ver agora o Controller, criei uma única action que mandará através da ViewData os dados da Conta, neste ponto é que surge a dúvida, posso colocar a inteligência de trocar a cor aqui? Bom, tecnicamente pode, poderia criar um objeto intermediário que tem sido chamado de <a href="http://blogs.msdn.com/dphill/archive/2009/01/31/the-viewmodel-pattern.aspx">ViewModel</a> para armazenar esta “condição”, mas na minha opinião o Controller estará invadindo o quadrado da View. Na soluçao proposta abaixo eu passo somente os dados para a View.</p>
<p><strong>Controller</strong></p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:839326ee-b7ea-4f11-a86d-5e8ccb1bb62c" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:c#">public class ContaController : Controller
{
    //
    // GET: /Conta/

    public ActionResult Index()
    {
        ContaRepositorio rep = new ContaRepositorio();
        ViewData.Model = rep.get(1234, 123456);
        return View();
    }

}</pre>
</div>
<p>Vamos agora para a View, de acordo com o valor do saldo é escolhido a classe que será aplicano na tag que contém o saldo.</p>
<p><strong>View</strong></p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:74965858-5ea0-41a7-8617-e84d35cd0fd3" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:html">&lt;h2&gt;Extato de Conta&lt;/h2&gt;

&lt;fieldset&gt;
    &lt;p&gt;Numero: &lt;%= Html.Encode(Model.Numero) %&gt;&lt;/p&gt;
    &lt;p&gt;Agencia: &lt;%= Html.Encode(Model.Agencia) %&gt;&lt;/p&gt;
    &lt;table&gt;
        &lt;thead&gt;
            &lt;tr&gt;
                &lt;th&gt;Data&lt;/th&gt;
                &lt;th&gt;Descrição&lt;/th&gt;
                &lt;th&gt;Valor&lt;/th&gt;
            &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
            &lt;%foreach (var item in Model.Transacoes){%&gt;
            &lt;tr&gt;
                &lt;td&gt;&lt;%= Html.Encode(String.Format("{0:d/M/yyyy}", item.Data))%&gt;&lt;/td&gt;
                &lt;td&gt;&lt;%= Html.Encode( item.Descricao)%&gt;&lt;/td&gt;
                &lt;td&gt;&lt;%= Html.Encode(String.Format("{0:F}", item.Valor)) %&gt;&lt;/td&gt;
            &lt;/tr&gt;

            &lt;%} %&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;%
    string classe;
    if (Model.Saldo &lt; 0)
    {
        classe = "negativo";
    }
    else {
        classe = "positivo";
    } %&gt;
    &lt;p&gt;Saldo: &lt;span class="&lt;%=classe%&gt;"&gt;&lt;%= Html.Encode(String.Format("{0:F}", Model.Saldo)) %&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/fieldset&gt;</pre>
</div>
<p>No CSS adicionei as seguintes classes:</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:254dadfe-8eab-494b-ad75-cc00c512b08d" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:css">.positivo{color:Blue;}
.negativo{color:Red;}</pre>
</div>
<p>O resultado esta na imagem abaixo:</p>
<p><a href="http://www.cavalcante.net/image.axd?picture=image.png" rel="lightbox[2314]"><img style="display: inline; border: 0px;" title="image" alt="image" src="http://www.cavalcante.net/image.axd?picture=image_thumb.png" width="154" height="315" border="0" /></a></p>
<p>Este código eu fiz com a intenção de demonstrar que a View não é <strong>burra </strong>(no bom sentido), ela pode e deve conter regras que são de interface, como no exemplo acima.</p>
<p>O Emmanuel quis complicar um pouco mais o cenário e colocou o seguinte:</p>
<blockquote><p>E se esse núcleo do meu sistema é consumido por diversas interfaces? Mobile, desktop, web; essa regra da interface, não deveria estar em outro local que não a interface?</p></blockquote>
<p>Quando tive os primeiros contatos com o ASP.NET MVC tive a mesma dúvida, mas com o tempo e várias pesquisas fiquei convencido que isto não é possível e nem interessante, digo isso por 2 motivos:</p>
<ol>
<li>O primeiro é técnico, como o MVC é um padrão de Interface Gráfica ele depende muito do ambiente, que neste caso é o ASP.NET MVC, ou seja, eu não conseguiria reutilizar o Controller do ASP.NET MVC para uma aplicação Windows Form ou uma aplicação Mobile.</li>
<li>O segundo é sobre os diferente tipos de mídias que poderíamos utilizar para a nossa interface, cada uma dessas mídias tem suas próprias preocupações de acessibilidade e usabilidade e para lidar com essas preocupações cada uma delas deve ter autonomia.</li>
</ol>
<p>O código deste exemplo já está <a href="http://www.cavalcante.net/files/MVC_Banco.zip">disponível</a>.</p>
<p>Bom, espero ter respondido a dúvida do Emmanuel e de outras pessoas. Até a próxima.</p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/bN03g06sYNo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2010/02/cada-um-no-seu-quadrado-no-asp-net-mvc/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2010/02/cada-um-no-seu-quadrado-no-asp-net-mvc/</feedburner:origLink></item>
		<item>
		<title>Welcome to BlogEngine.NET 1.6.0</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/93u5D9ijHdc/</link>
		<comments>http://blog.lambda3.com.br/2010/01/welcome-to-blogengine-net-1-6-0/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 04:00:00 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Outros]]></category>

		<guid isPermaLink="false">/post/Welcome-to-BlogEngineNET-1-6.aspx</guid>
		<description><![CDATA[If you see this post it means that BlogEngine.NET 1.6.0 is running and the hard part of creating your own blog is done. There is only a few things left to do. Write Permissions To be able to log in &#8230; <a href="http://blog.lambda3.com.br/2010/01/welcome-to-blogengine-net-1-6-0/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>If you see this post it means that BlogEngine.NET 1.6.0 is running and the hard part of creating your own blog is done. There is only a few things left to do.</p>
<h2>Write Permissions</h2>
<p>To be able to log in to the blog and writing posts, you need to enable write permissions on the App_Data folder. If you&rsquo;re blog is hosted at a hosting provider, you can either log into your account&rsquo;s admin page or call the support. You need write permissions on the App_Data folder because all posts, comments, and blog attachments are saved as XML files and placed in the App_Data folder.&nbsp;</p>
<p>If you wish to use a database to to store your blog data, we still encourage you to enable this write access for an images you may wish to store for your blog posts.&nbsp; If you are interested in using Microsoft SQL Server, MySQL, VistaDB, or other databases, please see the <a href="http://blogengine.codeplex.com/documentation">BlogEngine wiki</a> to get started.</p>
<h2>Security</h2>
<p>When you&#8217;ve got write permissions to the App_Data folder, you need to change the username and password. Find the sign-in link located either at the bottom or top of the page depending on your current theme and click it. Now enter &#8220;admin&#8221; in both the username and password fields and click the button. You will now see an admin menu appear. It has a link to the &#8220;Users&#8221; admin page. From there you can change the username and password.&nbsp; Passwords are hashed by default so if you lose your password, please see the <a href="http://blogengine.codeplex.com/documentation">BlogEngine wiki</a> for information on recovery.</p>
<h2>Configuration and Profile</h2>
<p>Now that you have your blog secured, take a look through the settings and give your new blog a title.&nbsp; BlogEngine.NET 1.4 is set up to take full advantage of of many semantic formats and technologies such as FOAF, SIOC and APML. It means that the content stored in your BlogEngine.NET installation will be fully portable and auto-discoverable.&nbsp; Be sure to fill in your author profile to take better advantage of this.</p>
<h2>Themes and Widgets</h2>
<p>One last thing to consider is customizing the look of your blog.&nbsp; We have a few themes available right out of the box including two fully setup to use our new widget framework.&nbsp; The widget framework allows drop and drag placement on your side bar as well as editing and configuration right in the widget while you are logged in.&nbsp; Be sure to check out <a href="http://dotnetblogengine.net">our home page</a> for more theme choices and downloadable widgets to add to your blog.</p>
<h2>On the web</h2>
<p>You can find BlogEngine.NET on the <a href="http://www.dotnetblogengine.net">official website</a>. Here you&#8217;ll find tutorials, documentation, tips and tricks and much more. The ongoing development of BlogEngine.NET can be followed at <a href="http://blogengine.codeplex.com/">CodePlex</a> where the daily builds will be published for anyone to download.</p>
<p>Good luck and happy writing.</p>
<p>The BlogEngine.NET team</p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/93u5D9ijHdc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2010/01/welcome-to-blogengine-net-1-6-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2010/01/welcome-to-blogengine-net-1-6-0/</feedburner:origLink></item>
		<item>
		<title>DropDownList em Cascata com ASP.NET MVC e jQuery</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/mIyMVX-8ZIw/</link>
		<comments>http://blog.lambda3.com.br/2009/09/dropdownlist-em-cascata-com-asp-net-mvc-e-jquery/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 00:11:23 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">/post/DropDownList-com-ASPNET-MVC-e-jQuery.aspx</guid>
		<description><![CDATA[Mais uma vez recebi algumas dúvidas sobre ASP.NET MVC e vou compartilhar com todos a resposta que eu dei, desta vez a dúvida foi de como fazer um conjunto de DropDownList em cascata. O que me parece recorrente na maioria &#8230; <a href="http://blog.lambda3.com.br/2009/09/dropdownlist-em-cascata-com-asp-net-mvc-e-jquery/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Mais uma vez recebi algumas dúvidas sobre ASP.NET MVC e vou compartilhar com todos a resposta que eu dei, desta vez a dúvida foi de como fazer um conjunto de DropDownList em cascata.</p>
<p>O que me parece recorrente na maioria das dúvidas que eu recebo em relação ao ASP.NET MVC, é que as dúvidas sempre estão no lado do cliente, no WebForms poderíamos configurar a propriedade AutoPostBack para True do DropDowList e tratar o resto no lado do servidor, no MVC é diferente, você vai ter que escrever um pouco de JavaScript para fazer isso, vamos analisar o problema e criar um cenário.</p>
<p>Vamos fazer uma página que terá um DropDownList com uma relação de estados e quando for selecionado o estado listaremos no outro DropDownList a relação de cidades.</p>
<p>Para isso quando a página for renderizada pela primeira vez já iremos trazer o DropDownList de Estados carregado e iremos carregar o de Cidades com jQuery/Ajax.</p>
<p>Para fazer isso vamos criar as nossas classes do modelo, na pasta “models” crie as classes abaixo:</p>
<p>Uf.cs:</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:309344ef-149e-431a-adce-b012adb926db" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:c#">public class Uf
{
    public Uf(string siglaUf, string nome)
    {
        this.Nome = nome;
        this.SiglaUf = siglaUf;
    }
    public string SiglaUf { get; set; }
    public string Nome { get; set; }
}</pre>
</div>
<p>Cidade.cs</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c140c501-64e0-4578-aa2e-de3aa3525cad" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:c#">public class Cidade
{
    public Cidade(string id,string siglaUf, string nome)
    {
        this.Id = id;
        this.SiglaUf = siglaUf;
        this.Nome = nome;
    }
    public string Id { get; set; }
    public string SiglaUf { get; set; }
    public string Nome { get; set; }

}</pre>
</div>
<p>Vamos criar agora 2 classes de repositório, para facilitar a consulta no exemplo, crie as 2 classes abaixo na pasta “models”:</p>
<p>UfRepository.cs</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:a13096b1-7013-438e-9b5e-a262de6269d9" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:c#">public class UfRepository
{
    public static IList&lt;Uf&gt; ListaUf()
    {
        List&lt;Uf&gt; cidades = new List&lt;Uf&gt;();
        cidades.Add(new Uf("SP", "São Paulo"));
        cidades.Add(new Uf("RJ", "Rio de Janeiro"));
        cidades.Add(new Uf("MG", "Minas Gerais"));
        return cidades;

    }

}</pre>
</div>
<p>CidadeRepository.cs</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:ae4081f8-e661-4c29-b9c1-5d1f76bba5d9" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:c#">public class CidadeRepository
{

    public static IList&lt;Cidade&gt; ListaCidade(string SiglaUf)
    {
        List&lt;Cidade&gt; cidades = new List&lt;Cidade&gt;();
        cidades.Add(new Cidade("1","RJ", "Angra dos Reis"));
        cidades.Add(new Cidade("2", "RJ", "Rio de Janeiro"));
        cidades.Add(new Cidade("3", "RJ", "Barra Mansa"));
        cidades.Add(new Cidade("4","SP", "São Paulo"));
        cidades.Add(new Cidade("5", "SP", "Sertãozinho"));
        cidades.Add(new Cidade("6", "SP", "Osasco"));
        cidades.Add(new Cidade("7", "MG", "Belo Horizonte"));
        cidades.Add(new Cidade("8", "MG", "Poços de Caldas"));
        cidades.Add(new Cidade("9", "MG", "Betim"));
        return cidades.Where(x=&gt; x.SiglaUf==SiglaUf).ToList();

    }
}</pre>
</div>
<p>Agora vamos modificar o arquivo Site.Master que está na pasta ViewsShared, esta modificação é só para acrescentar a referência para o arquivo do jQuery e criar um ContentPlaceHolder para acrescentarmos o JavaScript necessário na nossa View.</p>
<p>Site.Master (linhas 5 e 6)</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:e9291f1d-aa41-4774-9ca3-4b53f14dea21" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:html">&lt;head runat="server"&gt;
    &lt;title&gt;&lt;asp:ContentPlaceHolder ID="TitleContent" runat="server" /&gt;&lt;/title&gt;
    &lt;link href="../../Content/Site.css" rel="stylesheet" type="text/css" /&gt;
    &lt;script src="../../Scripts/jquery-1.3.2.js" type="text/javascript"&gt;&lt;/script&gt;
    &lt;asp:ContentPlaceHolder ID="HeadContent" runat="server"&gt;&lt;/asp:ContentPlaceHolder&gt;
&lt;/head&gt;</pre>
</div>
<p>Como falado acima precisamos que na primeira renderização da página ela carregue a lista de estados, para isso precisamos carregar esta lista para a View, vou fazer isso através da ViewData[“Ufs”], irei fazer isso na Action Index da HomeController (se ainda não foi feito, adicione um using para o namespace Models no começo da sua classe), veja no exemplo abaixo:</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:278cc70c-5857-4c98-b4bf-7b3b5c267ada" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:c#">public ActionResult Index()
{
    ViewData["Message"] = "Welcome to ASP.NET MVC!";
    ViewData["Ufs"] = new SelectList(UfRepository.ListaUf(),"SiglaUf","Nome");
    return View();
}</pre>
</div>
<p>Agora poderemos já começar a fazer o HTML, para isso acrescente o código na View Index da pasta Home conforme o exemplo abaixo:</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:8d62fb24-ddff-4084-9538-52b2752ca021" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:html">&lt;% =Html.DropDownList("Ufs","Estado") %&gt;
&lt;select id="Cidades"&gt;
    &lt;option selected="selected" value=""&gt;Cidade&lt;/option&gt;
&lt;/select&gt;</pre>
</div>
<p>Como vocês podem perceber na primeira linha, estou criando um DropDownList passando somente 2 parâmetros, o método tentará encontrar uma ViewData com o nome passado no primeiro parâmetro e irá tentar converter esta ViewData para um objeto SelectList, não vou me aprofundar muito para não fugir do escopo, em outro post irei falar mais detalhadamente sobre o DropDownList e SelectList.</p>
<p>Se você testar, verificará que o primeiro DropDownList já está carregando, mas quando mudamos o item selecionado nada acontece, para fazer isso devemos escrever um pouquinho de JavaScript, para facilitar este trabalho iremos usar o jQuery e fazer uma chamada Ajax para uma Action que retorna um JSON.</p>
<p>Vamos começar criando uma Action chamada ListarCidade na HomeController que irá receber no parâmetro id o estado que foi selecionado e irá retornar uma lista de cidades que são daquele estado conforme o código abaixo:</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:b8a437a9-c5e9-476d-8c6e-31aa4db2cdb9" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:c#">public ActionResult ListaCidade(string id) {
    return Json(CidadeRepository.ListaCidade(id));
}</pre>
</div>
<p>Voltando na View Index na pasta Home vamos acrescentar o JavaScript necessário para fazer a chamada Ajax via jQuery, segue o código:</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:b94a0e6f-d3ed-4064-961b-6b395f6fb355" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:js">&lt;asp:Content ID="Javascript" ContentPlaceHolderID="HeadContent" runat="server"&gt;
    &lt;script type="text/javascript"&gt;
        $(document).ready(function() {
            $("#Ufs").change(function() {
                listaCidade($(this).val());
            });
        });
        //chamada ajax para a Action ListaCidade
        //passando como parâmetro a Estado selecionado
        function listaCidade(uf) {

            $.getJSON('&lt;%= Url.Action("ListaCidade") %&gt;/' + uf, listaCidadeCallBack);
        }
        //função que irá ser chamada quando terminar
        //a chamada ajax
        function listaCidadeCallBack(json) {
            //Limpar os itens que são maiores que 0
            //Ou seja: não retirar o primeiro item
            $("#Cidades :gt(0)").remove();
            $(json).each(function() {
                //adicionando as opções de acordo com o retorno
                $("#Cidades").append("&lt;option value='" + this.Id + "'&gt;" + this.Nome + "&lt;/option&gt;");
            });
        }

    &lt;/script&gt;
&lt;/asp:Content&gt;</pre>
</div>
<p>Está pronto, é claro que não é mais fácil que o WebForms, mas o controle te traz mais responsabilidades, você vai ter que fazer (e conhecer) mais HTML e Javascript, não tem jeito.</p>
<p>Faça o <a href="http://www.cavalcante.net/files/DropDownListEmCascata.zip">download da solução</a>.</p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/mIyMVX-8ZIw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2009/09/dropdownlist-em-cascata-com-asp-net-mvc-e-jquery/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2009/09/dropdownlist-em-cascata-com-asp-net-mvc-e-jquery/</feedburner:origLink></item>
		<item>
		<title>Upload com ASP.NET MVC e jQuery</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/hfn1iwuDHs8/</link>
		<comments>http://blog.lambda3.com.br/2009/09/upload-com-asp-net-mvc-e-jquery/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 16:05:00 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">/post/Upload-com-ASPNET-MVC-e-jQuery.aspx</guid>
		<description><![CDATA[Já havia recebido 3 e-mails com dúvidas de como fazer upload no ASP.NET MVC e hoje me chamaram no  messenger com a mesma dúvida, então decidi escrever um post de como fazer isso de forma simples e bonita, é claro &#8230; <a href="http://blog.lambda3.com.br/2009/09/upload-com-asp-net-mvc-e-jquery/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Já havia recebido 3 e-mails com dúvidas de como fazer upload no ASP.NET MVC e hoje me chamaram no  messenger com a mesma dúvida, então decidi escrever um post de como fazer isso de forma simples e bonita, é claro que vou usar o jQuery para isso.</p>
<p>No Web Form tínhamos um controle server side chamado FileUpload e no ASP.NET MVC não existe este controle, então temos que escrever o HTML necessário para fazer o formulário da forma correta, eu estou usando o plugin <a title="uploadfy Um plugin para jQuery que envia de múltiplos arquivos para o servidor." href="http://www.uploadify.com/">uploadify</a> que faz o envio assíncrono de arquivos para o servidor, ele é muito flexível, mas irei mostrar somente o básico dele.</p>
<p>A primeira coisa a saber é que para enviar um arquivo para o server é necessário que o formulário contenha o parâmetro <strong>enctype</strong> configurado para<strong> &#8220;multipart/form-data&#8221;,</strong> sem isso ele não vai conseguir enviar o arquivo, vejam o código HTML abaixo:</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:33937e52-46ee-4aeb-8c07-a8852a9f9087" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:c#">&lt;h2&gt;Upload&lt;/h2&gt;
&lt;% using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{ %&gt;
    &lt;fieldset&gt;
    &lt;label for="photo"&gt;Insira a sua foto:&lt;/label&gt;&lt;input type="file" id="photo" name="photo" /&gt;&lt;br /&gt;
    &lt;input type="submit" value="Enviar" /&gt;
    &lt;/fieldset&gt;
&lt;%} %&gt;</pre>
</div>
<p>Agora  faça o download do plugin <a href="http://www.uploadify.com/download/">uploadify</a>, copie os arquivos jquery.uploadify.v2.1.0.min.js e swfobject.js para a pasta Scripts, copie também os arquivos cancel.png, uploadify.css e uploadify.swf para a pasta Content.</p>
<p>Crie uma pasta com o nome de <strong>files</strong> na raiz da aplicação, é nesta pasta que será salvo os arquivos enviados.</p>
<p>Inclua o código JavaScript na MasterPage Site.Master (este é apenas um exemplo, eu prefiro colocar este javascript na View):</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:62bf90f9-f63f-4e8a-894c-0626765cfe5d" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:js">&lt;script src="../../Scripts/jquery-1.3.2.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;link href="../../Content/uploadify.css" rel="stylesheet" type="text/css" /&gt;
&lt;script src="../../Scripts/swfobject.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="../../Scripts/jquery.uploadify.v2.1.0.min.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
    $(document).ready(function() {
        $('#photo').uploadify({
            'uploader': '/content/uploadify.swf',
            'script': '&lt;%=Url.Action("Upload","Home") %&gt;',
            'cancelImg': '/content/cancel.png',
            'fileDesc':'Aruivos de Imagem',
            'fileExt': '*.jpg;*.gif',
            'sizeLimit':'4000000',
            auto:true
        });
    });
&lt;/script&gt;</pre>
</div>
<p>No código acima eu estou configurando o endereço de onde estão os arquivos necessários para o plugin, defino o caminho da action que irá receber o arquivo, o tamanho máximo do arquivo, habilitei a opção auto que automaticamente irá enviar o arquivo após a seleção do mesmo e também defino a extensão permitida para fazer o upload, isso é bem interessante porque na caixa de dialogo só irá aparecer os arquivos com a extensão que você definir.</p>
<p>Existem mais configurações que podem ser utilizadas, você pode conferir elas na <a title="Documentação do uploadfy" href="http://www.uploadify.com/documentation/">documentação</a> do plugin.</p>
<p>Agora só está faltando o código server side, eu criei uma action chamada upload no HomeController que irá receber e salvar o arquivo:</p>
<div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:ab72940a-966a-4e01-a6d8-794ba85f60a2" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush:c#">[AcceptVerbs(HttpVerbs.Post)]
public void Upload(string id)
{
    var file = this.Request.Files[0];
    string savedFileName = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "files");
    savedFileName = System.IO.Path.Combine(savedFileName, System.IO.Path.GetFileName(file.FileName));
    file.SaveAs(savedFileName);
    Response.Write("OK");
}</pre>
</div>
<p>Com isso você já terá funcionando o jQuery uploadify com o ASP.NET MVC, vejam como fica no final:</p>
<p><a href="http://www.cavalcante.net/image.axd?picture=jquery_uploadfy_in_action_1.png" rel="lightbox[2311]"><img style="display: inline; border-width: 0px;" title="jquery_uploadfy_in_action" alt="jquery_uploadfy_in_action" src="http://www.cavalcante.net/image.axd?picture=jquery_uploadfy_in_action_thumb_1.png" width="604" height="245" border="0" /></a></p>
<p><a title="Baixe a solução completa" href="/files/Upload_ASP.NET_MVC_jQuery.zip">Baixe a solução completa</a>.</p>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/hfn1iwuDHs8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2009/09/upload-com-asp-net-mvc-e-jquery/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2009/09/upload-com-asp-net-mvc-e-jquery/</feedburner:origLink></item>
		<item>
		<title>Tech-Ed Brasil 2009</title>
		<link>http://feed.lambda3.com.br/~r/LLL/victorcavalcante/~3/HH8Z_ivJ9yQ/</link>
		<comments>http://blog.lambda3.com.br/2009/09/tech-ed-brasil-2009/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 09:45:00 +0000</pubDate>
		<dc:creator>Victor Cavalcante</dc:creator>
				<category><![CDATA[ALM]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.Net MVC]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false">/post/Tech-Ed-Brasil-2009.aspx</guid>
		<description><![CDATA[Na semana passada aconteceu o Tech-Ed Brasil 2009, um evento que sempre estive presente, mas este ano foi diferente, o Tech-Ed foi realizado aqui na Unip. Como eu já conhecia muito bem o evento fui escolhido pela diretoria para ser &#8230; <a href="http://blog.lambda3.com.br/2009/09/tech-ed-brasil-2009/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Na semana passada aconteceu o Tech-Ed Brasil 2009, um evento que sempre estive presente, mas este ano foi diferente, o Tech-Ed foi realizado aqui na Unip. Como eu já conhecia muito bem o evento fui escolhido pela diretoria para ser o representante da Unip na organização, eu adorei a ideia, mas não sabia o que me esperava, já tinha participado da organização do <a title=".NetArchitects Day" href="http://www.dotnetarchitects.net/dotnetarchitects/dnad2009/">DNAD</a> (.Net Architects Day), mas não posso comparar o DNAD com um Tech-Ed, foram muitas solicitações da Microsoft para que tudo desse certo, foram várias noites mal dormidas e dias trabalhados das 7h às 22h para tudo dar certo, ainda bem que todo esse trabalho foi gratificante, o evento foi um sucesso e os feedbacks que eu tenho recebido são todos positivos.</p>
<p>O Tech-Ed 2009 começou de uma forma muito legal, eles fizeram da General Session um show, não estou aumentando não, realmente foi um show, eles fizeram uma apresentação usando o tema do BOPE (do filme Tropa de Elite), todos os palestrantes estavam fantasiados de soldados, e eles mandaram muito bem, toda hora me pego falando &#8220;Missão dada é missão cumprida senhoooor!!!&#8221;.</p>
<p>Na general session foi abordado diversos assuntos como História da Microsoft no Brasil (20 anos), a visão da Microsoft com Software + Serviços (Azure, Office Live, Xbox Live etc), o que a Microsoft pensa de uma plataforma (que ela seja completa), depois foi acontecendo várias demonstrações que começaram por Windows 2008 R2, SQL Server 2008 R2, Visual Studio Team System 2010, Windows 7 e SharePoint.</p>
<p>Agora o que eu mais gostei foi a comparação entre os produtos BR Office, Google Docs, Office 2008 e Office 2010. Independente do resultado a interpretação do pessoal foi um show, teve uma hora que o Prado foi questionado sobre o que ele tinha feito com o BR Office e a resposta dele foi hilária &#8220;Usei os recursos avançados de negrito, itálico e sublinhado Senhooor!!!&#8221;, não tenho nada contra nenhuma das outras ferramentas, mas os recursos do Office 2010 não se comparam a nenhuma outra suíte de escritório.</p>
<p>Depois da General Session fomos para as tracks gerais, infelizmente não pude assistir todas as palestras que eu gostaria, mas todas as que eu assisti foram de ótimo nível, vou dar um destaque para algumas:</p>
<ul>
<li>“Usando Metodologias Ágeis com VSTS: Scrum e XP, YES WE CAN!” com <a href="http://blogs.msdn.com/andredias/">André Dias</a><br />
O André conseguiu abordar em um curto espaço de tempo os principais pontos do Scrum e XP, além disso, ele conseguiu demonstrar como uma ferramenta pode ajudar no processo de desenvolvimento ágil, foi realmente muito bom.</li>
<li>“Uma comparação estratégica sobre as tecnologias de acesso a dados” com <a href="http://blogs.msdn.com/conde/">Luciano Condé</a><br />
Eu gostaria que todos os programadores que ainda usam DataSet para acesso a dados assistissem esta palestra, ele demonstrou a diferença entre DataSet, Linq to Sql e Entity Framework, de uma forma bem elegante o Condé mostrou por que a Microsoft recomenda hoje o Entity Framework.</li>
<li>“Democratizando o ALM usando o Visual Studio Team System” com <a href="http://www.ramonduraes.net/">Ramon Durães</a><br />
O Ramon abordou as principais funcionalidades do VSTS que ajudam a implantar o ALM de uma forma bem concisa, demonstrou as novidades do VSTS 2010 que por sinal está muito bom.</li>
</ul>
<p>Uma palestra, por exemplo, que eu gostaria de assistir, mas não consegui foi a palestra “ASP.NET MVC com jQuery: Retome o controle da sua aplicação” do <a href="http://unplugged.giggio.net/">Giovanni Bassi</a>, mas assim que eu assistir o vídeo eu posto comentários sobre todas.</p>
<p>Mas o Tech-Ed não é um lugar onde só acontece palestras, lá você pode parar um palestrante para questionar mais a fundo sobre uma determinada dúvida, você encontra profissionais de ótimo nível para discutir sobre tecnologia e é claro juntar a turma para fazer um happy hour no final do dia porque ninguém é de ferro, <img src='http://blog.lambda3.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Algumas fotos do Tech-Ed Brasil 2009:</p>
<div class="wlWriterSmartContent" id="scid:66721397-FF69-4ca6-AEC4-17E6B3208830:f72f492b-427b-48f2-bd3e-94cd38ee054b" style="margin: 0px; display: inline; float: none; padding: 0px;"><a style="border-width: 0px;" href="http://cid-19f0f5c720bea437.skydrive.live.com/redir.aspx?page=browse&amp;resid=19F0F5C720BEA437!335&amp;ct=photos"><img style="border-width: 0px;" alt="View Teche-Ed Brasil 2009" src="http://www.cavalcante.net/image.axd?picture=InlineRepresentation28d86749-4796-49b1-a36b-05c46a723f59.jpg" /></a></p>
<div style="text-align: right; width: 340px;"><a href="http://cid-19f0f5c720bea437.skydrive.live.com/redir.aspx?page=browse&amp;resid=19F0F5C720BEA437!335&amp;ct=photos">Veja o álbum completo<br />
</a></div>
</div>
<img src="http://feeds.feedburner.com/~r/LLL/victorcavalcante/~4/HH8Z_ivJ9yQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.lambda3.com.br/2009/09/tech-ed-brasil-2009/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.lambda3.com.br/2009/09/tech-ed-brasil-2009/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.648 seconds. --><!-- Cached page generated by WP-Super-Cache on 2013-05-17 14:58:09 --><!-- Compression = gzip -->
