<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Adriano Bertucci &#187; Geral</title>
	<atom:link href="http://www.adrianobertucci.com/category/geral/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adrianobertucci.com</link>
	<description>Microsoft MVP C#, MCPD, MCTS e MCT - Especialista em Application lifecycle management e Arquitetura de Software</description>
	<lastBuildDate>Tue, 29 Nov 2011 22:52:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Boas Pr&#225;ticas de Desenvolvimento</title>
		<link>http://www.adrianobertucci.com/2011/07/boas-prticas-de-desenvolvimento/</link>
		<comments>http://www.adrianobertucci.com/2011/07/boas-prticas-de-desenvolvimento/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 14:31:03 +0000</pubDate>
		<dc:creator>Bertucci</dc:creator>
				<category><![CDATA[Carreira]]></category>
		<category><![CDATA[Comunidade]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Boas Práticas]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[EGH]]></category>

		<guid isPermaLink="false">http://www.adrianobertucci.com/2011/07/boas-prticas-de-desenvolvimento/</guid>
		<description><![CDATA[Ola Pessoal, A cada dia que passa me surpreendo com que vejo em vários sistemas do nosso Brasil . Hoje um amigo me mostrou um trecho de código que fiquei “abismado” e preciso compartilhar com todos você esta “Boa prática” encontrada. Trata-se de um trecho de código cujo o objetivo seria validar se o e-mail [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2011/07/boas-prticas-de-desenvolvimento/' addthis:title='Boas Pr&#225;ticas de Desenvolvimento'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p>Ola Pessoal,</p>
<p>A cada dia que passa me surpreendo com que vejo em vários sistemas do nosso Brasil <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Alegre" src="http://www.adrianobertucci.com/Imagens/Boas-Prticas-de-Desenvolvimento_9F37/wlEmoticon-smile.png" />. Hoje um amigo me mostrou um trecho de código que fiquei “abismado” e preciso compartilhar com todos você esta “Boa prática” encontrada. <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Alegre" src="http://www.adrianobertucci.com/Imagens/Boas-Prticas-de-Desenvolvimento_9F37/wlEmoticon-smile.png" /></p>
<p>Trata-se de um trecho de código cujo o objetivo seria validar se o e-mail informado pelo usuário é um e-mail válido ou não, simplemente isso. Mas desenvolvedor é um cara criativo e o cara inventou uma nova maneira de fazer isso. Como eu não nem como explicar qual foi a lógica criado pela desenvolvedor, prefiro mostrar o código, assim vocês podem tirar suas próprias conclusões:</p>
<p>Código:</p>
<p><a href="http://www.adrianobertucci.com/Imagens/Boas-Prticas-de-Desenvolvimento_9F37/image.png" rel="wp-prettyPhoto[g331]"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.adrianobertucci.com/Imagens/Boas-Prticas-de-Desenvolvimento_9F37/image_thumb.png" width="691" height="96" /></a></p>
<p>Impressionante não <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Alegre" src="http://www.adrianobertucci.com/Imagens/Boas-Prticas-de-Desenvolvimento_9F37/wlEmoticon-smile.png" />, e o pior gente, trata-se um sistema de grande escala. </p>
<p>Bom pessoal… Não sei o que dizer sobre isso <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Alegre" src="http://www.adrianobertucci.com/Imagens/Boas-Prticas-de-Desenvolvimento_9F37/wlEmoticon-smile.png" /></p>
<p>Abs.</p>
<p>Adriano Bertucci</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2011/07/boas-prticas-de-desenvolvimento/' addthis:title='Boas Pr&aacute;ticas de Desenvolvimento'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.adrianobertucci.com/2011/07/boas-prticas-de-desenvolvimento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Professores e Educadores!!??</title>
		<link>http://www.adrianobertucci.com/2010/02/professores-e-educadores/</link>
		<comments>http://www.adrianobertucci.com/2010/02/professores-e-educadores/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 18:53:25 +0000</pubDate>
		<dc:creator>Bertucci</dc:creator>
				<category><![CDATA[Comunidade]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[conto]]></category>
		<category><![CDATA[educadores]]></category>
		<category><![CDATA[lição]]></category>
		<category><![CDATA[professores]]></category>

		<guid isPermaLink="false">http://www.adrianobertucci.com/?p=164</guid>
		<description><![CDATA[Ola pessoal, Recebi um pequeno conto em meu email e gostaria de compartilhar com todos e ao mesmo tempo ver o que cada um acha sobre o assunto… “MARCAS DE BATOM NO BANHEIRO Numa escola pública estava ocorrendo uma situação inusitada: Uma turma de meninas de 12 anos, que usava batom todos os dias, beijavam [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2010/02/professores-e-educadores/' addthis:title='Professores e Educadores!!??'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p>Ola pessoal,</p>
<p>Recebi um pequeno conto em meu email e gostaria de compartilhar com todos e ao mesmo tempo ver o que cada um acha sobre o assunto…</p>
<p>“<b>MARCAS DE BATOM NO BANHEIRO</b><b>     <br />Numa escola pública estava ocorrendo uma situação inusitada:      <br /></b><b>     <br />Uma turma de meninas de 12 anos, que usava batom todos os dias, beijavam o espelho para remover o excesso de batom. O diretor andava bastante aborrecido, porque o zelador tinha um trabalho enorme para limpar o espelho ao final do dia. Mas, como sempre, na tarde seguinte, lá estavam as mesmas marcas de batom&#8230;</b></p>
<p><b>     <br />Um dia, o diretor juntou o bando de meninas no banheiro, explicou pacientemente que era muito complicado limpar o espelho com todas aquelas marcas que elas faziam. Fez uma palestra de uma hora. No dia seguinte as marcas de batom no banheiro reapareceram.</b></p>
<p><b>     <br />No outro dia o diretor juntou o bando de meninas e o Zelador no banheiro, e pediu ao zelador para demonstrar a dificuldade do trabalho. </b></p>
<p><b>     <br />O zelador imediatamente pegou um pano, molhou no vaso sanitário e passou no espelho. Nunca mais apareceram marcas no espelho!</b></p>
<p> <b>
<p></p>
<p>   <b>Há professores e há educadores&#8230;”</b></b>
<p>Aguardo a opinião de todos…</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2010/02/professores-e-educadores/' addthis:title='Professores e Educadores!!??'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.adrianobertucci.com/2010/02/professores-e-educadores/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Twitter Acompanhe&#8230;</title>
		<link>http://www.adrianobertucci.com/2010/02/twitter-acompanhe/</link>
		<comments>http://www.adrianobertucci.com/2010/02/twitter-acompanhe/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 12:21:27 +0000</pubDate>
		<dc:creator>Bertucci</dc:creator>
				<category><![CDATA[Comunidade]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[MVP]]></category>
		<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[ferramentas sociais]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.adrianobertucci.com/?p=149</guid>
		<description><![CDATA[Ola Pessoal, Há alguns dias atrás, tive um problema com minha conta no Twitter… ela foi “invadida” . Graças a esta falha de segurança da ferramenta, tive que entrar em contato com o suporte nos EUA e tentar recuperar minha conta. A boa notícia é que consegui recuperá-la… a mal é que tive que excluir [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2010/02/twitter-acompanhe/' addthis:title='Twitter Acompanhe&#8230;'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p>Ola Pessoal,</p>
<p>Há alguns dias atrás, tive um problema com minha conta no Twitter… ela foi <em>“invadida” .</em></p>
<p>Graças a esta falha de segurança da ferramenta, tive que entrar em contato com o suporte nos EUA e tentar recuperar minha conta. A boa notícia é que consegui recuperá-la… a mal é que tive que excluir todos os meus seguidores… Portanto gostaria de pedir para quem seguia o Bertucci que se recadastre… Assim tudo voltará como era antes! <img src='http://www.adrianobertucci.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Obrigado a todos!</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2010/02/twitter-acompanhe/' addthis:title='Twitter Acompanhe&hellip;'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.adrianobertucci.com/2010/02/twitter-acompanhe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Certificação MS com 50% de desconto para estudantes</title>
		<link>http://www.adrianobertucci.com/2009/11/certificacao-ms-com-50-de-desconto-para-estudantes/</link>
		<comments>http://www.adrianobertucci.com/2009/11/certificacao-ms-com-50-de-desconto-para-estudantes/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 17:21:17 +0000</pubDate>
		<dc:creator>Bertucci</dc:creator>
				<category><![CDATA[Certificação]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[Treinamento]]></category>

		<guid isPermaLink="false">http://www.adrianobertucci.com/post.aspx?id=a9ac1c96-2bd2-4db2-afdf-c2f48b69290c</guid>
		<description><![CDATA[Atenção Estudantes, A Microsoft lançou uma promoção para incentivar no processo de certificação, ela estará fornecendo descontos nas provas que podem chegar a 55%, o Brasil obtve um dos maiores valores 50%. Para quem quiser mais informações, e claro prestar as provas basta acessar o site do programa e efutuar o cadastro. Mas atenção que [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2009/11/certificacao-ms-com-50-de-desconto-para-estudantes/' addthis:title='Certificação MS com 50% de desconto para estudantes'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p>Atenção Estudantes,</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" border="0" align="left" src="http://www.microsoft.com/brasil/certifique/shared/img/home_news/header_left_01.jpg" width="137" height="102" /> A Microsoft lançou uma promoção para incentivar no processo de certificação, ela estará fornecendo descontos nas provas que podem chegar a 55%, o Brasil obtve um dos maiores valores 50%.</p>
<p>Para quem quiser mais informações, e claro prestar as provas basta acessar o <a href="http://www.prometric.com/microsoft/student" target="_blank">site do programa</a> e efutuar o cadastro.</p>
<p>Mas atenção que no dia da prova o fiscal da Prometric irá exigir o docmuento que comprove a situação de estudante para o candidato… então sejamos todos honestos!</p>
<p><!-- AddThis button extension by Mayank Raichura --></p>
<p><!-- AddThis Button BEGIN --></p>
<div stype="padding: 5px;">
	<script type="text/javascript">
		var addthis_pub="bertucci";
	</script><br />
	<a href="http://www.addthis.com/bookmark.php?v=20" onmouseover="return addthis_open(this, '', 'http://www.adrianobertucci.com/post/2009/11/12/Certificacao-MS-com-5025-de-desconto-para-estudantes.aspx', 'Certificação MS com 50% de desconto para estudantes')" onmouseout="addthis_close()" onclick="return addthis_sendto()"><img src="http://s7.addthis.com/static/btn/sm-share-en.gif" height="16" alt="Bookmark and Share" style="border:0"/></a><br />
	<script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"></script>
</div>
<p><!-- AddThis Button END --></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2009/11/certificacao-ms-com-50-de-desconto-para-estudantes/' addthis:title='Certificação MS com 50% de desconto para estudantes'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.adrianobertucci.com/2009/11/certificacao-ms-com-50-de-desconto-para-estudantes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Limpando LOG no SQL Server 2005</title>
		<link>http://www.adrianobertucci.com/2009/03/limpando-log-no-sql-server-2005/</link>
		<comments>http://www.adrianobertucci.com/2009/03/limpando-log-no-sql-server-2005/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 19:14:00 +0000</pubDate>
		<dc:creator>Bertucci</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://www.adrianobertucci.com/post.aspx?id=baa6d796-99a2-4223-8887-9e9159f9035b</guid>
		<description><![CDATA[Ola Pessoal, Para que possamos limpar os logs dos bancos de dados no SQL Server 2005, evitando assim que seu espaço em disco termine, faça o seguinte: Acesse as propriedades do seu Banco de Dados, selecione &#8220;Options&#8221;, e em &#8220;Recovery Model&#8221; troque de Full para Simple. Logo em seguida execute o comando abaixo: USE BANCO [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2009/03/limpando-log-no-sql-server-2005/' addthis:title='Limpando LOG no SQL Server 2005'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p>Ola Pessoal,</p>
<p>Para que possamos limpar os logs dos bancos de dados no SQL Server 2005, evitando assim que seu espaço em disco termine, faça o seguinte:</p>
<p>Acesse as propriedades do seu Banco de Dados, selecione &#8220;Options&#8221;, e em &#8220;Recovery Model&#8221; troque de Full para Simple.</p>
<p>Logo em seguida execute o comando abaixo:</p>
<pre class="code"><span style="color: blue">USE </span>BANCO
go
<span style="color: blue">DBCC </span>SHRINKFILE <span style="color: gray">(</span>nome_arquivo_log<span style="color: gray">, </span>tamanho<span style="color: gray">)
</span>go
</pre>
<p><a href="http://11011.net/software/vspaste"></a><br />Sendo que no lugar de BANCO você irá informar o nome do Banco de Dados, e em nome_arquivo_log você informa o nome do arquivo de Log seguido do tamanho que você deseja deletar, por exemplo, 1000=1GB, etc.</p>
<p>[]&#8217;s</p>
<p><!-- AddThis button extension by Mayank Raichura --></p>
<p><!-- AddThis Button BEGIN --></p>
<div stype="padding: 5px;">
	<script type="text/javascript">
		var addthis_pub="bertucci";
	</script><br />
	<a href="http://www.addthis.com/bookmark.php?v=20" onmouseover="return addthis_open(this, '', 'http://www.adrianobertucci.com/post/2009/03/13/Limpando-LOG-no-SQL-Server-2005.aspx', 'Limpando LOG no SQL Server 2005')" onmouseout="addthis_close()" onclick="return addthis_sendto()"><img src="http://s7.addthis.com/static/btn/sm-share-en.gif" height="16" alt="Bookmark and Share" style="border:0"/></a><br />
	<script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"></script>
</div>
<p><!-- AddThis Button END --></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2009/03/limpando-log-no-sql-server-2005/' addthis:title='Limpando LOG no SQL Server 2005'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.adrianobertucci.com/2009/03/limpando-log-no-sql-server-2005/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Icones para sua aplicação ASP.NET</title>
		<link>http://www.adrianobertucci.com/2008/04/icones-para-sua-aplicacao-asp-net/</link>
		<comments>http://www.adrianobertucci.com/2008/04/icones-para-sua-aplicacao-asp-net/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 00:18:00 +0000</pubDate>
		<dc:creator>Bertucci</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://www.adrianobertucci.com/post.aspx?id=99b3def2-995f-454f-af4f-6196ec632ea6</guid>
		<description><![CDATA[Ola Pessoal, Para aqueles que sofrem com layout segue uma dica: Icones para sua aplicação ASP.NET. http://www.aspneticons.com/ []&#8217;s var addthis_pub="bertucci";<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2008/04/icones-para-sua-aplicacao-asp-net/' addthis:title='Icones para sua aplicação ASP.NET'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p>Ola Pessoal,</p>
<p>Para aqueles que sofrem com layout segue uma dica: Icones para sua aplicação ASP.NET.</p>
<p><a title="http://www.aspneticons.com/" href="http://www.aspneticons.com/">http://www.aspneticons.com/</a></p>
<p>[]&#8217;s</p>
<p><!-- AddThis button extension by Mayank Raichura --></p>
<p><!-- AddThis Button BEGIN --></p>
<div stype="padding: 5px;">
	<script type="text/javascript">
		var addthis_pub="bertucci";
	</script><br />
	<a href="http://www.addthis.com/bookmark.php?v=20" onmouseover="return addthis_open(this, '', 'http://www.adrianobertucci.com/post/2008/04/06/Icones-para-sua-aplicacao-ASPNET.aspx', 'Icones para sua aplicação ASP.NET')" onmouseout="addthis_close()" onclick="return addthis_sendto()"><img src="http://s7.addthis.com/static/btn/sm-share-en.gif" height="16" alt="Bookmark and Share" style="border:0"/></a><br />
	<script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"></script>
</div>
<p><!-- AddThis Button END --></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2008/04/icones-para-sua-aplicacao-asp-net/' addthis:title='Icones para sua aplicação ASP.NET'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.adrianobertucci.com/2008/04/icones-para-sua-aplicacao-asp-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Editando arquivos MSI</title>
		<link>http://www.adrianobertucci.com/2008/04/editando-arquivos-msi/</link>
		<comments>http://www.adrianobertucci.com/2008/04/editando-arquivos-msi/#comments</comments>
		<pubDate>Sun, 06 Apr 2008 23:16:00 +0000</pubDate>
		<dc:creator>Bertucci</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://www.adrianobertucci.com/post.aspx?id=f49571cc-928e-49a1-bb7c-4f9ec348fc7a</guid>
		<description><![CDATA[Já precisou editor arquivos de instalação MSI, como eu?? Então tente o Orcas MSI Editor.Um bom programa para edição de arquivos MSI, incluisive temos um tutorial no próprio site da Microsoft em http://support.microsoft.com/kb/255905 Quem precisar ai vai uma boa dica! []&#8217;s var addthis_pub="bertucci";<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2008/04/editando-arquivos-msi/' addthis:title='Editando arquivos MSI'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p>Já precisou editor arquivos de instalação MSI, como eu?? Então tente o <a href="http://www.technipages.com/download-orca-msi-editor.html" target="_blank">Orcas MSI Editor</a>.<br />Um bom programa para edição de arquivos MSI, incluisive temos um tutorial no próprio site da Microsoft em <a title="http://support.microsoft.com/kb/255905" href="http://support.microsoft.com/kb/255905">http://support.microsoft.com/kb/255905</a></p>
<p>Quem precisar ai vai uma boa dica!</p>
<p>[]&#8217;s</p>
<p><!-- AddThis button extension by Mayank Raichura --></p>
<p><!-- AddThis Button BEGIN --></p>
<div stype="padding: 5px;">
	<script type="text/javascript">
		var addthis_pub="bertucci";
	</script><br />
	<a href="http://www.addthis.com/bookmark.php?v=20" onmouseover="return addthis_open(this, '', 'http://www.adrianobertucci.com/post/2008/04/06/Editando-arquivos-MSI.aspx', 'Editando arquivos MSI')" onmouseout="addthis_close()" onclick="return addthis_sendto()"><img src="http://s7.addthis.com/static/btn/sm-share-en.gif" height="16" alt="Bookmark and Share" style="border:0"/></a><br />
	<script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"></script>
</div>
<p><!-- AddThis Button END --></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2008/04/editando-arquivos-msi/' addthis:title='Editando arquivos MSI'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.adrianobertucci.com/2008/04/editando-arquivos-msi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# 3.0 &#8211; Novidades &#8211; Extension Methods</title>
		<link>http://www.adrianobertucci.com/2008/03/c-3-0-novidades-extension-methods/</link>
		<comments>http://www.adrianobertucci.com/2008/03/c-3-0-novidades-extension-methods/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 20:08:00 +0000</pubDate>
		<dc:creator>Bertucci</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://www.adrianobertucci.com/post.aspx?id=82cdf49e-0bb9-437e-9641-c56d1fb67306</guid>
		<description><![CDATA[Dando continuidade a nossa série, vamos falar de um dos novos recursos com maior expressão na linguagem e no .NET 3.5, a possibilidade de criar métodos de extensão (extension methods). Extension Methods, são métodos estáticos que podemos utilizar para estender funcionalidades de classes especificas do .NET. Declarando um Extension Method Para declararmos novos métodos de [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2008/03/c-3-0-novidades-extension-methods/' addthis:title='C# 3.0 &#8211; Novidades &#8211; Extension Methods'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p>Dando continuidade a nossa série, vamos falar de um dos novos recursos com maior expressão na linguagem e no .NET 3.5, a possibilidade de criar métodos de extensão (extension methods).  </p>
<p>Extension Methods, são métodos estáticos que podemos utilizar para estender funcionalidades de classes especificas do .NET.  </p>
<p><b>Declarando um Extension Method</b>  </p>
<p>Para declararmos novos métodos de extensão, primeiro precisamos saber que o funcionamento dos métodos é semelhante aos métodos estáticos, portanto, você só pode declará-los em classes estáticas. Segundo, sempre que formos declarar um extension method, vamos especificar a palavra-chave <i>this </i>como primeiro parâmetro do método. Vamos ver um exemplo:  </p>
<p>&nbsp;</p>
<pre class="code"><span style="color: blue">namespace </span>ExtensionMethods
{

    <span style="color: blue">public static class </span><span style="color: #2b91af">ExtMethods
    </span>{
        <span style="color: green">//Static Method - Maneira tradicional
        </span><span style="color: blue">public static int </span>ConvertInt32Static(<span style="color: blue">string </span>s)
        {
            <span style="color: blue">return </span><span style="color: #2b91af">Int32</span>.Parse(s);
        }

        <span style="color: green">//Extension Method - Nova funcionalidade
        </span><span style="color: blue">public static int </span>ConvertInt32Ext(<span style="color: blue">this string </span>s)
        {
            <span style="color: blue">return </span><span style="color: #2b91af">Int32</span>.Parse(s);
        }
    }

    <span style="color: blue">class </span><span style="color: #2b91af">Program
    </span>{
        <span style="color: blue">static void </span>Main(<span style="color: blue">string</span>[] args)
        {
            <span style="color: green">//Valor
            </span><span style="color: blue">string </span>Valor = <span style="color: #a31515">&#8220;9&#8243;</span>;
            <span style="color: green">//Executando um extension method
            </span><span style="color: blue">int </span>ExtMethod = Valor.ConvertInt32Ext();

            <span style="color: green">//Excutando um Static Method
            </span><span style="color: blue">int </span>StaticMethod = <span style="color: #2b91af">ExtMethods</span>.ConvertInt32Static(Valor);

            <span style="color: green">//Exibe os valores
            </span><span style="color: #2b91af">Console</span>.WriteLine(<span style="color: #a31515">&#8220;Extension Method: &#8221; </span>+ ExtMethod);
            <span style="color: #2b91af">Console</span>.WriteLine(<span style="color: #a31515">&#8220;Static Method: &#8221; </span>+ StaticMethod);
            <span style="color: #2b91af">Console</span>.ReadLine();
        }
    }
}</pre>
<p>&nbsp;</p>
<p>Podemos notar no exemplo a diferença de comportamento entre um método estático e o novo extension method. Repare que devido a declaração da palavra <i>this </i>antes do parâmetro do método de extensão, o .NET Framework “incorporou” o método à classe <i>string</i>. Podemos notar a presença mais exata do método extensivo na classe através IntelliSense, com mostrado abaixo:</p>
<table cellspacing="0" cellpadding="0" width="400" border="0">
<tbody>
<tr>
<td valign="top" width="400"><a href="http://www.adrianobertucci.com/imagens/C3.0NovidadesExtensionMethods_C43C/01.png" rel="wp-prettyPhoto[g66]"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="188" alt="01" src="http://www.adrianobertucci.com/imagens/C3.0NovidadesExtensionMethods_C43C/01_thumb.png" width="376" border="0"/></a></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>Agora vamos enumerar as diferenças entre os métodos estáticos (Static Methods) e os métodos de extensão (Extension Methods): </p>
<ul>
<li>Para declaração de métodos de extensão (Extension Methods) precisamos declarar antes do primeiro parâmetro a palavra-chave <i>this. </i>Já para os métodos estáticos (Static Methods) não temos a palavra.
</li>
<li>Quando consumimos um método de extensão, o parâmetro declarado no método é omitido, como podemos notar no primeiro exemplo. No método estático precisamos especificar o valor como parâmetro.
</li>
<li>Métodos de Extensão só podem ser declarados em classes estáticas, o que não é exigência para métodos estáticos.</li>
</ul>
<p><strong>Trabalhando por dentro do IL</strong></p>
<p>Se formos olhar e analisar o IL gerado pela aplicação mostrada no exemplo 1 temos a seguinte informação:</p>
<table cellspacing="0" cellpadding="0" width="400" border="0">
<tbody>
<tr>
<td valign="top" width="400"><a href="http://www.adrianobertucci.com/imagens/C3.0NovidadesExtensionMethods_C43C/02.png" rel="wp-prettyPhoto[g66]"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="237" alt="02" src="http://www.adrianobertucci.com/imagens/C3.0NovidadesExtensionMethods_C43C/02_thumb.png" width="327" border="0"/></a></td>
</tr>
</tbody>
</table>
<p>&nbsp;<br />Abaixo temos o código IL do método de extensão o ConvertInt32Ext.</p>
<pre class="code">.method public hidebysig static int32  ConvertInt32Ext(string s) cil managed
{
  <span style="color: red">.custom instance void </span></pre>
<pre class="code"><span style="color: red">  [System.Core]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 )
  <font color="#000000">// Code size       12 (0xc)
  .maxstack  1
  .locals init ([0] int32 CS$1$0000)
  IL_0000:  nop
  IL_0001:  ldarg.0
  IL_0002:  call       int32 [mscorlib]System.Int32::Parse(string)
  IL_0007:  stloc.0
  IL_0008:  br.s       IL_000a
  IL_000a:  ldloc.0
  IL_000b:  ret
} // end of method ExtMethods::ConvertInt32Ext</font>
</span></pre>
<p><font color="#000000">Podemos notar no código grifado de vermelho a presença do atributo no método declarando-o como extension method.</font></p>
<p><font color="#000000">E agora o código IL do método estático ConvertInt32Static.</font></p>
<pre class="code"><font color="#000000">.method public hidebysig static int32  ConvertInt32Static(string s) cil managed
{
  // Code size       12 (0xc)
  .maxstack  1
  .locals init ([0] int32 CS$1$0000)
  IL_0000:  nop
  IL_0001:  ldarg.0
  IL_0002:  call       int32 [mscorlib]System.Int32::Parse(string)
  IL_0007:  stloc.0
  IL_0008:  br.s       IL_000a
  IL_000a:  ldloc.0
  IL_000b:  ret
} // end of method ExtMethods::ConvertInt32Static</font></pre>
<pre class="code"><font color="#000000"></font>&nbsp;</pre>
</p>
<p><strong><font color="#000000">Porque usar Extension Methods?</font></strong></p>
<p><font color="#000000">Bom, depois de tudo isso você pode estar se perguntando&#8230; Porque usar os métodos de extensão? </font></p>
<p><font color="#000000">Simples, por absoluta conveniência.</font></p>
<p><font color="#000000">Vamos explicar melhor , suponha que você tenha passado anos desenvolvendo um Framework com funções usuais no dia a dia e que você quis disponibilizar a classe para uso externo. Quando alguém quiser consumir alguma função dela o desenvolvedor necessitará conhecer o nome da classe completo para poder executar o método estático desejado, algo como no exemplo abaixo:</font></p>
<p><a href="http://11011.net/software/vspaste"></a><a href="http://11011.net/software/vspaste"></a></p>
<pre class="code">Varivel = MeuFramework.</pre>
<p>Neste ponto teremos o IntelliSense que lhe fornecerá todas as funções disponíveis, bastando você escolher a sua e fornecer os parâmetros necessários.</p>
<pre class="code">Varivel = MeuFramework.FuncaoDesejada(Valor);</pre>
<pre class="code">&nbsp;</pre>
<p><a href="http://11011.net/software/vspaste"></a>
</p>
<p><strong>Conclusão</strong>
</p>
<p>Os extension methods nasce como um novo mecanismo para invocar métodos estáticos em objetos instanciados.</p>
<p>Até o próximo.</p>
<p>&nbsp; </p>
</p>
<p><a href="http://www.adrianobertucci.com"></a></p>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p><!-- AddThis button extension by Mayank Raichura --></p>
<p><!-- AddThis Button BEGIN --></p>
<div stype="padding: 5px;">
	<script type="text/javascript">
		var addthis_pub="bertucci";
	</script><br />
	<a href="http://www.addthis.com/bookmark.php?v=20" onmouseover="return addthis_open(this, '', 'http://www.adrianobertucci.com/post/2008/03/27/C-30-Novidades-Extension-Methods.aspx', 'C# 3.0 - Novidades - Extension Methods')" onmouseout="addthis_close()" onclick="return addthis_sendto()"><img src="http://s7.addthis.com/static/btn/sm-share-en.gif" height="16" alt="Bookmark and Share" style="border:0"/></a><br />
	<script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"></script>
</div>
<p><!-- AddThis Button END --></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2008/03/c-3-0-novidades-extension-methods/' addthis:title='C# 3.0 &#8211; Novidades &#8211; Extension Methods'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.adrianobertucci.com/2008/03/c-3-0-novidades-extension-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Novo artigo… Linha de Código!</title>
		<link>http://www.adrianobertucci.com/2008/03/novo-artigo%e2%80%a6-linha-de-codigo/</link>
		<comments>http://www.adrianobertucci.com/2008/03/novo-artigo%e2%80%a6-linha-de-codigo/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 16:32:00 +0000</pubDate>
		<dc:creator>Bertucci</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://www.adrianobertucci.com/post.aspx?id=82965723-1f0f-4ec5-83f5-d9449ad4761d</guid>
		<description><![CDATA[Ola Pessoal, Gostaria de informar a todos que publiquei mais um artigo em um grande site de tecnologia no Brasil&#8230; o Linha de Código&#8230; O artigo é sobre propriedades automática no C# 3.0&#8230; quem quiser conferir http://www.linhadecodigo.com.br/Artigo.aspx?id=1716 Há! Se quiserem conferir mais publicações acesse http://www.adrianobertucci.com/?page_id=63 []&#8217;s var addthis_pub="bertucci";<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2008/03/novo-artigo%e2%80%a6-linha-de-codigo/' addthis:title='Novo artigo… Linha de Código!'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p>Ola Pessoal,</p>
<p>Gostaria de informar a todos que publiquei mais um artigo em um grande site de tecnologia no Brasil&#8230; o Linha de Código&#8230;</p>
<p>O artigo é sobre propriedades automática no C# 3.0&#8230; quem quiser conferir <a title="http://www.linhadecodigo.com.br/Artigo.aspx?id=1716" href="http://www.linhadecodigo.com.br/Artigo.aspx?id=1716">http://www.linhadecodigo.com.br/Artigo.aspx?id=1716</a></p>
<p>Há! Se quiserem conferir mais publicações acesse <a title="http://www.adrianobertucci.com/?page_id=63" href="http://www.adrianobertucci.com/?page_id=63">http://www.adrianobertucci.com/?page_id=63</a></p>
<p>[]&#8217;s</p>
<p><!-- AddThis button extension by Mayank Raichura --></p>
<p><!-- AddThis Button BEGIN --></p>
<div stype="padding: 5px;">
	<script type="text/javascript">
		var addthis_pub="bertucci";
	</script><br />
	<a href="http://www.addthis.com/bookmark.php?v=20" onmouseover="return addthis_open(this, '', 'http://www.adrianobertucci.com/post/2008/03/19/Novo-artigoe280a6-Linha-de-Codigo!.aspx', 'Novo artigo… Linha de Código!')" onmouseout="addthis_close()" onclick="return addthis_sendto()"><img src="http://s7.addthis.com/static/btn/sm-share-en.gif" height="16" alt="Bookmark and Share" style="border:0"/></a><br />
	<script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"></script>
</div>
<p><!-- AddThis Button END --></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2008/03/novo-artigo%e2%80%a6-linha-de-codigo/' addthis:title='Novo artigo… Linha de Código!'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.adrianobertucci.com/2008/03/novo-artigo%e2%80%a6-linha-de-codigo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passando parêmetros para Relatórios Reporting Services em ASP.NET</title>
		<link>http://www.adrianobertucci.com/2008/03/passando-paremetros-para-relatorios-reporting-services-em-asp-net/</link>
		<comments>http://www.adrianobertucci.com/2008/03/passando-paremetros-para-relatorios-reporting-services-em-asp-net/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 20:07:00 +0000</pubDate>
		<dc:creator>Bertucci</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://www.adrianobertucci.com/post.aspx?id=2de57118-384a-4b27-b333-90a542a8a7c6</guid>
		<description><![CDATA[Ola Pessoal, Vamos para mais uma dica? Estamos desenvolvendo nossas aplicações ASP.NET e chegamos no módulo de relatórios, e para faze-los de maneira rápida e prática escolhemos SQL Reporting Services. Mas como fazemos para que nossa aplicação ASP.NET converse com o relatório passando os parâmetros certo para a criação do relatório com valores exatos? Bom [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2008/03/passando-paremetros-para-relatorios-reporting-services-em-asp-net/' addthis:title='Passando parêmetros para Relatórios Reporting Services em ASP.NET'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p>Ola Pessoal,</p>
<p>Vamos para mais uma dica? Estamos desenvolvendo nossas aplicações ASP.NET e chegamos no módulo de relatórios, e para faze-los de maneira rápida e prática escolhemos SQL Reporting Services. Mas como fazemos para que nossa aplicação ASP.NET converse com o relatório passando os parâmetros certo para a criação do relatório com valores exatos?</p>
<p>Bom fácil&#8230;.</p>
<p>Vamos adicionar primeiro nosso Report Viewer para visualização dos relatórios em sua página ASP.NET:</p>
<p>Agora basta configurar o Report Viewer para exibir o relatório escolhido, passando os parâmetros solicitados por ele. Abaixo segue o código comentado para exeutar a tarefa:<br /><span style="color: green"><br />//Informa o modo de execução do relatório (Local ou Remoto)<br /></span>Relatorios.ProcessingMode = <span style="color: #2b91af">ProcessingMode</span>.Remote;<br /><span style="color: green">//Informar respectivamente as URLs do Servidor Report Service e do Relatório a ser executado<br /></span>Relatorios.ServerReport.ReportServerUrl = <span style="color: blue">new</span><span style="color: #2b91af">Uri</span>(<span style="color: #a31515">&#8220;http://mzsql/reportserver&#8221;</span>);<br />Relatorios.ServerReport.ReportPath = <span style="color: #a31515">&#8220;/Empresa/Sistema/Relatorio&#8221;</span>;<br /><span style="color: green">//Vamos criar a atribuir valores para os parametros<br /></span><span style="color: #2b91af">ReportParameter</span>[] reportParams = <span style="color: blue">new</span><span style="color: #2b91af">ReportParameter</span>[2];<br />reportParams[0] = <span style="color: blue">new</span>Microsoft.Reporting.WebForms.<span style="color: #2b91af">ReportParameter</span>(<span style="color: #a31515">&#8220;Parametro1&#8243;</span>, <span style="color: #a31515">&#8220;valor1&#8243;</span>);<br />reportParams[1] = <span style="color: blue">new</span>Microsoft.Reporting.WebForms.<span style="color: #2b91af">ReportParameter</span>(<span style="color: #a31515">&#8220;Parametro2&#8243;</span>, <span style="color: #a31515">&#8220;valor2&#8243;</span>);<br /><span style="color: green">//Atribumos os parametros criados para o relatorio<br /></span>Relatorios.ServerReport.SetParameters(reportParams);<br /><span style="color: green">//Desabilita o barra de parametros do Report viewer<br /></span>Relatorios.ShowParameterPrompts = <span style="color: blue">false</span>;<br /><span style="color: green">//Atualiza o relatorio para exibição<br /></span>Relatorios.ServerReport.Refresh();</p>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>Bom pessoal mais uma para todos!</p>
<p>[]&#8217;s</p>
<p><!-- AddThis button extension by Mayank Raichura --></p>
<p><!-- AddThis Button BEGIN --></p>
<div stype="padding: 5px;">
	<script type="text/javascript">
		var addthis_pub="bertucci";
	</script><br />
	<a href="http://www.addthis.com/bookmark.php?v=20" onmouseover="return addthis_open(this, '', 'http://www.adrianobertucci.com/post/2008/03/10/Passando-paremetros-para-Relatorios-Reporting-Services-em-ASPNET.aspx', 'Passando parêmetros para Relatórios Reporting Services em ASP.NET')" onmouseout="addthis_close()" onclick="return addthis_sendto()"><img src="http://s7.addthis.com/static/btn/sm-share-en.gif" height="16" alt="Bookmark and Share" style="border:0"/></a><br />
	<script type="text/javascript" src="http://s7.addthis.com/js/200/addthis_widget.js"></script>
</div>
<p><!-- AddThis Button END --></p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.adrianobertucci.com/2008/03/passando-paremetros-para-relatorios-reporting-services-em-asp-net/' addthis:title='Passando parêmetros para Relatórios Reporting Services em ASP.NET'  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.adrianobertucci.com/2008/03/passando-paremetros-para-relatorios-reporting-services-em-asp-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

