<?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'><id>tag:blogger.com,1999:blog-41480276002288545</id><updated>2009-12-18T03:05:41.987-02:00</updated><title type='text'>devhints</title><subtitle type='html'>Desenvolvimento de software</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default?orderby=updated'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-5555749322664465797</id><published>2009-08-05T05:02:00.001-03:00</published><updated>2009-08-05T05:02:13.700-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Ferramentas'/><category scheme='http://www.blogger.com/atom/ns#' term='Vídeos'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Embarcadero RAD Studio 2010</title><summary type='text'>Para quem desenvolve com ferramentas originalmente criadas pela Borland (que depois passaram a ser desenvolvidas pela sua subsidiária CodeGear, que foi comprada pela Embarcadero), uma boa novidade: está chegando a versão 2010, com mais de 120 melhorias, pelo que informa sua página oficial. Resta saber se todas estas melhorias serão facilmente percebidas e serão realmente úteis a maioria.  Entre </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/5555749322664465797/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=5555749322664465797&amp;isPopup=true' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/5555749322664465797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/5555749322664465797'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2009/08/embarcadero-rad-studio-2010.html' title='Embarcadero RAD Studio 2010'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-5874647094021828547</id><published>2009-04-30T01:51:00.001-03:00</published><updated>2009-04-30T01:51:31.371-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ferramentas'/><category scheme='http://www.blogger.com/atom/ns#' term='Mercado'/><title type='text'>O Java e o MySQL passam a ser da Oracle</title><summary type='text'>A compra da Sun pela Oracle concluída no domingo (19/04) e anunciada na semana passada (20/04) pegou de surpresa os desenvolvedores de todo o mundo. Negociada em US$ 7,4 bilhões, em meio a “crise” (que, cá entre nós, não assustou o setor de T.I.), a Sun finalmente cedeu à oferta.  Fora a negociação, o que mais tem deixado a comunidade de cabelo em pé é a questão: como fica o suporte ao MySQL, </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/5874647094021828547/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=5874647094021828547&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/5874647094021828547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/5874647094021828547'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2009/04/o-java-e-o-mysql-passam-ser-da-oracle.html' title='O Java e o MySQL passam a ser da Oracle'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-7047761796514934446</id><published>2009-04-11T06:18:00.000-03:00</published><updated>2009-04-11T06:43:02.953-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='UML'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>TDD na Prática – Parte V: Testabilidade e a UML</title><summary type='text'>   Seguindo nossa pequena série sobre TDD, vamos ver sobre como a testabilidade influencia no design, sobre a diferença de escrevermos os testes antes ou depois e como a UML pode se relacionar com TDD.    (Lembrando que nas próximas partes da série será dado início à implementação de um pequeno e simples Jogo da Velha, nos moldes do TDD)   Como podemos testar um Jogo da Velha ? O que deve ser </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/7047761796514934446/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=7047761796514934446&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/7047761796514934446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/7047761796514934446'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2009/04/tdd-na-pratica-parte-v-testabilidade-e.html' title='TDD na Prática – Parte V: Testabilidade e a UML'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-834946422485512681</id><published>2009-03-04T21:19:00.001-03:00</published><updated>2009-04-11T04:07:26.924-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Frameworks'/><title type='text'>Qt com licença LGPL</title><summary type='text'>A Nokia decidiu permitir a adoção da Lesser General Public License (LGPL) versão 2.1 opcionalmente à GPL 3 para seu framework de construção de interfaces gráficas para desktop e dispositivos portáveis, o Qt. A Qt 4.5, liberada ontem, já saiu com esta licença.  Na prática, significa que a versão do framework poderá ser usada para fins comerciais e assim mais pessoas e empresas se interessarão a </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/834946422485512681/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=834946422485512681&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/834946422485512681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/834946422485512681'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2009/03/qt-com-licenca-lgpl.html' title='Qt com licença LGPL'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-8674830233529975105</id><published>2009-03-03T19:43:00.000-03:00</published><updated>2009-04-11T03:59:36.359-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Revistas'/><title type='text'>Revistas: ESM edições 1 e 2</title><summary type='text'>Para quem gosta de ler artigos relacionados à Engenharia de Software, aí vão duas edições gratuitas da Engenharia de Software Magazine, da editora DevMedia, disponíveis para download.  Edição 1                                                  Download em baixa resolução                           Download em alta resolução          Edição 2                                                  Download</summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/8674830233529975105/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=8674830233529975105&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/8674830233529975105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/8674830233529975105'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2009/03/revistas-esm-edicoes-1-e-2.html' title='Revistas: ESM edições 1 e 2'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-8746307867365186096</id><published>2008-09-26T01:02:00.001-03:00</published><updated>2009-03-08T20:13:15.075-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unit Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>TDD na Prática - Parte IV: Quem, Onde, Quando, O Que e Como</title><summary type='text'>   Após um breve exercício de análise, você faz um levantamento das tarefas que precisará fazer para concluir a criação de uma determinada funcionalidade no software. Desta funcionalidade,  tanto você como o usuário para o qual o software se destina, pode estabelecer as condições mínimas necessárias para que o software seja considerado "satisfatório".    Estas condições poderão fazer parte do </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/8746307867365186096/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=8746307867365186096&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/8746307867365186096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/8746307867365186096'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/09/tdd-na-prtica-parte-iv-quem-onde-quando.html' title='TDD na Prática - Parte IV: Quem, Onde, Quando, O Que e Como'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-4486865804284360871</id><published>2009-02-27T23:31:00.001-03:00</published><updated>2009-03-06T22:24:20.550-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unit Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Funcionamento dos frameworks xUnit - Parte 2/2</title><summary type='text'>   Para complementar o descrito na Parte 1, vamos ver o uso de test fixtures e dos métodos setUp e tearDown.   Em muitos casos quando estamos construindo uma classe de testes para verificar determinada funcionalidade, diversos métodos de teste irão operar sobre um mesmo objeto ou conjunto de objetos. Ao escrevermos código para configurar o estado destes objetos repetidamente, em cada método de </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/4486865804284360871/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=4486865804284360871&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/4486865804284360871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/4486865804284360871'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2009/02/funcionamento-dos-frameworks-xunit.html' title='Funcionamento dos frameworks xUnit - Parte 2/2'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-7964931040208202170</id><published>2008-12-13T10:00:00.002-02:00</published><updated>2009-03-06T22:08:12.035-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unit Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Mock Objects'/><category scheme='http://www.blogger.com/atom/ns#' term='Frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Google Mock</title><summary type='text'>A Google liberou seu C++ Mock Framework sob a nova licensa BSD, complementando seu Google C++ Testing Framework (ou somente Google Test). Ao que me parece, eles fizeram um trabalho bem completo, deixando o framework flexível e fácil de usar.O Google Mock é baseado no EasyMock, no jMock e no Hamcrest, sendo construído para C++ sob o Google Test. Para utilizá-lo você precisará, além do Google Test </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/7964931040208202170/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=7964931040208202170&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/7964931040208202170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/7964931040208202170'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/12/google-mock.html' title='Google Mock'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-6431888848234701979</id><published>2008-12-06T14:36:00.009-02:00</published><updated>2009-03-06T22:06:39.915-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unit Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Funcionamento dos frameworks xUnit - Parte 1/2</title><summary type='text'>Durante a série de artigos sobre TDD, tenho citado o uso de frameworks de testes unitários baseados na JUnit. Os exemplos que serão exibidos durante a série partem do princípio que o leitor conhece o funcionamento de um framework xUnit.Sendo assim, coloco aqui uma explicação breve sobre a estrutura da maioria destes frameworks, de forma a facilitar o entendimento dos próximos artigos.Os chamados </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/6431888848234701979/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=6431888848234701979&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/6431888848234701979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/6431888848234701979'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/09/funcionamento-dos-frameworks-xunit.html' title='Funcionamento dos frameworks xUnit - Parte 1/2'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-729514966509104151</id><published>2008-08-13T02:09:00.003-03:00</published><updated>2009-02-27T23:42:07.825-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='Design Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='XP'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Glossário Rápido'/><category scheme='http://www.blogger.com/atom/ns#' term='Metodologias Ágeis'/><title type='text'>Glossário Rápido</title><summary type='text'>   Eu não espero reinventar a roda e ter que explicar todos os conceitos, metodologias, processos, siglas, etc. que surgirem neste blog. Diversos outros autores já reservaram seu tempo fazendo isso. Meu intuito aqui é prover uma definição suscinta para quem não quer ler todo o conteúdo encontrado no Wikipedia ou no site mais próximo, encontrado talvez numa pesquisa no Google.   Metologias Ágeis  </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/729514966509104151/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=729514966509104151&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/729514966509104151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/729514966509104151'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/08/glossrio-rpido.html' title='Glossário Rápido'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-3389306347981669030</id><published>2008-12-25T04:00:00.000-02:00</published><updated>2008-12-24T18:42:48.708-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Generics'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>C++: Quando usar cada Smart Pointer</title><summary type='text'>   auto_ptr, shared_ptr, scoped_ptr, … Qual utilizar ? E, principalmente, por quê ?   Primeiramente, vamos recordar o que é um Smart Pointer e quais são os recursos que geralmente utilizamos dele. Após isto, ficará mais fácil identificar qual deles usar.  Um Smart Pointer (SP) é uma classe template que guarda um ponteiro para um objeto que é dinamicamente alocado ou, sendo mais explícito, alocado</summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/3389306347981669030/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=3389306347981669030&amp;isPopup=true' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/3389306347981669030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/3389306347981669030'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/12/c-quando-usar-cada-smart-pointer.html' title='C++: Quando usar cada Smart Pointer'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-4564202410144442725</id><published>2008-11-25T22:50:00.001-02:00</published><updated>2008-11-25T23:04:55.449-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unit Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Vídeos'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Vídeo-Palestra: Unit Testing</title><summary type='text'>Ótimo vídeo sobre escrita de código limpo e testável, do Google Tech Talks. Se você ainda não percebeu ou não está convencido de que o uso de TDD vale à pena, não deixe de assistí-lo.    FICHA DO VÍDEOPalestra	: Unit TestingPalestrante	: Misko Hevery, Agile Coach do GoogleEvento	: The Clean Code Talks, do Google Tech TalksData	: 30 de outubro de 2008Idioma	: Inglês  </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/4564202410144442725/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=4564202410144442725&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/4564202410144442725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/4564202410144442725'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/11/vdeo-palestra-escrevendo-cdigo-limpo-e.html' title='Vídeo-Palestra: Unit Testing'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-7594970321174384991</id><published>2008-11-15T08:20:00.000-02:00</published><updated>2008-11-15T08:20:00.397-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evento'/><title type='text'>Evento: CodeRage 2008 (online)</title><summary type='text'>De 1 à 5 de dezembro rola o 3º CodeRage, evento online promovido pela Embarcadero, que apresenta diversas palestras em sessões onde é possível trocar informações com outros desenvolvedores, analisar ferramentas de desenvolvimento e muitas outras coisas. São mais de 80 sessões, com algumas palestras em Português do Brasil.  Dentro alguns assuntos abordados estão (vou listar em inglês, que é como </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/7594970321174384991/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=7594970321174384991&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/7594970321174384991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/7594970321174384991'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/11/evento-coderage-2008-online.html' title='Evento: CodeRage 2008 (online)'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-6986433167865401043</id><published>2008-10-30T01:33:00.001-02:00</published><updated>2008-10-30T03:57:05.407-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Generics'/><title type='text'>Delphi Generics: Diferenças entre compiladores</title><summary type='text'>Tanto o Free Pascal Compiler (FPC) quanto o CodeGear Delphi possuem suporte a generics, as extensões que permitem definir quais tipos de dados serão usados por classes ou funções (por exemplo) no momento de sua declaração. Hoje há uma tendência da adoção de generics em praticamente todas as linguagens OO. C++ tem seus templates desde o ISO C++94, Java adotou generics a partir de sua versão J2SE </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/6986433167865401043/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=6986433167865401043&amp;isPopup=true' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/6986433167865401043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/6986433167865401043'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/10/delphi-generics-diferenas-entre.html' title='Delphi Generics: Diferenças entre compiladores'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-7754580946631710184</id><published>2008-10-28T12:33:00.004-02:00</published><updated>2008-10-30T01:48:19.314-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Generics'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>C++: Multi-dimensional analog literals</title><summary type='text'>Interessante as coisas que podemos fazer com C++ padrão.Veja um exemplo de uma biblioteca construída com templates para simular a construção de objetos multi-dimensionais através de seu formato. Criar linhas, retângulos e cubos assim fica até mais divertido. ;)Multi-Dimensional Analog Literals</summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/7754580946631710184/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=7754580946631710184&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/7754580946631710184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/7754580946631710184'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/10/c-multi-dimensional-analog-literals.html' title='C++: Multi-dimensional analog literals'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-8690136032380813641</id><published>2008-10-27T15:42:00.002-02:00</published><updated>2008-10-28T12:42:15.054-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evento'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Evento: C e C++ para Sistemas Embarcados</title><summary type='text'>Acontece em São Paulo no dia 8 de novembro, sábado, um evento sobre Sistemas Embarcados, onde serão abordados algumas temas interessantes, como: Técnicas de Programação em C para Sistemas EmbarcadosUtilização de C++ em MicrocontroladoresExplorando os 16 bits da Microchip e as ferramentas de trabalhoOtimização de código C para sistemas embarcadosDesenvolvimento Embedded no Mundo da eLuaAs </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/8690136032380813641/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=8690136032380813641&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/8690136032380813641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/8690136032380813641'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/10/evento-c-e-c-para-sistemas-embarcados.html' title='Evento: C e C++ para Sistemas Embarcados'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-3453067586183500128</id><published>2008-08-21T07:00:00.005-03:00</published><updated>2008-09-27T15:28:20.394-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unit Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Mock Objects'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>TDD na Prática - Parte II: Verificação e Confiabilidade</title><summary type='text'>   Como visto na Parte I, para criar código (que seja facilmente) "testável" é preferível escrever código que o testa primeiro.   Exercitar o código verificando seus limites e estados auxilia na descoberta de como o mesmo deve se comportar e traz um maior controle sobre seu funcionamento. Conseqüentemente, culmina em um maior nível de confiabilidade.  Tornar freqüente a verificação do código, de </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/3453067586183500128/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=3453067586183500128&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/3453067586183500128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/3453067586183500128'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/08/tdd-na-prtica-parte-ii-verificao-e.html' title='TDD na Prática - Parte II: Verificação e Confiabilidade'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-4435911416528767069</id><published>2008-09-16T22:20:00.001-03:00</published><updated>2008-09-16T22:22:13.977-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vídeos'/><category scheme='http://www.blogger.com/atom/ns#' term='Metodologias Ágeis'/><title type='text'>Vídeo-Palestra: Modelagem Ágil</title><summary type='text'>Palestra sobre Modelagem Ágil em português.                 Palestrante:         Manoel Pimentel                   Evento:         TDC 2008           </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/4435911416528767069/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=4435911416528767069&amp;isPopup=true' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/4435911416528767069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/4435911416528767069'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/09/vdeo-palestra-modelagem-gil.html' title='Vídeo-Palestra: Modelagem Ágil'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-3525926213081491393</id><published>2008-09-06T16:12:00.001-03:00</published><updated>2008-09-06T18:36:54.007-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>TDD na Prática - Parte III: Abstração, Simplificação e o Ciclo do TDD</title><summary type='text'>    Conhecer como verificar as partes do software e estabelecer o nível de abstração para obter os dados a serem verificados é um ponto vital quando se escreve código de teste.  Expor uma interface simples em uma classe e esconder seus detalhes de implementação é imprescindível para alcançar um modelo de fácil reutilização, substituição e que possa ser facilmente testado. Dependências entre </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/3525926213081491393/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=3525926213081491393&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/3525926213081491393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/3525926213081491393'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/09/tdd-na-prtica-parte-iii-abstrao.html' title='TDD na Prática - Parte III: Abstração, Simplificação e o Ciclo do TDD'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-1139314563801014955</id><published>2008-08-18T16:00:00.000-03:00</published><updated>2008-09-06T16:27:03.169-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>TDD na Prática - Parte 1: Influência no Design</title><summary type='text'>Para se ter uma idéia rápida de como é TDD na prática, criarei um joguinho bem simples, e de conhecimento geral, que deve servir como exemplo: o Jogo da Velha. (Se você não teve infância ou sofre de perda grave de memória, consulte as regras aqui. :)  Para verificar se a implementação do jogo estará correta, escreverei código que a teste. Mas daí vem algumas questões:      Como terei certeza de </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/1139314563801014955/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=1139314563801014955&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/1139314563801014955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/1139314563801014955'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/08/tdd-na-prtica-parte-1-influncia-no.html' title='TDD na Prática - Parte 1: Influência no Design'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-3675322929207689960</id><published>2008-08-23T00:00:00.000-03:00</published><updated>2008-08-24T18:08:07.887-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XP'/><category scheme='http://www.blogger.com/atom/ns#' term='Vídeos'/><category scheme='http://www.blogger.com/atom/ns#' term='Metodologias Ágeis'/><title type='text'>Vídeo-Palestra: Extreme Programming</title><summary type='text'>Palestra recomendada para quem quer conhecer melhor como é o desenvolvimento ágil utilizando Extreme Programming. Em português (!).                    Palestrante:        Vinícius Manhães Teles, da ImproveIt                  Evento:        TDC 2008          </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/3675322929207689960/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=3675322929207689960&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/3675322929207689960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/3675322929207689960'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/08/vdeo-palestra-desenvolvimento-gil.html' title='Vídeo-Palestra: Extreme Programming'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-5281997151661565087</id><published>2008-08-20T09:01:00.002-03:00</published><updated>2008-08-21T09:24:24.357-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Design Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='Mock Objects'/><category scheme='http://www.blogger.com/atom/ns#' term='O.O.'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Interação e Substituição de Objetos</title><summary type='text'>Ter uma visão clara de como os objetos interagem é um fator fundamental no desenvolvimento de software orientado a objetos. É até mais importante do que saber como cada objeto funciona isoladamente.  Pensando que um software O. O. é uma espécie de teia de objetos que se interconectam, fazendo de sua interação o fator gerador do comportamento do software, mudar seu comportamento será como plugar </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/5281997151661565087/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=5281997151661565087&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/5281997151661565087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/5281997151661565087'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/08/interao-e-substituio-de-objetos.html' title='Interação e Substituição de Objetos'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-8689128932183327278</id><published>2008-08-13T00:54:00.001-03:00</published><updated>2008-08-19T21:27:24.471-03:00</updated><title type='text'>O que virá</title><summary type='text'>Uma idéia do que deve ser visto por aqui:  Metodologias e Processos  Muita gente ainda desconhece ou tem uma visão um tanto turva sobre Metodologias Ágeis, Scrum, XP, TDD, etc. e de diversos outros assuntos relacionados a metodologias de desenvolvimento de software.  Espero deixar aqui minha contribuição para esclarecer alguns pontos, com enfoque prático, fazendo um balanço sempre pragmático.  </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/8689128932183327278/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=8689128932183327278&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/8689128932183327278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/8689128932183327278'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/08/o-que-vir.html' title='O que virá'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-41480276002288545.post-988228201017003022</id><published>2008-08-12T23:43:00.001-03:00</published><updated>2008-08-13T00:04:01.664-03:00</updated><title type='text'>Blog::Start()</title><summary type='text'>{      if ( YouLikeSoftwareDevelopment() )          ThatsTheRightPlace();     else         GoToMyAnotherSite(); // www.thiagodp.blogspot.com  }  </summary><link rel='replies' type='application/atom+xml' href='http://devhints.blogspot.com/feeds/988228201017003022/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=41480276002288545&amp;postID=988228201017003022&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/988228201017003022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/41480276002288545/posts/default/988228201017003022'/><link rel='alternate' type='text/html' href='http://devhints.blogspot.com/2008/08/bloginstancestart.html' title='Blog::Start()'/><author><name>Thiago Delgado Pinto</name><uri>http://www.blogger.com/profile/00791998615484436526</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16456066591905871957'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>