<?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: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-4332347715159530636</id><updated>2012-02-16T20:27:17.402-08:00</updated><category term='Programador'/><category term='Visual Studio'/><category term='Twitter'/><category term='Usabilidade'/><category term='Certificação'/><category term='MVC'/><category term='Internet'/><category term='Emprego'/><category term='piada'/><category term='WEBFORM'/><category term='CPF'/><category term='GridView'/><category term='Métricas'/><category term='TEST'/><category term='ASP.NET'/><category term='Comida'/><category term='PGE'/><category term='C#'/><category term='JBar'/><category term='JQuery'/><category term='Ifactory'/><category term='TDD'/><category term='SEO'/><category term='Ibatis'/><category term='Agrupar'/><category term='Nhibernate'/><category term='GridViewHelper'/><category term='comédia'/><category term='Validar'/><category term='IP'/><category term='Mono'/><category term='Nunit'/><category term='PEX'/><category term='Chart'/><category term='Empreendedorismo'/><category term='Web applications'/><category term='JavaScript'/><category term='Busca'/><category term='Delivery'/><category term='PodePedir'/><category term='Open Redirection Attacks'/><category term='Logical Datacenter Design'/><category term='Excel'/><title type='text'>Matheus Veras</title><subtitle type='html'>TDD, C#, JavaScript, ASP.NET, jQuery</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-6332762683792076493</id><published>2011-07-21T09:34:00.000-07:00</published><updated>2011-07-21T09:35:54.199-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ifactory'/><category scheme='http://www.blogger.com/atom/ns#' term='Emprego'/><title type='text'>iFactory está contratando para sua sede em Fortaleza, veja as vagas.</title><content type='html'>&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;A iFactory, Multinacional do Segmento de TI, eleita em 2010 e 2011 como uma das melhores empresas de TI para trabalhar no Brasil, está contratando para sua sede em Fortaleza.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Se você gosta de trabalhar com desenvolvimento de software, aceita desafios e sabe superá-los, valoriza aprender e compartilhar conhecimento e sabe trabalhar em equipe, venha fazer parte de nosso time!&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;b&gt;&lt;span style="color: #c00000; font-size: 11pt;"&gt;Desenvolvedor .NET Pleno e Sênior&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Para exercer a função de Desenvolvedor .NET, você necessitará dos seguintes requisitos técnicos:&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Domínio em Desenvolvimento de Software para Web na plataforma .NET, utilizando a linguagem C#.NET;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Nível superior&amp;nbsp;completo ou em andamento em informática ou áreas afins.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Serão considerados diferenciais:&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Fluência na língua inglesa ou espanhola;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimento em outras linguagens de programação.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;b&gt;&lt;span style="color: #c00000; font-size: 11pt;"&gt;Desenvolvedor Java Pleno e Sênior&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Para exercer a função de Desenvolvedor Java, você necessitará dos seguintes requisitos técnicos:&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Domínio em Desenvolvimento de Software para Web na plataforma J2EE;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Nível superior&amp;nbsp;completo ou em andamento em informática ou áreas afins.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Serão considerados diferenciais:&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 15px;"&gt;Fluência na língua inglesa ou espanhola;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimento em outras linguagens de programação.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;b&gt;&lt;span style="color: #c00000; font-size: 11pt;"&gt;Desenvolvedor iOS&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Para exercer a função de Desenvolvedor iOS, você necessitará dos seguintes requisitos técnicos:&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimento avançado em C,Objective C, XML e Java Script;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimento em HTML 5 e CSS;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimento em SQLite;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Experiência prévia com desenvolvimento para aplicações mobile;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Experiência com desenvolvimento para iOS 3.x e iOS 4.x;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Habilidade com depuração em vazamento de memória;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimento em Interface Builder.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;b&gt;&lt;span style="color: #c00000; font-size: 11pt;"&gt;Desenvolvedor Android&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Para exercer a função de Desenvolvedor Android, você necessitará dos seguintes requisitos técnicos:&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimento avançado em Java, XML e Java Script;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimento em HTML 5 e CSS;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 15px;"&gt;Conhecimento em SQLite;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Experiência prévia com desenvolvimento para aplicações mobile;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Experiência com desenvolvimento para Android 2.x;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Desejável experiência com desenvolvimento para Android 3.x.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;b&gt;&lt;span style="color: #c00000; font-size: 11pt;"&gt;QA de Software&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Para exercer a função de QA de Software, você necessitará dos seguintes requisitos técnicos:&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Desenvolver Planos de Testes de Qualidade para cada projeto, explicitando o Escopo a ser testado e as Abordagens de Teste (níveis de testes, estratégias de testes, critérios de aceitação, documentos entregáveis, ambiente de testes, responsabilidades, riscos dos projetos de testes, cronograma de testes e conclusão dos testes);&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Realizar atualização dos Planos de Testes de acordo com as necessidades dos projetos e/ou por sprint;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Criar e montar os casos de testes de acordo com os requisitos funcionais e não funcionais dos entregáveis do projeto;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Realizar os testes seguindo os casos de testes criados e avaliar os resultados obtidos;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 15px;"&gt;Listar e elaborar relatório de requisitos não aprovados pela Qualidade e passar para equipe do projeto para correção e melhoria dos mesmos (Relatório de Reporte de Issues);&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Aprovar os entregáveis do projeto, formalizar através de e-mail, registrando os casos de testes realizados e a aprovação de todos os requisitos e funcionalidades testadas pela Qualidade, bem como fornecer os devidos esclarecimentos para promover as adequações necessárias;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Necessário fluência em inglês.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;b&gt;&lt;span style="color: #c00000; font-size: 11pt;"&gt;Engenheiro de Suporte&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Para exercer a função de Engenheiro de Suporte, você necessitará dos seguintes requisitos técnicos:&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Noções de ITIL (opcional)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimento em sistema operacional de servidor (Windows server, Linux, Solaris, etc..)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimentos em LDAP (opcional)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimento em banco de dados (Oracle, SQL Server, etc..),&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimento em Application server (Weblogic, Tomcat, Websphere, etc..)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimento em Java&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Conhecimentos em Web server (IIS, Apache, etc..)&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Experiência com atendimento a clientes;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Nível Superior completo ou em andamento em informática ou áreas afins;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Fluência na língua inglesa ou espanhola.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;&lt;b&gt;Em contrapartida, lhe ofereceremos um excelente ambiente de trabalho e benefícios, tais como:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Contato com tecnologias das maiores empresas da área, e oportunidade de especialização nas mesmas: ORACLE, IBM, MICROSOFT, APACHE, etc;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Atuação em projetos nacionais e internacionais;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Oportunidade de crescimento profissional e pessoal;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Ambiente de trabalho descontraído;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Encorajamento à melhoria profissional contínua (cursos, certificações, etc..);&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Compartilhamento contínuo de conhecimento;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Bônus de apoio aos estudos;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Investimento em certificações;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Investimento em cursos;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Vale refeição;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Plano odontológico;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Convênio com plano de saúde;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Convênio com academia de ginástica;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Convênio com assessoria esportiva;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;Convênios/descontos diversos com faculdades, cursos de línguas, etc.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: #444444; font-family: Arial, 'Helvetica Neue', sans-serif; line-height: 19px;"&gt;currículo para selecao@ifactory.com.br&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-size: 11pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-6332762683792076493?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/6332762683792076493/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2011/07/ifactory-esta-contratando-para-sua-sede.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/6332762683792076493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/6332762683792076493'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2011/07/ifactory-esta-contratando-para-sua-sede.html' title='iFactory está contratando para sua sede em Fortaleza, veja as vagas.'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-2219013031564480039</id><published>2011-06-28T07:43:00.000-07:00</published><updated>2011-06-28T07:53:25.853-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Certificação'/><category scheme='http://www.blogger.com/atom/ns#' term='Web applications'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Exames de certificação e cursos para .NET 4.0 Web applications</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ErLRs6DP2zw/TgnngjSrkwI/AAAAAAAAAPQ/qJeMyKds6r4/s1600/button_MCTS_Net40_WebApps.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-ErLRs6DP2zw/TgnngjSrkwI/AAAAAAAAAPQ/qJeMyKds6r4/s1600/button_MCTS_Net40_WebApps.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Prova:&lt;/span&gt;&lt;/b&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;70-513: TS: Windows Communication Foundation Development with Microsoft .NET Framework 4&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;b&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Curso recomendado:&lt;/span&gt;&lt;/b&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;10263: Desenvolvimento WCF com Microsoft Visual Studio 2010 (3 dias)&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Os alunos devem ter experiência de consumir serviços dentro de seus aplicativos Web e / ou aplicações cliente Windows e estar interessados em aprender a desenvolver aplicações orientadas a serviços (SOA) usando WCF. Este curso fornece aos participantes os conhecimentos e habilidades para desenvolver aplicações distribuídas utilizando WCF 4 e Microsoft Visual Studio 2010.&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;b&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Prova:&lt;/span&gt;&lt;/b&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;70-515: TS: Web Application Development with Microsoft .NET Framework 4.0&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;b&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Curso recomendado:&lt;/span&gt;&lt;/b&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;10264: Desenvolvendo Aplicações Web com Visual Studio 2010 (5 dias)&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Durante cinco dias, os alunos irão aprender a desenvolver aplicações avançadas em ASP.NET MVC e aplicações Web Forms usando. NET Framework 4 além de outras ferramentas e tecnologias. O foco será a codificação que melhoram o desempenho e a escalabilidade do aplicativo Web. &lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;ASP.NET MVC será introduzido e comparados com Webforms para que os alunos saberem quando cada um deve / pode ser usado&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;b&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Prova:&lt;/span&gt;&lt;/b&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;70-516: TS: Accessing Data with Microsoft .NET Framework 4&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;b&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Curso recomendado:&lt;/span&gt;&lt;/b&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;10265: Desenvolvimento de soluções de acesso a dados com o Microsoft Visual Studio 2010 (5 dias)&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Curso para desenvolvedores mais experientes que sabem o básico de acesso a dados (CRUD) no cliente Windows e ambientes de aplicações Web, vai aprender a otimizar seus projetos e desenvolver melhor desempenho no código de acesso de dados usando o ADO.NET Entity Framework, LINQ, WCF Data Services, o Sync Framework, e ADO.NET.&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Microsoft Certified Professional Developer (MCPD): Web Developer 4.0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Para essa certificação você precisa das outras três:&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCTS: .NET Framework 4.0, Web Applications&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCTS: .NET Framework 4.0, Data Access&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCTS: .NET Framework 4.0, Service Communication Applications&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Quando você completar essas três, você estará apto a fazer a ultima:&lt;/span&gt;&lt;br style="font-family: Verdana,sans-serif;" /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;70-519: PRO: Designing and Developing Web Applications Using Microsoft .NET Framework 4&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-nrbVW5Hk940/TgnnuVeTDII/AAAAAAAAAPU/L7PYHjjuuFs/s1600/dotNet4_thumb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-nrbVW5Hk940/TgnnuVeTDII/AAAAAAAAAPU/L7PYHjjuuFs/s400/dotNet4_thumb.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.onlc.com/visual-studio-training-classes-mcts-mcpd-certification.asp#mcts40sca"&gt;Fonte&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-2219013031564480039?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/2219013031564480039/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2011/06/exames-de-certificacao-e-cursos-para.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/2219013031564480039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/2219013031564480039'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2011/06/exames-de-certificacao-e-cursos-para.html' title='Exames de certificação e cursos para .NET 4.0 Web applications'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-ErLRs6DP2zw/TgnngjSrkwI/AAAAAAAAAPQ/qJeMyKds6r4/s72-c/button_MCTS_Net40_WebApps.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-8924606841296852550</id><published>2011-05-26T10:14:00.000-07:00</published><updated>2011-05-26T10:14:00.348-07:00</updated><title type='text'>PodePedir.com na mídia...</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-_Vau8X0voq0/Td6KNtjRLNI/AAAAAAAAAPM/sShm9PmRmk4/s1600/geracaoy_jornal_pedim3+%25281%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://4.bp.blogspot.com/-_Vau8X0voq0/Td6KNtjRLNI/AAAAAAAAAPM/sShm9PmRmk4/s640/geracaoy_jornal_pedim3+%25281%2529.jpg" width="542" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-8924606841296852550?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/8924606841296852550/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2011/05/podepedircom-na-midia.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/8924606841296852550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/8924606841296852550'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2011/05/podepedircom-na-midia.html' title='PodePedir.com na mídia...'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-_Vau8X0voq0/Td6KNtjRLNI/AAAAAAAAAPM/sShm9PmRmk4/s72-c/geracaoy_jornal_pedim3+%25281%2529.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-971009842028860985</id><published>2011-05-19T07:02:00.000-07:00</published><updated>2011-05-19T07:36:06.804-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Busca'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>[SEO] Boas práticas para indexação de um site ASP.NET de forma dinâmica - Parte 1</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-mFoAURhvxm0/TdUVHTn94FI/AAAAAAAAAPI/TeUuz6AlxXY/s1600/aspnet-seo.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="141" src="http://3.bp.blogspot.com/-mFoAURhvxm0/TdUVHTn94FI/AAAAAAAAAPI/TeUuz6AlxXY/s320/aspnet-seo.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Olá Pessoal, tornar o site mais atraente para os mecanismo de busca não é uma tarefa tão complexa assim e o asp.net pode te ajudar muito nesse sentido&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;vou começar falando de cara algumas boas praticas que você deve ter em seu site caso ele tenha &amp;nbsp;alguma ambição na internet...&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;A primeira de todas é ter uma conta no&amp;nbsp;Google&amp;nbsp;Analytics, e fazer com o que seu site tenha um monitoramento&amp;nbsp;confiável&amp;nbsp;e com informações de trafego relevante, alem de criar metas como numero de visitas, e passos que a pessoa tem que fazer em seu site, como um cadastro.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-K0tgVbOZCG4/TdUSudR9juI/AAAAAAAAAPE/QHH234omiAs/s1600/anotacao-google-analytics%255B11%255D.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="233" src="http://3.bp.blogspot.com/-K0tgVbOZCG4/TdUSudR9juI/AAAAAAAAAPE/QHH234omiAs/s400/anotacao-google-analytics%255B11%255D.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Google Analytics&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Preste atenção nesses pontos, pois são eles que vão ajudar seu site se tornar relevante:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Descreva o titulo com precisão o que página representa e sua função, mas use poucos caracteres (isso é muito importante);&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Crie tags “title” únicas para cada página do seu site;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Faça um resumo preciso do conteúdo da página na meta-tag description;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Utilize descrições únicas para cada página, para acompanhar o title.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Use palavras-chave nas URLs de seu site,o mvc te ajuda muito nesse sentido.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Forneça somente uma versão de URL para cada página/arquivo do site.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Tenha uma hierarquia que seja fácil de se “percorrer” e fazer com que o seu cliente não tenha que procurar o local que ele esta;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Tenha o recurso de migalha de pão (Geralmente é Inicio&amp;gt;Sessão&amp;gt;Produto) no site;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Tenha um mapa do site em (X)HTML (uma seção do site) e uma versão em XML;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Considere o que acontece quando alguém suprime parte da URL de uma página;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Possua uma boa página de erro 404.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;sempre que&amp;nbsp;possível&amp;nbsp;você deve apontar para links que são do seu propio site, assuntos referentes etc.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Formate os links para que sejam facilmente distinguíveis do texto comum (isso é muito importante);&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;Imagine que está escrevendo uma manchete de jornal, ou alguma coisa bombastica;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;mostre a hierarquia daquele titulo com&amp;nbsp;subtítulos&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Verdana, sans-serif;"&gt;sempre esteja atrás de fazer parcerias, troca de banners, isso é muito importante, pois o google entende que teu site é referencia quanto&amp;nbsp;demais sites apontam para ele&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Em asp.net podemos suprir de forma programática boa parte dessas praticas, isso é muito útil para que você tenha realmente um bom controle sobre isso.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Não faça em hardcode, que geralmente é falho pois você vai acabar esquecendo uma pagina ou outra...&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Vamos passar agora nossos valores para o html, certifique-se que a &amp;nbsp;tag Head esteja em Runat=Server.&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: blue; font-size: x-small;"&gt;Page.Header.Title = "Estou na pagina XYZ " &amp;amp; DateTime.Now.ToString();&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Você pode usar a&amp;nbsp;master-page&amp;nbsp;para isso, e procurar pelo elemento na sua pagina que herda da&amp;nbsp;master-page e injetar de forma dinâmica.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Outra boa pratica é usar seu SiteMap para isso, na verdade eu acho ate mais&amp;nbsp;aconselhável&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif; font-size: x-small;"&gt;private string RecuperarTituloPelaNavegacao()&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if (SiteMap.CurrentNode == null) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;throw new ArgumentException("currentNode cannot be Nothing");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;string output = string.Empty;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;SiteMapNode currentNode = SiteMap.CurrentNode;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;while (currentNode != null) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if (output.Length &amp;gt; 0) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;output = currentNode.Title + " :: " + output;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} else {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;output = currentNode.Title;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;currentNode = currentNode.ParentNode;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return output;&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;e no Page_Load da masterpage:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, mono; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, mono; font-size: x-small;"&gt;const string DEFAULT_UNNAMED_PAGE_TITLE = "Untitled Page";&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, mono; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;const string &amp;nbsp; &amp;nbsp;DEFAULT_PAGE_TITLE = "Welcome to my Website!!";&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, mono; font-size: x-small;"&gt;if (string.IsNullOrEmpty(Page.Title) || Page.Title == DEFAULT_UNNAMED_PAGE_TITLE) {&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, mono; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if (SiteMap.CurrentNode == null) {&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, mono; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Page.Title = DEFAULT_PAGE_TITLE;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, mono; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;} else {&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, mono; font-size: x-small;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Page.Title =&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;RecuperarTituloPelaNavegacao&lt;/span&gt;();&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, mono; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, mono; font-size: 12px;"&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;A descrição como falei acima ela é tão importante ser unica como o titulo, pois para o google e derivados você tem um site com&amp;nbsp;conteúdo&amp;nbsp;rico. Você só precisa tomar cuidado para não criar uma descrição muito longa, pois pode ser entendido como Spam. (Lembrando que na versão 4.0 do .NEt Framework isso ta ainda mais&amp;nbsp;fácil)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Vamos a descrição:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; font-weight: normal; line-height: 16px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;/div&gt;&lt;div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; line-height: 16px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;HtmlMeta metaDescription = (HtmlMeta)&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small; line-height: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; line-height: 16px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;Page.Master.FindControl("metaDescription");&lt;/span&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-size: small; line-height: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; line-height: 16px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: Verdana, sans-serif;"&gt;metaDescription.Content = "Descrição dessa pagina";&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;O Sitemap é um arquivo, com extensão XML, que irá avisar os buscadores sobre todas as postagens, páginas, tags, categorias, etc, que seu site possui.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Ele permite que os buscadores encontrem mais rapidamente o conteúdo do seu site, sem que precisem ficar seguindo links.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Vou dar continuidade a essas dicas, no&amp;nbsp;próximo&amp;nbsp;post falando mais de SiteMap.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-971009842028860985?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/971009842028860985/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2011/05/dicas-boas-praticas-para-indexacao-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/971009842028860985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/971009842028860985'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2011/05/dicas-boas-praticas-para-indexacao-de.html' title='[SEO] Boas práticas para indexação de um site ASP.NET de forma dinâmica - Parte 1'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-mFoAURhvxm0/TdUVHTn94FI/AAAAAAAAAPI/TeUuz6AlxXY/s72-c/aspnet-seo.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-6371726593451449316</id><published>2011-05-18T09:14:00.000-07:00</published><updated>2011-05-18T14:07:34.041-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Métricas'/><category scheme='http://www.blogger.com/atom/ns#' term='Busca'/><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>[SEO]  10 métricas que podem ser utilizadas - Otimizando Campanhas em Redes Sociais</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-sorYUrq57_k/TdPv5FWJIWI/AAAAAAAAAPA/v4qj4obqv90/s1600/What-is-SEO.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-sorYUrq57_k/TdPv5FWJIWI/AAAAAAAAAPA/v4qj4obqv90/s320/What-is-SEO.png" width="313" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;De acordo com o relatório da Mzinga &amp;amp; Babson Executive Education Study, 80% dos profissionais não medem suas campanhas de marketing nas redes sociais. Isso obviamente prejudica bastante a mensuração dos efeitos destas campanhas sobre o desempenho do site uma vez que não sabemos qual foi a taxa de conversão dessa ação de marketing digital. Também fica impossível determinar o ROI de tais iniciativas. As ferramentas de web análise podem ajudar muito nisso, embora em termos de redes sociais existam algumas métricas que não podem ser determinadas de forma automatizada.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Mas se você tem interesse em conhecer os resultados de suas ações, seguem 10 métricas que podem ser utilizadas:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;1. Número de Acessos – Meça os acessos de cada rede social em que você atua. Isso pode ser feito facilmente com o Google Analytics bastando para isso fazer algumas configurações na ferramenta de modo a segmentar este tipo de acesso. Se a situação for crítica, vale a pena pensar em configurar um filtro específico no Google Analytics.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2. Tempo de Engajamento – Se você tem um aplicativo no Facebook, quanto tempo as pessoas ficam no mesmo? O tempo vem aumentando? Se as pessoas acessam seu site oriundas das redes sociais, quanto tempo elas gastam nele? Mais uma vez, o Google Analytics pode lhe ajudar a medir esse comportamento quando bem calibrado e segmentado.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3. Bounce Rate (taxa de rejeição) – Os visitantes que chegam ao seu site através das redes sociais, costumam ir embora rápido (ex: caem na homepage e saem) ou navegam por mais páginas? Quando há uma taxa de rejeição rate alta, provavelmente as pessoas não estão encontrando facilmente aquilo que procuram. Talvez seja necessária uma revisão em seu site.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;4. Interação Com o Conteúdo e Tamanho – Como está a interação dos seus seguidores com o seu conteúdo? Colocam comentários, dão RT’s, Replies, etc…? O seu número de seguidores está crescendo? Essa é uma métrica que infelizmente não dá para medir pelo Google Analytics. Vale a pena desenvolver controles próprios.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;5. Grau de Atividade – Quantos dos seus usuários ou seguidores são ativos e participativos – dividir os usuários ativos pelo número total de usuários – nas redes sociais em que você atua? Será que a audiência justifica o esforço? Qual o retorno real e a taxa de conversão dessas ações de marketing?&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;6. Taxa de Conversão – Suas conversões estão crescendo (em vendas, assinaturas ou qualquer outra coisa que você deseja medir) através de acessos vindos das redes sociais em que você atua? Um funil bem estruturado no Google Analytics pode facilmente medir esse parâmetro.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;7. Menções à Marca – Estão falando bem ou mal da sua marca? Quantas menções ocorreram no período? Acompanhe o quê estão falando e em qual quantidade/frequência…&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;8. Fidelidade – As pessoas estão voltando ao seu site/redes? Estão compartilhando seu conteúdo?&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;9. Viral – As pessoas estão divulgando o seu conteúdo/ links para suas próprias redes (Ex: retwitando ou repassando updates do facebook)?&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;10. Blogs – Os blogs fazem parte das redes sociais, desde que você permita que postem comentários e interaja com seus leitores. Nesse caso, o conteúdo do seu blog está sendo compartilhado e indicado pelos seus leitores? E os blogs dos quais você participa. Verificou no Analytics o quanto de tráfego eles estão lhe enviando?&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Fonte:&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.cursodeecommerce.com.br/"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;http://www.cursodeecommerce.com.br&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-6371726593451449316?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/6371726593451449316/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2011/05/ceo-10-metricas-que-podem-ser.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/6371726593451449316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/6371726593451449316'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2011/05/ceo-10-metricas-que-podem-ser.html' title='[SEO]  10 métricas que podem ser utilizadas - Otimizando Campanhas em Redes Sociais'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-sorYUrq57_k/TdPv5FWJIWI/AAAAAAAAAPA/v4qj4obqv90/s72-c/What-is-SEO.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-5986755048199995779</id><published>2011-05-05T08:25:00.000-07:00</published><updated>2011-05-05T08:25:52.569-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comédia'/><category scheme='http://www.blogger.com/atom/ns#' term='Programador'/><category scheme='http://www.blogger.com/atom/ns#' term='piada'/><title type='text'>[Comédia] Mulher de Programador</title><content type='html'>&lt;span class="Apple-style-span" style="color: #575757; font-size: 12px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;1. dividir o homem com outras, afinal de contas, o cara faz programa!&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2. disputar a atenção com o PC;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3. se esforçar para ser menos chata que a porção de códigos que ele vê o dia inteiro (imagine como isso é difícil na TPM);&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;4. ser poliglota, porque volta e meia ele estará utilizando uma nova linguagem;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;5. ser muito paciente, porque ele sempre responde “tô indo” quando está no PC e nunca vai;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;6. ser criativa, para dar suporte quando a cabeça dele já estiver fervendo e ele estiver agarrado, sem idéias para um projeto;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;7. ter facilidade em manter relacionamentos virtuais, porque é mais fácil conversar com ele por msn, mesmo se estiver a 20 cm de distância;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;8. fazer exercício físico, afinal de contas, ele fica com todo o sedentarismo a que o casal tem direito;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;9. Inteligente, para não se perder nas conversas super tecnológicas dele;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;10. ter “pulso firme”, para conseguir expulsar ele do computador de vez enquanto;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;11. ter iniciativa, porque se for esperar por ele…;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;12. ser formada em psicologia, para tentar compreender porque ele é assim;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;13. ter sempre um remédio para dor de cabeça, afinal de contas o homem passa o tempo inteiro na frente do computador, e volta e meia está com a cabeça estourando;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;14. ser boa com desafios, porque além de namorá-lo ser um desafio, ele sempre vem com uma pergunta escabrosa ou um problema de outro mundo para ser resolvido, e ainda pede para ela resolver, como se fosse um caça palavras super divertido;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;15. ser duplamente inteligente, para entender as piadinhas inteligentes dele que ficam extremamente sem graça quando ele explica;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;16. ser triplamente inteligente porque mesmo que não entenda ele não vai explicar a piada (na ausência do recurso inteligência a mulher pode apelar para a habilidade teatral de fingir que entendeu);&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;17. ter uma boa escrita, porque se ele for blogueiro também, aí o jeito é entrar na onda e começar a blogar junto (porque programador blogueiro, ninguém merece!!!);&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Por último…&lt;br /&gt;18. ter amor, porque quando todas as outras habilidades faltarem, o amor pode ser a saída para que a relação não acabe!!&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 15px; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Retirado do blog:&amp;nbsp;&lt;a href="http://karynemlira.com/" style="color: #eb1b29; text-decoration: none;" target="_blank"&gt;karynemlira.com&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-5986755048199995779?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/5986755048199995779/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2011/05/comedia-mulher-de-programador.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/5986755048199995779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/5986755048199995779'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2011/05/comedia-mulher-de-programador.html' title='[Comédia] Mulher de Programador'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-7553568120805386524</id><published>2011-02-19T05:07:00.000-08:00</published><updated>2011-02-19T05:53:19.060-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PodePedir'/><category scheme='http://www.blogger.com/atom/ns#' term='Delivery'/><category scheme='http://www.blogger.com/atom/ns#' term='Comida'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>PodePedir.com (Beta 1) no ar.</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small; margin-left: 1em; margin-right: 1em;"&gt;&lt;a href="http://2.bp.blogspot.com/-BOekUpBAB1s/TV-_nCmSYWI/AAAAAAAAAOs/uHr5zsOtcHM/s1600/printofficial.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="259" src="http://2.bp.blogspot.com/-BOekUpBAB1s/TV-_nCmSYWI/AAAAAAAAAOs/uHr5zsOtcHM/s320/printofficial.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;O Site &lt;a href="http://www.podepedir.com/"&gt;http://www.podepedir.com&lt;/a&gt;, entra no ar para que as pessoas mais próximas possam testar suas funcionalidades e me passar um feedback, mas se eu não te conhecer, por favor teste também, comente aqui suas duvidas, queixas &amp;nbsp;etc.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;Obrigado!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-7553568120805386524?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/7553568120805386524/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2011/02/podepedircom-beta-1-no-ar.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/7553568120805386524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/7553568120805386524'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2011/02/podepedircom-beta-1-no-ar.html' title='PodePedir.com (Beta 1) no ar.'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-BOekUpBAB1s/TV-_nCmSYWI/AAAAAAAAAOs/uHr5zsOtcHM/s72-c/printofficial.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-905892430599413510</id><published>2011-01-24T05:26:00.000-08:00</published><updated>2011-01-24T08:15:44.901-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Redirection Attacks'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ASP.NET - Vulnerabilidade - Open Redirection Attacks</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_cVMCbrYrXFY/TT1_Auo0LSI/AAAAAAAAAOk/RIgRKjFfq5c/s1600/apple_vulnerabilidade_principal.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="227" src="http://4.bp.blogspot.com/_cVMCbrYrXFY/TT1_Auo0LSI/AAAAAAAAAOk/RIgRKjFfq5c/s320/apple_vulnerabilidade_principal.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;O que é?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="background-color: white;" title="Any web application that redirects to a URL that is specified via the"&gt;Qualquer aplicação web que redireciona para uma URL que é especificado através do&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white;" title="request such as the querystring or form data can potentially be tampered"&gt;request, tais como os dados querystring ou de forma potencialmente podem ser alterados&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white;" title="with to redirect users to an external, malicious URL."&gt;para redirecionar os usuários para um URL maliciosa.&amp;nbsp;&lt;/span&gt;&lt;span title="This tampering is"&gt;Esta violação é&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white;" title="called an open redirection attack."&gt;chamado um ataque de redirecionamento aberto (Open Redirection Attacks).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="background-color: white;" title="called an open redirection attack."&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="background-color: white;" title="called an open redirection attack."&gt;Como evitar?&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="background-color: white;" title="called an open redirection attack."&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="background-color: white;" title="called an open redirection attack."&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;Protegendo&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="background-color: white;" title="called an open redirection attack."&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;Aplicações&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;ASP.NET MVC&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;1.0 e&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;MVC&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;2&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-weight: bold; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Podemos promover&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;três&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;mudanças em&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;nossos&amp;nbsp;&lt;/span&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;aplicativos&amp;nbsp;&lt;/span&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;existentes em&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;ASP.NET MVC&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;1.0 e&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;2, incluindo&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;o&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;IsLocalUrl&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;método&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;auxiliar&lt;/span&gt;&amp;nbsp;&lt;span class="hps atn" title="Clique para mostrar traduções alternativas"&gt;(&lt;/span&gt;&lt;span title="Clique para mostrar traduções alternativas"&gt;)&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;e&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;alterar o evento&amp;nbsp;&lt;/span&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;LogOn&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;para validar o parâmetro&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;ReturnUrl&lt;/span&gt;&lt;span class="" title="Clique para mostrar traduções alternativas"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-weight: bold; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="" title="Clique para mostrar traduções alternativas"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-weight: bold; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="" title="Clique para mostrar traduções alternativas"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;O&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;IsLocalUrl&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;()&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;método&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;da&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;classe&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;3&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;ASP.NET MVC&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;UrlHelper&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre class="prettyprint" style="background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(136, 136, 136); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(136, 136, 136); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(136, 136, 136); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(136, 136, 136); border-top-style: solid; border-top-width: 1px; border-width: initial; color: #800039; font-family: 'Courier New', Courier, monospace; font-size: 0.7em; overflow-x: auto; padding-bottom: 2px; padding-left: 2px; padding-right: 2px; padding-top: 2px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Helvetica, sans-serif;"&gt;&lt;span class="kwd" style="color: #000088;"&gt;public&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;bool&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;IsLocalUrl&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;string&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;)&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;return&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;System&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Web&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;WebPages&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;RequestExtensions&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;IsUrlLocalToHost&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;RequestContext&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;HttpContext&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Request&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;);&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div style="font-weight: bold; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="" title="Clique para mostrar traduções alternativas"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;IsUrlLocalToHost&lt;/span&gt;&amp;nbsp;&lt;span class="hps atn" title="Clique para mostrar traduções alternativas"&gt;(&lt;/span&gt;&lt;span class="" title="Clique para mostrar traduções alternativas"&gt;)&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;método&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;da&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;classe&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;requestExtensions&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;System.Web.WebPages&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre class="prettyprint" style="background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(136, 136, 136); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(136, 136, 136); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(136, 136, 136); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(136, 136, 136); border-top-style: solid; border-top-width: 1px; border-width: initial; color: #800039; font-family: 'Courier New', Courier, monospace; font-size: 0.7em; overflow-x: auto; padding-bottom: 2px; padding-left: 2px; padding-right: 2px; padding-top: 2px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Helvetica, sans-serif;"&gt;&lt;span class="kwd" style="color: #000088;"&gt;public&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;static&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;bool&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;IsUrlLocalToHost&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;this&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;HttpRequestBase&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; request&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;string&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;)&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;if&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;IsEmpty&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;())&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;return&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;false&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;;&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Uri&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; absoluteUri&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;;&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;if&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Uri&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;TryCreate&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;UriKind&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Absolute&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;out&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; absoluteUri&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;))&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;return&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;String&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Equals&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;request&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Host&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; absoluteUri&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Host&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;StringComparison&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;OrdinalIgnoreCase&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;);&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;else&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;bool&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; isLocal &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;=&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;!&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;StartsWith&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="str" style="color: #008800;"&gt;"http:"&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;StringComparison&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;OrdinalIgnoreCase&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;)&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;!&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;StartsWith&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="str" style="color: #008800;"&gt;"https:"&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;StringComparison&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;OrdinalIgnoreCase&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;)&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Uri&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;IsWellFormedUriString&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;UriKind&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Relative&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;);&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;return&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; isLocal&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;;&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Helvetica, sans-serif;"&gt;&lt;span class="pun" style="color: #666600;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="background-color: white;" title="called an open redirection attack."&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;Vamos&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;adicionar&lt;/span&gt;&amp;nbsp;o&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;IsLocalUrl&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;() para&amp;nbsp;&lt;/span&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;o&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;AccountController&lt;/span&gt;&lt;span title="Clique para mostrar traduções alternativas"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;mas&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;você&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;é&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;encorajado a&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;adicionar&lt;/span&gt;&amp;nbsp;em&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;uma&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;classe&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;auxiliar&amp;nbsp;&lt;/span&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;separada&lt;/span&gt;&lt;span title="Clique para mostrar traduções alternativas"&gt;, se possível&lt;/span&gt;&lt;span title="Clique para mostrar traduções alternativas"&gt;.&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;Nós vamos&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;fazer&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;duas&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;pequenas alterações no&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;ASP.NET MVC&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;versão 3&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;do&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;IsLocalUrl&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;() para&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;que&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;ele&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;irá&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;trabalhar por dentro da&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;AccountController&lt;/span&gt;&lt;span class="" title="Clique para mostrar traduções alternativas"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="background-color: white;" title="called an open redirection attack."&gt;&lt;span class="" title="Clique para mostrar traduções alternativas"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="background-color: white;" title="called an open redirection attack."&gt;&lt;span class="" title="Clique para mostrar traduções alternativas"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;span style="background-color: white;" title="called an open redirection attack."&gt;&lt;i&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;IsLocalUrl&lt;/span&gt;&amp;nbsp;&lt;span class="hps atn" title="Clique para mostrar traduções alternativas"&gt;(&lt;/span&gt;&lt;span title="Clique para mostrar traduções alternativas"&gt;)&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;método, que foi&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;modificado para&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;uso&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;com&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;uma&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;classe&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;Controller&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;MVC&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;blockquote style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre class="prettyprint" style="background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(136, 136, 136); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(136, 136, 136); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(136, 136, 136); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(136, 136, 136); border-top-style: solid; border-top-width: 1px; border-width: initial; color: #800039; font-family: 'Courier New', Courier, monospace; font-size: 0.7em; overflow-x: auto; padding-bottom: 2px; padding-left: 2px; padding-right: 2px; padding-top: 2px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Helvetica, sans-serif;"&gt;&lt;span class="com" style="color: #880000;"&gt;//Note: This has been copied from the System.Web.WebPages RequestExtensions class&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;private&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;bool&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;IsLocalUrl&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;string&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;)&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;if&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;string&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;IsNullOrEmpty&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;))&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;return&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;false&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;;&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Uri&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; absoluteUri&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;;&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;if&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Uri&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;TryCreate&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;UriKind&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Absolute&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;out&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; absoluteUri&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;))&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;return&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;String&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Equals&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;this&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Request&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Host&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; absoluteUri&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Host&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;StringComparison&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;OrdinalIgnoreCase&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;);&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;else&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;bool&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; isLocal &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;=&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;!&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;StartsWith&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="str" style="color: #008800;"&gt;"http:"&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;StringComparison&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;OrdinalIgnoreCase&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;)&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;!&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;StartsWith&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="str" style="color: #008800;"&gt;"https:"&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;StringComparison&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;OrdinalIgnoreCase&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;)&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Uri&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;IsWellFormedUriString&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;url&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;UriKind&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Relative&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;);&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;return&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; isLocal&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;;&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Helvetica, sans-serif;"&gt;&lt;span class="pun" style="color: #666600;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="background-color: white;" title="called an open redirection attack."&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Agora podemos chamar nossa ação LogOn para validar o parâmetro ReturnUrl, como mostrado no código a seguir.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;i&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;Atualizado&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;Método de Logon&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;que&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;valida&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;o parâmetro&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;ReturnUrl&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;i&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre class="prettyprint" style="background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(136, 136, 136); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(136, 136, 136); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(136, 136, 136); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(136, 136, 136); border-top-style: solid; border-top-width: 1px; border-width: initial; color: #800039; font-family: 'Courier New', Courier, monospace; font-size: 0.7em; overflow-x: auto; padding-bottom: 2px; padding-left: 2px; padding-right: 2px; padding-top: 2px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Helvetica, sans-serif;"&gt;&lt;span class="pun" style="color: #666600;"&gt;[&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;HttpPost&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;]&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;public&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;ActionResult&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;LogOn&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;LogOnModel&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; model&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;string&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; returnUrl&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;)&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;if&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;ModelState&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;IsValid&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;)&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;if&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;MembershipService&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;ValidateUser&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;model&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;UserName&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; model&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Password&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;))&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;FormsService&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;SignIn&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;model&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;UserName&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; model&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;RememberMe&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;);&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;if&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;IsLocalUrl&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;returnUrl&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;))&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;return&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;Redirect&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;returnUrl&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;);&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;else&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;return&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;RedirectToAction&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="str" style="color: #008800;"&gt;"Index"&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;/span&gt;&lt;span class="str" style="color: #008800;"&gt;"Home"&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;);&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;else&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;{&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;ModelState&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;.&lt;/span&gt;&lt;span class="typ" style="color: #660066;"&gt;AddModelError&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;(&lt;/span&gt;&lt;span class="str" style="color: #008800;"&gt;""&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;,&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="str" style="color: #008800;"&gt;"The user name or password provided is incorrect."&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;);&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;span class="pln" style="color: black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div style="font-style: italic; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;b&gt;Resumo&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 16px; font-weight: normal;"&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;Ataques&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;de redirecionamento&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;aberto pode&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;ocorrer&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;quando&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;o redirecionamento de&lt;/span&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;URLs&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;são passados&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;como parâmetros&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;na URL&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;para&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;um&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;aplicativo.&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;O&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;ASP.NET&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;MVC&lt;/span&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;3&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;inclui código para&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;proteger contra&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;ataques&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;de redirecionamento&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;aberto&lt;/span&gt;&lt;span title="Clique para mostrar traduções alternativas"&gt;.&lt;/span&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;Você&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;pode adicionar esse código&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;com algumas&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;modificações&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;para&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 16px; font-weight: normal;"&gt;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;aplicações&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;ASP.NET&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;MVC 1.0&lt;/span&gt;&amp;nbsp;&lt;span class="hps" title="Clique para mostrar traduções alternativas"&gt;e 2.&lt;/span&gt;0&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 16px; font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 16px; font-weight: normal;"&gt;fontes:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 16px; font-weight: normal;"&gt;&lt;a href="http://www.asp.net/mvc/tutorials/preventing-open-redirection-attacks"&gt;http://www.asp.net/mvc/tutorials/preventing-open-redirection-attacks&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 16px; font-style: italic; font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: 16px; font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="background-color: white;" title="called an open redirection attack."&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-905892430599413510?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/905892430599413510/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2011/01/aspnet-vulnerabilidade-open-redirection.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/905892430599413510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/905892430599413510'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2011/01/aspnet-vulnerabilidade-open-redirection.html' title='ASP.NET - Vulnerabilidade - Open Redirection Attacks'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_cVMCbrYrXFY/TT1_Auo0LSI/AAAAAAAAAOk/RIgRKjFfq5c/s72-c/apple_vulnerabilidade_principal.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-2738410986224647999</id><published>2010-10-19T12:26:00.000-07:00</published><updated>2010-10-19T12:30:10.833-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Empreendedorismo'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>5 formas de usar as redes sociais para fazer uma promoção</title><content type='html'>&lt;span style="font-family: Verdana,sans-serif; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.saiadolugar.com.br/2010/07/15/5-formas-de-usar-as-redes-sociais-para-fazer-uma-promocao/"&gt;Post Original&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Spameada&lt;/b&gt;&lt;br /&gt;Conceito – Fazer uma divulgação frenética para que o maior número  possível de pessoas fique sabendo da promoção e compre seu produto.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Objetivo – Acelerar as vendas de um produto/serviço em um curto período de tempo.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Vantagens – Gera resultados imediatos nas vendas que podem ser medidos no curto prazo.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Desvantagens – Precisa ser usada com moderação, caso contrário irá  emputecer seus entusiastas que já ouviram a mesma mensagem 3 milhões de  vezes.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como fizemos – Lançamento do nosso &lt;a href="http://www.saiadolugar.com.br/2010/05/28/desenvolvimento-de-produtos-sem-enrolacao-lancamento-do-e-book/"&gt;livro sobre desenvolvimento de produtos&lt;/a&gt;.  Fizemos um post no Saia do Lugar, mandamos uma cópia antecipada pra  alguns blogueiros fazerem um review do livro, lançamos um release de  imprensa, envio na Newsletter semanal do &lt;a href="http://www.empreendemia.com.br/"&gt;Empreendemia&lt;/a&gt;, twittamos freneticamente o link para o livro e pedimos para diversos twitteiros influentes repassarem a mensagem.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Pré-requisitos – Ter uma boa plataforma de divulgação e rede de  contatos. É possível também comprar publicidade, o que exige certa  grana.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Resultado – R$650,00 em vendas no primeiro mês.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Sorteio&lt;br /&gt;&lt;/b&gt;Conceito – Sorteie seu produto/serviço para quem participar da  promoção comentando no seu blog ou te seguindo em alguma rede social  específica (Twitter, Facebook, Empreendemia, etc).&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Objetivo – Fortalecimento de marca através do aumento do número de pessoas que seguem sua empresa.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Vantagens – Ideal para empresas que dependem de audiência para fortalecer sua marca (Ex.: blogueiros e comunidades online).&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Desvantagens – O impacto nas vendas não é tão direto quanto na Spameada.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como fizemos – &lt;a href="http://www.saiadolugar.com.br/2010/06/07/voce-entrega-felicidade-sorteio-do-livro-de-tony-hsieh-ceo-da-zappos/"&gt;Sorteio do livro Delivering Happiness da Zappos&lt;/a&gt;.  Fizemos um post no Saia do Lugar e o sorteamos entre as pessoas que  deixassem um comentário falando o que os motiva a empreender.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Pré-requisitos – Ter algo bacana para sortear e algum tipo de métrica de engajamento que você queira fortalecer.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Resultado – 60 comentários no post e um leitor MUITO FELIZ falando da gente. Confira &lt;a href="http://www.atitudemovel.com.br/2010/07/chegou-meu-premio-do-empreendemia.html"&gt;a reação do Rudolfh Bantim&lt;/a&gt; quando recebeu o livro autografado pela nossa equipe.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Divulgue a mensagem no Twitter&lt;br /&gt;&lt;/b&gt;Conceito – Para participar, a pessoa precisa mandar o link da promoção no Twitter.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Objetivo – Fazer mais pessoas ficarem sabendo da sua promoção através do Twitter.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Vantagens – Muito bom para empresas que tenham o Twitter como parte da estratégia de marketing.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Desvantagens – Corre o risco da participação ser muito baixa se seu público não estiver em peso no Twitter.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como fizemos – Ainda não fizemos, mas lançaremos em breve um e-book  gratuito sobre Marketing Digital. Para baixar o livro, a pessoa terá que  enviar uma mensagem para seus seguidores sobre ele. Usaremos o sistema &lt;a href="http://www.paywithatweet.com/"&gt;Pay with a Tweet&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Pré-requisitos – Estar num setor em que as pessoas tenham uma forte presença no Twitter.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Dê-me ideias&lt;br /&gt;&lt;/b&gt;Conceito – Para participar da promoção a pessoa precisa  responder algum tipo de pergunta que irá te servir como pesquisa de  mercado. As melhores respostas ganham a premiação.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Objetivo – Ouvir ideias de melhorias do produto/serviço direto do seu cliente .&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Vantagens – É uma forma extremamente eficiente de fazer uma pesquisa de mercado e se aproximar dos seus entusiastas.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Desvantagens – Você terá que ler cada pérola…&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como fizemos – &lt;a href="http://www.labeldesafios.com.br/desafio-internet-nao-traz-resultados-magicos/"&gt;Desafio: A internet não traz resultados mágicos&lt;/a&gt; (vigente até o fim do mês). Através da &lt;a href="http://www.labeldesafios.com.br/"&gt;LabelDESAFIOS&lt;/a&gt;,  estamos colhendo ideias sobre como mostrar para o usuário do  Empreendemia que ele precisa ser ativo para fechar novos negócios.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Pré-requisitos – Acesso a alguma plataforma para gerenciar as ideias e  divulgar a promoção nas principais. Recomendamos fortemente a  LabelDESAFIOS (&lt;a href="http://www.labeldesafios.com.br/empresas/envie-o-seu-desafio/"&gt;saiba mais&lt;/a&gt;).&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Resultado – No primeiro dia de promoção já recebemos ótimas ideias  mostrando como enfatizar os casos de sucesso dentro do Empreendemia.  Muitas das ideias serão aproveitadas para guiar os próximos passos da  nossa estratégia de marketing.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;“Gostei!”&lt;br /&gt;&lt;/b&gt;Conceito – Você faz um post no blog e pede para as pessoas  comentarem. Os comentários que receberem mais votos “Gostei” ganham a  premiação.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Objetivo – Fazer com que os próprios participantes chamem seus amigos para conhecer a promoção, eles precisam disso para ganhar.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Vantagens – Estimular seus entusiastas a chamar outros entusiastas, fazendo uma divulgação espontânea da sua marca.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Desvantagens – Algumas pessoas conseguem MUITO mais votos do que os  outros, o que pode desanimar os “meros mortais” a participar das  próximas promoções.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Como fizemos – &lt;a href="http://blog.empreendemia.com.br/2010/07/05/promocao-sua-empresa-bonitaca/"&gt;Promoção Sua empresa bonitaça!&lt;/a&gt;. Em parceria com a &lt;a href="http://www.empreendemia.com.br/maturi-comunicacao.empreendemia.com.br/"&gt;Maturi Comunicação&lt;/a&gt;, entregaremos serviços gratuitos na área de comunicação visual, que incluem redesign da marca, personalização do &lt;a href="http://www.empreendemia.com.br/premium"&gt;Empreendemia Premium&lt;/a&gt; e criação de material institucional.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Pré-requisitos – Ter um blog com um sistema como o &lt;a href="http://www.saiadolugar.com.br/2010/01/22/novo-sistema-de-comentarios-do-saia-do-lugar/"&gt;Disqus&lt;/a&gt; instalado.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Resultado – 39 comentários e mais de 1000 “Gostei!” no &lt;a href="http://blog.empreendemia.com.br/2010/07/05/promocao-sua-empresa-bonitaca/"&gt;post da promoção&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Conclusão&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Perceba que esses 5 tipos de  promoções estão completamente relacionados entre si e podem se misturar.  É importante entendê-los e criar sua campanha da forma que for mais  interessante para sua empresa.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;Para aprender mais sobre como fazer uma promoção, confira o artigo &lt;a href="http://www.saiadolugar.com.br/2010/02/04/3-passos-para-realizar-uma-campanha-promocional/"&gt;3 passos para realizar uma campanha promocional&lt;/a&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;"Millor Machado (orgulhoso pela existência do ebaH na internet brasileira)"&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-2738410986224647999?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/2738410986224647999/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/10/5-formas-de-usar-as-redes-sociais-para.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/2738410986224647999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/2738410986224647999'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/10/5-formas-de-usar-as-redes-sociais-para.html' title='5 formas de usar as redes sociais para fazer uma promoção'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-6855621411150828383</id><published>2010-09-27T09:30:00.001-07:00</published><updated>2010-09-27T09:34:52.882-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Usabilidade'/><title type='text'>David Pogue diz que "Simplicidade Vende."</title><content type='html'>&lt;object height="326" width="334"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt;&lt;param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/DavidPogue_2006-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/DavidPogue-2006.embed_thumbnail.jpg&amp;amp;vw=320&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=7&amp;amp;introDuration=15330&amp;amp;adDuration=4000&amp;amp;postAdDuration=830&amp;amp;adKeys=talk=david_pogue_says_simplicity_sells;year=2006;theme=tales_of_invention;theme=presentation_innovation;theme=spectacular_performance;theme=what_s_next_in_tech;event=TED2006;&amp;amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="334" height="326" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talks/dynamic/DavidPogue_2006-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/DavidPogue-2006.embed_thumbnail.jpg&amp;amp;vw=320&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=7&amp;amp;introDuration=15330&amp;amp;adDuration=4000&amp;amp;postAdDuration=830&amp;amp;adKeys=talk=david_pogue_says_simplicity_sells;year=2006;theme=tales_of_invention;theme=presentation_innovation;theme=spectacular_performance;theme=what_s_next_in_tech;event=TED2006;"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-6855621411150828383?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/6855621411150828383/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/09/david-pogue-diz-que-simplicidade-vende.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/6855621411150828383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/6855621411150828383'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/09/david-pogue-diz-que-simplicidade-vende.html' title='David Pogue diz que &quot;Simplicidade Vende.&quot;'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-6612386305579155388</id><published>2010-09-08T10:56:00.000-07:00</published><updated>2010-09-08T11:01:48.463-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Livro: jQuery para Programadores ASP.NET</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_cVMCbrYrXFY/TIfNtEXWFeI/AAAAAAAAAOQ/bHdMZrkZENU/s1600/41QqsNo5gRL._SL500_AA300_.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_cVMCbrYrXFY/TIfNtEXWFeI/AAAAAAAAAOQ/bHdMZrkZENU/s320/41QqsNo5gRL._SL500_AA300_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"&gt;&lt;br /&gt;"This Wrox Blox teaches you how to use jQuery with your ASP.NET-based websites.&amp;nbsp; jQuery greatly simplifies JavaScript development and allows you to create highly interactive and responsive websites using the latest JavaScript and AJAX techniques. The author walks you through the jQuery API using a simple ASP.NET MVC application to highlight major topics, and shows how you can apply jQuery to your own applications. After learning the basics of using jQuery, you’ll discover how easy it is to use within your own ASP.NET projects.&amp;nbsp; Whether you are using WebForms or the MVC framework, jQuery will greatly simplify your code.&amp;nbsp; As you will quickly find out, jQuery really is the “write less, do more” framework "&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"&gt;Segue o link para comprar o livro:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/jQuery-ASP-NET-Developers-Wrox-Blox/dp/B0036V7H4M?tag=aspnettelligent-20"&gt;jQuery ASP-NET Developers Wrox&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-6612386305579155388?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/6612386305579155388/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/09/livro-jquery-para-programadores-aspnet.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/6612386305579155388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/6612386305579155388'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/09/livro-jquery-para-programadores-aspnet.html' title='Livro: jQuery para Programadores ASP.NET'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_cVMCbrYrXFY/TIfNtEXWFeI/AAAAAAAAAOQ/bHdMZrkZENU/s72-c/41QqsNo5gRL._SL500_AA300_.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-5414482937125893276</id><published>2010-04-29T11:19:00.000-07:00</published><updated>2010-04-29T11:19:50.424-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Usabilidade'/><title type='text'>Não me faça pensar</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_cVMCbrYrXFY/S9nNEjv6Z3I/AAAAAAAAAOI/1CaFwcakTcQ/s1600/nao-me-faca-pensar.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/_cVMCbrYrXFY/S9nNEjv6Z3I/AAAAAAAAAOI/1CaFwcakTcQ/s400/nao-me-faca-pensar.jpg" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;"O livro é uma verdadeira &lt;strong&gt;obra-prima&lt;/strong&gt; de como explicar a aplicar conceitos de usabilidade da forma mais simples, rápida e eficiente possível. Enquanto Jakob Nielsen vai a fundo nos detalhes técnicos e científicos da usabilidade, Steve Krug usa uma abordagem de &lt;strong&gt;bom-senso&lt;/strong&gt; e consegue  transmitir os ensinamentos de uma forma agradável e bastante divertida."&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://fatorw.com/internet/nao-me-faca-pensar/"&gt;http://fatorw.com/internet/nao-me-faca-pensar/&lt;/a&gt; &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Quem trabalha com Internet ou Sistemas para internet, ler esse livro é quase uma OBRIGAÇÃO!&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Sem mais meritíssimo&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-5414482937125893276?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/5414482937125893276/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/nao-me-faca-pensar.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/5414482937125893276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/5414482937125893276'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/nao-me-faca-pensar.html' title='Não me faça pensar'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_cVMCbrYrXFY/S9nNEjv6Z3I/AAAAAAAAAOI/1CaFwcakTcQ/s72-c/nao-me-faca-pensar.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-2802763407851917937</id><published>2010-04-29T06:04:00.001-07:00</published><updated>2010-04-29T06:04:58.819-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Dicas e truques para ASP.NET</title><content type='html'>&lt;a href="http://blogs.msdn.com/webdevelopertips/default.aspx?p=5"&gt;http://blogs.msdn.com/webdevelopertips/default.aspx?p=5&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-2802763407851917937?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/2802763407851917937/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/dicas-e-truques-para-aspnet.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/2802763407851917937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/2802763407851917937'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/dicas-e-truques-para-aspnet.html' title='Dicas e truques para ASP.NET'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-4478281473672866091</id><published>2010-04-19T13:08:00.000-07:00</published><updated>2010-04-19T13:08:07.743-07:00</updated><title type='text'>NHibernate vs. Entity Framework 4.0</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;This is a question that I get &lt;em&gt;very&lt;/em&gt; frequently, and I always tried to dodged the bullet, but I get it so much that I feel that I have to provide an answer. Obviously, I am (not so) slightly biased toward NHibernate, so while you read it, please keep it in mind.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;EF 4.0 has done a lot to handle the issues that were raised with the previous version of EF. Thinks like transparent lazy loading, POCO classes, code only, etc. EF 4.0 is a much nicer than EF 1.0. &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;The problem is that it is still a very young product, and the changes that were added only touched the surface. I already &lt;a href="http://ayende.com/Blog/archive/2009/05/29/why-defer-loading-in-entity-framework-isnrsquot-going-to-work.aspx"&gt;talked about some of my problems with the POCO model in EF&lt;/a&gt;, so I won’t repeat that, or &lt;a href="http://ayende.com/Blog/archive/2009/10/14/what-is-up-with-the-entity-framework-vnext.aspx"&gt;my reservations with the Code Only model&lt;/a&gt;. But basically, the major problem that I have with those two is that there seems to be a wall between what experience of the community and what Microsoft is doing. Both of those features shows much of the same issues that we have run into with NHibernate and Fluent NHibernate. Issues that were addressed and resolved, but show up in the EF implementations.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Nevertheless, even ignoring my reservations about those, there are other indications that NHibernate’s maturity makes itself known. I run into that several times while I was writing the guidance for &lt;a href="http://efprof.com/"&gt;EF Prof&lt;/a&gt;, there are things that you simple can’t do with EF, that are a natural part of NHibernate.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;I am &lt;em&gt;not&lt;/em&gt; going to try to do a point by point list of the differences, but it is interesting to look where we do find major differences between the capabilities of NHibernate and EF 4.0. Most of the time, it is in the ability to fine tune what the framework is actually doing. Usually, this is there to allow you to gain better performance from the system without sacrificing the benefits of using an OR/M in the first place.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Here is a small list:&lt;/div&gt;&lt;ul style="font-family: Verdana,sans-serif;"&gt;&lt;li&gt;Write batching – NHibernate can be configured to batch all writes to the database so that when you need to write several statements to the database, NHibernate will only make a single round trip, instead of going to the database per each statement. &lt;/li&gt;&lt;li&gt;Read batching / multi queries / futures – NHibernate allows to batch several queries into a single round trip to the database, instead of separate roundtrip per each query. &lt;/li&gt;&lt;li&gt;Batched collection loads – When you lazy load a collection, NHibernate can find other collections of the same type that weren’t loaded, and load all of them in a single trip to the database. This is a great way to avoid having to deal with SELECT N+1. &lt;/li&gt;&lt;li&gt;Collection with lazy=”extra” – Lazy extra means that NHibernate adapts to the operations that you might run on top of your collections. That means that blog.Posts.Count will &lt;em&gt;not&lt;/em&gt; force a load of the entire collection, but rather would create a “select count(*) from Posts where BlogId = 1” statement, and that blog.Posts.Contains() will likewise result in a single query rather than paying the price of loading the entire collection to memory. &lt;/li&gt;&lt;li&gt;Collection filters and paged collections&amp;nbsp; - this allows you to define additional filters (including paging!) on top of your entities collections, which means that you can easily page through the blog.Posts collection, and not have to load the entire thing into memory. &lt;/li&gt;&lt;li&gt;2nd level cache – managing the cache is &lt;em&gt;complex&lt;/em&gt;, &lt;a href="http://ayende.com/Blog/archive/2009/04/24/nhibernate-2nd-level-cache.aspx"&gt;I touched on why this is important before&lt;/a&gt;, so I’ll skip if for now. &lt;/li&gt;&lt;li&gt;Tweaking – this is something that is critical whenever you need something that is just a bit beyond what the framework provides. With NHibernate, in nearly all the cases, you have an extension point, with EF, you are completely and utterly blocked. &lt;/li&gt;&lt;li&gt;Integration &amp;amp; Extensibility – NHibernate has a &lt;em&gt;lot&lt;/em&gt; of extension projects, such as NHibernate Search, NHibernate Validator, NHibernate Shards, etc. Such projects not only do not exists for EF, but they cannot be written, for the most part, because EF has no extension points to speak of.&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;On the other side, however:&lt;/div&gt;&lt;ul style="font-family: Verdana,sans-serif;"&gt;&lt;li&gt;EF 4.0 has a better Linq provider than the current NHibernate implementation. This is something being actively worked on and the NH 3.0 will fix this gap. &lt;/li&gt;&lt;li&gt;EF is from Microsoft.&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Fontes:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://ayende.com/Blog/archive/2010/01/05/nhibernate-vs.-entity-framework-4.0.aspx#"&gt;http://ayende.com/Blog/archive/2010/01/05/nhibernate-vs.-entity-framework-4.0.aspx#&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-4478281473672866091?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/4478281473672866091/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/nhibernate-vs-entity-framework-40.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/4478281473672866091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/4478281473672866091'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/nhibernate-vs-entity-framework-40.html' title='NHibernate vs. Entity Framework 4.0'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-6591714469812955122</id><published>2010-04-19T05:00:00.000-07:00</published><updated>2010-04-19T05:02:01.446-07:00</updated><title type='text'>Curiosidades e Novidades do Visual Studio 2010</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;A Microsoft disponibilzou um site que contem informações de todo tipo do visual studio 2010:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-gb/ee679805.aspx"&gt;http://msdn.microsoft.com/en-gb/ee679805.aspx&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Algumas:&lt;/div&gt;&lt;ul style="font-family: Verdana,sans-serif;"&gt;&lt;li&gt;&lt;b&gt;jQuery to complement Microsoft AJAX functionality.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;JSONP Support.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Session state compression option&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Auto-start ASP.NET applications.&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;tá mais facil que andar pra frente&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-6591714469812955122?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/6591714469812955122/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/curiosidades-e-novidades-do-visual.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/6591714469812955122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/6591714469812955122'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/curiosidades-e-novidades-do-visual.html' title='Curiosidades e Novidades do Visual Studio 2010'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-4547623836703708480</id><published>2010-04-14T06:12:00.000-07:00</published><updated>2010-04-14T06:15:03.572-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Usabilidade'/><title type='text'>ASP.NET e Usabilidade</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Simplificar, rentabilizar, optimizar, facilitar, melhorar, acelerar são verbos que gravitam em torno do conceito de usabilidade. Mais usabilidade é sinónimo de maior flexibilidade e de maior interacção.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/_cVMCbrYrXFY/S8W9YroKp3I/AAAAAAAAAOA/w-30hCERVI4/s1600/usabilidade.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_cVMCbrYrXFY/S8W9YroKp3I/AAAAAAAAAOA/w-30hCERVI4/s320/usabilidade.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Usabilidade é uma característica daquilo que é utilizável, funcional. É tornar óbvio o óbvio, tendo em conta as necessidades do utilizador e o contexto em que este está inserido.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://pt.wikipedia.org/wiki/Acessibilidade" title="Wikipédia: Acessibilidade"&gt;&lt;b&gt;Acessibilidade&lt;/b&gt; &lt;/a&gt;significa não apenas permitir que pessoas com deficiências ou mobilidade reduzida participem de atividades que incluem o uso de produtos, serviços e informação, mas a inclusão e extensão do uso destes por todas as parcelas presentes em uma determinada população. (http://pt.wikipedia.org/wiki/Acessibilidade).&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://pt.wikipedia.org/wiki/Usabilidade" title="Wikipédia: Usabilidade"&gt;&lt;b&gt;Usabilidade&lt;/b&gt;&lt;/a&gt; é um termo usado para definir a facilidade com que as pessoas podem empregar uma ferramenta ou objeto a fim de realizar uma tarefa específica e importante. A usabilidade pode também se referir aos métodos de mensuração da usabilidade e ao estudo dos princípios por trás da eficiência percebida de um objeto.&lt;br /&gt;(http://pt.wikipedia.org/wiki/Usabilidade).&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Textos e links&lt;/b&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Os textos devem ser o mais claro e objetivo possível, evitando que o usuário perca tempo com palavras desnecessárias. Os links devem ter cores diferentes do resto do texto, preferencialmente o azul que é o padrão para links quando não são formatados. Ao escolher a fonte deve-se procurar usar fontes padrão e de tamanho suficientemente bom para qualquer usuário.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Migalhas pelo chão&lt;/b&gt;&lt;/span&gt;   &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Deve-se procurar fazer com que o usuário possa sempre voltar a página anterior. Exibir um botão que permita ao usuário volte a página é de fundamental importância, isso evita que o usuário se perca em seu site.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;   &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Todo poder ao usuário&lt;/b&gt;&lt;/span&gt;   &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Isso quer dizer que sem visitas seu site não tem motivos para existir, por tanto cuide para que seus usuários sempre voltem. Como nas leis de mercado “O cliente tem sempre razão”, nas leis de usabilidade “O usuário tem sempre razão”.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;   &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Fast as a Shark&lt;/b&gt;&lt;/span&gt;   &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Suas páginas devem ser leves e rápidas, na internet conta mais uma página rápida que uma bonita, confiavel que moderna, simples que complexa.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Bem vou parando por aqui, pois caso o contrário eu já estaria partindo para um caminho contrário do que eu escrevi neste post. Caso queira comentar, elogiar ou criticar fique a vontade, como disse anteriormente a casa é sua, você é o único motivo deste site existir. E é claro Volte sempre.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;b&gt;Para ASP.NET:&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;O Asp.net possui diversos recursos que permitem ao desenvolvedor aumentar a acessibilidade, usabilidade e aderir ao web standard, porém, muitas vezes por desconhecimento o desenvolvedor não utiliza desses recursos.&lt;span id="more-9"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Segue abaixo uma descrição de dois controles: &lt;b&gt;asp:label&lt;/b&gt; e &lt;b&gt;asp:literal&lt;/b&gt; que possuem recursos e uso que aderem ao web standard.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;b&gt;Controle: label&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Uso: &lt;b&gt;Juntamente com campos de formulários&lt;/b&gt; para identificar qual dado deve ser preenchido no campo.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Recursos web standard:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;ul style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;li&gt;AssociatedControlId: Necessário para identifica a qual campo este label se refere. Utilize-o para que ao clicar no label, o cursor de texto seja exibido no campo correspondente.&lt;/li&gt;&lt;li&gt;AccessKey: Necessário para prover uma tecla de acesso ao campo que este label se refere. Utilize-o para que o usuário que está utilizando um leitor de tela tenha sempre um acesso a todos os campos do seu formulário.&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;b&gt;Controle: literal&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Uso: Em todo local onde será inserido texto puro. Seja este dinâmico ou estático e não o &lt;b&gt;label&lt;/b&gt;.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Recursos web standard: Na verdade este controle não possui um recurso web standard pois nem mesmo é renderizado na tela, apenas seu conteúdo. Isto faz com que seu código não tenha span’s desnecessários que ocorreria caso o &lt;b&gt;asp:label&lt;/b&gt; fosse usado.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Plus: Ao utilizar o asp:literal por todo seu código é possível se aproveitar de recursos do Asp.net como a Localização. Ex: Após construir uma página, acessar: Tools &amp;gt; Generate Local Resource. Assim automaticamente todos os asp:literal serão transformados em campos em arquivos resources (.resx) e poderam ter seu conteúdo facilmente traduzido para diversas linguagens.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Testes de Usabilidade&lt;/b&gt;&lt;br /&gt;Um teste de usabilidade visa medir, quantificar a usabilidade do site. Eis algumas coisas que são passíveis de medir num teste de usabilidade:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;1. Tempo que leva a complementar uma tarefa;&lt;br /&gt;2. Tempo que leva a completar a tarefa dois dias mais tarde;&lt;br /&gt;3. Número de enganos por tarefa;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;4. Número de enganos por minuto;&lt;br /&gt;5. Número de utilizadores a cometer o mesmo erro.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Para finalizar&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;deixamos uma lista com algumas regras que o poderão ajudar a agilizar o&lt;br /&gt;seu site.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style="font-family: Verdana,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Colocar o nome e/ou logótipo em todas páginas;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Incluir um motor de procura nos sites com mais de 100 páginas;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Cabeçalhos e títulos de página simples e sugestivos que traduzam claramente&lt;br /&gt;o seu conteúdo;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Muita informação e pouco texto (concisão);&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Pôr a informação menos relevante em páginas secundárias com a técnica do&lt;br /&gt;hipertexto;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Utilizar, nas páginas principais, fotografias de produtos em tamanho&lt;br /&gt;reduzido (thumbnail), associando-lhe depois, um link para uma página&lt;br /&gt;secundária onde o utilizador possa ver, com mais pormenor, o produto&lt;br /&gt;desejado e outras características;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Associar a cada link um título (link title) para que os utilizadores saibam para&lt;br /&gt;onde vão ser encaminhados;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Garantir a acessibilidade de todas as páginas importantes a utilizadores com&lt;br /&gt;inaptidões, especialmente aqueles com deficiências de acuidade visual;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Actualizar conteúdos e serviços úteis constantemente;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Destacar as novidades;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Agilizar o carregamento página&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;(páginas que demoram a carregar podem ser abandonadas antes de exibidas);&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Utilizar tecnologia compatível com a maioria dos computadores&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;(evitar utilizar tecnologias muito recentes e ainda pouco difundidas.);&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Manter informação antiga quando relevante;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Evitar abuso no uso de propaganda, links e cores;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;Algumas Fontes:&lt;br /&gt;&lt;a href="http://blog.robertoosantos.com/"&gt;http://blog.robertoosantos.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.fcferreira.com.br%20/"&gt;http://www.fcferreira.com.br &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-4547623836703708480?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/4547623836703708480/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/usabilidade.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/4547623836703708480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/4547623836703708480'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/usabilidade.html' title='ASP.NET e Usabilidade'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_cVMCbrYrXFY/S8W9YroKp3I/AAAAAAAAAOA/w-30hCERVI4/s72-c/usabilidade.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-4855825716506905663</id><published>2010-04-13T09:33:00.000-07:00</published><updated>2010-04-13T09:34:06.479-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Certificação'/><title type='text'>Primeiras Certificações</title><content type='html'>&lt;div align="left"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;b&gt;Caminho&amp;nbsp;1: Tirar MCTS (Technology Specialist) em diversas áreas&lt;/b&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana; font-size: x-small;"&gt;- MCTS: .NET Framework 3.5, Windows Presentation Foundation Applications &lt;br /&gt;- MCTS: .NET Framework 3.5, Windows Communication Foundation Applications &lt;br /&gt;- MCTS: .NET Framework 3.5, Windows Workflow Foundation Applications &lt;br /&gt;- MCTS: .NET Framework 3.5, Windows Forms Applications &lt;br /&gt;- MCTS: .NET Framework 3.5, ADO.NET Applications &lt;br /&gt;- MCTS: .NET Framework 3.5, ASP.NET Applications &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;b&gt;&lt;br /&gt;Caminho&amp;nbsp;2: Tirar MCPD (Professional Developer) em Windows Forms&lt;/b&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana; font-size: x-small;"&gt;Além da 70-536 que você já fez, tem de fazer mais duas:&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana; font-size: x-small;"&gt;- 70-505: TS: Microsoft .NET Framework 3.5, Windows Forms Application Development&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana; font-size: x-small;"&gt;- 70-563: PRO: Designing and Developing Windows Applications using Microsoft .NET Framework 3.5&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;b&gt;&lt;br /&gt;Caminho 3: Tirar MCPD (Professional Developer) em ASP .NET (3.5)&lt;/b&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana; font-size: x-small;"&gt;Além da 70-536 que você já fez, tem de fazer mais duas:&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana; font-size: x-small;"&gt;- 70-562: TS: Microsoft .NET Framework 3.5, ASP.NET Application Development&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana; font-size: x-small;"&gt;- 70-564: PRO: Designing and Developing ASP.NET Applications using Microsoft .NET Framework 3.5&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;b&gt;&lt;br /&gt;Caminho 4: Tirar MCPD (Professional Developer) em Enterprise Applications 3.5&lt;/b&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana; font-size: x-small;"&gt;Além da 70-536 que você já fez, tem de fazer mais quatro:&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana; font-size: x-small;"&gt;- 70-505: TS: Microsoft .NET Framework 3.5, Windows Forms Application Development&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana; font-size: x-small;"&gt;- 70-562: TS: Microsoft .NET Framework 3.5, ASP.NET Application Development&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana; font-size: x-small;"&gt;- 70-561: TS: Microsoft .NET Framework 3.5, ADO.NET Application Development&lt;br /&gt;&lt;br /&gt;- 70-565: PRO: Designing and Developing Enterprise Applications using Microsoft .NET Framework 3.5 &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcpd/vstudio/2008/default.mspx" title="http://www.microsoft.com/learning/mcp/mcpd/vstudio/2008/default.mspx"&gt;http://www.microsoft.com/learning/mcp/mcpd/vstudio/2008/default.mspx&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana;"&gt;Fonte:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;a href="http://www.blogger.com/goog_426883334"&gt;&lt;span style="font-family: Verdana;"&gt; &lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;a href="http://social.technet.microsoft.com/Forums/pt-BR/cermicrosoftpt/thread/ddbe6a43-321e-4ff6-8995-76aeec32b216"&gt;&lt;span style="font-family: Verdana;"&gt;http://social.technet.microsoft.com/Forums/pt-BR/cermicrosoftpt/thread/ddbe6a43-321e-4ff6-8995-76aeec32b216&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: Verdana;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-4855825716506905663?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/4855825716506905663/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/primeiras-certificacoes.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/4855825716506905663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/4855825716506905663'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/primeiras-certificacoes.html' title='Primeiras Certificações'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-166706112359272245</id><published>2010-04-12T05:48:00.001-07:00</published><updated>2010-04-12T06:27:32.184-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nhibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>.NET: Guia Inicial do NHibernate</title><content type='html'>&lt;a href="http://www.linhadecodigo.com.br/artigo/546/net-guia-inicial-do-nhibernate.aspx"&gt;Linha de Código - .NET: Guia Inicial do NHibernate&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-166706112359272245?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/166706112359272245/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/linha-de-codigo-net-guia-inicial-do.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/166706112359272245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/166706112359272245'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/linha-de-codigo-net-guia-inicial-do.html' title='.NET: Guia Inicial do NHibernate'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-7225701852975274791</id><published>2010-04-09T11:28:00.001-07:00</published><updated>2010-04-09T12:33:54.680-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Lançamento global do Visual Studio 2010</title><content type='html'>&lt;h1 style="font-family: Verdana,sans-serif;"&gt;&lt;/h1&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_cVMCbrYrXFY/S793Y6GLCDI/AAAAAAAAANI/WfKcXa-uncA/s1600/vs2010_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_cVMCbrYrXFY/S793Y6GLCDI/AAAAAAAAANI/WfKcXa-uncA/s320/vs2010_logo.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;O Microsoft Visual Studio 2010 será lançado em 12 de abril e você pode estar entre os primeiros a testá-lo em pessoa. Descubra como você pode personalizar seu ambiente de trabalho com o suporte a vários monitores. Crie aplicativos ricos para o SharePoint e a Web. Trabalhe com diferentes versões do .NET Framework numa mesma ferramenta. Elimine o temido problema dos “bugs sem reprodução” com o IntelliTrace e muito mais.&lt;br /&gt;&lt;br /&gt;&lt;div class="text_block text_block_ideas" id=""&gt;Crie o que puder imaginar, com base nos pontos fortes de sua equipe, e revele novas possibilidades. &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Os novos protótipos, modelos e ferramentas de design visual permitem que você crie aplicativos inovadores para o Windows e a Web &lt;/li&gt;&lt;li&gt; Crie uma visão compartilhada com o SketchFlow como alicerce para criatividade, através do Microsoft Expression&lt;sup&gt;®&lt;/sup&gt; Studio e Team Foundation Server                                 &lt;/li&gt;&lt;li&gt;Aproveite as novas oportunidades e os recursos oferecidos pela programação paralela (multi-core) e ferramentas de desenvolvimento na nuvem"&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="text_block text_block_simplicity" id=""&gt;Um único ambiente integrado de desenvolvimento que aprimora suas habilidades e se ajusta ao modo como você trabalha.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Complete todo o seu trabalho de codificação, modelagem, teste, depuração e implantação sem sair do ambiente do Visual Studio 2010&lt;/li&gt;&lt;li&gt; Use padrões e aptidões existentes para direcionar um número crescente de tipos de aplicativo, incluindo o Microsoft SharePoint&lt;sup&gt;®&lt;/sup&gt; e o Windows&lt;sup&gt;®&lt;/sup&gt; Azure™                                 &lt;/li&gt;&lt;li&gt;Trabalhe do seu modo com suporte a vários monitores, extensões de parceiro e um novo editor.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="text_block text_block_quality" id=""&gt;As poderosas ferramentas de teste com recursos de gerenciamento de projeto proativos ajudam você a criar o aplicativo certo da forma correta. &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Use o novo depurador IntelliTrace para isolar o ponto de falha dentro de um histórico de aplicativo gravado.&lt;/li&gt;&lt;li&gt;Fique à frente com as ferramentas de gerenciamento de projeto proativas, incluindo novos relatórios, dashboards e planilhas de planejamento.&lt;/li&gt;&lt;li&gt;Saiba se você criou o aplicativo certo da forma correta com as ferramentas de teste manuais e automatizadas.&lt;/li&gt;&lt;/ul&gt;Referência: &lt;br /&gt;http://www.microsoft.com/visualstudio/pt-br/products/2010/default.mspx &lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-7225701852975274791?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/7225701852975274791/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/lancamento-global-do-visual-studio-2010.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/7225701852975274791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/7225701852975274791'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/lancamento-global-do-visual-studio-2010.html' title='Lançamento global do Visual Studio 2010'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_cVMCbrYrXFY/S793Y6GLCDI/AAAAAAAAANI/WfKcXa-uncA/s72-c/vs2010_logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-7472603990593360217</id><published>2010-04-09T05:35:00.000-07:00</published><updated>2010-04-09T05:35:53.083-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Ceará.NET - For a Better Code</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;Horário: &lt;a href="http://inetabr.ning.com/events/event/listByDate?date=2010-04-10"&gt;10 abril 2010&lt;/a&gt; de 8:00 a 12:00&lt;br /&gt;&lt;span id="eventLocation"&gt;Local: &lt;a href="http://inetabr.ning.com/events/event/listByLocation?location=FIC+-+Faculdade+Integrada+do+Cear%C3%A1+-+Mini-Audit%C3%B3rio"&gt;FIC - Faculdade Integrada do Ceará - Mini-Auditório&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Rua: &lt;strong&gt;R. Visc. de Mauá, 1940 Dionísio Torres Fortaleza - CE, 60125-160&lt;/strong&gt;&lt;br /&gt;Cidade: &lt;strong&gt;Fortaleza/Ceará&lt;/strong&gt;&lt;br /&gt;Site ou Mapa: &lt;a href="http://www.fic.br/v4/conheca/mapamc.html"&gt;http://www.fic.br/v4/conheca/…&lt;/a&gt;&lt;br /&gt;Telefone: &lt;strong&gt;8791-7275&lt;/strong&gt;&lt;br /&gt;&lt;span id="eventTypes"&gt;Tipo de evento: &lt;a href="http://inetabr.ning.com/events/event/listByType?type=presencial"&gt;presencial&lt;/a&gt;, &lt;a href="http://inetabr.ning.com/events/event/listByType?type=t%C3%A9cnico"&gt;técnico&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Organizado por: &lt;a href="http://inetabr.ning.com/profile/RogerioCamilo"&gt;CEARA.NET&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Encontro promovido visando agregar a comunidade técnica, recursos para o desenvolvimento de softwares, que estimulem tanto uma melhor forma de escrever o seu código, como também apresentar recursos para otimização do tempo de trabalho, sobre a perspectiva do time de desenvolvimento e produtividade (desejada X atingida). &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_cVMCbrYrXFY/S78fBJs9GPI/AAAAAAAAAMw/-C3Po1ptYu0/s1600/Ceara.NetForaBetterCode.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://3.bp.blogspot.com/_cVMCbrYrXFY/S78fBJs9GPI/AAAAAAAAAMw/-C3Po1ptYu0/s640/Ceara.NetForaBetterCode.jpg" width="484" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-7472603990593360217?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/7472603990593360217/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/cearanet-for-better-code.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/7472603990593360217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/7472603990593360217'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/cearanet-for-better-code.html' title='Ceará.NET - For a Better Code'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_cVMCbrYrXFY/S78fBJs9GPI/AAAAAAAAAMw/-C3Po1ptYu0/s72-c/Ceara.NetForaBetterCode.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-6738227210485954996</id><published>2010-04-07T05:05:00.000-07:00</published><updated>2010-04-07T05:18:18.478-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chart'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Microsoft Chart Controls</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;Olá gente, hoje vou falar sobre o Microsoft Chart Controls que foi comprado da empresa Dundas Data Visualization pela Microsoft, mas que ainda é pouco utilizado.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Primeiro vamos fazer o download do Add-on que está disponivel para a versão 3.5 SP1 do nosso framework ( Ele já vai vir incorporado ao VS2010 )&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=130F7986-BF49-4FE5-9CA8-910AE6EA442C&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=130F7986-BF49-4FE5-9CA8-910AE6EA442C&amp;amp;displaylang=en&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Depois de instalado vamos a nossa Aba "Data" no Toolbox do V2008 e dê um Choose items, procure a pasta "Microsoft Chart Controls" no arquivos de programa e instale as bibliotecas.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Na aba que você instalou, procure pelo componente Chart e arraste para o form e altere as propiedades como na figura abaixo:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_cVMCbrYrXFY/S7xxStdjQlI/AAAAAAAAAMY/zQRFmxPGhdk/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="333" src="http://4.bp.blogspot.com/_cVMCbrYrXFY/S7xxStdjQlI/AAAAAAAAAMY/zQRFmxPGhdk/s400/1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Quando você arrasta e solta, ele já cria uma estrutura parecida, eu só fiz alterar os nomes e adicionei os DataPoint para esse exemplo.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Vamos ao nosso CodeBehind da pagina e adicione o seguinte código:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_cVMCbrYrXFY/S7xza6Xz1JI/AAAAAAAAAMg/_-zHGE2xJbo/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="440" src="http://1.bp.blogspot.com/_cVMCbrYrXFY/S7xza6Xz1JI/AAAAAAAAAMg/_-zHGE2xJbo/s640/2.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;using System;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;using System.Collections;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;using System.Configuration;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;using System.Data;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;using System.Linq;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;using System.Web;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;using System.Web.Security;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;using System.Web.UI;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;using System.Web.UI.HtmlControls;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;using System.Web.UI.WebControls;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;using System.Web.UI.WebControls.WebParts;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;using System.Xml.Linq;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;namespace webTesteAPPChart&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class _Default : System.Web.UI.Page&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void Page_Load(object sender, EventArgs e)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reparem que está bem básico, apenas para exibirmos os &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // nossos dados&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //==================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!Page.IsPostBack)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChartMV.Series["SeriesMV"].Points[0].YValues.SetValue(1, 0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChartMV.Series["SeriesMV"].Points[1].YValues.SetValue(10, 0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChartMV.Series["SeriesMV"].Points[2].YValues.SetValue(50, 0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChartMV.Series["SeriesMV"].Points[3].YValues.SetValue(5, 0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; Onde tem 1,10,50,5 são os valores exibidos&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception("Erro na leitura das informações");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Agora&amp;nbsp; vamos ao resultado Final:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_cVMCbrYrXFY/S7x0JKHqLOI/AAAAAAAAAMo/_JLJDhUf7M8/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="478" src="http://1.bp.blogspot.com/_cVMCbrYrXFY/S7x0JKHqLOI/AAAAAAAAAMo/_JLJDhUf7M8/s640/3.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Ok, foi muito facil, mas na Mundo.NET tem um tutorial muito bom, para uso do chart com Banco de dados.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Esse exemplo pode apenas abrir sua mente para utilização do componente. espero ter ajudado de alguma forma!&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-6738227210485954996?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/6738227210485954996/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/microsoft-chart-controls.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/6738227210485954996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/6738227210485954996'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/microsoft-chart-controls.html' title='Microsoft Chart Controls'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_cVMCbrYrXFY/S7xxStdjQlI/AAAAAAAAAMY/zQRFmxPGhdk/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-8392115493225182030</id><published>2010-04-06T05:50:00.000-07:00</published><updated>2010-04-06T05:50:19.735-07:00</updated><title type='text'>Certificação 70-536 - TS: Microsoft .NET Framework - Application Development Foundation</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;strong&gt;Página oficial do exame&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/australia/learning/exams/70-536.mspx" target="_blank"&gt;http://www.microsoft.com/australia/learning/exams/70-536.mspx&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;strong&gt;E-book&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.free-ebooks-download.org/free-ebook/dotnet/MCTS%20Dumps/mcpd-70-536.php" target="_blank"&gt;http://www.free-ebooks-download.org/free-ebook/dotnet/MCTS%20Dumps/mcpd-70-536.php&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;strong&gt;Links e artigos com o conteúdo da prova&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Nessa relação constam artigos do &lt;a href="http://msdn.microsoft.com/pt-br/default.aspx" target="_blank"&gt;MSDN&lt;/a&gt;, &lt;a href="http://www.israelaece.com/" target="_blank"&gt;Israel Aece&lt;/a&gt; e &lt;a href="http://www.macoratti.net/" target="_blank"&gt;Macoratti&lt;/a&gt;. &lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;strong&gt;Developing applications that use system types and collections&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Manage data in a .NET Framework application by using .NET Framework system types&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/s1ax56ch.aspx"&gt;Value Types (C# Reference)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx"&gt;Nullable Types (C# Programming Guide)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/490f96s2.aspx"&gt;Reference Types (C# Reference)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/z0w1kczw.aspx"&gt;Attributes (C# Programming Guide)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/0zk36dx2%28VS.80%29.aspx"&gt;Generic Type Parameters (C#)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.exception%28VS.71%29.aspx"&gt;Exception Class&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/yz2be5wk.aspx"&gt;Boxing and Unboxing (C# Programming Guide)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.typeforwardedtoattribute.aspx"&gt;TypeForwardedToAttribute Class (System.Runtime.CompilerServices)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://en.csharp-online.net/TypeForwardedToAttribute"&gt;TypeForwardedToAttribute at C# Online.NET (CSharp-Online.NET)&lt;/a&gt;&lt;a href="http://www.criarweb.com/artigos/tipos-de-dados-em-net.html"&gt;Tipos de dados em .NET&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Manage a group of associated data in a .NET Framework application by using collections&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.collections.bitarray.aspx"&gt;BitArray Class (System.Collections)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.collections.icollection.aspx"&gt;ICollection Interface (System.Collections)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.collections.queue.aspx"&gt;Queue Class (System.Collections)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.collections.readonlycollectionbase.aspx"&gt;ReadOnlyCollectionBase Class (System.Collections)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/he2s3bh7%28VS.80%29.aspx"&gt;LinkedList Generic Class (System.Collections.Generic)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms132123.aspx"&gt;EqualityComparer(T) Class (System.Collections.Generic)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2057&amp;amp;pag=1"&gt;Israel Aéce – Trabalhando com Coleções – Parte 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2057&amp;amp;pag=2"&gt;Israel Aéce – Trabalhando com Coleções – Parte 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2057&amp;amp;pag=3"&gt;Israel Aéce – Trabalhando com Coleções – Parte 3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2057&amp;amp;pag=4"&gt;Israel Aéce – Trabalhando com Coleções – Parte 4&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Manage data in a .NET Framework application by using specialized collections&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.collections.specialized.bitvector32.aspx"&gt;BitVector32 Structure (System.Collections.Specialized)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Implement .NET Framework interfaces to cause components to comply with standard contracts&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.icomparable.aspx"&gt;IComparable Interface (System)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.idisposable.aspx"&gt;IDisposable Interface (System)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.iconvertible.aspx"&gt;IConvertible Interface (System)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.icloneable.aspx"&gt;ICloneable Interface (System)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms131187.aspx"&gt;IEquatable(T) Interface (System)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.iformattable.aspx"&gt;IFormattable Interface (System)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.macoratti.net/vbn5_dpo.htm"&gt;Liberando os objetos de forma apropriada&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Control interactions between .NET Framework application components by using events and delegates&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.delegate.aspx"&gt;Delegate Class (System)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.eventargs.aspx"&gt;EventArgs Class (System)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.eventhandler.aspx"&gt;EventHandler Delegate (System)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/900fyy8e%28VS.71%29.aspx"&gt;delegate (C#)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms173175%28VS.80%29.aspx"&gt;How to: Combine Delegates (Multicast Delegates)(C#)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.c-sharpcorner.com/UploadFile/ankithakur/Delegates06042007014105AM/Delegates.aspx"&gt;Simple and Multicast Delegates in C#.net&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/ArtigoImpressao.aspx?id=1544"&gt;Linha de Código – Delegates e Eventos com C#.NET&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;strong&gt;Implementing service processes, threading, and application domains in a .NET Framework application&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Implement, install, and control a service&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2129"&gt;Linha de Código – Por dentro da Base Classe Library – Capítulo 11 – Criando Serviços do Windows&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Develop multithreaded .NET applications&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.threading.thread.aspx"&gt;Thread Class (System.Threading)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.threading.threadpool.aspx"&gt;ThreadPool Class (System.Threading)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.threading.waitcallback.aspx"&gt;WaitCallback Delegate (System.Threading)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/h339syd0.aspx"&gt;Foreground and Background Threads&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=625"&gt;Linha de Código – Usando Threads e Timer em ASP.NET&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2148"&gt;Israel Aéce – Threading – Parte 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2148&amp;amp;pag=2"&gt;Israel Aéce – Threading – Parte 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2148&amp;amp;pag=3"&gt;Israel Aéce – Threading – Parte 3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2148&amp;amp;pag=4"&gt;Israel Aéce – Threading – Parte 4&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;strong&gt;Embedding configuration, diagnostic, management, and installation features into a .NET Framework application&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Embed configuration management functionality into a .NET Framework application&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2062"&gt;Linha de Código – Por dentro da Base Classe Library – Capitulo 3 – Utilização de Assemblies&lt;/a&gt;&lt;/div&gt;&lt;dl style="font-family: Verdana,sans-serif;"&gt;Manage an event log by using the System.Diagnostics namespace &lt;/dl&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog.aspx"&gt;EventLog Class (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/0zk45zk9.aspx"&gt;How to: Create EventLog Component Instances&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/k6b9a7h8.aspx"&gt;How to: Read Event Log Entries&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2072&amp;amp;pag=1"&gt;Israel Aéce – Monitoramento e depuração de aplicações – Parte 1&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Manage system processes and monitor the performance of a .NET application by using the diagnostics functionality of the .NET Framework&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx"&gt;Process Class (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.performancecounter.aspx"&gt;PerformanceCounter Class (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.performancecountercategory.aspx"&gt;PerformanceCounterCategory Class (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.countercreationdata.aspx"&gt;CounterCreationData Class (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.stacktrace.aspx"&gt;StackTrace Class (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.stackframe.aspx"&gt;StackFrame Class (System.Diagnostics)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/fd89becd.aspx"&gt;Retrieving Information About Processes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/z3w4xdc9.aspx"&gt;Process.GetProcessesByName Method (String) (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/348b2484.aspx"&gt;How to: View Running Processes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/27688t9c.aspx"&gt;How to: Investigate Libraries Loaded by Processes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2072&amp;amp;pag=2"&gt;Israel Aéce – Monitoramento e depuração de aplicações – Parte 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=271"&gt;Linha de Código – Manipulando processos através da classe System.Diagnostics.Process&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.csharpfriends.com/Forums/ShowPost.aspx?PostID=17937"&gt;How to get the Process Name in C#? C# Friends&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Debug and trace a .NET Framework application by using the System.Diagnostics namespace&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.debug.aspx"&gt;Debug Class (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/pt-br/library/system.diagnostics.debugger.aspx#MtViewDropDownText"&gt;Classe Debugger (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/pt-br/library/system.diagnostics.trace.aspx"&gt;Classe Trace (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.tracesource.aspx"&gt;TraceSource Class (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.sourceswitch.aspx"&gt;SourceSwitch Class (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.correlationmanager.aspx"&gt;CorrelationManager Class (System.Diagnostics)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.traceswitch.aspx"&gt;TraceSwitch Class (System.Diagnostics)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=61"&gt;Israel Aéce – Criando um DebuggerVisualizer&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.sureshkumar.net/vb-asp-net-interview-technical-questions/16444-c-difference-between-debug-class-trace-class.html"&gt;What is the difference between the Debug class and Trace class? &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2072&amp;amp;pag=2"&gt;Israel Aéce – Monitoramento e depuração de aplicações – Parte 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2072&amp;amp;pag=3"&gt;Israel Aéce – Monitoramento e depuração de aplicações – Parte 3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2072&amp;amp;pag=4"&gt;Israel Aéce – Monitoramento e depuração de aplicações – Parte 4&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2072&amp;amp;pag=5"&gt;Israel Aéce – Monitoramento e depuração de aplicações – Parte 5&lt;/a&gt;&lt;br /&gt;&lt;a href="http://imasters.uol.com.br/artigo/3133/dotnet/usando_tecnicas_de_trace_e_debug/"&gt;Usando técnicas de Trace e Debug – Tiago Colombo – .Net&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Embed management information and events into a .NET Framework application&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa338809%28VS.71%29.aspx"&gt;Retrieving Collections of Management Objects&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa394606%28VS.85%29.aspx"&gt;WQL (SQL for WMI) (Windows)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa394582.aspx"&gt;Windows Management Instrumentation (Windows)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa394143%28VS.85%29.aspx"&gt;Win32_Environment Class (Windows)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa394418%28VS.85%29.aspx"&gt;Win32_Service Class (Windows)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.management.selectquery.aspx"&gt;SelectQuery Class (System.Management)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.management.managementquery.aspx"&gt;ManagementQuery Class (System.Management)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.management.managementobjectsearcher.aspx"&gt;ManagementObjectSearcher Class (System.Management)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.management.managementoperationobserver.aspx"&gt;ManagementOperationObserver Class (System.Management)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.management.completedeventhandler.aspx"&gt;CompletedEventHandler Delegate (System.Management)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.management.objectreadyeventhandler.aspx"&gt;ObjectReadyEventHandler Delegate (System.Management)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;strong&gt;Implementing serialization and input/output functionality in a .NET Framework application&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Serialize or deserialize an object or an object graph by using runtime serialization techniques&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.aspx"&gt;System.Runtime.Serialization Namespace ()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.streamingcontext.aspx"&gt;StreamingContext Structure (System.Runtime.Serialization)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatterservices.aspx"&gt;FormatterServices Class (System.Runtime.Serialization)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatterconverter.aspx"&gt;FormatterConverter Class (System.Runtime.Serialization)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatter.aspx"&gt;Formatter Class (System.Runtime.Serialization)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.objectmanager.aspx"&gt;ObjectManager Class (System.Runtime.Serialization)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.serializationinfo.aspx"&gt;SerializationInfo Class (System.Runtime.Serialization)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2077"&gt;Linha de Código – Por dentro da Base Classe Library – Capítulo 6 – Serialização&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Control the serialization of an object into XML format by using the System.Xml.Serialization namespace&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.xml.serialization.aspx"&gt;System.Xml.Serialization Namespace ()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx"&gt;XmlSerializer Class (System.Xml.Serialization)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Implement custom serialization formatting by using the Serialization Formatter classes&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatters.soap.soapformatter.aspx"&gt;SoapFormatter Class (System.Runtime.Serialization.Formatters.Soap)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatters.binary.binaryformatter.aspx"&gt;BinaryFormatter Class (System.Runtime.Serialization.Formatters.Binary)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Access files and folders by using the File System classes&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2073&amp;amp;pag=1"&gt;Linha de Código – Por dentro da Base Classe Library – Capítulo 5 – Manipulando o sistema de arquivos&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Manage .NET Framework application data by using Reader and Writer classes&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.io.stringreader.aspx"&gt;StringReader Class (System.IO)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.io.stringwriter.aspx"&gt;StringWriter Class (System.IO)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.io.textwriter.aspx"&gt;TextWriter Class (System.IO)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.io.textreader.aspx"&gt;TextReader Class (System.IO)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspx"&gt;StreamReader Class (System.IO)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/pt-br/library/system.io.streamwriter%28VS.80%29.aspx"&gt;StreamWriter Classe (System.IO)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/pt-br/library/system.io.binarywriter.aspx"&gt;Classe BinaryWriter (System.IO)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/pt-br/library/system.io.binaryreader%28VS.80%29.aspx"&gt;BinaryReader Classe (System.IO)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.io.aspx"&gt;System.IO Namespace ()&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.macoratti.net/vbn_txt.htm"&gt;VB.NET -&amp;nbsp; Lendo e escrevendo em arquivo Textos&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=1502"&gt;Linha de Código – System.IO: Criando um arquivo usando Visual Studio.NET 2005&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Compress or decompress stream information in a .NET Framework application and improve the security of application data by using isolated storage&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.io.compression.aspx"&gt;System.IO.Compression Namespace ()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.io.compression.deflatestream.aspx"&gt;DeflateStream Class (System.IO.Compression)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx"&gt;GZipStream Class (System.IO.Compression)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefilestream.aspx"&gt;IsolatedStorageFileStream Class (System.IO.IsolatedStorage)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefile.aspx"&gt;IsolatedStorageFile Class (System.IO.IsolatedStorage)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/pt-br/library/k48a6h13.aspx"&gt;Como: obter armazenamentos para o armazenamento isolado&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=700"&gt;Israel Aéce – Compressão de Arquivos no .NET&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.macoratti.net/vbn5_pck.htm"&gt;Macoratti – Compactando e Descompactando arquivos&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=4424"&gt;Compactando e Descompactando Arquivos com a classe GZipStream&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;strong&gt;Improving the security of .NET Framework applications by using the .NET Framework security features&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Implement access control by using the System.Security.AccessControl classes&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.aspx"&gt;System.Security.AccessControl Namespace ()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.directorysecurity.aspx"&gt;DirectorySecurity Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.filesecurity.aspx"&gt;FileSecurity Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.filesystemsecurity.aspx"&gt;FileSystemSecurity Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.registrysecurity.aspx"&gt;RegistrySecurity Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.accessrule.aspx"&gt;AccessRule Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.authorizationrule.aspx"&gt;AuthorizationRule Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.authorizationrulecollection.aspx"&gt;AuthorizationRuleCollection Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.commonace.aspx"&gt;CommonAce Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.commonacl.aspx"&gt;CommonAcl Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.compoundace.aspx"&gt;CompoundAce Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.genericace.aspx"&gt;GenericAce Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.genericacl.aspx"&gt;GenericAcl Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.auditrule.aspx"&gt;AuditRule Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.mutexsecurity.aspx"&gt;MutexSecurity Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.objectsecurity.aspx"&gt;ObjectSecurity Class (System.Security.AccessControl)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.semaphoresecurity.aspx"&gt;SemaphoreSecurity Class (System.Security.AccessControl)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Implement a custom authentication scheme by using the System.Security.Authentication classes&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.authentication.aspx"&gt;System.Security.Authentication Namespace ()&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Encrypt, decrypt, and hash data by using the System.Security.Cryptography classes&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.aspx"&gt;System.Security.Cryptography Namespace ()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.des.aspx"&gt;DES Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.descryptoserviceprovider.aspx"&gt;DESCryptoServiceProvider Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.sha1cryptoserviceprovider.aspx"&gt;SHA1CryptoServiceProvider Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.sha1.aspx"&gt;SHA1 Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.dsacryptoserviceprovider.aspx"&gt;DSACryptoServiceProvider Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.dsa.aspx"&gt;DSA Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.hashalgorithm.aspx"&gt;HashAlgorithm Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.tripledes.aspx"&gt;TripleDES Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.rc2cryptoserviceprovider.aspx"&gt;RC2CryptoServiceProvider Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.rc2.aspx"&gt;RC2 Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.cryptoconfig.aspx"&gt;CryptoConfig Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.cryptostream.aspx"&gt;CryptoStream Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.randomnumbergenerator.aspx"&gt;RandomNumberGenerator Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.md5cryptoserviceprovider.aspx"&gt;MD5CryptoServiceProvider Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.md5.aspx"&gt;MD5 Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.tripledescryptoserviceprovider.aspx"&gt;TripleDESCryptoServiceProvider Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.hmac.aspx"&gt;HMAC Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.cryptoapitransform.aspx"&gt;CryptoAPITransform Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.cspparameters.aspx"&gt;CspParameters Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanagedtransform.aspx"&gt;RijndaelManagedTransform Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged.aspx"&gt;RijndaelManaged Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspx"&gt;ProtectedData Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.protectedmemory.aspx"&gt;ProtectedMemory Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.asymmetricalgorithm.aspx"&gt;AsymmetricAlgorithm Class (System.Security.Cryptography)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.symmetricalgorithm.aspx"&gt;SymmetricAlgorithm Class (System.Security.Cryptography)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2085"&gt;Linha de Código – Por dentro da Base Classe Library – Capítulo 8 – Criptografia&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2085&amp;amp;pag=2"&gt;Linha de Código – Por dentro da Base Classe Library – Capítulo 8 – Criptografia&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2085&amp;amp;pag=3"&gt;Linha de Código – Por dentro da Base Classe Library – Capítulo 8 – Criptografia&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Control permissions for resources by using the System.Security.Permission classes&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/930b76w0%28vs.71%29.aspx"&gt;Code Access Security&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ka9xc0ek%28VS.80%29.aspx"&gt;Code Groups&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/7y5x1hcd%28VS.80%29.aspx"&gt;Evidence&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/4652tyx7%28VS.80%29.aspx"&gt;Named Permission Sets&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.aspx"&gt;System.Security.Permissions Namespace ()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.securitypermission.aspx"&gt;SecurityPermission Class (System.Security.Permissions)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.principalpermission.aspx"&gt;PrincipalPermission Class (System.Security.Permissions)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.evidence.aspx"&gt;Evidence Class (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx"&gt;FileIOPermission Class (System.Security.Permissions)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.strongnameidentitypermission.aspx"&gt;StrongNameIdentityPermission Class (System.Security.Permissions)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.urlidentitypermission.aspx"&gt;UrlIdentityPermission Class (System.Security.Permissions)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.dataprotectionpermission.aspx"&gt;DataProtectionPermission Class (System.Security.Permissions)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.isolatedstoragefilepermission.aspx"&gt;IsolatedStorageFilePermission Class (System.Security.Permissions)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.iunrestrictedpermission.aspx"&gt;IUnrestrictedPermission Interface (System.Security.Permissions)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.siteidentitypermission.aspx"&gt;SiteIdentityPermission Class (System.Security.Permissions)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.storepermission%28VS.80%29.aspx"&gt;StorePermission Class (System.Security.Permissions)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.reflectionpermission.aspx"&gt;ReflectionPermission Class (System.Security.Permissions)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissions.keycontainerpermission.aspx"&gt;KeyContainerPermission Class (System.Security.Permissions)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.aspx"&gt;System.Security.Policy Namespace ()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.permissionrequestevidence.aspx"&gt;PermissionRequestEvidence Class (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.applicationtrust.aspx"&gt;ApplicationTrust Class (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.applicationsecuritymanager.aspx"&gt;ApplicationSecurityManager Class (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.applicationsecurityinfo.aspx"&gt;ApplicationSecurityInfo Class (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.unioncodegroup.aspx"&gt;UnionCodeGroup Class (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.netcodegroup.aspx"&gt;NetCodeGroup Class (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.firstmatchcodegroup.aspx"&gt;FirstMatchCodeGroup Class (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.filecodegroup.aspx"&gt;FileCodeGroup Class (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.codegroup.aspx"&gt;CodeGroup Class (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.iidentitypermissionfactory.aspx"&gt;IIdentityPermissionFactory Interface (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.imembershipcondition.aspx"&gt;IMembershipCondition Interface (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.iapplicationtrustmanager.aspx"&gt;IApplicationTrustManager Interface (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.policystatement.aspx"&gt;PolicyStatement Class (System.Security.Policy)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.policy.policylevel.aspx"&gt;PolicyLevel Class (System.Security.Policy)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2115"&gt;Israel Aéce – Utilizando Code Access Security – CAS – Parte 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2115&amp;amp;pag=2"&gt;Israel Aéce – Utilizando Code Access Security – CAS – Parte 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2115&amp;amp;pag=3"&gt;Israel Aéce – Utilizando Code Access Security – CAS – Parte 3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Code_Access_Security"&gt;Code Access Security – Wikipedia, the free encyclopedia&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;strong&gt;Implementing interoperability, reflection, and mailing functionality in a .NET Framework application&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Expose COM components to the .NET Framework and .NET Framework components to COM&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2131"&gt;Platform Invoke Data Types&lt;br /&gt;Linha de Código – Por dentro da Base Classe Library – Capítulo 12 – Interoperabilidade com componentes COM&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Implement reflection functionality in a .NET Framework application, and create metadata, Microsoft intermediate language (MSIL), and a PE file by using the System.Reflection.Emit namespace&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.appdomain.aspx"&gt;AppDomain Class (System)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.type.aspx"&gt;Type Class (System)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.reflection.aspx"&gt;System.Reflection Namespace ()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.reflection.emit.aspx"&gt;System.Reflection.Emit Namespace ()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.reflection.methodinfo.aspx"&gt;MethodInfo Class (System.Reflection)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.reflection.methodbase.aspx"&gt;MethodBase Class (System.Reflection)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.reflection.methodbody.aspx"&gt;MethodBody Class (System.Reflection)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.reflection.assembly.aspx"&gt;Assembly Class (System.Reflection)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.reflection.assemblyname.aspx"&gt;AssemblyName Class (System.Reflection)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.reflection.bindingflags.aspx"&gt;BindingFlags Enumeration (System.Reflection)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.reflection.binder.aspx"&gt;Binder Class (System.Reflection)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.reflection.emit.assemblybuilder.aspx"&gt;AssemblyBuilder Class (System.Reflection.Emit)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=264"&gt;Linha de Código – Consultando e invocando métodos dincamicamente usando Reflection&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2133"&gt;Linha de Código – Por dentro da Base Classe Library – Capítulo 13 – Reflection&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2133&amp;amp;pag=2"&gt;Linha de Código – Por dentro da Base Classe Library – Capítulo 13 – Reflection&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2133&amp;amp;pag=3"&gt;Linha de Código – Por dentro da Base Classe Library – Capítulo 13 – Reflection&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2133&amp;amp;pag=4"&gt;Linha de Código – Por dentro da Base Classe Library – Capítulo 13 – Reflection&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Send electronic mail to a Simple Mail Transfer Protocol (SMTP) server for delivery from a .NET Framework application&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2128"&gt;Linha de Código – Por dentro da Base Classe Library – Capítulo 10 – Envio de Mensagens (E-mails)&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;strong&gt;Implementing globalization, drawing, and text manipulation functionality in a .NET Framework application&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Format data based on culture information&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx"&gt;CultureInfo Class (System.Globalization)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.currentculture.aspx"&gt;CultureInfo.CurrentCulture Property (System.Globalization)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.globalization.compareinfo.aspx"&gt;CompareInfo Class (System.Globalization)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.globalization.regioninfo.aspx"&gt;RegionInfo Class (System.Globalization)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.globalization.cultureandregioninfobuilder%28VS.80%29.aspx"&gt;CultureAndRegionInfoBuilder Class (System.Globalization)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/87k6sx8t.aspx"&gt;Using the CultureInfo Class&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/syy068tk.aspx"&gt;Formatting Numeric Data for a Specific Culture&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/5hh873ya.aspx"&gt;Formatting Date and Time for a Specific Culture&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/885e1sy1.aspx"&gt;Performing Culture-Insensitive String Comparisons&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://en.csharp-online.net/Using_Custom_Cultures%E2%80%94Using_CultureAndRegionInfoBuilder"&gt;Using Custom Cultures—Using CultureAndRegionInfoBuilder at C# Online.NET (CSharp-Online.NET)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2081&amp;amp;pag=1"&gt;Israel Aéce – Globalização de Aplicações – Parte 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2081&amp;amp;pag=2"&gt;Israel Aéce – Globalização de Aplicações – Parte 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2081&amp;amp;pag=3"&gt;Israel Aéce – Globalização de Aplicações – Parte 3&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Referência: &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.heroisdati.com/"&gt;http://www.heroisdati.com/&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-8392115493225182030?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/8392115493225182030/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/certificacao-70-536-ts-microsoft-net.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/8392115493225182030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/8392115493225182030'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/04/certificacao-70-536-ts-microsoft-net.html' title='Certificação 70-536 - TS: Microsoft .NET Framework - Application Development Foundation'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-5633380154105344401</id><published>2010-03-31T10:50:00.000-07:00</published><updated>2010-03-31T10:50:07.968-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Logical Datacenter Design'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>VS: Logical Datacenter Design</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Logical Datacenter Design é usado para criar modelos que descrevem as "Polices" e a estrutura lógica de um datacenter, incluindo servidores, firewalls, e qualquer configuração que afeta o desenvolvimento e distribuição de nossas aplicações dentro de um data center.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Ele está na versão do Visual Studio Tean System. com ele você pode ter uma documentação forte, fazendo uma conversa entre a equipe de TI e os Arquitetos &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Todos os Distributed System Designers do Team Architect são beneficiados pelo SDM (System Definition Model), um formato com base em XML que armazena a definição do modelo. O SDM oferece uma linguagem comum em que é possível descrever sistemas de aplicativos e infra-estrutura de datacenter. Essa linguagem comum permite melhor comunicação entre os especialistas de cada área, além de validação de um aplicativo para determinar se ele pode ser implantado e executado com êxito em um ambiente de datacenter alvo.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_cVMCbrYrXFY/S7OHv0_k34I/AAAAAAAAAMA/Xeq6PelVJww/s1600/logical.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_cVMCbrYrXFY/S7OHv0_k34I/AAAAAAAAAMA/Xeq6PelVJww/s640/logical.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;&amp;nbsp;Obs: esse diagrama é só um exemplo do uso dos componentes.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;A infra-estrutura física de um datacenter normalmente não é significativa para um desenvolvedor que precisa entender quais são os ambientes de hospedagem de aplicativos presentes e como eles são configurados, restritos e conectados. O Logical Datacenter Designer é usado para criar um diagrama lógico de datacenter, que não descreve os computadores físicos, nem mesmo os tipos de máquinas de um datacenter, mas que é usado para definir ou documentar configurações específicas de software para servidor de aplicativos, como o Microsoft Internet Information Server, Microsoft SQL Server ou Microsoft BizTalk Server, e para mostrar como essas representações lógicas configuradas dos servidores (de aplicativos) estão interconectadas. &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Você deve criar um novo projeto em:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;New Project &amp;gt; Distributed Systems &amp;gt; Logial DataCenter Design&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Aproveitem!&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt; &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Mais informações e Referencia em:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;a href="http://www.augustovespermann.com/2010/03/visual-studio-team-system-para-arquitetos-de-software/"&gt;http://www.augustovespermann.com/2010/03/visual-studio-team-system-para-arquitetos-de-software/&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-5633380154105344401?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/5633380154105344401/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/03/vs-logical-datacenter-design.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/5633380154105344401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/5633380154105344401'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/03/vs-logical-datacenter-design.html' title='VS: Logical Datacenter Design'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cVMCbrYrXFY/S7OHv0_k34I/AAAAAAAAAMA/Xeq6PelVJww/s72-c/logical.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-786174058376890272</id><published>2010-03-27T05:10:00.000-07:00</published><updated>2010-03-27T05:10:24.488-07:00</updated><title type='text'>Regulamentação das profissões de TI: a quem interessa?</title><content type='html'>&lt;table border="0" cellpadding="0" cellspacing="0" style="font-family: Verdana,sans-serif;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="titulo2" valign="top"&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="titulo2" valign="top"&gt;&lt;div id="bagueteTitulo"&gt;&amp;nbsp;&lt;/div&gt;&lt;div id="bagueteTitulo"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;      &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;    &lt;/tr&gt;&lt;tr&gt;     &lt;td align="left" valign="top"&gt;&lt;img height="10" src="http://www.baguete.com.br/media/image/spacer.gif" width="10" /&gt;&lt;/td&gt;    &lt;/tr&gt;&lt;tr&gt;     &lt;td align="left" class="texto1" valign="top"&gt;&lt;div id="bagueteTexto"&gt;Texto de: &lt;em&gt;Roberto Carlos Mayer é diretor da MBI e presidente da Assespro São Paulo&lt;/em&gt;                          &lt;/div&gt;&lt;a href="http://www.baguete.com.br/artigosDetalhes.php?id=758"&gt;http://www.baguete.com.br/artigosDetalhes.php?id=7&lt;/a&gt;&lt;/td&gt;&lt;td align="left" class="texto1" valign="top"&gt;&lt;div id="bagueteTexto"&gt;Já faz mais de dez anos que tramitam no Congresso Nacional diversos projetos visando a regulamentação das profissões de TI em geral. Alguns, referem-se à determinada função específica, como, por exemplo, regulamentando apenas a profissão de analista de sistemas. No entanto, apesar do grande volume de projetos, não existe consenso de que seja uma medida benéfica para o conjunto da sociedade.&lt;br /&gt;&lt;br /&gt;Há mais de dez anos, a SBC (Sociedade Brasileira de Computação, associação que congrega os professores dos cursos de computação no país) tem se manifestado de forma contrária à regulamentação. Ainda assim, o volume de projetos de lei em tramitação referentes a esta matéria cresceu nos últimos anos, o que indica, na minha avaliação, a necessidade de chegarmos, de uma vez por todas, a um consenso a respeito do tema.&lt;br /&gt;&lt;br /&gt;Do ponto de vista constitucional, as profissões a serem regulamentadas são aquelas cujo exercício representa um risco para a sociedade (quando exercidas de forma incorreta). É verdade que o software de controle de uma central nuclear, ou de uma aeronave, representará um risco para a sociedade se ele falhar. Mas, ao mesmo tempo, a falha de muitos outros tipos de softwares, como os jogos ou os sistemas de previsão meteorológica, não representa risco para a sociedade.&lt;br /&gt;&lt;br /&gt;Podemos concluir, então, que algumas aplicações da Tecnologia da Informação , de fato, representam risco para a sociedade. Porém, isto não justifica pagarmos o custo de regulamentar todas as atividades de TI. Precisamos encontrar uma solução intermediária para aumentar o nível de confiança da sociedade apenas quando necessário, sem gerar custos desnecessários ou um "engessamento" do mercado de trabalho.&lt;br /&gt;&lt;br /&gt;Assim, torna-se inaceitável querer encerrar a discussão tachando o tema de "inconstitucional" - posição adotada por algumas entidades do setor, assim como a posição de alguns sindicalistas (tanto do lado dos sindicatos patronais quantos dos de trabalhadores) interessados na criação de mais um "cartório" (embora os argumentos públicos deles obviamente sejam outros).&lt;br /&gt;&lt;br /&gt;Outro grupo de interesse que tem se posicionado a favor da regulamentação é o das universidades particulares com cursos na área. Para estas instituições de ensino, a regulamentação tornaria os cursos mais atraentes, já que facilitaria o acesso dos formandos ao mercado do trabalho. Por outro lado, sabemos que entre um terço e metade dos profissionais que atuam em TI no país não possuem formação específica em cursos superiores. E, mesmo assim, já há severas restrições quanto a falta de profissionais na área.&lt;br /&gt;&lt;br /&gt;Todos os projetos de regulamentação fixam um prazo de experiência mínima (cinco anos, em vários casos) para permitir que estes profissionais continuem na profissão após a entrada em vigor da nova lei. A partir desta exigência, questiona-se: e os demais profissionais? Eles serão demitidos compulsoriamente? Vamos ter mais uma lei que não vai "vingar"? E as empresas constituídas por profissionais com este perfil? Serão obrigadas a fechar suas portas?&lt;br /&gt;&lt;br /&gt;Segunda conclusão: qualquer que seja o projeto aprovado é preciso muito cuidado com as regras de transição para a nova situação a ser criada.&lt;br /&gt;&lt;br /&gt;Outra conclusão óbvia é que a criação de Conselhos Profissionais que exijam contribuição das empresas e/ou dos profissionais terá que ser uma despesa que tenha contra-partida: não pode apenas "engordar" os cofres do dono do cartório.&lt;br /&gt;&lt;br /&gt;Analisando as conclusões acima, parece-nos que qualquer tipo de regulamentação compulsória, geral e irrestrita trará mais problemas que soluções para as atividades de TI no país. De outro lado, a permanecer o "vácuo" legal, continuará a existir a "tentação" de criar cartórios por meio de projetos de lei "patrocinados".&lt;br /&gt;&lt;br /&gt;Assim, está na hora de progredirmos na criação de regras que, embora não sejam as "ideais" para nenhuma das partes, sejam as melhores para atender aos interesses coletivos: em determinadas situações, é preciso contar com profissionais "homologados"; a "homologação" não pode ser obrigatória, de forma a evitar transtornos no mercado de trabalho; ninguém deseja mais um cartório com "dono".&lt;br /&gt;&lt;br /&gt;Dentro destes interesses coletivos, parece-nos que a melhor solução é a criação de um Conselho Profissional composto pelas entidades empresariais de TI, os sindicatos e as associações acadêmicas, que crie homologações voluntárias para as funções de TI, iniciando por aquelas que podem ser consideradas de risco em determinadas aplicações. As contribuições, neste caso, servirão para custear o processo de homologação (prefiro não usar a palavra certificação) e poderão, conforme o caso, ser absorvidas pelas empresas ou pelos profissionais, de acordo com sua vontade e/ou conveniência.&lt;br /&gt;&lt;br /&gt;Finalmente, cabe observar que a criação de uma homologação nestes moldes nos permitiria continuar a competir, no mínimo, em pé de igualdade com aqueles países onde as profissões de TI não são regulamentadas. De outro lado, teríamos um argumento para provar que nossos profissionais são melhores que os dos "outros", que não regulamentaram a atividade.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-786174058376890272?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/786174058376890272/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/03/regulamentacao-das-profissoes-de-ti.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/786174058376890272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/786174058376890272'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/03/regulamentacao-das-profissoes-de-ti.html' title='Regulamentação das profissões de TI: a quem interessa?'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-7384262962659105906</id><published>2010-02-19T05:43:00.000-08:00</published><updated>2010-02-19T05:43:33.639-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>C#: Twitter API</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;Objetivo:&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;"Twittar" a partir de um programa feito em .NET para sua conta no twitter.&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Primeiro passo é fazer o download da bibliotéca do Twitter que vamos usar na nossa aplicação&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://apiwiki.twitter.com/Libraries"&gt;http://apiwiki.twitter.com/Libraries&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;ou se preferir, podemos ser mais diretos: &lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://code.google.com/p/twitterizer/"&gt;http://code.google.com/p/twitterizer/&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style="font-family: Verdana,sans-serif;"&gt;&lt;li&gt;Descompacte o arquivo&lt;/li&gt;&lt;li&gt;Use o Add Reference do projeto que está aberto na sua IDE.&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Depois disso, a coisa fica mais simples, e a primeira coisa que temos que fazer é usar a referência que criamos&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;using Twitterizer.Framework;&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;Agora vamos instânciar a classe Twitter, note que os paramêtros de login e senha são obrigatorios para criarmos esse objeto&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt; &lt;/div&gt;&lt;blockquote style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;Twitter t = new Twitter("twitter_user", "twitter_password");&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;depois de instanciarmos vamos dar nosso primeiro post&lt;/div&gt;&lt;blockquote style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;t.Status.Update("Ola Mundo");&lt;/blockquote&gt;&lt;div id="TixyyLink" style="background-color: transparent; border: medium none; color: black; font-family: Verdana,sans-serif; overflow: hidden; text-align: left; text-decoration: none;"&gt;e é isso... mais facil que andar pra frente.&lt;/div&gt;&lt;div id="TixyyLink" style="background-color: transparent; border: medium none; color: black; font-family: Verdana,sans-serif; overflow: hidden; text-align: left; text-decoration: none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-7384262962659105906?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/7384262962659105906/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/c-twitter-api.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/7384262962659105906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/7384262962659105906'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/c-twitter-api.html' title='C#: Twitter API'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-804461672965556017</id><published>2010-02-17T09:59:00.000-08:00</published><updated>2010-02-17T09:59:10.664-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ibatis'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Dica: IBatis Data Mapper framework</title><content type='html'>Objetivo&lt;br /&gt;&lt;br /&gt;Se você não gostar muito do NHibernate, a dica que eu dou é usar esse outro framework para persistir nossos dados:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ibatis.apache.org/"&gt;http://ibatis.apache.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;e aqui um tutorial da própia apache, muito bom:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ibatisnet.sourceforge.net/Tutorial.html"&gt;http://ibatisnet.sourceforge.net/Tutorial.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-804461672965556017?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/804461672965556017/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/dica-ibatis-data-mapper-framework.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/804461672965556017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/804461672965556017'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/dica-ibatis-data-mapper-framework.html' title='Dica: IBatis Data Mapper framework'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-8901021149795252524</id><published>2010-02-10T04:39:00.000-08:00</published><updated>2010-02-10T04:43:53.658-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='GridViewHelper'/><category scheme='http://www.blogger.com/atom/ns#' term='GridView'/><category scheme='http://www.blogger.com/atom/ns#' term='Agrupar'/><title type='text'>C#: Agrupando um GridView</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;Objetivo:&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Agrupar um GridView por determinada coluna. &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Ola pessoal, hoje vamos falar de algo que era para ser default do GridView mas que ainda gera muitas duvidas em relação ao seu uso, que é o agrupamento do GridView por um determinado "assunto" mas antes de começarmos, vamos fazer o download do GridViewHelper, desenvolvido pela &lt;a href="http://www.agrinei.com/"&gt;http://www.agrinei.com/&lt;/a&gt; (eu não sei quem são, mas fizerem um bom trabalho).&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;segue o link do download:&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.blogger.com/goog_1265735201061"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.agrinei.com/gridviewhelper/gridviewhelpersample_pt.zip"&gt;http://www.agrinei.com/gridviewhelper/gridviewhelpersample_pt.zip&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;descompacte o zip, e sobre a pasta App_Code do seu site, ou em um projeto de classe, adicione todos esses arquivos, menos, claro o webform, ".aspx"&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_cVMCbrYrXFY/S3GYV13QeUI/AAAAAAAAAK0/X0GffmuEys4/s1600-h/gv1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_cVMCbrYrXFY/S3GYV13QeUI/AAAAAAAAAK0/X0GffmuEys4/s320/gv1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;O uso dele é muito simples, e no site do desenvolvedor você encontra todas as funções, vou listar aqui apenas a mais básica, mas com um porém, no site da fornecedora desse "ajudante" eles esquecem de mencionar que precisa ter uma referência para um evento do gridView que não foi postado lá.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;Agora vamos criar nossa pagina, e vê como está a estrutura do nosso projeto:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_cVMCbrYrXFY/S3Gb4UOkHWI/AAAAAAAAAK8/Q45o62O-stQ/s1600-h/gv2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="340" src="http://1.bp.blogspot.com/_cVMCbrYrXFY/S3Gb4UOkHWI/AAAAAAAAAK8/Q45o62O-stQ/s640/gv2.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Agora vamos colocar um pouco de código nisso aqui! &lt;br /&gt;&lt;br /&gt;primeiro vá no seu projeto e adicione o arquivo Pais.xml com a seguinte estrutura: &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_cVMCbrYrXFY/S3Knn7Jx8yI/AAAAAAAAALs/AuKaBeVRGYM/s1600-h/gv7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/_cVMCbrYrXFY/S3Knn7Jx8yI/AAAAAAAAALs/AuKaBeVRGYM/s400/gv7.jpg" width="347" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;bairro&gt;&lt;/bairro&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Até ai ta tudo normal, nada que você não tenha visto, agora vamos adicionar o código do nosso helper, e vê como o gridview vai se comportar&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_cVMCbrYrXFY/S3KmeQllYdI/AAAAAAAAALc/-SfzBm6np9w/s1600-h/gv5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="620" src="http://3.bp.blogspot.com/_cVMCbrYrXFY/S3KmeQllYdI/AAAAAAAAALc/-SfzBm6np9w/s640/gv5.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;blockquote style="background-color: #eeeeee;"&gt;using System;&lt;br /&gt;using System.Collections;&lt;br /&gt;using System.Configuration;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Web;&lt;br /&gt;using System.Web.Security;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;using System.Web.UI.HtmlControls;&lt;br /&gt;using System.Web.UI.WebControls;&lt;br /&gt;using System.Web.UI.WebControls.WebParts;&lt;br /&gt;using System.Xml.Linq;&lt;br /&gt;&lt;br /&gt;namespace testeHelper&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class _Default : System.Web.UI.Page&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void RealizaConsulta()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //==============================================&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Criando um dataset e lendo arquivo XML &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //==============================================&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataSet objDataSet = new DataSet();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objDataSet.ReadXml(Server.MapPath("\\") + "Pais.xml");&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //==============================================&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Passando nosso dataset e dando bind dos dados&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //==============================================&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grvGridHelper.DataSource = objDataSet;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grvGridHelper.DataBind();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RealizaConsulta();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GridViewHelper helper = new GridViewHelper(this.grvGridHelper);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; helper.RegisterGroup("Estado", true, true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; helper.ApplyGroupSort();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void grvGridHelper_Sorting(object sender, GridViewSortEventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Esse evento precisa ser declarado&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RealizaConsulta();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;Reparem no código acima; Tivemos que realizar a consulta duas vezes, o que não é muito aconselhado se for um sistema muito requisitado, pense em outra forma de da um bind no grid no momento que ele faz o Sorting.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;E o resultado da nossa Grid fica assim:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_cVMCbrYrXFY/S3KnfcRv61I/AAAAAAAAALk/EcEhlxhKh38/s1600-h/grv6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://1.bp.blogspot.com/_cVMCbrYrXFY/S3KnfcRv61I/AAAAAAAAALk/EcEhlxhKh38/s400/grv6.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Simples não? mais facil que isso só andar pra frente. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-8901021149795252524?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/8901021149795252524/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/c-agrupando-um-gridview.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/8901021149795252524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/8901021149795252524'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/c-agrupando-um-gridview.html' title='C#: Agrupando um GridView'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_cVMCbrYrXFY/S3GYV13QeUI/AAAAAAAAAK0/X0GffmuEys4/s72-c/gv1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-1274537731046550967</id><published>2010-02-05T10:13:00.000-08:00</published><updated>2010-02-05T10:13:19.228-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='JBar'/><title type='text'>JQuery: Barra superior de avisos como no Twitter</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;Objetivo:&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Avisos iguais ao usado pelo Twitter.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.tympanus.net/jbar/"&gt;http://www.tympanus.net/jbar/&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Mais facil que andar pra frente.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-1274537731046550967?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/1274537731046550967/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/jquery-barra-superior-de-avisos-como-no.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/1274537731046550967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/1274537731046550967'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/jquery-barra-superior-de-avisos-como-no.html' title='JQuery: Barra superior de avisos como no Twitter'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-2791060883413914165</id><published>2010-02-04T09:06:00.000-08:00</published><updated>2010-02-04T09:07:32.401-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TEST'/><category scheme='http://www.blogger.com/atom/ns#' term='PEX'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>C#: Teste de Software com Pex</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Objetivo:&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Explicar melhor o que é o Pex, como utilizal-o e suas vantagens, então antes de continuar lendo esse post, por favor, faça o download da versão de estudo, no site:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;a href="http://research.microsoft.com/en-us/projects/pex/downloads.aspx"&gt;http://research.microsoft.com/en-us/projects/pex/downloads.aspx&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;b&gt;Mas então o que é o Pex?&lt;/b&gt; &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;é um gerador de Testes Unitários que assim como o nunit usa assertivas de pré-condição&amp;nbsp; para garantir um teste mais seguro, usando como conceito o test de Caixa Branca, que em linhas gerais seria o teste do código em si, ele vai fazer uso de uma pespectiva do seu código para modelar os casos de teste, e o pex veio para isso, identificar o que poderia "ser testado". &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_cVMCbrYrXFY/S2rZTB9LbsI/AAAAAAAAAIw/H81et6vI5vo/s1600-h/newpexillustrationsmall.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="http://4.bp.blogspot.com/_cVMCbrYrXFY/S2rZTB9LbsI/AAAAAAAAAIw/H81et6vI5vo/s400/newpexillustrationsmall.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;O seu uso é muito simples e vamos ver no decorrer do post.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;b&gt;Qual sua vantagem em relação aos outros metódos de test de software? &lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;Agilidade! com pex &lt;i&gt;(Muitos programadores java vão ficar mais loucos com isso)&lt;/i&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;apenas alguns clicks ele já monta seu projeto de test, alem de você poder fazer teste em momento de execução.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote style="font-family: Verdana,sans-serif;"&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;"Ao mesmo tempo que se mantém a garantia do software nos permite centralizar os esforços ao desenvolvimento da lógica do negócio. (André Nobre)"&lt;/i&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Antes de criar o projeto, vamos executar o instalador do pex que está disponivel no começo desse post, ele ira criar a integração com o visual studio (amo essa IDE) para facilitar nossa vida de nos deixar ainda mais preocupados apenas com o modelo do nosso negócio :)&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Agora vamos criar um projeto ClassLibery chamado DAOComponente: &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rs8Ct-R0I/AAAAAAAAAJs/qxPc3UuTV_Q/s1600-h/1daocomponente.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="392" src="http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rs8Ct-R0I/AAAAAAAAAJs/qxPc3UuTV_Q/s640/1daocomponente.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Depois de criar o projeto, vamos adicionar um novo item, uma classe que se chamará CLComparar. &lt;br /&gt;&lt;br /&gt;Nossa solução vai ficando assim:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rtsrKs4cI/AAAAAAAAAJ0/Lyb3k_BpXOc/s1600-h/2solucao.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rtsrKs4cI/AAAAAAAAAJ0/Lyb3k_BpXOc/s320/2solucao.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&amp;nbsp;E na classe&amp;nbsp; CLComparar vamos&amp;nbsp; adicionar o seguinte código:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;blockquote style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;namespace DAOComponente&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class CLComparar&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Comparar objetos. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Comparar()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;e agora vem a mágica:&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_cVMCbrYrXFY/S2rwyFWc2JI/AAAAAAAAAKM/tG4f9n93774/s1600-h/3menuunittest.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="352" src="http://1.bp.blogspot.com/_cVMCbrYrXFY/S2rwyFWc2JI/AAAAAAAAAKM/tG4f9n93774/s640/3menuunittest.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;antes que alguem fale, é meu Visual Studio tem o fundo preto, mas não é para ser matrix não é para nao ficar cansando a vista com a tela branca! :D&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Depois de clicar com o botão direito sobre nossa classe e ir em Pex&amp;gt;Create Parameterized Unit Tests ira se abrir uma tela onde teremos algums valores, mas eu não aconselho vocês a mudarem ele agora não, deixa para "bulir" depois do exemplo, vamos deixar como está! &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rx6ABKdrI/AAAAAAAAAKc/1iOHVJqwEEg/s1600-h/4tela1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="284" src="http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rx6ABKdrI/AAAAAAAAAKc/1iOHVJqwEEg/s640/4tela1.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Na proxima tela, ele vai perguntar qual o nome do novo projeto de teste que você deseja criar... vamos colocar: "DAOComponente.Test":&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_cVMCbrYrXFY/S2rywT1OGsI/AAAAAAAAAKk/kgvsKqZekzU/s1600-h/5tela1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="220" src="http://4.bp.blogspot.com/_cVMCbrYrXFY/S2rywT1OGsI/AAAAAAAAAKk/kgvsKqZekzU/s640/5tela1.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Vamos ver como ficou nossa solução depois do wizard:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Verdana,sans-serif; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_cVMCbrYrXFY/S2rzaI7vmKI/AAAAAAAAAKs/8D0dtETSydk/s1600-h/6solucao.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_cVMCbrYrXFY/S2rzaI7vmKI/AAAAAAAAAKs/8D0dtETSydk/s320/6solucao.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Reparem na estrutura criada pelo Pex, para a solução ele adicionou uma pasta com os arquivos de configuração e com o arquivo de metadados que esta ligado ao Test List, se a gente de um duplo click sobre ele, vocês veram a lista de todos os testes do projeto.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Vamos agora abrir o arquivo de teste "CLCompararTest.cs"gerado pelo Pex: &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;using System;&lt;br /&gt;using DAOComponente;&lt;br /&gt;using Microsoft.Pex.Framework;&lt;br /&gt;using Microsoft.Pex.Framework.Validation;&lt;br /&gt;using Microsoft.VisualStudio.TestTools.UnitTesting;&lt;br /&gt;&lt;br /&gt;namespace DAOComponente&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;summary&gt;This class contains parameterized unit tests for CLComparar&lt;/summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [PexClass(typeof(CLComparar))]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [PexAllowedExceptionFromTypeUnderTest(typeof(InvalidOperationException))]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [PexAllowedExceptionFromTypeUnderTest(typeof(ArgumentException), AcceptExceptionSubtypes = true)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestClass]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class CLCompararTest&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;summary&gt;Test stub for Comparar()&lt;/summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [PexMethod]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Comparar([PexAssumeUnderTest]CLComparar target)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; target.Comparar();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO: AQUI VOCE FAZ OS TESTES ANTES DE IMPLEMENTAR&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Reparem que ele já criou o nossa função para Comparar (Igual a que ta no nosso componente ) assim podemos testar antes mesmo de implementar no projeto "real" isso é muito bom pois evita muita dor de cabeça depois.&lt;/div&gt;&lt;blockquote style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [PexMethod]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Comparar([PexAssumeUnderTest]CLComparar target)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; target.Comparar(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Escreva seu teste aqui!&lt;/blockquote&gt;&lt;blockquote style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/div&gt;&lt;/blockquote&gt;&lt;div style="background-color: #eeeeee; font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;span class="sentence" id="xn123_9330dab4862bc4a8c8df136ef28a4091"&gt;Não há atualmente nenhuma TestMethod como você esperaria um teste de unidade padrão do Visual Studio.&lt;/span&gt;           &lt;span class="sentence" id="xn124_0f906420a33c32cb5d695dfe77c8c5a6"&gt;Em vez disso, você tem um PexMethod.&lt;/span&gt;           &lt;span class="sentence" id="xn125_6a072f3e2482928d3bc2dfcf2e78a03f"&gt;Este método é um teste de unidade parametrizadas.&lt;/span&gt;           &lt;span class="sentence sentenceHighlight" id="xn126_8b8a31e1f51c53956083775f3da116e2"&gt;Posteriormente, quando você deixar Pex explorar código sob teste, ele criará outra classe parcial que contém os testes de unidade padrão anotados com atributos TestMethod.&lt;/span&gt;           &lt;span class="sentence" id="xn127_034d9849688e82b3f3de7eee03350eb3"&gt;Esses testes gerados será acessíveis através do Visual Studio Test Editor.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Muito simples, não?!&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Mais facil que isso só andar pra frente.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Obrigado e até a próxima.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-2791060883413914165?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/2791060883413914165/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/c-teste-de-software-com-pex.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/2791060883413914165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/2791060883413914165'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/c-teste-de-software-com-pex.html' title='C#: Teste de Software com Pex'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_cVMCbrYrXFY/S2rZTB9LbsI/AAAAAAAAAIw/H81et6vI5vo/s72-c/newpexillustrationsmall.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-5876236952582185371</id><published>2010-02-04T04:08:00.000-08:00</published><updated>2010-02-04T04:08:23.415-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='WEBFORM'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>ASP.NET: MVC x WebForm</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Objetivo:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Falar um pouco sobre essa "polêmica" e interessante discução.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Antes de você tomar uma decisão por qual modelo usar, você deve levar em consideração algumas coisas;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;b&gt;O que é o MVC?&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_cVMCbrYrXFY/S2q0nZel9VI/AAAAAAAAAIo/zuHUuUTEZUY/s1600-h/image001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_cVMCbrYrXFY/S2q0nZel9VI/AAAAAAAAAIo/zuHUuUTEZUY/s320/image001.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt; &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Originalmente foi criado como padrão de projeto arquitetural desenvolvido para o ambiente Smalltalk, mas ele pode ser utilizado para qualquer aplicação interativa. Separação entre os dados (Model) e o layout (View). Desta forma, alterações feitas no layout não afetam a manipulação de dados, e estes poderão ser reorganizados sem alterar o layout. Porém se você quer ter controle total sobre tudo que acontece no seu frontend, esqueça Gridviews, DetailsViews ou qualquer controle "Visual" pois é tudo na unha!&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;b&gt;O que é um Webform?&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Na época que a Microsoft lançou o .NET o PHP e o JAVA estavam dominando o mercado, deixando o tradicional ASP, ou ASP Classico que é como eu chamo, de lado, como trazer, de maneira rápida e não dolorosa os programadores VB&amp;nbsp; e ASP para essa nova arquitetura, sem traumas e de maneira "transparente"? o webform foi a resposta, na época foi uma grande sacada, você arrastar um botão para seu webform da um duplo click e programar o evento dele ali mesmo, isso te lembra alguma coisa? Delphi, Visual Basic? se sim, então você já entendeu porque esse conceito se tornou popular e ajudou de maneira brilhante a aceitação do .NET para a comunidade.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Agora que já espanei a diferença entre eles, vamos listar o que tem de positivo em cada modelo:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;li&gt;Facilidade para testes - Ponto para o MVC.&lt;/li&gt;&lt;li&gt;ASP.NET Routing ou mapeamento de rotas - Ponto para o MVC.&lt;/li&gt;&lt;li&gt;Maior controle sobre o html - Ponto para o MVC.&lt;/li&gt;&lt;li&gt;Wizards - Ponto para o WebForm.&lt;/li&gt;&lt;li&gt;Produtitivdade - Ponto para o WebForm.&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Colocando esses pontos em cima da mesa, podemos dizer quer o MVC sai "ganhando" mas não se engane, eu ainda não aconselho usar o MVC se você quer produtividade.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Links para você se decidir, experimentar e testar:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="new" href="http://pt.wikipedia.org/w/index.php?title=Microsoft_MVC_Framework&amp;amp;action=edit&amp;amp;redlink=1" title="Microsoft MVC Framework (página não existe)"&gt;Microsoft MVC Framework&lt;/a&gt; - Framework MVC nativo para desenvolvimento de aplicativos ASP.NET - &lt;a class="external free" href="http://www.asp.net/mvc" rel="nofollow"&gt;http://www.asp.net/mvc&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-5876236952582185371?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/5876236952582185371/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/aspnet-mvc-x-webform.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/5876236952582185371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/5876236952582185371'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/aspnet-mvc-x-webform.html' title='ASP.NET: MVC x WebForm'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2q0nZel9VI/AAAAAAAAAIo/zuHUuUTEZUY/s72-c/image001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-863364769530433385</id><published>2010-02-03T10:42:00.000-08:00</published><updated>2010-05-17T10:37:27.906-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PGE'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Mono: Bastidores da Implantação do Mono na PGE-CE</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Objetivo:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Vou explicar como foi a experiência de implantar o Mono na Procuradoria Geral do Estado do Ceará. (Mas não vou dar nome aos bois)&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Tudo começou se não me engano em Dezembro de 2007, quando o governador "Recomendou" para que os orgãos migrassem tudo para software livre, esse pedido foi atendido de prontidão pelo então procurador geral do estado, e repassado a CTI que era a empresa que geria toda a tecnologia usada na PGE, ( e ainda deve ser )&amp;nbsp; que acatou muito bem as ordens e com muito esforço implantou de forma brilhante, o uso de tecnologia livre em todos os setores do orgão.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Mas voltando ao assunto, quando iniciamos o projeto a nossa equipe era relavivamente pequena, de desenvolvedores, fui chamado na sala do coordenador junto com o gerente de projetos para ouvir o que ele tinha a dizer, que era para avisar que o Procurador Geral pediu para ele pessoalmente que todos os softwares tinham que ser livres. me assustei um pouco, mas quase que de imediato pensei em uma nova tecnologia que se propunha a rodar .NET no linux e deixar ele "Portátil" o Mono, quando eu falei eles não acreditaram muito nao...&amp;nbsp; Ainda lembro que na época o então Coordenador do CTI, junto com o Gerente de Infra, me pediu para assinar um termo me comprometendo a rodar uma aplicação .NET no Linux, mas sinceramente eu não lembro se era brincadeira, mesmo assim tive sete dias para instalar em uma maquina que foi "doada" exclusivamente para essa tarefa uma aplicação .NET rodando perfeitamente no linux, e com muito esforço conseguimos rodar nosso primeiro helloword.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Mas nem tudo foram flores, para chegar e dizer para o nosso coordenador que estava tudo ok, foram mais três meses de luta, primeiro que o Assessor Especial de Tecnologia do Governo na epoca batia o martelo junto com um outro profissional parceiro dele que a distribuição tinha que ser Fedora, o que eu não concordava muito, pois me parecia lógico que se o mono tem apoio da novell, nada mais inteligente usar OpenSuse, mas tudo bem, ordens são ordens ( acredito que essas pessoas estavam muito mais acostumadas com fedora e não queriam alterar ou mudar seus habitos ) isso acarretou muitos problemas de instalação dificultando muito a configuração do servidor por parte do nosso amigo Rafael, e por minha parte com o MonoDevelop, que não rodava legal nesse ambiente (Não compilava nada feito em VB e só estava rodando parte&amp;nbsp; de algums códigos, não reconhecer o CodeBehind do webform e erros de dependências impossiveis de decifrar), mesmo que em teoria era para funcionar com perfeição, Só que quando instalamos o openSuse e conseguimos rodar um app que já tinha sido feito em .NET com o Visual Studio e sem praticamente migrar nada, é que bati o martelo e falei para o coordenador do CTI que éra a unica forma de rodar legal e sem dificuldades seria a adoção do openSuse. e o que acabou se confirmando e até hoje está nessa distro. &lt;br /&gt;&lt;br /&gt;No final do projeto, entrei em contato com o MonoBrasil que é um grupo de usuários que eu acreditava que fossem se interessar pela notícia, o que se confirmou, recebemos inclusive a visita de um dos engenheros da novell do mono, mas apartir dai eu segui outro caminho e a PGE/CTI o seu.&amp;nbsp; &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Só para lembrar que hoje são 400 Desktops Linux. Eles estão usando Firefox + Thunderbird + OpenOffice como solução base, a distribuição escolhida foi o OpenSuse. Os servidores da rede foram todos migrados para Suse Enterprise Linux, agora eles estão rodando um ambiente 100% livre e não esquecendo, com um ambiente de desenvolvimento, que até esse texto era Mono.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Matheus, mas as maquinas eram dualboot? ou rodava em uma VM? tinha interlicense no codigo? tinha o famoso Arrastar e soltar controles da toolbox?&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;R:Não nada disso, e acredito que até hoje não tenha, mas foi muito proveitoso.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Matheus posso usar mono com outros frameworks, como Nhibernate e Spring.NET?&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;R:Sim, claro, porque não? é até um conselho que dou, sempre teste seus componentes de negócios antes de colocalos em uma interface , use NUnit para testar, é até melhor do que esse framework da Microsoft para testes.&amp;nbsp; &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;Você trabalha com mono hoje em dia?&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;R:Apenas em um, estou trabalhando no projeto com &lt;b&gt;Iphone &lt;/b&gt;com &lt;b&gt;Mono Touch&lt;/b&gt;, e quando esse projeto estiver "OK" eu posto um feedback dele. &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-863364769530433385?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/863364769530433385/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/mono-implantacao-do-mono-net-linux-na.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/863364769530433385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/863364769530433385'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/mono-implantacao-do-mono-net-linux-na.html' title='Mono: Bastidores da Implantação do Mono na PGE-CE'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-8076426882272561595</id><published>2010-02-03T08:11:00.000-08:00</published><updated>2010-02-03T08:21:46.219-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nunit'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>NUnit: Testes unitários com C#</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;Objetivo:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Test-Driven Development em .NET&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Primeiramente vamos fazer o downloado do NUnit ( esse index.php ta matando )&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;a href="http://www.nunit.org/index.php?p=download"&gt;&lt;b&gt;http://www.nunit.org/index.php?p=download&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Eu não vou entrar em detalhes, se você está aqui é porque já tem idéia do que é testes unitários e para que eles servem&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;eu mesmo era contra, achava perca de tempo (nessa época eu programava em VB, desculpa)&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Vamos a prática, esse blog tem que ser prático:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/div&gt;&lt;ol style="font-family: Verdana,sans-serif;"&gt;&lt;li&gt;Criar um projeto chamdo ProjetoTest e add:&lt;br /&gt;a classe clDAOTest no Diretório: DAO&lt;/li&gt;&lt;li&gt;vamos importar a referência para "nunit.framework". &lt;/li&gt;&lt;li&gt;vamos usá-la no topo da sua classe: &lt;span style="background-color: #eeeeee;"&gt;using NUnit.Framework;&lt;/span&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Agora precisamos dizer para a classe que ela vai conter methodos de testes:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&lt;span style="background-color: #eeeeee;"&gt;[TestFixture(Description = "Teste unitário para a classe clAlgumaCoisa.")]&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;E vai ficando assim: &lt;/div&gt;&lt;blockquote style="font-family: Verdana,sans-serif;"&gt;&lt;span style="background-color: #eeeeee;"&gt;using NUnit.Framework;&lt;/span&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;namespace ProjetoTest.DAO&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestFixture(Description = "Teste unitário para a classe clDAOTest.")]&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class clDAOTest&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="font-family: Verdana,sans-serif;"&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;O Atributo &lt;span style="background-color: #eeeeee;"&gt;TestFixture&lt;span style="background-color: white;"&gt;&lt;/span&gt;&lt;/span&gt; vai dizer para a classe que ela é visivel ao NUnit e que deve ser testada, Pronto,&amp;nbsp; já temos nossa estrutura básica para testar nosso software.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Vamos ao segundo atributo:&lt;br /&gt;[Test(Description = "Teste unitário do método ProcurarTodos().")]&amp;nbsp; &lt;/div&gt;&lt;blockquote style="font-family: Verdana,sans-serif;"&gt;&lt;div style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style="background-color: #eeeeee;"&gt;[Test(Description = "Teste unitário do método ProcurarTodos().")]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void ProcurarTodos()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&lt;/div&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;e nossa classe ta ficando assim:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote style="font-family: Verdana,sans-serif;"&gt;&lt;span style="background-color: #eeeeee;"&gt;using NUnit.Framework;&lt;/span&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;namespace ProjetoTest.DAO&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestFixture(Description = "Teste unitário para a classe clDAOTest.")]&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class clDAOTest&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Test(Description = "Teste unitário do método ProcurarTodos().")]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; public void ProcurarTodos()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&lt;/div&gt;&lt;div style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Entra com o código de teste.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="font-family: Verdana,sans-serif;"&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;Bom agora chegamos em um ponto que vamos ter que falar sobre os "Assertions" que acredito seja o "ponto G" do nosso teste, eu não vou me aprofundar muito e vou usar somente&amp;nbsp; o que compara dois objetos ( AreEqual ), é ele que vai dizer se passou ou não! GREENBAR ou REDBAR!&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;Vamos imaginar que eu tenha uma entidade chamada Pessoa&lt;/div&gt;&lt;blockquote style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;Pessoa oPessoa= new Pessoa(); &lt;br /&gt;oPessoa.ID = 1;&lt;br /&gt;oPessoa.Nome = "Matheus";&lt;br /&gt;// Notem que eu estou preenchendo na mão esse infeliz, e o outro&lt;br /&gt;// eu vou preencher atravez da minha DAO passando o mesmo ID&lt;br /&gt;Pessoa oPessoaDAO = MinhaDAO.Recuperar(1);&lt;br /&gt;Assert.AreEqual( oPessoa, oPessoaDAO);&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;ÓóòòòÓO... só isso? mais ou menos.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Vamos ver como esta ficando nosso código:&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote style="font-family: Verdana,sans-serif;"&gt;&lt;span style="background-color: #eeeeee;"&gt;using NUnit.Framework;&lt;/span&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;namespace ProjetoTest.DAO&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TestFixture(Description = "Teste unitário para a classe clDAOTest.")]&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class clDAOTest&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Test(Description = "Teste unitário do método ProcurarTodos().")]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; public void ProcurarTodos()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&lt;/div&gt;&lt;div style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;blockquote style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pessoa oPessoa= new Pessoa(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; oPessoa.ID = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; oPessoa.Nome = "Matheus";&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pessoa oPessoaDAO = MinhaDAO.Recuperar(1);&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Assert.AreEqual( oPessoa, oPessoaDAO);&lt;/blockquote&gt;&lt;div style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="font-family: Verdana,sans-serif;"&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Se esses objetos etiverem idênticos, quer dizer que a sua DAO está agindo da forma que você esperava e com isso você evita muita dor de cabeça, claro isso é muito básico. e tem muito mais entre o céu e o inferno do que sonha seu vã visual studio. mas já é um começo.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-8076426882272561595?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/8076426882272561595/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/nunit-testes-unitarios-com-c.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/8076426882272561595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/8076426882272561595'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/nunit-testes-unitarios-com-c.html' title='NUnit: Testes unitários com C#'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-7355495913776755822</id><published>2010-02-03T06:06:00.000-08:00</published><updated>2010-02-03T06:06:57.093-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='GridView'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C#: Transformar uma GridView em um Arquivo do Excel</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;Objetivo:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Gerar um arquivo do Excel apartir de uma GridView.&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote style="font-family: Verdana,sans-serif;"&gt; &lt;span style="background-color: #eeeeee;"&gt;public void geraExcel(GridView gridView, Page oPage, string nomeArquivo)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Web.HttpContext.Current.Response.Clear();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Web.HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Web.HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename= " + nomeArquivo + ".xls");&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Web.HttpContext.Current.Response.Charset = "";&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gridView.EnableViewState = false;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.IO.StringWriter oSW = new System.IO.StringWriter();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Web.UI.HtmlTextWriter oHtmlTw = new HtmlTextWriter(oSW);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HtmlForm frm = new HtmlForm();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oPage.Controls.Add(frm);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm.Controls.Add(gridView);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm.RenderControl(oHtmlTw);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Web.HttpContext.Current.Response.Write(oSW.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Web.HttpContext.Current.Response.End();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception(ex.Message);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;Mais simples que andar pra frente. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-7355495913776755822?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/7355495913776755822/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/c-transformar-uma-gridview-em-um.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/7355495913776755822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/7355495913776755822'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/c-transformar-uma-gridview-em-um.html' title='C#: Transformar uma GridView em um Arquivo do Excel'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-4326907655792747122</id><published>2010-02-03T05:59:00.000-08:00</published><updated>2010-02-17T10:00:47.635-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IP'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C#: Retorna o IP do cliente.</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;Objetivo:&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Retorna uma String contendo o IP do Cliente, o que você vai fazer com esse IP é problema seu :)&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="background-color: #eeeeee;"&gt;public static string retornaIP()&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string s = "";&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; addressList.Length; i++) s += addressList[i].ToString() + "\n";&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return s;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-4326907655792747122?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/4326907655792747122/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/c-retorna-o-ip.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/4326907655792747122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/4326907655792747122'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/c-retorna-o-ip.html' title='C#: Retorna o IP do cliente.'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-1393188670220733379</id><published>2010-02-03T05:49:00.000-08:00</published><updated>2010-02-03T05:49:54.777-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Validar'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='CPF'/><title type='text'>C#: Validação de CPF</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;Objetivo:&lt;/div&gt;&lt;blockquote style="font-family: Verdana,sans-serif;"&gt;&lt;span style="background-color: #eeeeee;"&gt;public static bool validaCPF(string cpf)&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int[] multiplicador1 = new int[9] { 10, 9, 8, 7, 6, 5, 4, 3, 2 };&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int[] multiplicador2 = new int[10] { 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 };&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string tempCpf;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string digito;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int soma;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int resto;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpf = cpf.Trim();&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpf = cpf.Replace(".", "").Replace("-", "");&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (cpf.Length != 11)&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempCpf = cpf.Substring(0, 9);&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //calcula primeiro digíto&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soma = 0;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; 9; i++)&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soma += int.Parse(tempCpf[i].ToString()) * multiplicador1[i];&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resto = soma % 11;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (resto &amp;lt; 2)&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resto = 0;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resto = 11 - resto;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digito = resto.ToString();&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempCpf = tempCpf + digito;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //calcula segundo digíto&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soma = 0;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; 10; i++)&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soma += int.Parse(tempCpf[i].ToString()) * multiplicador2[i];&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resto = soma % 11;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (resto &amp;lt; 2)&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resto = 0;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resto = 11 - resto;&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; digito = digito + resto.ToString();&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return cpf.EndsWith(digito);&lt;/span&gt;&lt;br style="background-color: #eeeeee;" /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Não tem muito o que falar né? mais facil que isso só andar pra frente.&amp;nbsp; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-1393188670220733379?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/1393188670220733379/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/c-validacao-de-cpf.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/1393188670220733379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/1393188670220733379'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/c-validacao-de-cpf.html' title='C#: Validação de CPF'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4332347715159530636.post-5536798617602229365</id><published>2010-02-03T05:38:00.000-08:00</published><updated>2010-02-03T05:55:48.100-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>JavaScript: Mascara de um campo para CEP no WebForm C#</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;Objetivo:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;b&gt;Entre as tags "Head" e depois entre as tags do "Javascript" coloque:&lt;/b&gt;&lt;/div&gt;&lt;blockquote style="font-family: Verdana,sans-serif;"&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;function mascaraCEP(CEP, e)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var codigoTecla = (e.which)?e.which:event.keyCode;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (codigoTecla != 8 &amp;amp;&amp;amp; codigoTecla != 46) &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var valorCEP = CEP.value;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (valorCEP.length == 2) &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; valorCEP = valorCEP + '.';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; CEP.value = valorCEP;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (valorCEP.length == 6) &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; valorCEP = valorCEP + '-';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; CEP.value = valorCEP;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;b style="font-family: Verdana,sans-serif;"&gt;E agora é só Add no evento Page_Load do seu webform: &lt;/b&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&lt;span style="background-color: #eeeeee;"&gt;TextBox1.Attributes.Add( "onkeydown", @" if(event.keyCode != 8 &amp;amp;&amp;amp; event.keyCode != 13 &amp;amp;&amp;amp; event.keyCode!=9) &lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MascaraCEP(this);&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #eeeeee; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4332347715159530636-5536798617602229365?l=matheus-veras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matheus-veras.blogspot.com/feeds/5536798617602229365/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/javascript-mascara-de-um-campo-para-cep.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/5536798617602229365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4332347715159530636/posts/default/5536798617602229365'/><link rel='alternate' type='text/html' href='http://matheus-veras.blogspot.com/2010/02/javascript-mascara-de-um-campo-para-cep.html' title='JavaScript: Mascara de um campo para CEP no WebForm C#'/><author><name>Matheus Veras</name><uri>http://www.blogger.com/profile/01775335697971746395</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_cVMCbrYrXFY/S2rdPZH56dI/AAAAAAAAAJE/p9JglGMOhrI/S220/1256758008676_t.jpg'/></author><thr:total>0</thr:total></entry></feed>
