<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Arquitetura em prática</title>
    <description>por Fabio Margarito Martins de Barros</description>
    <link>http://www.mgrtconsultoria.com/blog/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.6.1.0</generator>
    <language>pt-BR</language>
    <blogChannel:blogRoll>http://www.mgrtconsultoria.com/blog/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://feeds.feedburner.com/ArquiteturaEmPratica</blogChannel:blink>
    <dc:creator>Fabio Margarito Martins de Barros</dc:creator>
    <dc:title>Arquitetura em prática</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ArquiteturaEmPratica" /><feedburner:info uri="arquiteturaempratica" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
      <title>Integração contínua com GitHub e TeamCity 6.5– parte 2</title>
      <description>&lt;p align="justify"&gt;Olá pessoal,&lt;/p&gt;  &lt;p align="justify"&gt;No último post, instalamos o GIT, o TeamCity e realizamos a configuração básica do servidor de &lt;em&gt;build&lt;/em&gt;. Em resumo temos um controle de fontes local e um servidor de &lt;em&gt;build&lt;/em&gt; instalado. Para conseguirmos todo o fluxo da integração contínua, faz-se necessário que o servidor de &lt;em&gt;build&lt;/em&gt; tenha acesso ao controlador de fontes remoto. O que queremos? Que o servidor de build vá até o GitHub, veja se há alterações na &lt;em&gt;branch&lt;/em&gt; que iremos monitorar, e baixe para o controle de fontes local,(também Git) a versão alterada. &lt;/p&gt;  &lt;p align="justify"&gt;Para nos comunicarmos seguramente com Git remoto, no caso o GitHub, há duas formas, utilizando HTTPS ou&amp;#160; SSH. HTTPS, não é recomendável, devido a lentidão, portanto, vamos utilizar SSH e o RSA como padrão de autenticação e para isto, temos que criar uma chave privada e outra pública. A chave pública gerada será configurada no GitHub. &lt;/p&gt;  &lt;p align="justify"&gt;Para a configuração é pré-requisito que você tenha uma conta no GitHub e a geração da chave é realizada através de linha de comando. No help do GitHub, &lt;a href="http://help.github.com/win-set-up-git/" target="_blank"&gt;há um tutorial em inglês&lt;/a&gt;, mas vou colocar minha versão em nossa língua. Vamos lá. &lt;/p&gt;  &lt;p align="justify"&gt;Abra a linha de comando do Git o bash&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_16.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_16.png" width="239" height="62" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Digite a linha de comando abaixo e pressione &lt;em&gt;Enter&lt;/em&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_17.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_17.png" width="244" height="101" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Você será questionado sobre o nome do arquivo da chave, deixe em branco e pressione &lt;em&gt;Enter.&lt;/em&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_18.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_18.png" width="244" height="125" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Agora será questionado sobre uma frase. Escolhi “github”(coloque frase que desejar) ,&amp;#160; na sequência pressione &lt;em&gt;Enter&lt;/em&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_19.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_19.png" width="244" height="125" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Ok chave gerada. A chave foi gerada, no meu caso em c:\users\fabio\.ssh\. Este caminho você já visualiza ao digitar o comando de geração de chaves. Lá foram gerados dois arquivos, id_rsa.pub (chave pública) e id_rsa(Chave privada). Guarde este caminho, vamos usá-lo em breve.&lt;/p&gt;  &lt;p align="justify"&gt;Entre no &lt;a href="https://github.com/" target="_blank"&gt;GitHub&lt;/a&gt; com seu login e senha, e no menu vá em &lt;em&gt;Account Settings &lt;/em&gt;e depois escolha a opção &lt;em&gt;SSH Public Keys.&lt;/em&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_20.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_20.png" width="244" height="132" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;Clique no &lt;em&gt;link&amp;#160; Add another public key.&lt;/em&gt; Em &lt;em&gt;Title &lt;/em&gt;digite um nome que identifica a chave(pode ser qualquer nome) e em &lt;em&gt;key&lt;/em&gt;, copie o conteúdo do arquivo id_rsa.pub. Ficará conforme imagem abaixo:&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_21.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_21.png" width="244" height="132" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Clique em &lt;em&gt;Add Key &lt;/em&gt;e a configuração está finalizada. &lt;/p&gt;  &lt;p align="justify"&gt;Vamos testar a conexão, com o comando “ssh –t &lt;a href="mailto:git@github.com"&gt;git@github.com&lt;/a&gt;”, pressione &lt;em&gt;Enter. &lt;/em&gt;Será solicitada a frase que você digitou durante a configuração da chave. Se tudo der certo, receberá a tela abaixo.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_22.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 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.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_22.png" width="244" height="125" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;No próximo post, vamos criar uma pequena solução de teste e compilar via TeamCity integrado ao GitHub.&lt;/p&gt;  &lt;p align="justify"&gt;[]’s&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/ArquiteturaEmPratica/~3/LfuoVwAeaV4/post.aspx</link>
      <author>fabiomargarito</author>
      <comments>http://www.mgrtconsultoria.com/blog/post/Integracao-continua-com-GitHub-e-TeamCity-65e28093-parte-2.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mgrtconsultoria.com/blog/post.aspx?id=e3f1b672-1ba7-4650-b7f1-000b7062d388</guid>
      <pubDate>Tue, 28 Jun 2011 04:17:11 +0100</pubDate>
      <dc:publisher>fabiomargarito</dc:publisher>
      <pingback:server>http://www.mgrtconsultoria.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.mgrtconsultoria.com/blog/post.aspx?id=e3f1b672-1ba7-4650-b7f1-000b7062d388</pingback:target>
      <slash:comments>84</slash:comments>
      <trackback:ping>http://www.mgrtconsultoria.com/blog/trackback.axd?id=e3f1b672-1ba7-4650-b7f1-000b7062d388</trackback:ping>
      <wfw:comment>http://www.mgrtconsultoria.com/blog/post/Integracao-continua-com-GitHub-e-TeamCity-65e28093-parte-2.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mgrtconsultoria.com/blog/syndication.axd?post=e3f1b672-1ba7-4650-b7f1-000b7062d388</wfw:commentRss>
    <feedburner:origLink>http://www.mgrtconsultoria.com/blog/post.aspx?id=e3f1b672-1ba7-4650-b7f1-000b7062d388</feedburner:origLink></item>
    <item>
      <title>Integração contínua com GitHub e TeamCity 6.5– parte 1</title>
      <description>&lt;p align="justify"&gt;Oi pessoal, tudo bem?&lt;/p&gt;  &lt;p align="justify"&gt;A pedidos, coloco aqui um passo a passo para configurar o TeamCity 6.5 com o GitHub. Depois de várias tentativas e erros, compartilhoo resultado com os amigos.&lt;/p&gt;  &lt;p align="justify"&gt;O &lt;a href="http://www.jetbrains.com/teamcity/index.html" target="_blank"&gt;TeamCity&lt;/a&gt; é um servidor de integração contínua desenvolvido pela Jebrains, a mesma empresa que apoia o dotNetArchitects e que desenvolve o renomada ferramenta de refactoring, o &lt;a href="http://www.jetbrains.com/resharper/" target="_blank"&gt;R#&lt;/a&gt;. Para quem não sabe o que é integração contínua, confira o excelente post do &lt;a href="http://martinfowler.com/articles/continuousIntegration.html" target="_blank"&gt;Fowler discorrendo sobre o assunto&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;O &lt;a href="http://www.github.com" target="_blank"&gt;GitHub&lt;/a&gt; é um &lt;em&gt;hosting&lt;/em&gt; de fontes, que roda o &lt;a href="http://git-scm.com/" target="_blank"&gt;Git&lt;/a&gt;, um controle de fontes distribuído. Para utilizar o serviço do GitHub, basta criar uma conta. Há duas modalidades, a free, ou seja, todo repositório criado será visível a todos, ou, assinar um dos planos do GitHub, e neste caso você pode criar um repositório privado e esta foi minha escolha, pois o uso para tocar alguns projetos pessoais e não gostaria de torná-los públicos no momento. Este guia serve para ambos os tipos de planos, aliás, serve para qualquer &lt;em&gt;hosting&lt;/em&gt; de Git, e aqui vai uma diga, um brasileiro criou o &lt;a href="https://br.codeplane.com/" target="_blank"&gt;CodePlane&lt;/a&gt; que possui plano de 9 dólares onde você pode criar repositórios ilimitados e privados. Quando descobri este &lt;em&gt;hosting&lt;/em&gt; eu já havia configurado o GitHub.&lt;/p&gt;  &lt;p align="justify"&gt;O conjunto destes produtos é uma boa opção para você montar seu servidor de integração contínua e com fontes em modo colaborativo, seguro e eficiente.&amp;#160; Para não ficar exaustivo e longo, vou dividir o post em algumas partes, nesta primeira, iremos baixar e instalar os produtos necessários: Git e TeamCity. Vamos lá:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://code.google.com/p/msysgit/downloads/detail?name=Git-1.7.4-preview20110204.exe&amp;amp;can=3&amp;amp;q=" target="_blank"&gt;&lt;strong&gt;Baixe e instale o Git para windows&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;, sem segredos, next, next…&lt;/strong&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://www.jetbrains.com/teamcity/download/index.html" target="_blank"&gt;&lt;strong&gt;Baixe e instale o TeamCity 6.5&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;#160; &lt;/strong&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;Novamente ao &lt;em&gt;Next&lt;/em&gt;, &lt;em&gt;Next&lt;/em&gt; até chegar a tela abaixo, onde você precisa selecionar o número da porta da interface web do servidor de &lt;em&gt;Build&lt;/em&gt;. Eu escolhi a porta 8080.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_7.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_7.png" width="244" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;Apos clicar em &lt;em&gt;Next&lt;/em&gt;, a instalação continuará e será exibida uma tela para que você coloque mais algumas informações, eu preferi manter a configuração padrão.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_8.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_8.png" width="244" height="182" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Selecione a conta pela qual o servidor de build irá rodar.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_9.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_9.png" width="244" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_10.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_10.png" width="244" height="191" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Clique em &lt;em&gt;Nex&lt;/em&gt;t e finalize a instalação. Mantenha marcada a opção “&lt;em&gt;Open TeamCity Web after the installer exit&lt;/em&gt;” e clique em &lt;strong&gt;&lt;em&gt;Finish&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_11.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_11.png" width="244" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;3. Configurando o TeamCity&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;A página inicial da interface visual do TeamCity abrirá. Aceitar o termo de licença e avance.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_12.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_12.png" width="244" height="132" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Defina um nome de usuário e senha para acesso ao TeamCity&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_13.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_13.png" width="244" height="132" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Vamos criar nosso projeto de Build. Clique em &lt;em&gt;&lt;strong&gt;Create Project&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_14.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_14.png" width="244" height="185" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Project Criado&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_15.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_15.png" width="244" height="158" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;blockquote&gt;   &lt;p&gt;No próximo post, iremos configurar o Git e integrá-lo ao TeamCity. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Até logo&lt;/p&gt;  &lt;p&gt;[]’s&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/ArquiteturaEmPratica/~3/P7RWCe8qQPE/post.aspx</link>
      <author>fabiomargarito</author>
      <comments>http://www.mgrtconsultoria.com/blog/post/Integracao-continua-com-GitHub-e-TeamCity-65e28093-parte-1.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mgrtconsultoria.com/blog/post.aspx?id=89118561-bd4a-47ad-8d1e-7ecff0373ff9</guid>
      <pubDate>Mon, 27 Jun 2011 04:59:18 +0100</pubDate>
      <dc:publisher>fabiomargarito</dc:publisher>
      <pingback:server>http://www.mgrtconsultoria.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.mgrtconsultoria.com/blog/post.aspx?id=89118561-bd4a-47ad-8d1e-7ecff0373ff9</pingback:target>
      <slash:comments>61</slash:comments>
      <trackback:ping>http://www.mgrtconsultoria.com/blog/trackback.axd?id=89118561-bd4a-47ad-8d1e-7ecff0373ff9</trackback:ping>
      <wfw:comment>http://www.mgrtconsultoria.com/blog/post/Integracao-continua-com-GitHub-e-TeamCity-65e28093-parte-1.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mgrtconsultoria.com/blog/syndication.axd?post=89118561-bd4a-47ad-8d1e-7ecff0373ff9</wfw:commentRss>
    <feedburner:origLink>http://www.mgrtconsultoria.com/blog/post.aspx?id=89118561-bd4a-47ad-8d1e-7ecff0373ff9</feedburner:origLink></item>
    <item>
      <title>1º Encontro Dotnetarchictects 2011</title>
      <description>&lt;p align="justify"&gt;Neste sábado(15/01/2010), ocorreu o primeiro encontro presencial &lt;a href="http://www.dotnetarchitects.net/" target="_blank"&gt;Dotnetarchictects&lt;/a&gt; com &lt;img style="padding-left: ; padding-right: ; display: inline; float: right; margin-left: ; margin-right: ; padding-top: " align="right" src="http://t2.gstatic.com/images?q=tbn:ANd9GcQvqPVHHWI-gALoJPE9vcIDczMPlXgypbspNyXbQ_1mojHwj9yq8w" /&gt;transmissão ao vivo via live meeting. &lt;/p&gt;  &lt;p align="justify"&gt;Neste encontro o&amp;#160; pessoal tentou um novo formato de reunião, com o objetivo de ser mais descontraído e com maior participação dos integrantes. Fizemos uma mesa redonda, colocamos alguns temas e discutimos abertamente. &lt;/p&gt;  &lt;p align="justify"&gt;O assunto principal discorrido, foi a gestão das dependências entre os objetos, mas&amp;#160; diversos outros surgiram, os quais posso destacar:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Toda dependência, deve estar explicita no construtor? &lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Existe dependência opcional? É algo comum ou algum erro de design?&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Dependência entre objetos de domínio e objetos de infra estrutura, tem diferença? O tratamento é distinto?&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Qual linguagem escolher? Quem decide sobre a adoção de uma nova tecnologia na empresa? Pessoas com cargos executivos tem este gabarito? Toda decisão deveria ser colaborativa?&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Times inteiros com pessoas ruins, limitam a adoção de novos paradigmas e tecnologias?&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Empresas precisam ter hierarquia? Como funciona uma empresa sem hierarquia? Este modelo funciona para todas as indústrias e para empresas de todos os tamanhos? Pessoas acomodadas conseguiriam trabalhar neste modelo?&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Enfim, foram assuntos bem interessantes, e reforço que a participação presencial não tem preço, é bom para tudo, para fluir melhor o assunto, fazer networking, rever amigos e formar novas opiniões. Não existem argumentos certos ou errados, todos tem direito de participar e expressar a opinião.&lt;/p&gt;  &lt;p align="justify"&gt;Neste encontro, tivemos a presença de diversos amigos, como o &lt;a href="http://www.cavalcante.net/" target="_blank"&gt;Victor Cavalcante&lt;/a&gt;, recém nomeado MVP ASP.NET, devido ao seu comprometimento com a comunidade e fanatismo pelo desenvolvimento web (ama MVC, mas no fundo adora WebForms,rs..), brincadeiras a parte, parabéns,&amp;#160; o &lt;a href="http://blog.lambda3.com.br/L3/giovannibassi/" target="_blank"&gt;Giovanni Bassi&lt;/a&gt;, também MVP,o &lt;a href="http://viniciusquaiato.com/blog/" target="_blank"&gt;Vinícius Quaiato&lt;/a&gt;, Emanuel Brandão, &lt;a href="http://www.aniche.com.br/" target="_blank"&gt;Maurício Aniche&lt;/a&gt;(mestrando pela USP na área de testes)&lt;/p&gt;  &lt;p align="justify"&gt;Em breve, atualizo este post com a o link da gravação de nossa reunião.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;img style="display: inline; float: right" align="right" src="http://www.cenipa.aer.mil.br/cenipa//images/stories/www_links20www.jpg" width="297" height="223" /&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Links Interessantes&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://pt.wikipedia.org/wiki/Inje%C3%A7%C3%A3o_de_depend%C3%AAncia" target="_blank"&gt;Injeção de dependências&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627" target="_blank"&gt;Growing Object-Oriented Software, Guide by Tests&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;[]’s&lt;/p&gt;  &lt;p align="justify"&gt;Fabio Margarito&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/ArquiteturaEmPratica/~3/7Fq6jTqCLDk/post.aspx</link>
      <author>fabiomargarito</author>
      <comments>http://www.mgrtconsultoria.com/blog/post/1c2ba-Encontro-Dotnetarchictects-2011.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mgrtconsultoria.com/blog/post.aspx?id=39d5fb78-00f3-4b47-916e-bbc64bdfb352</guid>
      <pubDate>Sat, 15 Jan 2011 18:32:14 +0100</pubDate>
      <dc:publisher>fabiomargarito</dc:publisher>
      <pingback:server>http://www.mgrtconsultoria.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.mgrtconsultoria.com/blog/post.aspx?id=39d5fb78-00f3-4b47-916e-bbc64bdfb352</pingback:target>
      <slash:comments>68</slash:comments>
      <trackback:ping>http://www.mgrtconsultoria.com/blog/trackback.axd?id=39d5fb78-00f3-4b47-916e-bbc64bdfb352</trackback:ping>
      <wfw:comment>http://www.mgrtconsultoria.com/blog/post/1c2ba-Encontro-Dotnetarchictects-2011.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mgrtconsultoria.com/blog/syndication.axd?post=39d5fb78-00f3-4b47-916e-bbc64bdfb352</wfw:commentRss>
    <feedburner:origLink>http://www.mgrtconsultoria.com/blog/post.aspx?id=39d5fb78-00f3-4b47-916e-bbc64bdfb352</feedburner:origLink></item>
    <item>
      <title>Many Eyes, isto que é tecnologia de visualização de dados</title>
      <description>&lt;p&gt;Não tem jeito, IBM é IBM. Vejam o vídeo.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; padding-left: 0px; width: 425px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:c43c3e8c-3fcf-4f70-8311-12b447a827d1" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" &lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/"http://www.youtube.com/v/DUV_oC_Rvy4&amp;amp&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/"http://www.youtube.com/v/DUV_oC_Rvy4&amp;amp&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/DUV_oC_Rvy4&amp;amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Quem quiser conferir, &lt;a title="http://manyeyes.alphaworks.ibm.com/manyeyes/" href="http://manyeyes.alphaworks.ibm.com/manyeyes/"&gt;http://manyeyes.alphaworks.ibm.com/manyeyes/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;[]’s&lt;/p&gt;  &lt;p&gt;Fabio Margarito&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/ArquiteturaEmPratica/~3/KgDT-8LQo0s/post.aspx</link>
      <author>fabiomargarito</author>
      <comments>http://www.mgrtconsultoria.com/blog/post/Many-Eyes-isto-que-e-tecnologia-de-visualizacao-de-dados.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mgrtconsultoria.com/blog/post.aspx?id=454fc5af-f9f8-47bf-a91a-5993287dde03</guid>
      <pubDate>Wed, 06 Oct 2010 05:18:00 +0100</pubDate>
      <dc:publisher>fabiomargarito</dc:publisher>
      <pingback:server>http://www.mgrtconsultoria.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.mgrtconsultoria.com/blog/post.aspx?id=454fc5af-f9f8-47bf-a91a-5993287dde03</pingback:target>
      <slash:comments>37</slash:comments>
      <trackback:ping>http://www.mgrtconsultoria.com/blog/trackback.axd?id=454fc5af-f9f8-47bf-a91a-5993287dde03</trackback:ping>
      <wfw:comment>http://www.mgrtconsultoria.com/blog/post/Many-Eyes-isto-que-e-tecnologia-de-visualizacao-de-dados.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mgrtconsultoria.com/blog/syndication.axd?post=454fc5af-f9f8-47bf-a91a-5993287dde03</wfw:commentRss>
    <feedburner:origLink>http://www.mgrtconsultoria.com/blog/post.aspx?id=454fc5af-f9f8-47bf-a91a-5993287dde03</feedburner:origLink></item>
    <item>
      <title>Artigo sobre MEF na .Net Magazine</title>
      <description>&lt;p&gt;Fala galera!&lt;/p&gt;  &lt;p&gt;&lt;a title="Artigo sobre MEF na revista .netmagazine edição 77." href="http://www.devmedia.com.br/resumo/default.asp?ed=77&amp;amp;site=1"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; float: ; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" border="0" align="right" src="http://www.devmedia.com.br/loja/img/capa_net77_G.jpg" width="147" height="205" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;É com imenso prazer que publico mais um artigo na revista .net Magazine, pricipalmente pela parceria. Fiz com o &lt;a href="http://blindumceguinhonacidade.blogspot.com/" target="_blank"&gt;Alexandre Santos Costa&lt;/a&gt;, um deficiente visual que manja tudo de .Net, um exemplo de superação. Tentamos fazer um exemplo, simples mas abrangente, para que possam ver o poder deste framework que já vem embutido no .Net 4.0&lt;/p&gt;  &lt;p align="justify"&gt;[]’s&lt;/p&gt;  &lt;p align="justify"&gt;Fabio Margarito&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/ArquiteturaEmPratica/~3/b-bXoaMTr10/post.aspx</link>
      <author>fabiomargarito</author>
      <comments>http://www.mgrtconsultoria.com/blog/post/Artigo-sobre-MEF-na-Net-Magazine.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mgrtconsultoria.com/blog/post.aspx?id=436a86c8-3423-4e1d-835f-aa774d29e033</guid>
      <pubDate>Sat, 02 Oct 2010 02:44:54 +0100</pubDate>
      <dc:publisher>fabiomargarito</dc:publisher>
      <pingback:server>http://www.mgrtconsultoria.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.mgrtconsultoria.com/blog/post.aspx?id=436a86c8-3423-4e1d-835f-aa774d29e033</pingback:target>
      <slash:comments>156</slash:comments>
      <trackback:ping>http://www.mgrtconsultoria.com/blog/trackback.axd?id=436a86c8-3423-4e1d-835f-aa774d29e033</trackback:ping>
      <wfw:comment>http://www.mgrtconsultoria.com/blog/post/Artigo-sobre-MEF-na-Net-Magazine.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mgrtconsultoria.com/blog/syndication.axd?post=436a86c8-3423-4e1d-835f-aa774d29e033</wfw:commentRss>
    <feedburner:origLink>http://www.mgrtconsultoria.com/blog/post.aspx?id=436a86c8-3423-4e1d-835f-aa774d29e033</feedburner:origLink></item>
    <item>
      <title>Agora estou com internet boa!!!!!</title>
      <description>&lt;p align="justify"&gt;Acabei de adquirir o serviço virtua de 10 Mb e fiz um teste através do site &lt;a href="http://www.speedtest.net/"&gt;http://www.speedtest.net/&lt;/a&gt;. Olhe que números…&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px auto; display: block; float: none; border-top: 0px; border-right: 0px" border="0" src="http://www.speedtest.net/result/937208853.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_5.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_5.png" width="222" height="157" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_6.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_6.png" width="223" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Só de pensar que em 1997 eu usava um link de 56 kb e ficava feliz com download a 5kbs.&lt;/p&gt;  &lt;p&gt;[]’s&lt;/p&gt;  &lt;p&gt;Fabio Margarito&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/ArquiteturaEmPratica/~3/4UFz-q6QfPw/post.aspx</link>
      <author>fabiomargarito</author>
      <comments>http://www.mgrtconsultoria.com/blog/post/Agora-estou-com-internet-boa!!!!!.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mgrtconsultoria.com/blog/post.aspx?id=1a97da33-266f-4bd2-9b74-b76b66f00699</guid>
      <pubDate>Thu, 02 Sep 2010 05:03:06 +0100</pubDate>
      <dc:publisher>fabiomargarito</dc:publisher>
      <pingback:server>http://www.mgrtconsultoria.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.mgrtconsultoria.com/blog/post.aspx?id=1a97da33-266f-4bd2-9b74-b76b66f00699</pingback:target>
      <slash:comments>60</slash:comments>
      <trackback:ping>http://www.mgrtconsultoria.com/blog/trackback.axd?id=1a97da33-266f-4bd2-9b74-b76b66f00699</trackback:ping>
      <wfw:comment>http://www.mgrtconsultoria.com/blog/post/Agora-estou-com-internet-boa!!!!!.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mgrtconsultoria.com/blog/syndication.axd?post=1a97da33-266f-4bd2-9b74-b76b66f00699</wfw:commentRss>
    <feedburner:origLink>http://www.mgrtconsultoria.com/blog/post.aspx?id=1a97da33-266f-4bd2-9b74-b76b66f00699</feedburner:origLink></item>
    <item>
      <title>Problemas com Reporting Services 2008 e Windows 7 Home Premium</title>
      <description>&lt;p align="justify"&gt;Quase 23 horas, e eu aqui instalando o SQL Server Reporting Services 2008. A instalação ocorreu bem, mas quando tentei abrir o gerenciador de relatórios, “””pã””&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb.png" width="404" height="373" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Ok, erro novo para mim, instalei diversas vezes o Reporting Services e isto nunca tinha acontecido,&amp;#160; a única diferença é que eu estou tentando instalar no Windows 7 Home Premium, o SO que que veio no note que comprei recentemente.&lt;/p&gt;  &lt;p align="justify"&gt;Depois de uma pequena pesquisa descobri o problema. Para eu poder rodar o gerenciador de relatórios do Reporting Services, é necessário que o usuário pertença ao grupo de administradores locais. Para resolver, a ação foi simples, bastou eu dar um “run as administrator”, ou “Executar como administrador” o IE. Pronto, tela de configuração.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_1.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_1.png" width="416" height="387" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Fui em “configurações de pasta”, em seguida “Atribuição de nova função”&amp;#160; e associei meu usuário a “Construtor de relatórios” e “Gerenciador de conteúdo”.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_2.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_2.png" width="428" height="409" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_3.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_3.png" width="428" height="408" /&gt;&lt;/a&gt; Pronto, agora consigo entrar no gerenciador de relatórios sem problemas..&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_4.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=image_thumb_4.png" width="441" height="421" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Espero que seja útil para alguém. &lt;/p&gt;  &lt;p&gt;[]’s&lt;/p&gt;  &lt;p&gt;Fabio Margarito&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/ArquiteturaEmPratica/~3/c_A7SVhL25U/post.aspx</link>
      <author>fabiomargarito</author>
      <comments>http://www.mgrtconsultoria.com/blog/post/Problemas-com-Reporting-Services-2008-e-Windows-7-Home-Premium.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mgrtconsultoria.com/blog/post.aspx?id=d0e91468-2dae-477c-95a9-02a35e9ebe6d</guid>
      <pubDate>Sun, 25 Jul 2010 04:13:09 +0100</pubDate>
      <dc:publisher>fabiomargarito</dc:publisher>
      <pingback:server>http://www.mgrtconsultoria.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.mgrtconsultoria.com/blog/post.aspx?id=d0e91468-2dae-477c-95a9-02a35e9ebe6d</pingback:target>
      <slash:comments>75</slash:comments>
      <trackback:ping>http://www.mgrtconsultoria.com/blog/trackback.axd?id=d0e91468-2dae-477c-95a9-02a35e9ebe6d</trackback:ping>
      <wfw:comment>http://www.mgrtconsultoria.com/blog/post/Problemas-com-Reporting-Services-2008-e-Windows-7-Home-Premium.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mgrtconsultoria.com/blog/syndication.axd?post=d0e91468-2dae-477c-95a9-02a35e9ebe6d</wfw:commentRss>
    <feedburner:origLink>http://www.mgrtconsultoria.com/blog/post.aspx?id=d0e91468-2dae-477c-95a9-02a35e9ebe6d</feedburner:origLink></item>
    <item>
      <title>Análise SWOT na avaliação de soluções de arquitetura</title>
      <description>&lt;p align="justify"&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=Estrategia.jpg" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Estrategia" border="0" alt="Estrategia" align="left" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=Estrategia_thumb.jpg" width="278" height="331" /&gt;&lt;/a&gt; Vou fugir um pouco do post técnico, e tentar escrever&amp;#160; sobre estratégia, e como ferramentas de análise de cenário, utilizadas para planejamento estratégico empresarial, podem nos ajudar na tomada de decisão.&lt;/p&gt;  &lt;p align="justify"&gt;Como já falei em palestras que ministrei e em conversas informais com amigos, na minha visão, o arquiteto deve escolher a melhor solução pensando em diversos&amp;#160; fatores, tais como: equipe, plataforma tecnológica, cultura da empresa e alinhamento com a equipe de negócios. Arquitetos devem sugerir e implementar soluções sustentáveis.&lt;/p&gt;  &lt;p align="justify"&gt;No MBA que faço na FGV na disciplina&amp;#160; de Estratégia Empresarial, fui exposto a uma metodologia de análise de cenários chamada SWOT, e quando me refiro a cenário, podemos falar de uma área da empresa, da empresa como um todo, da sua vida, etc…, ou seja, você foca em um escopo que deseja analisar. O objetivo da análise, é fornecer os insumos necessários para que possamos tomar uma decisão e montar um planejamento estratégico. &lt;strong&gt;SWOT&lt;/strong&gt; é um acrônico e significa:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;b&gt;S&lt;/b&gt;trengths(forças): Características positivas, diferenciais que trazem vantagens competitivas.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;b&gt;W&lt;/b&gt;eaknesses(fraquezas):&amp;#160; Características negativas, que trazem prejuízos.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;&lt;strong&gt;S&lt;/strong&gt; e &lt;strong&gt;W&lt;/strong&gt;, são avaliados pensando em fatores internos, e internos definimos como fatores que temos controle e podemos atuar, gerenciáveis.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;b&gt;O&lt;/b&gt;pportunities(oportunidades): Fatores externos que podem trazer algum tipo de oportunidade, por exemplo, uma nova lei que beneficie o mercado de software.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;b&gt;T&lt;/b&gt;hreats(Ameaças): Fatores externos que podem colocar em jogo o cenário, por exemplo, uma versão de software que é descontinuada pelo fabricante.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;&lt;strong&gt;O&lt;/strong&gt; e &lt;strong&gt;T&lt;/strong&gt;, são fatores que não temos controles, não gerenciáveis. A figura abaixo ilustra o quadrante gerado pela análise SWOT.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=SWOT.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SWOT" border="0" alt="SWOT" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=SWOT_thumb.png" width="240" height="300" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;fonte da imagem:&lt;a href="http://autopadrao.blog.terra.com.br/files/2009/11/300px-swot_pt_svg.png&amp;amp;imgrefurl=http://autopadrao.blog.terra.com.br/2009/11/28/analise-swot-planejando-para-mudar/&amp;amp;h=281&amp;amp;w=300&amp;amp;sz=29&amp;amp;tbnid=ZGQsvh3RNmBiaM:&amp;amp;tbnh=109&amp;amp;tbnw=116&amp;amp;prev=/images%3Fq%3Dan%25C3%25A1lise%2Bswot&amp;amp;hl=pt-BR&amp;amp;usg=__EK2gkbXj3169yB8h_a3UO6a-3ro=&amp;amp;sa=X&amp;amp;ei=KNQrTMSXNIGNuAfOgZ2uCQ&amp;amp;ved=0CC4Q9QEwAw" target="_blank"&gt;blog sem palavras&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Achei extremamente pertinente a utilização desta metodologia para tomada de decisões das mais variadas possíveis. Vou colocar um cenário já discutido em um passado não muito distante, onde uma equipe gostaria de alterar os namespaces de um framework distribuído gratuitamente. Colocamos o problema e começamos a levantar, a partir da experiência dos participantes, pontos que seriam relevantes e passíveis de classificação.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Forças&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Framework com a cara do time.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Controle da versão utilizada pelos times de desenvolvimento.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Fraquezas&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Atraso na distribuição do framework para o time de desenvolvedores.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Comprometimento de todos os sistemas legados que utilizam a versão nativa, pois para se enquadrarem às políticas da empresa, teriam que ser alterados.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Risco de inclusão de bugs&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Quebra da licença do produto, pois o mesmo permite ler mas não alterar o código fonte.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;O namespace possui o nome do time gestor, e caso a área seja extinta, há comprometimento do significado de negócio do namespace.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Necessidade de treinar um profissional que já conhece com propriedade o framework nativo.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Oportunidades&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Não identificadas&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Ameaças&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Fornecedora do framework lançar um hotéis. Devido a customização, a equipe gestora do framework alterado, não consegue entregar a nova versão rapidamente, para, por exemplo, resolver um problema de produção.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Fornecedora do framework lançar uma nova versão, deixando a empresa em desvantagem competitiva em relação a outras empresas que utilizam o framework nativo.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Com os pontos colocados, foi decidido pela não alteração do namespace, visto que haviam mais ameaças e fraquezas do que pontos fortes e oportunidades. Obviamente, não foram apenas estes itens, mas um conjunto bem maior. &lt;/p&gt;  &lt;p align="justify"&gt;Para levantar os quatro quadrantes, há a necessidade de um trabalho em grupo, onde os quadrantes são exibidos e os diversos participantes apontam fatores e em conjunto, decidem em que quadrante cada fator deve ficar. &lt;/p&gt;  &lt;p align="justify"&gt;Vocês conseguem ver este tipo de análise em outros cenários? Exemplos:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Desenvolver em Webforms ou MVC?&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Distribuir a aplicação(servidor web e servidor de aplicação) ou mantê-la em um único servidor?&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;VB.NET ou C#?&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Acho que vale o exercício.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Quer aprender mais?&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;&lt;a href="http://pt.wikipedia.org/wiki/An%C3%A1lise_SWOT" target="_blank"&gt;SWOT&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;[]’s&lt;/p&gt;  &lt;p align="justify"&gt;Fabio Margarito&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/ArquiteturaEmPratica/~3/5x0kKc8aL4A/post.aspx</link>
      <author>fabiomargarito</author>
      <comments>http://www.mgrtconsultoria.com/blog/post/Analise-SWOT-na-avaliacao-de-solucoes-de-arquitetura.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mgrtconsultoria.com/blog/post.aspx?id=66b2230d-829b-479f-9bee-18ec223ec28c</guid>
      <pubDate>Sun, 04 Jul 2010 19:58:44 +0100</pubDate>
      <dc:publisher>fabiomargarito</dc:publisher>
      <pingback:server>http://www.mgrtconsultoria.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.mgrtconsultoria.com/blog/post.aspx?id=66b2230d-829b-479f-9bee-18ec223ec28c</pingback:target>
      <slash:comments>99</slash:comments>
      <trackback:ping>http://www.mgrtconsultoria.com/blog/trackback.axd?id=66b2230d-829b-479f-9bee-18ec223ec28c</trackback:ping>
      <wfw:comment>http://www.mgrtconsultoria.com/blog/post/Analise-SWOT-na-avaliacao-de-solucoes-de-arquitetura.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mgrtconsultoria.com/blog/syndication.axd?post=66b2230d-829b-479f-9bee-18ec223ec28c</wfw:commentRss>
    <feedburner:origLink>http://www.mgrtconsultoria.com/blog/post.aspx?id=66b2230d-829b-479f-9bee-18ec223ec28c</feedburner:origLink></item>
    <item>
      <title>Unity of work</title>
      <description>&lt;p align="justify"&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=transaction.jpg" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="transaction" border="0" alt="transaction" align="left" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=transaction_thumb.jpg" width="207" height="240" /&gt;&lt;/a&gt; Tudo pessoal?&lt;/p&gt;  &lt;p align="justify"&gt;Outro dia uma amigo me questionou sobre a utilidade do padrão &lt;strong&gt;Unity of Work &lt;/strong&gt;(para facilitar, chamarei de UoW), na visão dele, o padrão não faz sentido e teria pouca utilização. Será que não tem nenhum valor? Para não respondê-lo por e-mail, resolvi postar a resposta.&lt;/p&gt;  &lt;p align="justify"&gt;Segundo Martin Fowller o padrão UoW é definido como: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;&lt;i&gt;Mantains a list of objects affected by a business transaction and coordinates the writing out of changes and the resolution of concurrency problems.&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;em tradução livre:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;Mantém uma lista de objetos afetados por uma transação de negócio, coordena a efetivação das mudanças e soluciona problemas de concorrência.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;Para facilitar a compreensão do UoW, trazendo um pouco para a realidade de muitos, imagine o processo de negócio de emissão de uma nota fiscal (processo extremamente simplificado):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Emissão da nota fiscal&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Baixa de itens do estoque&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Criação de contas a receber&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;O processo de negócio somente será efetivado, se as três etapas forem concluídas. Como resolvemos este tipo de situação? &lt;/p&gt;  &lt;p align="justify"&gt;Geralmente abre-se uma transação no banco de dados, e se todas as etapas forem concluídas com sucesso, efetivamos a transação, caso contrário, abortamos, ou seja, voltamos ao estado anterior a transação. &lt;/p&gt;  &lt;p align="justify"&gt;O UoW é o cara que abre a transação, efetiva ou aborta, só que trabalhamos com o controle dos objetos (quais foram alterados, quais foram inseridos, excluídos , etc..). &lt;/p&gt;  &lt;p align="justify"&gt;Em um modelo orientado a objetos do nosso problema, a nota fiscal é um objeto, quando emito uma nota, no final das contas, instanciamos um objeto nota e incluímos o estado desejado (número da nota, data de emissão, lista de produtos (outro objeto),etc..) , portanto, a nota torna-se um novo objeto passível de ser persistido no banco de dados.&lt;/p&gt;  &lt;p align="justify"&gt;Se for uma alteração, basicamente retornamos os dados do banco, preenchemos um objeto do tipo nota, alteramos o estado do objeto, e este, posteriormente é persistido no banco. Com a exclusão, o processo é similar. Conseguiram ligar&amp;#160; a expressão “Mantém uma lista de objetos afetados por uma transação de negócio” , com o exemplo exposto? Em nosso exemplo, teríamos outros objetos que serão gerenciados pelo UoW, e por ele conhecer todos, e os respectivos estados, consegue saber se houve algo errado, e abortar, se necessário.&lt;/p&gt;  &lt;p align="justify"&gt;Para a criação de UoW, Fowller em seu artigo sugere a seguinte interface:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.mgrtconsultoria.com/blog/image.axd?picture=unitOfWorkInterface.gif" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="unitOfWorkInterface" border="0" alt="unitOfWorkInterface" src="http://www.mgrtconsultoria.com/blog/image.axd?picture=unitOfWorkInterface_thumb.gif" width="158" height="187" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Sacaram onde o objeto nota fiscal poderia ser incluso em cada situação?&lt;/p&gt;  &lt;p align="justify"&gt;Outro ponto importante, e faz parte da definição do UoW, é o controle de concorrência, que é outro assunto extremamente complicado e extenso, mas posso citar um exemplo:&lt;/p&gt;  &lt;p align="justify"&gt;Imagine duas pessoas, uma sem conhecimento da outra, alterando dados de um mesmo cliente, o que fazer no momento da persistência? Há algumas técnicas, como o bloqueio pessimista, ou seja, no momento que eu resgatar um cliente eu bloqueio este cliente, impedindo que qualquer outro o altere, ou , bloqueio otimista, onde faço a checagem se houve alguma alteração no momento da persistência. Enfim, implementar tudo isto não é algo tão trivial, e como o conceito padrão de projeto, é a solução para um problema recorrente, podemos imaginar que alguém já implementou isto, correto? Com certeza, vejamos alguns exemplos:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;&lt;a href="http://nhforge.org/Default.aspx" target="_blank"&gt;NHibernate&lt;/a&gt;&lt;/strong&gt;, um ORM opensource bem conhecido: No NHibernate, temos o objeto Session, qual a função do Session? Ele abre a transação e monitora todos os objetos utilizados no processo de negócio.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb399572.aspx" target="_blank"&gt;Entity Framework&lt;/a&gt;&lt;/strong&gt;, ORM desenvolvido pela Microsoft: No Entity Framework, temos um objeto similar ao Session do NHibernate, o datacontext.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.data.dataset.aspx" target="_blank"&gt;DataSet do .Net Framework&lt;/a&gt;&lt;/strong&gt;: Um dataset, é um banco em memória e desconectado do banco de dados, trocando em miúdos, podemos retornar dados de um banco, alteramos, incluímos dados em memória&amp;#160; e solicitamos que as alterações sejam persistidas.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Conclusão&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Não feche os olhos aos padrões, entendê-los é importante, fazem parte do nosso dia-a-dia, e são a melhor forma de reuso de conhecimento gerado a partir do sofrimento de muitos.&lt;/p&gt;  &lt;p align="justify"&gt;Fala sério, também fica bonito em uma reunião técnica, rs…&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Quer aprender mais?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;&lt;a href="http://martinfowler.com/eaaCatalog/unitOfWork.html" target="_blank"&gt;Unity of work&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;&lt;a href="http://rlacovara.blogspot.com/2009/04/entity-framework-patterns-unit-of-work.html" target="_blank"&gt;Entity Framework Patterns: Unity of work&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;&lt;a href="http://nhforge.org/blogs/nhibernate/archive/2008/12/21/identity-the-never-ending-story.aspx" target="_blank"&gt;Objeto Session NHibernate&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;[]’s&lt;/p&gt;  &lt;p align="justify"&gt;Fabio Margarito&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/ArquiteturaEmPratica/~3/KF1zZcQqDgA/post.aspx</link>
      <author>fabiomargarito</author>
      <comments>http://www.mgrtconsultoria.com/blog/post/Unity-of-work.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mgrtconsultoria.com/blog/post.aspx?id=9e94cb83-a5e3-4b9d-9793-d00c9a72858b</guid>
      <pubDate>Sat, 26 Jun 2010 03:21:45 +0100</pubDate>
      <dc:publisher>fabiomargarito</dc:publisher>
      <pingback:server>http://www.mgrtconsultoria.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.mgrtconsultoria.com/blog/post.aspx?id=9e94cb83-a5e3-4b9d-9793-d00c9a72858b</pingback:target>
      <slash:comments>43</slash:comments>
      <trackback:ping>http://www.mgrtconsultoria.com/blog/trackback.axd?id=9e94cb83-a5e3-4b9d-9793-d00c9a72858b</trackback:ping>
      <wfw:comment>http://www.mgrtconsultoria.com/blog/post/Unity-of-work.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mgrtconsultoria.com/blog/syndication.axd?post=9e94cb83-a5e3-4b9d-9793-d00c9a72858b</wfw:commentRss>
    <feedburner:origLink>http://www.mgrtconsultoria.com/blog/post.aspx?id=9e94cb83-a5e3-4b9d-9793-d00c9a72858b</feedburner:origLink></item>
    <item>
      <title>Codificando .Net 2010 e DotNetArchitects</title>
      <description>&lt;p align="justify"&gt;Ontém ocorreu o evento &lt;a href="http://www.codificandomagazine.net/codificando2010/Default.aspx"&gt;Codificando .Net 2010&lt;/a&gt;, e foi bem bacana. Cheguei logo cedo, e saí quase as 19:00. O evento inicou com o KeyNote do &lt;a href="http://www.facunte.com.br/"&gt;Facunte&lt;/a&gt;, sobre o Windows Phone e SilverLight 4. Como sempre a palestra do Facunte foi bem bacana, um cara bastante extrovertido e diverto. Em seguida um overview das tecnologias que chegaram em 2010, como o Visual Studio 2010, novidades do ASP.Net 4.0 e .Net Framework 4.0 com a equipe de líderes do Codificando .Net. As 14:00 teve inicío da &lt;a href="http://pt.wikipedia.org/wiki/Joint_venture"&gt;Joint Venture&lt;/a&gt; entre Codificando .Net e &lt;a href="http://pt.wikipedia.org/wiki/Joint_venture"&gt;DotNetArchitects&lt;/a&gt;. A equipe do Codificando nos cedeu uma sala para uma sessão aberta para discutirmos soluções de arquitetura na plataforma .Net. Foi uma discussão bem bacana, com muita gente inteligente e a participção da cúpula do time DotNetArchitects, como o &lt;a href="http://reverb.leandrodaniel.com/"&gt;Leandro Daniel&lt;/a&gt;, Emanuel Brandão, &lt;a href="http://viniciusquaiato.com/blog/"&gt;Vinícios Quaiato&lt;/a&gt;, &lt;a href="www.cavalcante.net"&gt;Victor Cavalcante&lt;/a&gt; , &lt;a href="http://www.danielfonsecacastro.com.br/"&gt;Daniel Fonseca&lt;/a&gt; e eu. Em paralelo, o Victor estava palestrando sobre MVC e Jquery com maestria(logo que acabou nossa discussão de arquitetura, também fui conferir a palestra). A estrutura do evento foi muito bacana, muita gente(em torno de 300 pessoas) deixando de lado o fim de semana de diversão, para compartilhar conhecimentos e reencontrar amigos. Equipe Codificando, em nome do DotNetArchitects, agradecemos a oportunidade, e parabéns pelo evento.&lt;/p&gt;  &lt;p align="justify"&gt;[]’s&lt;/p&gt;  &lt;p align="justify"&gt;Fabio Margarito&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/ArquiteturaEmPratica/~3/hZwhqzxMOaE/post.aspx</link>
      <author>fabiomargarito</author>
      <comments>http://www.mgrtconsultoria.com/blog/post/Codificando-Net-2010-e-DotNetArchitects.aspx#comment</comments>
      <guid isPermaLink="false">http://www.mgrtconsultoria.com/blog/post.aspx?id=8087e1e5-497e-4f59-a0c1-bcc9abfd85ff</guid>
      <pubDate>Sun, 20 Jun 2010 19:47:59 +0100</pubDate>
      <dc:publisher>fabiomargarito</dc:publisher>
      <pingback:server>http://www.mgrtconsultoria.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.mgrtconsultoria.com/blog/post.aspx?id=8087e1e5-497e-4f59-a0c1-bcc9abfd85ff</pingback:target>
      <slash:comments>68</slash:comments>
      <trackback:ping>http://www.mgrtconsultoria.com/blog/trackback.axd?id=8087e1e5-497e-4f59-a0c1-bcc9abfd85ff</trackback:ping>
      <wfw:comment>http://www.mgrtconsultoria.com/blog/post/Codificando-Net-2010-e-DotNetArchitects.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.mgrtconsultoria.com/blog/syndication.axd?post=8087e1e5-497e-4f59-a0c1-bcc9abfd85ff</wfw:commentRss>
    <feedburner:origLink>http://www.mgrtconsultoria.com/blog/post.aspx?id=8087e1e5-497e-4f59-a0c1-bcc9abfd85ff</feedburner:origLink></item>
  </channel>
</rss>

