<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-19559365</id><updated>2024-10-05T01:01:38.870-03:00</updated><category term="C#"/><category term="Novidades"/><title type='text'>Blog do Rafão</title><subtitle type='html'>Falar do dia-a-dia de uma pessoa insana que trabalha com informática</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-19559365.post-7170805469007693814</id><published>2007-12-06T23:25:00.001-02:00</published><updated>2008-12-08T22:21:28.151-02:00</updated><title type='text'>Tipos inferidos pelo compilador</title><content type='html'>O C# 3.0 possui uma facilidade na declarão das variáveis, essa facilidade se chama de tipo inferido pelo compilador. Agora fica muito mais fácil declarar as variáveis, vc só precisa utilizar a palavra chave &lt;span style=&quot;FONT-STYLE: italic&quot;&gt;var&lt;/span&gt; no momento da declaração.&lt;br /&gt;&lt;br /&gt;O uso do &lt;span style=&quot;FONT-STYLE: italic&quot;&gt;var &lt;/span&gt;não significa que o C# virou uma linguagem não tipada, como uma linguagem de script. Ela apenas facilita a declaração de variáveis, o compilador descobre o seu tipo no momento da sua inicialização. Para isso a declaração e a inicialização precisa ocorrer na mesma linha de código.&lt;br /&gt;&lt;br /&gt;Exemplos:&lt;br /&gt;&lt;br /&gt;No C# 2.0 vc declarava uma variável assim:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;COLOR: rgb(51,51,255)&quot;&gt;string &lt;/span&gt;variavel = &quot;Teste&quot;;&lt;br /&gt;&lt;br /&gt;No C# 3.0 vc pode declarar assim:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;COLOR: rgb(51,51,255)&quot;&gt;var&lt;/span&gt; variavel = &quot;Teste&quot;;&lt;br /&gt;&lt;br /&gt;Mesmo utilizando &lt;span style=&quot;FONT-STYLE: italic&quot;&gt;var &lt;/span&gt;a variável é uma string. Podemos comprovar isso de duas maneiras:&lt;br /&gt;&lt;br /&gt;1. Parando com o mouse sobre &lt;span style=&quot;FONT-STYLE: italic&quot;&gt;var&lt;/span&gt; mostra que a variável é do tipo System.String.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE4ZggXdJehPxjn-m7HA4SvYhyphenhyphenSSmBWxfDFbLviZYCeWfalIOCpmc95mt_u5Nx7qb41TonTDny6kgw2w2ecpBFx88lTBJx5FvV2q-6T_zFjZRi54tu0sDu0DEiI-dWLlo37JYi/s1600-h/1.GIF&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5141041735513407122&quot; style=&quot;CURSOR: pointer&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE4ZggXdJehPxjn-m7HA4SvYhyphenhyphenSSmBWxfDFbLviZYCeWfalIOCpmc95mt_u5Nx7qb41TonTDny6kgw2w2ecpBFx88lTBJx5FvV2q-6T_zFjZRi54tu0sDu0DEiI-dWLlo37JYi/s400/1.GIF&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Pela &lt;span style=&quot;FONT-STYLE: italic&quot;&gt;IL&lt;/span&gt; gerada pelo compilador C# 3.0&lt;br /&gt;&lt;br /&gt;.maxstack 1&lt;br /&gt;.locals init ([0] string variavel)&lt;br /&gt;IL_0000: nop&lt;br /&gt;IL_0001: ldstr &quot;Teste&quot;&lt;br /&gt;IL_0006: stloc.0&lt;br /&gt;IL_0007: ret&lt;br /&gt;&lt;br /&gt;O real ganho dos tipos inferidos ocorre quando existe a necessidade de declarar alguma variável para um tipo complexo, por exemplo:&lt;br /&gt;&lt;br /&gt;SortedDictionary&lt;&lt;span style=&quot;COLOR: rgb(51,51,255)&quot;&gt;string&lt;/span&gt;, List&lt;cliente&gt;&gt; complexo = new SortedDictionary&lt;&lt;span style=&quot;COLOR: rgb(51,51,255)&quot;&gt;string&lt;/span&gt;, List&lt;cliente&gt;&gt;();&lt;br /&gt;&lt;br /&gt;Com o uso de var a declaração fica assim:&lt;br /&gt;&lt;br /&gt;&lt;/cliente&gt;&lt;/cliente&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguscea2jBhcxfawWfpK_tnEiN90V17VL3uifSey2SsJKBoHU93i8LoPg0bYQa6YXM7dBnhUmcV2yqF5ef6qGp6F0dGSl3ylYVvsGdYRET03rs86IItwZh8yh2BJHCY1hQY4PT9/s1600-h/2.GIF&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5141043178622418594&quot; style=&quot;CURSOR: pointer&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguscea2jBhcxfawWfpK_tnEiN90V17VL3uifSey2SsJKBoHU93i8LoPg0bYQa6YXM7dBnhUmcV2yqF5ef6qGp6F0dGSl3ylYVvsGdYRET03rs86IItwZh8yh2BJHCY1hQY4PT9/s400/2.GIF&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Não podemos esquecer que a declaração e a inicialização deve ocorrer na mesma linha, o código abaixo gera erro de compilação:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;COLOR: rgb(51,51,255)&quot;&gt;var&lt;/span&gt; variavel;&lt;br /&gt;variavel = &quot;Teste&quot;;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/7170805469007693814/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/7170805469007693814' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/7170805469007693814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/7170805469007693814'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2007/12/tipos-inferidos-pelo-compilador.html' title='Tipos inferidos pelo compilador'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE4ZggXdJehPxjn-m7HA4SvYhyphenhyphenSSmBWxfDFbLviZYCeWfalIOCpmc95mt_u5Nx7qb41TonTDny6kgw2w2ecpBFx88lTBJx5FvV2q-6T_zFjZRi54tu0sDu0DEiI-dWLlo37JYi/s72-c/1.GIF" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-1585650069604244777</id><published>2007-12-03T23:06:00.000-02:00</published><updated>2007-12-03T23:44:15.909-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Novidades"/><title type='text'>Inicializadores de objetos e coleções</title><content type='html'>No C# 2.0 ou anterior, para que um objeto fosse instanciado e tivesse seus atributos inicializados era necessário declarar o objeto e setar os valores de cada atributo individualmente, como no exemplo abaixo (que está aproveitando a classe cliente do post anterior):&lt;br /&gt;&lt;br /&gt;  &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;class &lt;/span&gt;Cliente&lt;br /&gt;  {&lt;br /&gt;      &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;public int &lt;/span&gt;Codigo { &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;get&lt;/span&gt;; &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;private set&lt;/span&gt;; }&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;        public string&lt;/span&gt; Nome { &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;get&lt;/span&gt;; &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;        public string&lt;/span&gt; Sobrenome { &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;get&lt;/span&gt;; &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;br /&gt;      &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;public &lt;/span&gt;Cliente(&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;int &lt;/span&gt;codigo)&lt;br /&gt;      {&lt;br /&gt;          Codigo = codigo;&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  Cliente cliente = &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;new &lt;/span&gt;Cliente(1);&lt;br /&gt;  cliente.Nome = &quot;Rafael&quot;;&lt;br /&gt;  cliente.Sobrenome = &quot;Godinho&quot;;&lt;br /&gt;&lt;br /&gt;A &lt;span style=&quot;font-style: italic;&quot;&gt;IL &lt;/span&gt;gerada vai ser assim:&lt;br /&gt;&lt;br /&gt;// Code size       33 (0x21)&lt;br /&gt;.maxstack  2&lt;br /&gt;.locals init ([0] class NovidadesCSharp.Cliente cliente)&lt;br /&gt;IL_0000:  nop&lt;br /&gt;IL_0001:  ldc.i4.1&lt;br /&gt;IL_0002:  newobj     instance void NovidadesCSharp.Cliente::.ctor(int32)&lt;br /&gt;IL_0007:  stloc.0&lt;br /&gt;IL_0008:  ldloc.0&lt;br /&gt;IL_0009:  ldstr      &quot;Rafael&quot;&lt;br /&gt;IL_000e:  callvirt   instance void NovidadesCSharp.Cliente::set_Nome(string)&lt;br /&gt;IL_0013:  nop&lt;br /&gt;IL_0014:  ldloc.0&lt;br /&gt;IL_0015:  ldstr      &quot;Godinho&quot;&lt;br /&gt;IL_001a:  callvirt   instance void NovidadesCSharp.Cliente::set_Sobrenome(string)&lt;br /&gt;IL_001f:  nop&lt;br /&gt;IL_0020:  ret&lt;br /&gt;&lt;br /&gt;Para facilitar a vida o C# 3.0 possui uma sintaxe que combina a declaração do objeto e a sua inicialização em um único passo. Para isso a inicialização dos atributos deve ser feita após a criação do objeto dentro de {} e separando os atributos por vírgula, exemplo:&lt;br /&gt;&lt;br /&gt;Cliente cliente = &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;new &lt;/span&gt;Cliente(1) { Nome = &quot;Rafael&quot;, Sobrenome = &quot;Godinho&quot;};&lt;br /&gt;&lt;br /&gt;E a &lt;span style=&quot;font-style: italic;&quot;&gt;IL &lt;/span&gt;gerada é bem parecida, a única diferença é que o compilador gera duas entradas na memória para a mesma instância do objeto, como vcs podem ver:&lt;br /&gt;&lt;br /&gt;// Code size       35 (0x23)&lt;br /&gt;.maxstack  2&lt;br /&gt;.locals init ([0] class NovidadesCSharp.Cliente cliente,&lt;br /&gt;         [1] class NovidadesCSharp.Cliente &#39;&lt;&gt;g__initLocal0&#39;)&lt;br /&gt;IL_0000:  nop&lt;br /&gt;IL_0001:  ldc.i4.1&lt;br /&gt;IL_0002:  newobj     instance void NovidadesCSharp.Cliente::.ctor(int32)&lt;br /&gt;IL_0007:  stloc.1&lt;br /&gt;IL_0008:  ldloc.1&lt;br /&gt;IL_0009:  ldstr      &quot;Rafael&quot;&lt;br /&gt;IL_000e:  callvirt   instance void NovidadesCSharp.Cliente::set_Nome(string)&lt;br /&gt;IL_0013:  nop&lt;br /&gt;IL_0014:  ldloc.1&lt;br /&gt;IL_0015:  ldstr      &quot;Godinho&quot;&lt;br /&gt;IL_001a:  callvirt   instance void NovidadesCSharp.Cliente::set_Sobrenome(string)&lt;br /&gt;IL_001f:  nop&lt;br /&gt;IL_0020:  ldloc.1&lt;br /&gt;IL_0021:  stloc.0&lt;br /&gt;IL_0022:  ret&lt;br /&gt;&lt;br /&gt;Para coleções a idéia é basicamente a mesma, os únicos requisitos são: a coleção precisa implementar System.Collections.Generics.IEnumerable&lt;t&gt; e precisa ter o método Add público, exemplo:&lt;br /&gt;&lt;br /&gt;  List&amp;lt;Cliente&amp;gt clientes = new List&amp;lt;Cliente&amp;gt&lt;br /&gt;  {&lt;br /&gt;      new Cliente(1) { Nome = &quot;Rafael&quot;, Sobrenome = &quot;Godinho&quot; },&lt;br /&gt;      new Cliente(2) { Nome = &quot;Melissa&quot;, Sobrenome = &quot;Godinho&quot; },&lt;br /&gt;      new Cliente(3) { Nome = &quot;Somente Nome&quot; }&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;Pelo exemplo acima, podemos perceber que não há necessidade de informar todos os atributos na inicialização de objetos, somente os que forem pertinentes, como é o caso da terceira instância de cliente. Os atributos não informados receberão o valor padrão do seu tipo de dado de acordo com o .Net Framework.&lt;br /&gt;&lt;br /&gt;Os parênteses são opcionais se o construtor sem parâmetros do objeto for chamado. Eu poderia ter escrito tanto new List&amp;lt;Cliente&amp;gt {...} como new List&amp;lt;Cliente&amp;gt() {...}.&lt;br /&gt;&lt;br /&gt;É isso aí, amanhã tem mais post da série de novidades do C# 3.0.&lt;br /&gt;&lt;br /&gt;[]&#39;s&lt;br /&gt;Rafael&lt;/cliente&gt;&lt;/cliente&gt;&lt;/cliente&gt;&lt;/cliente&gt;&lt;/t&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/1585650069604244777/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/1585650069604244777' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/1585650069604244777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/1585650069604244777'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2007/12/inicializadores-de-objetos-e-colees.html' title='Inicializadores de objetos e coleções'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-2200180625188621213</id><published>2007-12-02T22:28:00.000-02:00</published><updated>2007-12-03T23:48:34.118-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Novidades"/><title type='text'>Propriedades autoimplementadas</title><content type='html'>&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Muitas vezes quando vamos criar uma propriedade em código C# nos deparamos com um padrão repetitivo e trivial, o&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-family: verdana;&quot;&gt; get&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt; retorna o valor de uma variável privada e o&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-family: verdana;&quot;&gt; set &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;grava o valor em uma propriedade privada, como por exemplo o código abaixo&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-family: verdana;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Cliente&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;        private string&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt; m_Nome;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;        public string&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt; Nome&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;get &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;{ &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt; m_Nome; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;set &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;{ m_Nome = &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;        private string&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt; m_Sobrenome;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;        public string&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt; Sobrenome&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;get &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;{ &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;m_Sobrenome; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;set &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;{ m_Sobrenome = &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Abaixo segue trecho que trata da propriedade Nome na &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-family: verdana;&quot;&gt;IL (Intermediate Language) &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;gerada:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  .field private string m_Nome&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  .method public hidebysig specialname instance string &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;          get_Nome() cil managed&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    // Code size       12 (0xc)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    .maxstack  1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    .locals init ([0] string CS$1$0000)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0000:  nop&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0001:  ldarg.0&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0002:  ldfld      string NovidadesCSharp.Cliente::m_Nome&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0007:  stloc.0&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0008:  br.s       IL_000a&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_000a:  ldloc.0&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_000b:  ret&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  } // end of method Cliente::get_Nome&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  .method public hidebysig specialname instance void &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;          set_Nome(string &#39;value&#39;) cil managed&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    // Code size       9 (0x9)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    .maxstack  8&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0000:  nop&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0001:  ldarg.0&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0002:  ldarg.1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0003:  stfld      string NovidadesCSharp.Cliente::m_Nome&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0008:  ret&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  } // end of method Cliente::set_Nome&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Para ajudar os programadores, o C# 3.0 (o .Net Framework está na versão 3.5, mas a linguagem C# está na versão 3.0) possui uma nova funcionalidade chamada de propriedade autoimplementada (tradução livre), ou Automatically Implemented Properties em inglês. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Com ela o programador não precisa se preocupar em criar os campos privados, ler e gravar os seus valores. Tudo o que precisa ser feito é declarar a propriedade. Exemplo:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Cliente&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;public string &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Nome { &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;        public string &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Sobrenome { &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Bem mais simples, não é mesmo?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Até a &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-family: verdana;&quot;&gt;IL &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;fica parecida. As principal diferença está no uso do campo&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-family: verdana;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;gerado automaticamente pelo compilador &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-family: verdana;&quot;&gt;&amp;lt;nome&amp;gt;k__BackingField&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;, isso pode ser verificado pelo uso do atributo&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-family: verdana;&quot;&gt; CompilerGeneratedAttribute:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  .field private string &#39;&amp;lt;nome&amp;gt;k__BackingField&#39;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  .method public hidebysig specialname instance string &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;          get_Nome() cil managed&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    // Code size       11 (0xb)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    .maxstack  1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    .locals init (string V_0)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0000:  ldarg.0&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0001:  ldfld      string NovidadesCSharp.Cliente::&#39;&amp;lt;nome&amp;gt;k__BackingField&#39;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0006:  stloc.0&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0007:  br.s       IL_0009&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0009:  ldloc.0&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_000a:  ret&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  } // end of method Cliente::get_Nome&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  .method public hidebysig specialname instance void &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;          set_Nome(string &#39;value&#39;) cil managed&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    // Code size       8 (0x8)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    .maxstack  8&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0000:  ldarg.0&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0001:  ldarg.1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0002:  stfld      string NovidadesCSharp.Cliente::&#39;&amp;lt;nome&amp;gt;k__BackingField&#39;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    IL_0007:  ret&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;  } // end of method Cliente::set_Nome&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Se for necessário criar uma propriedade somente de leitura, ou somente de escrita, também é possível indicar modificadores de acessibilidade no &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-family: verdana;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt; ou no &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-family: verdana;&quot;&gt;set:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt; Cliente&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;        public int&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt; Codigo { &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;private set&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;        public string&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt; Nome { &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;        public string&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt; Sobrenome { &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;; }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;public &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Cliente(&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255); font-family: verdana;&quot;&gt;int &lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;codigo)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;            Codigo = codigo;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;No exemplo acima, a propriedade Codigo é somente para leitura e deve ser inicializada pelo construtor.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Se vcs tiverem alguma dúvida é só mandar um comentário ;-)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic; font-family: verdana;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/2200180625188621213/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/2200180625188621213' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/2200180625188621213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/2200180625188621213'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2007/12/propriedades-autoimplementadas.html' title='Propriedades autoimplementadas'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-7680287253393378275</id><published>2007-11-30T19:02:00.000-02:00</published><updated>2007-11-30T19:10:12.807-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><title type='text'>Novidades do C#</title><content type='html'>&lt;span style=&quot;font-family: verdana;font-size:85%;&quot; &gt;Nossa... faz muito tempo que eu não posto nada aqui, que vergonha :-(&lt;br /&gt;&lt;br /&gt;Mas agora isso vai mudar!!! Pretendo a partir do próximo post colocar informações sobre as novidades da linguagem que eu mais uso no dia-a-dia, o C#.&lt;br /&gt;&lt;br /&gt;Não sei se todos já sabem, mas o Visual Studio 2008 foi lançado recentemente e com ele também o veio o .Net Framework 3.5, esse último traz um caminhão de novidades.&lt;br /&gt;&lt;br /&gt;Aguardem...&lt;br /&gt;&lt;br /&gt;[]&#39;s&lt;br /&gt;Rafael&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/7680287253393378275/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/7680287253393378275' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/7680287253393378275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/7680287253393378275'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2007/11/novidades-do-c.html' title='Novidades do C#'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-6805555745950600212</id><published>2007-03-05T16:28:00.000-03:00</published><updated>2007-03-05T16:34:55.801-03:00</updated><title type='text'>Pensamento do dia</title><content type='html'>&lt;span style=&quot;font-family:arial;font-size:85%;&quot;&gt;Não deixe que a programação afete seu alcoolismo.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/6805555745950600212/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/6805555745950600212' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/6805555745950600212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/6805555745950600212'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2007/03/pensamento-do-dia.html' title='Pensamento do dia'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-116248610531538958</id><published>2006-11-02T13:46:00.000-03:00</published><updated>2006-11-02T13:48:25.340-03:00</updated><title type='text'>Treinamentos .NET Framework 3.0</title><content type='html'>&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;A Microsoft disponibilizou alguns treinamentos gratuitos no seu site. Segue o link:&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=109340&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=109340&lt;/span&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/116248610531538958/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/116248610531538958' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/116248610531538958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/116248610531538958'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2006/11/treinamentos-net-framework-30.html' title='Treinamentos .NET Framework 3.0'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-114713462318564625</id><published>2006-05-08T21:28:00.000-03:00</published><updated>2006-05-08T21:30:23.200-03:00</updated><title type='text'>Apresentação TechEd 2005</title><content type='html'>&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;A apresentação que eu fiz no TechEd 2005, Novidades do BizTalk 2006, está disponível para download &lt;/span&gt;&lt;a href=&quot;http://download.microsoft.com/download/e/4/e/e4e840c1-66a2-48e0-926a-798f2d18ab32/BAP_RafaelGodinho.zip&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;http://download.microsoft.com/download/e/4/e/e4e840c1-66a2-48e0-926a-798f2d18ab32/BAP_RafaelGodinho.zip&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;As outras apresentações do evento podem ser baixadas em &lt;/span&gt;&lt;a href=&quot;http://www.msdnbrasil.com.br/secure/teched/Default.aspx&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;http://www.msdnbrasil.com.br/secure/teched/Default.aspx&lt;/span&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/114713462318564625/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/114713462318564625' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/114713462318564625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/114713462318564625'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2006/05/apresentao-teched-2005.html' title='Apresentação TechEd 2005'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-114357057468390083</id><published>2006-03-28T15:27:00.000-03:00</published><updated>2006-10-26T07:18:30.843-03:00</updated><title type='text'>Primeira Aplicação com BizTalk 2006</title><content type='html'>&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;strong&gt;Resumo: &lt;/strong&gt;Este documento tem por objetivo demonstrar o uso do BizTalk 2006 Beta 2 com uma aplicação simples de manipulação de arquivos, somente com o uso de funcionalidades de mensageria (messaging), sem o uso do Visual Studio 2005.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;Observações: &lt;/strong&gt;No momento que este artigo foi escrito a versão mais recente do BizTalk 2006 era a Beta 2, até o lançamento da versão final mudanças no produto podem ocorrer e inviabilizar alguma técnica descrita a seguir.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;Quem já teve contato com alguma versão anterior do BizTalk sabe que grande parte das soluções se dá através de orquestrações (orchestrations), o que implica na integração de alguma ferramenta de desenvolvimento como o Visio nas versões 2000 e 2002 e o Visual Studio 2003 na versão 2004 do produto.&lt;br /&gt;&lt;br /&gt;Em especial para a versão 2004, grande parte das tarefas administrativas eram realizadas através do Visual Studio, o que gerava alguns problemas como: profissional com perfil de administrador tendo que se adaptar a uma ferramenta de desenvolvimento e subutilização de uma licença do ambiente de desenvolvimento da Microsoft.&lt;br /&gt;&lt;br /&gt;Para resolver esse problema o time do BizTalk incluiu na versão 2006 funcionalidades que eram inexistentes no seu console administrativo, como por exemplo a criação de receive locations ou de send ports. Funcionalidades que serão utilizadas nos próximos passos para a elaboração da solução do cenário proposto abaixo:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Cenário proposto:&lt;/strong&gt; Receber arquivo Xml qualquer em determinada pasta (pasta de entrada) e redirecionar o arquivo para uma outra pasta (pasta de saída).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Pré-requisitos: &lt;/strong&gt;Conta do Windows utilizada pelo serviço do BizTalk deve ter permissão de modificação nas pastas.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Configuração&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Para criar e configurar a aplicação no BizTalk, siga os seguintes passos:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Abra o &lt;strong&gt;BizTalk 2006 Administration Console&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Expanda os nós até acessar a pasta &lt;strong&gt;Applications&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique com o &lt;strong&gt;botão direito&lt;/strong&gt; em &lt;strong&gt;Applications&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Escolha a opção &lt;strong&gt;New/Application&lt;/strong&gt; no menu que é exibido;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/320/1.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Forneça o nome &lt;strong&gt;PrimeiraAplicacao&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique em &lt;strong&gt;OK&lt;/strong&gt;;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/2.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Expanda o nó da &lt;strong&gt;PrimeiraAplicacao&lt;/strong&gt; criado;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique com o &lt;strong&gt;botão direito&lt;/strong&gt; em &lt;strong&gt;Receive Ports&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Escolha a opção &lt;strong&gt;New/One-way Receive Port&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/3.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Mantenha o nome padrão;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique em &lt;strong&gt;Receive Locations&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/4.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Na tela das &lt;strong&gt;Receive Locations&lt;/strong&gt; clicar na opção &lt;strong&gt;New...&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/5.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Mantenha o nome padrão;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Escolha o &lt;strong&gt;Receive Pipeline&lt;/strong&gt; como sendo &lt;strong&gt;PassThruReceive&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Informe &lt;strong&gt;FILE&lt;/strong&gt; como &lt;strong&gt;Transport Type&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique em &lt;strong&gt;Configure&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/6.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Forneça o caminho da pasta de entrada;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique em &lt;strong&gt;OK&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/7.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique em &lt;strong&gt;OK&lt;/strong&gt; para fechar a tela da &lt;strong&gt;Receive Location&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique em &lt;strong&gt;OK&lt;/strong&gt; para fechar a tela da &lt;strong&gt;Receive Port&lt;/strong&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clicar com o &lt;strong&gt;botão direito&lt;/strong&gt; do mouse em &lt;strong&gt;Send Ports&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Escolher a opção &lt;strong&gt;New/Static One-way Send Port&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/8.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Mantenha o nome padrão;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Escolha o &lt;strong&gt;Send Pipeline&lt;/strong&gt; como sendo &lt;strong&gt;PassThruTransmit&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Informe &lt;strong&gt;FILE&lt;/strong&gt; como &lt;strong&gt;Transport Type&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique em &lt;strong&gt;Configure&lt;/strong&gt;;&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/9.jpg&quot; border=&quot;0&quot; /&gt; &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Forneça o endereço da pasta de saída;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique em &lt;strong&gt;OK&lt;/strong&gt;;&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/10.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique em &lt;strong&gt;Filters&lt;/strong&gt; na tela da &lt;strong&gt;Send Port&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Inclua novo filtro conforme imagem abaixo;&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/11.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique em &lt;strong&gt;OK&lt;/strong&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique com o botão direito do mouse em PrimeiraAplicacao;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Escolha opção &lt;strong&gt;Start...&lt;/strong&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/12.1.jpg&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Clique no botão &lt;strong&gt;Start&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/13.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;strong&gt;Testes&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Neste momento a &lt;strong&gt;PrimeiraAplicacao&lt;/strong&gt; está configurada, rodando e esperando que um arquivo Xml seja gravado na pasta de entrada. Para testá-la execute os passos a seguir:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Copie um arquivo com extensão &lt;strong&gt;Xml&lt;/strong&gt; para a &lt;strong&gt;pasta de entrada&lt;/strong&gt;;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/14.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Espere alguns segundos até que o arquivo seja capturado para processamento pelo BizTalk e removido da pasta;&lt;br /&gt;&lt;br /&gt;Verifique a &lt;strong&gt;pasta de saída&lt;/strong&gt;, ela deve conter um novo arquivo com extensão &lt;strong&gt;Xml&lt;/strong&gt; com o mesmo conteúdo do arquivo de entrada. com o mesmo conteúdo do arquivo de entrada.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/400/15.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;strong&gt;Conclusão&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Apesar da simplicidade do exemplo, que não envolve nenhum processamento específico nas informações dos arquivos de entrada, foram vistas as facilidades que a nova ferramenta administrativa do BizTalk fornece tanto para administradores quanto desenvolvedores na criação e gerenciamento de uma solução de integração utilizando o produto.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/114357057468390083/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/114357057468390083' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/114357057468390083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/114357057468390083'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2006/03/primeira-aplicao-com-biztalk-2006.html' title='Primeira Aplicação com BizTalk 2006'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-113882567622588452</id><published>2006-02-01T17:49:00.000-02:00</published><updated>2006-02-01T18:27:56.256-02:00</updated><title type='text'>Treinamentos de BizTalk 2006</title><content type='html'>Dois treinamentos de BizTalk 2006 estão disponíveis online gratuitamente, um com foco em desenvolvimento e o outro em infra.&lt;br /&gt; &lt;br /&gt;Clinic 2954: First Look: Microsoft® BizTalk® Server 2006 for Developers&lt;br /&gt;https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=78008&lt;br /&gt; &lt;br /&gt;Clinic 2955: First Look: Microsoft® BizTalk® Server 2006 for IT Professionals&lt;br /&gt;https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=77178</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/113882567622588452/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/113882567622588452' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113882567622588452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113882567622588452'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2006/02/treinamentos-de-biztalk-2006.html' title='Treinamentos de BizTalk 2006'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-113519926276851544</id><published>2005-12-21T19:05:00.000-02:00</published><updated>2005-12-21T19:07:42.786-02:00</updated><title type='text'>Visual Studio E-Learning Grátis</title><content type='html'>&lt;span style=&quot;font-family:arial;&quot;&gt;A Microsoft disponibilizou uma série de treinamentos online na faixa. Para se cadastrar é só seguir os procedimentos desse link: &lt;/span&gt;&lt;a href=&quot;http://msdn.microsoft.com/vstudio/learning/elearning%5Fpromo/&quot;&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;http://msdn.microsoft.com/vstudio/learning/elearning%5Fpromo/&lt;/span&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/113519926276851544/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/113519926276851544' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113519926276851544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113519926276851544'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2005/12/visual-studio-e-learning-grtis.html' title='Visual Studio E-Learning Grátis'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-113434853710060077</id><published>2005-12-11T22:45:00.000-02:00</published><updated>2005-12-11T22:49:33.116-02:00</updated><title type='text'>Mande seu nome pro espaço</title><content type='html'>&lt;span style=&quot;font-family:arial;&quot;&gt;Ano que vem a NASA vai mandar uma missão para o cinturão de asteróides com vários nomes gravados em um microchip. Para mandar o seu é só acessar o endereço e preencher o formulário.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;http://dawn.jpl.nasa.gov/DawnCommunity/Sendname2asteroid/index_asteroid_blt.aspx&quot;&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;http://dawn.jpl.nasa.gov/DawnCommunity/Sendname2asteroid/index_asteroid_blt.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;http://dawn.jpl.nasa.gov/DawnCommunity/Sendname2asteroid/images/Asteroid_belt_1.jpg&quot;&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;&lt;img style=&quot;WIDTH: 400px; CURSOR: hand&quot; alt=&quot;&quot; src=&quot;http://dawn.jpl.nasa.gov/DawnCommunity/Sendname2asteroid/images/Asteroid_belt_1.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href=&quot;http://dawn.jpl.nasa.gov/DawnCommunity/Sendname2asteroid/images/Asteroid_belt_1.jpg&quot;&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/113434853710060077/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/113434853710060077' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113434853710060077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113434853710060077'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2005/12/mande-seu-nome-pro-espao.html' title='Mande seu nome pro espaço'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-113434817405126118</id><published>2005-12-11T22:34:00.000-02:00</published><updated>2005-12-11T22:42:54.053-02:00</updated><title type='text'>O que estou lendo</title><content type='html'>&lt;a href=&quot;http://photos1.blogger.com/blogger/2486/1938/1600/Uma%20Nova%20Historia%20do%20Tempo.jpg&quot;&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;&lt;img style=&quot;FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/2486/1938/320/Uma%20Nova%20Historia%20do%20Tempo.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;&lt;br /&gt;Sexta-feira comprei o livro &quot;Uma Nova História do Tempo&quot; do Stephen Hawking. O livro mostra vários conceitos de física com uma linguagem simples de entender. Recomendo a leitura. &lt;em&gt;(Imagem retirada do site Submarino).&lt;/em&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/113434817405126118/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/113434817405126118' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113434817405126118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113434817405126118'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2005/12/o-que-estou-lendo.html' title='O que estou lendo'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-113407863276593911</id><published>2005-12-08T19:46:00.000-02:00</published><updated>2005-12-08T19:50:32.776-02:00</updated><title type='text'>PPTs TechEd 2005 Brasil</title><content type='html'>Estão disponíveis para download os PPTs do TechEd 2005 Brasil. A apresentação da minha palestra pode ser baixada aqui: &lt;a href=&quot;http://www.technetbrasil.com.br/Downloads/TechEd/TechedBrasil_Novidades_BizTalk_2006_Rafael_Godinho.ppt&quot;&gt;Novidades do BizTalk 2006 (Rafael Godinho)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As outras apresentações podem ser baixadas &lt;a href=&quot;http://www.microsoft.com/brasil/technet/eventos/downloadteched2005.mspx&quot;&gt;aqui&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/113407863276593911/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/113407863276593911' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113407863276593911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113407863276593911'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2005/12/ppts-teched-2005-brasil.html' title='PPTs TechEd 2005 Brasil'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-113391752337567465</id><published>2005-12-06T23:00:00.000-02:00</published><updated>2005-12-06T23:05:23.390-02:00</updated><title type='text'>Deep Dive BizTalk</title><content type='html'>Essa semana estou participando de um treinamento de BizTalk chamado Deep Dive, ele é focado em profissionais que já conhecem a ferramenta.&lt;br /&gt;&lt;br /&gt;A grade do curso está no seguinte endereço: &lt;a href=&quot;http://www.quicklearn.com/deepdive.htm&quot;&gt;http://www.quicklearn.com/deepdive.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O instrutor é &lt;em&gt;importado&lt;/em&gt; então está sendo legal pra praticar o inglês além de ver os tópicos avançados do produto.</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/113391752337567465/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/113391752337567465' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113391752337567465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113391752337567465'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2005/12/deep-dive-biztalk.html' title='Deep Dive BizTalk'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-113391329467505994</id><published>2005-12-06T21:39:00.000-02:00</published><updated>2005-12-06T21:54:54.696-02:00</updated><title type='text'>Customização da GINA</title><content type='html'>&lt;span style=&quot;font-family:verdana;&quot;&gt;Essa semana estou trabalhando na customização da GINA (calma galera, não é isso que vcs estão pensando não). GINA significa Graphical Identification and Authentication, ou seja, é a telinha de logon do Windows e o seu processo de autenticação.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;O desenvolvimento precisa ser feito todo em VC++ (ultimamente to comendo com farinha). Falta eu conseguir tratar o desbloqueio da máquina por um usuário administrador e também Remote Desktop que a gente pode lançar o Beta 1 na empresa (meu chefe vai ficar contente com isso).&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Estou baseando meu estudo nos seguintes artigos da MSDN Magazine:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://msdn.microsoft.com/msdnmag/issues/05/05/SecurityBriefs/&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;http://msdn.microsoft.com/msdnmag/issues/05/05/SecurityBriefs/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://msdn.microsoft.com/msdnmag/issues/05/06/SecurityBriefs/&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;http://msdn.microsoft.com/msdnmag/issues/05/06/SecurityBriefs/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Como o código desenvolvido roda antes de um usuário logar na máquina se tiver algum erro é MUITO comum ficar em um processo de boot infinito, onde o Windows carrega a dll customizada da GINA recebe um erro e boota sucessivamente. Para contornar esse problema é preciso fazer os seguintes passos em uma outra máquina antes da máquina do GINA bootar:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Conectar na máquina do GINA pela rede (&lt;/span&gt;&lt;a href=&quot;file:////computador&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;\\computador&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;) com um usuário administrativo&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Executar o regedit e abrir o registry da máquina via rede (Connect Network Registry do menu File)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Excluir a entrada GinaDll (fica na chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon)&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Depois disso bootar a máquina do GINA.&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/113391329467505994/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/113391329467505994' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113391329467505994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113391329467505994'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2005/12/customizao-da-gina.html' title='Customização da GINA'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-113372316563752769</id><published>2005-12-04T17:04:00.000-02:00</published><updated>2005-12-04T17:06:05.650-02:00</updated><title type='text'>Goiás 1 x 0 Corinthians</title><content type='html'>&lt;span style=&quot;font-family:arial;font-size:85%;&quot;&gt;Mesmo assim ainda vai dando Timão campeão!!!&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/113372316563752769/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/113372316563752769' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113372316563752769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113372316563752769'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2005/12/gois-1-x-0-corinthians.html' title='Goiás 1 x 0 Corinthians'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-113372217758557763</id><published>2005-12-04T16:35:00.000-02:00</published><updated>2005-12-04T16:49:37.596-02:00</updated><title type='text'>Leitor de RSS e ATOM no Outlook</title><content type='html'>Eu venho pesquisando tem um tempo e não consegui encontrar nada sobre leitores de RSS e de ATOM para o Outlook, então resolvi criar um.&lt;br /&gt;&lt;br /&gt;Acabei de criar o workspace &lt;a href=&quot;http://www.gotdotnet.com/Workspaces/Workspace.aspx?id=ab65e6ee-ed4d-4a4f-af57-7537290360f6&quot;&gt;Godinho&#39;s Rss and Atom Reader For Microsoft Outlook&lt;/a&gt; no GotDotNet e com o tempo vou colocar informações de projeto (que ainda precisa ser projetado) e as suas primeiras versões quando estiverem prontas.</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/113372217758557763/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/113372217758557763' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113372217758557763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113372217758557763'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2005/12/leitor-de-rss-e-atom-no-outlook.html' title='Leitor de RSS e ATOM no Outlook'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-113372114448347258</id><published>2005-12-04T16:31:00.000-02:00</published><updated>2005-12-04T16:32:24.483-02:00</updated><title type='text'>Coritiba 1 x 0 Internacional</title><content type='html'>&lt;span style=&quot;font-family:arial;font-size:85%;&quot;&gt;Desse jeito fica fácil pro meu Corinthians!!!&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/113372114448347258/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/113372114448347258' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113372114448347258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113372114448347258'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2005/12/coritiba-1-x-0-internacional.html' title='Coritiba 1 x 0 Internacional'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19559365.post-113367273927288852</id><published>2005-12-04T03:04:00.000-02:00</published><updated>2005-12-04T03:05:39.290-02:00</updated><title type='text'>Avaliação do blogspot</title><content type='html'>&lt;span style=&quot;font-family:arial;font-size:85%;&quot;&gt;Estou pensando em mudar meu blog do TheSpoke para o BlogSpot.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://rafaelgodinho.blogspot.com/feeds/113367273927288852/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19559365/113367273927288852' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113367273927288852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19559365/posts/default/113367273927288852'/><link rel='alternate' type='text/html' href='http://rafaelgodinho.blogspot.com/2005/12/avaliao-do-blogspot.html' title='Avaliação do blogspot'/><author><name>Rafael Godinho</name><uri>http://www.blogger.com/profile/09608324606893548640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>