<?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-4655406163386644645</id><updated>2009-12-08T09:07:11.004-08:00</updated><title type='text'>Francisco Barroso</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default?orderby=updated'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default?start-index=26&amp;max-results=25&amp;orderby=updated'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-6309124825317844598</id><published>2009-09-23T18:58:00.000-07:00</published><updated>2009-09-23T19:05:28.152-07:00</updated><title type='text'>Aniversário CEJUG 2009</title><content type='html'>Sucesso total o aniversário do CEJUG 2009, palestras de alto nível e muita gente participando. Nesse ano tivemos assuntos variados:&lt;br /&gt;O caminho da produtividade para desenvolvedores web&lt;br /&gt;Como fazer uma aplicação JEE/JME para rodar nos 4 cantos do mundo&lt;br /&gt;O mito dos times ágeis&lt;br /&gt;Os 10 maus hábitos dos desenvolvedores JSF&lt;br /&gt;Turbinando sua aplicação com Lucene: conheça Solr e Hibernate Search&lt;br /&gt;O que matou o RUP pode matar o Agile&lt;br /&gt;Desmistificando o TDD na prática&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cejug.org/display/cejug/Aniversario+CEJUG+2009"&gt;Mais informações...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wbB0qP2p_rc/SrrTSFBUw7I/AAAAAAAAAEs/6t3ShJq0Ap8/s1600-h/DSC08069.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_wbB0qP2p_rc/SrrTSFBUw7I/AAAAAAAAAEs/6t3ShJq0Ap8/s400/DSC08069.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5384848612013687730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wbB0qP2p_rc/SrrTgKuxuiI/AAAAAAAAAE8/Y3o1tTO0OSs/s1600-h/DSC08226.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_wbB0qP2p_rc/SrrTgKuxuiI/AAAAAAAAAE8/Y3o1tTO0OSs/s400/DSC08226.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5384848854064675362" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wbB0qP2p_rc/SrrTfzWDk8I/AAAAAAAAAE0/jU4sXxHMAu0/s1600-h/DSC08019.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_wbB0qP2p_rc/SrrTfzWDk8I/AAAAAAAAAE0/jU4sXxHMAu0/s400/DSC08019.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5384848847786972098" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/cafecomtapioca/AniversarioCEJUG2009#"&gt;Mais fotos...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-6309124825317844598?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/6309124825317844598/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=6309124825317844598' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/6309124825317844598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/6309124825317844598'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/09/aniversario-cejug-2009.html' title='Aniversário CEJUG 2009'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_wbB0qP2p_rc/SrrTSFBUw7I/AAAAAAAAAEs/6t3ShJq0Ap8/s72-c/DSC08069.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-6405388223691744014</id><published>2009-09-08T09:03:00.000-07:00</published><updated>2009-09-08T09:15:18.448-07:00</updated><title type='text'>XPCE</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wbB0qP2p_rc/SqaDEP3YkhI/AAAAAAAAADE/MFQAruTrkfY/s1600-h/LogoXPCE.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 363px; height: 400px;" src="http://1.bp.blogspot.com/_wbB0qP2p_rc/SqaDEP3YkhI/AAAAAAAAADE/MFQAruTrkfY/s400/LogoXPCE.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5379130913942180370" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hoje me tornei coordenador da &lt;a href="http://www.xpce.org/"&gt;XPCE&lt;/a&gt; Ceará Extreme Programming Group - Lista de Extreme Programming para praticantes, evangelistas, amantes e XPtards dessa metodologia que leva o desenvolvimento de software ao extremo da qualidade.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-6405388223691744014?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/6405388223691744014/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=6405388223691744014' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/6405388223691744014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/6405388223691744014'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/09/xpce.html' title='XPCE'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_wbB0qP2p_rc/SqaDEP3YkhI/AAAAAAAAADE/MFQAruTrkfY/s72-c/LogoXPCE.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-8653358297969901849</id><published>2009-09-08T08:49:00.000-07:00</published><updated>2009-09-08T09:00:39.595-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cejug'/><title type='text'>Aniversário do CEJUG</title><content type='html'>&lt;a href="http://www.cafecomtapioca.com"&gt;&lt;img class="alignnone size-full wp-image-180" title="Visite o site do Café com Tapioca" src="http://wp.oktiva.com.br/cafe-com-tapioca/files/2009/09/button_animado.gif" alt="" width="192" height="192" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;19/09/2009: 7 anos do Cejug&lt;br /&gt;O Cejug realiza mais um Café com Tapioca dia 19 de setembro. Grandes nomes do Ceará e do Brasil vêm compartilhar suas experiências com a comunidade java cearense.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-8653358297969901849?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/8653358297969901849/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=8653358297969901849' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/8653358297969901849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/8653358297969901849'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/09/aniversario-cejug.html' title='Aniversário do CEJUG'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-1728335410214611992</id><published>2009-09-01T16:58:00.000-07:00</published><updated>2009-09-01T17:00:42.253-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Engenharia de software'/><title type='text'>Nomes feios que seria bonito todo software conhecer</title><content type='html'>· Acurácia: capacidade de fornecer o resultado com o grau de precisão desejado.&lt;br /&gt;· Adequação: capacidade de fornecer um conjunto apropriado de funções para tarefas específicas e objetivos do usuário.&lt;br /&gt;· Interoperabilidade: capacidade de interagir com um ou mais sistemas.&lt;br /&gt;· Segurança de Acesso: capacidade de proteger dados e informações de pessoas ou sistemas não autorizados.&lt;br /&gt;· Conformidade: capacidade de aderir a padrões, convenções, leis e prescrições similares  relativas a funcionalidade.&lt;br /&gt; &lt;br /&gt;· Maturidade: capacidade de evitar defeitos no software.&lt;br /&gt;· Tolerância a Falhas: capacidade de manter um nível de desempenho estabelecido em caso de defeito no software.&lt;br /&gt;· Recuperabilidade: capacidade de recuperar dados diretamente afetados no caso de falhas.&lt;br /&gt;· Conformidade: capacidade de aderir a padrões, convenções, leis e prescrições similares relativas a confiabilidade.&lt;br /&gt;&lt;br /&gt;· Inteligibilidade: capacidade do produto de fazer o usuário entender se o software é adequado, e como ele pode ser usado para tarefas particulares.&lt;br /&gt;· Aprendibilidade: capacidade que o produto deve ter de fazer o usuário entendê-lo.&lt;br /&gt;· Operacionalidade: capacidade que o produto deve ter para que o usuário possa aprendê-lo e controlá-lo.&lt;br /&gt;· Atratividade: capacidade do produto em ser atraente para o usuário.&lt;br /&gt;· Conformidade: capacidade de aderir a padrões, convenções, leis e prescrições similares relativas a usabilidade.&lt;br /&gt;&lt;br /&gt;· Comportamento em Relação ao Tempo: capacidade de fornecer tempos de resposta e processamento adequados, bem como taxas de transferência.&lt;br /&gt;· Comportamento em Relação aos Recursos: capacidade de usar quantidade e tipos de recursos adequados.&lt;br /&gt;· Conformidade: capacidade de aderir a padrões e convenções relativas a eficiência.&lt;br /&gt;&lt;br /&gt;· Analisabilidade: capacidade em diagnosticar deficiências e causas de defeitos.&lt;br /&gt;· Modificabilidade: capacidade que o produto tem de receber modificações.&lt;br /&gt;· Estabilidade: capacidade de evitar efeitos inesperados a partir de modificações.&lt;br /&gt;· Testabilidade: capacidade de validar as modificações efetuadas no produto.&lt;br /&gt;· Conformidade: capacidade de aderir a padrões e convenções relativas a manutenibilidade.&lt;br /&gt;&lt;br /&gt;· Adaptabilidade: capacidade de ser adaptado em diferentes ambientes sem intervenção.&lt;br /&gt;· Capacidade de Instalação: capacidade de ser instalado em um ambiente específico.&lt;br /&gt;· Coexistência: capacidade que o produto tem de coexistir com outro software independente em um ambiente comum, compartilhando recursos comuns.&lt;br /&gt;· Capacidade de Substituição: capacidade que o produto de software deve ter de ser usado no lugar de outro produto de software com o mesmo propósito no mesmo ambiente.&lt;br /&gt;· Conformidade: capacidade de aderir a padrões e convenções relativas a portabilidade.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-1728335410214611992?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/1728335410214611992/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=1728335410214611992' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/1728335410214611992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/1728335410214611992'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/09/nomes-feios-que-seria-bonito-todo.html' title='Nomes feios que seria bonito todo software conhecer'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-3385202590584330705</id><published>2009-08-11T17:43:00.000-07:00</published><updated>2009-08-12T19:41:57.141-07:00</updated><title type='text'>Maré de Agilidade sucesso total</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wbB0qP2p_rc/SoN9aSKxtqI/AAAAAAAAACk/Ct2ifWCfMIQ/s1600-h/IMG_6100.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://4.bp.blogspot.com/_wbB0qP2p_rc/SoN9aSKxtqI/AAAAAAAAACk/Ct2ifWCfMIQ/s400/IMG_6100.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5369273071262873250" /&gt;&lt;/a&gt;&lt;br /&gt;O evento Maré de Agilidade foi um sucesso, parabéns aos organizadores e palestrantes e muito obrigado a todos os participantes. Espero mais eventos desse nível em Fortaleza.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wbB0qP2p_rc/SoIRpJMjbQI/AAAAAAAAACc/jqk1o9pi3-E/s1600-h/DSC03816-300x225.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://4.bp.blogspot.com/_wbB0qP2p_rc/SoIRpJMjbQI/AAAAAAAAACc/jqk1o9pi3-E/s400/DSC03816-300x225.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5368873104319933698" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wbB0qP2p_rc/SoIRo_Ni6PI/AAAAAAAAACU/ovCRf-XNIUk/s1600-h/DSC03829-300x225.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://2.bp.blogspot.com/_wbB0qP2p_rc/SoIRo_Ni6PI/AAAAAAAAACU/ovCRf-XNIUk/s400/DSC03829-300x225.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5368873101639739634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wbB0qP2p_rc/SoIRobtpRiI/AAAAAAAAACM/7fgiM1OYQqc/s1600-h/DSC038341-300x225.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://3.bp.blogspot.com/_wbB0qP2p_rc/SoIRobtpRiI/AAAAAAAAACM/7fgiM1OYQqc/s400/DSC038341-300x225.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5368873092110698018" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-3385202590584330705?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/3385202590584330705/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=3385202590584330705' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/3385202590584330705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/3385202590584330705'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/08/mare-de-agilidade.html' title='Maré de Agilidade sucesso total'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_wbB0qP2p_rc/SoN9aSKxtqI/AAAAAAAAACk/Ct2ifWCfMIQ/s72-c/IMG_6100.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-8762828523786448842</id><published>2009-06-25T17:50:00.000-07:00</published><updated>2009-07-03T08:53:24.269-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ireport'/><title type='text'>ireport passando collection para subrelatorio pelo parâmetro</title><content type='html'>Esse é o modo mais fácil de passar uma coleção (Collection) para um sub-relatório. Crie um parâmetro na sua classe e coloque a coleção que será passada para o sub-relatório:&lt;br /&gt;…&lt;br /&gt;Collection&lt;Pessoa&gt; pessoas = new ArrayList&lt;Pessoa&gt;();&lt;br /&gt;parametro.put(“COLECAO”, pessoas);&lt;br /&gt;…&lt;br /&gt;No ireport crie um parâmetro “COLECAO” do tipo Collection e passe para o sub-relatório tipando o como JRBeanCollectionDataSource.&lt;br /&gt; (REPORT_DATA_SOURCE -&gt; new JRBeanCollectionDataSource($P{COLECAO}))&lt;br /&gt;como mostra a imagem:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wbB0qP2p_rc/SkQcCO86R3I/AAAAAAAAABg/IuN-dmvMJfQ/s1600-h/configSubRelatorio.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 373px;" src="http://1.bp.blogspot.com/_wbB0qP2p_rc/SkQcCO86R3I/AAAAAAAAABg/IuN-dmvMJfQ/s400/configSubRelatorio.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5351433081921881970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O sub-relatório vai iteragir na coleção pelo REPORT_DATA_SOURCE (é um parâmetro padrão do relatório) na banda DETAILS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-8762828523786448842?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/8762828523786448842/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=8762828523786448842' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/8762828523786448842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/8762828523786448842'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/06/ireport-passar-collection-para.html' title='ireport passando collection para subrelatorio pelo parâmetro'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_wbB0qP2p_rc/SkQcCO86R3I/AAAAAAAAABg/IuN-dmvMJfQ/s72-c/configSubRelatorio.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-5732479732109674993</id><published>2009-07-01T17:31:00.000-07:00</published><updated>2009-07-01T17:34:32.914-07:00</updated><title type='text'>convite mare de agilidade fortaleza</title><content type='html'>Convite para o Maré de Agilidade Fortaleza&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.maredeagilidade.com.br/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 425px; height: 113px;" src="http://www.igocoelho.com.br/wp-content/uploads/2009/05/mare_agilidade.jpeg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Maré de Agilidade - 3a edição - Swell Fortaleza - 06 a 08/08/2009&lt;br /&gt;&lt;br /&gt;O grupo XPCE(eXtreme Programming Ceará) junto com a Fortes Treinamentos trazem a Fortaleza a terceira edição do evento Maré de Agilidade, com a organização da SEA Tecnologia, Revista Visão Ágil, Java Bahia e apoio da FA7(Faculdade 7 de Setembro). A primeira edição desse evento ocorreu em setembro de 2008 em Brasília e a segunda em março de 2009 em Salvador.&lt;br /&gt;&lt;br /&gt;O evento visa promover dois dias de mini-cursos e um dia de palestras e discussões sobre as novas tendências em gerência de projetos e técnicas de desenvolvimento de software que constituem atualmente o grande diferencial de empresas como Apple, Google, Microsoft, Yahoo e Globo.com”.&lt;br /&gt;&lt;br /&gt;Mini-cursos:&lt;br /&gt;06/08 - Gerenciamento Ágil de Projetos com Scrum, eXtreme Programming (XP) na prática e Desenvolvimento web ágil com RubyOnRails&lt;br /&gt;07/08 - Gestão Ágil de Requisitos, eXtreme Programming (XP) na prática e Teste de aplicações Rails&lt;br /&gt;&lt;br /&gt;Palestras:&lt;br /&gt;08/08 - Manifesto 2.0, Gestão Lean para desenvolvimento de Software, A Agilidade está no ar, Governança no desenvolvimento ágil, Onde mora a produtividade do Ruby on Rails?, Painel com todos os palestrantes: Agile na Real - Interoperabilidade, Mix e Adaptações&lt;br /&gt;&lt;br /&gt;Local:&lt;br /&gt;Mini-cursos: Fortes Treinamentos&lt;br /&gt;Palestras: Faculdade 7 de Setembro&lt;br /&gt;&lt;br /&gt;Inscrições:&lt;br /&gt;- Com desconto até 15/07 - Preços promocionais para estudantes e membros do XPCE.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-5732479732109674993?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/5732479732109674993/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=5732479732109674993' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/5732479732109674993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/5732479732109674993'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/07/convite-mare-de-agilidade-fortaleza.html' title='convite mare de agilidade fortaleza'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-2090346665443644285</id><published>2009-05-13T13:17:00.000-07:00</published><updated>2009-05-13T13:19:17.490-07:00</updated><title type='text'>Maré de Agilidade Fortaleza</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wbB0qP2p_rc/SgsrJePk-EI/AAAAAAAAABY/ltt8MB6WPkM/s1600-h/mare_agilidade.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 106px;" src="http://3.bp.blogspot.com/_wbB0qP2p_rc/SgsrJePk-EI/AAAAAAAAABY/ltt8MB6WPkM/s400/mare_agilidade.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5335405625287702594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Após Brasília e Salvador está chegando a Fortaleza o Maré de agilidade. O evento esta sendo promovido aqui pelo grupo XPCE(eXtreme Programming Ceará) e contará com a presença de grandes nomes locais e nacionais.&lt;br /&gt;&lt;br /&gt;O evento será de 6 a 8 de agosto com dois dias de mini-cursos na Fortes Treinamentos e um dia inteiro de palestras no sábado na Faculdade 7 de Setembro.&lt;br /&gt;&lt;br /&gt;Estaremos divulgando em breve mais detalhes do evento como promoções, condições de pagamento e palestrantes. Adianto que quem estiver cadastrado na lista de discussão do XPCE até 16 de maio terá um bom desconto para os mini-cursos e palestras. Inscreva-se já na lista e divulgue para seus amigos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-2090346665443644285?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/2090346665443644285/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=2090346665443644285' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/2090346665443644285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/2090346665443644285'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/05/mare-agil.html' title='Maré de Agilidade Fortaleza'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_wbB0qP2p_rc/SgsrJePk-EI/AAAAAAAAABY/ltt8MB6WPkM/s72-c/mare_agilidade.jpeg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-4263646434200651509</id><published>2009-05-01T07:23:00.000-07:00</published><updated>2009-05-01T07:57:52.438-07:00</updated><title type='text'>Novos Tempos no Desenvolvimento de Software</title><content type='html'>O desenvolvedor de hoje tem que entender que muitas coisas mudaram, antigamente para saber programar era preciso conhecer as regras da linguagem e fazer o que era pedido pelo analista e as vezes discutir se aquilo era para ser feito daquela forma... Não se preocupava se o código estava bem  escrito, se tinha como refatorar, se a manutenção daquele código seria fácil depois de dois anos. Então a galera acordou e viu que tinha algo errado com aqueles codificadores, não era aquela forma correta para se desenvolver um software de qualidade que pode ser mantido por anos e anos com uma certa facilidade. Hoje o desenvolvedor, analista, gerente... tem que entender que não basta só ter um bom conhecimento técnico, para conseguir um software de qualidade é preciso um time unido, boas práticas de desenvolvimento, conhecimento técnico é preciso que todo o time entenda que desenvolver é uma arte, o pensamento tem que estar alinhado e focado em um  objetivo comum: desenvolver software com qualidade, desenvolver com perfeição mesmo que essa perfeição amanhã seja superada. &lt;br /&gt;    Existem muitos desenvolvedores que se gabam, eu sei TDD, uso XP, conheço DDD... a sopa de letrinhas que ele julga saber e usa só aumenta, mas na prática ele não sabe aplicar ou não se lembra de aplicar. É a mesma coisa se uma pessoa estudar todos os fundamentos do futebol, ler tutoriais na internet, livros e nunca jogar uma partida, com certeza essa teoria toda vai ajudar, mais no seu primeiro jogo ele não vai conseguir fazer aqueles lances bonitos que nós gostamos de ver.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-4263646434200651509?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/4263646434200651509/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=4263646434200651509' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/4263646434200651509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/4263646434200651509'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/05/novos-tempos.html' title='Novos Tempos no Desenvolvimento de Software'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-918789834677706899</id><published>2009-03-26T17:33:00.000-07:00</published><updated>2009-03-26T18:16:34.801-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Engenharia de software'/><title type='text'>Atributos de um bom software</title><content type='html'>Assim como os serviços que ele fornece, os produtos de software possuem outros atributos associados que demonstram a qualidade. Esses atributos não estão relacionados diretamente com que o software faz. Em vez disso, refletem o comportamento do software, enquanto este está em execução, e a estrutura e a organização do programa fonte.&lt;br /&gt; Facilidade de manutenção:&lt;br /&gt; O software deve ser escrito de modo que possa evoluir para atender às necessidades de mudança dos clientes. É um atributo fundamental, pois a mudança de software é uma consequência inevitável de um ambiente de negócios em constante mutação.&lt;br /&gt;Facilidade de reparos:&lt;br /&gt; As falhas de sistemas são inevitáveis, mas a interrupção causada por falhas pode ser minimizada se o sistema puder ser reparado rapidamente. Para que isso aconteça, deve ser possível diagnosticar o problema, acessar o componente que falhou e fazer as alterações para consertá-lo. A facilidade de reparos de software é aprimorada quando a organização que usa o sistema tem acesso ao código-fonte e há pessoas com habilidade para fazer as alterações. Infelizmente, isso tem se tornado cada vez menos comum à medida que avançamos em direção ao desenvolvimento de sistemas por meio de componentes de terceiros do tipo caixa-preta.&lt;br /&gt; Confiança:&lt;br /&gt; O nível de confiança do software tem uma série de características, incluindo confiabilidade, proteção e segurança. Um software confiável não deve causar danos físicos ou econômicos no caso de falha no sistema.&lt;br /&gt; Eficiência:&lt;br /&gt; O software não deve desperdiçar os recursos do sistema, como memória e ciclos do processador. Portanto, a eficiência inclui tempo de resposta, tempo de processamento, utilização de memória etc.&lt;br /&gt; Usabilidade:&lt;br /&gt; O software deve ser usável, sem esforço excessivo, pelo tipo de usuário para o qual ele foi projetado.(Fonte: Engenharia de software 8º Edição Ian Sommerville)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-918789834677706899?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/918789834677706899/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=918789834677706899' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/918789834677706899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/918789834677706899'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/03/atributos-de-um-bom-software.html' title='Atributos de um bom software'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-2699176442443848808</id><published>2009-03-18T12:57:00.000-07:00</published><updated>2009-03-18T13:04:39.529-07:00</updated><title type='text'>CEJUG</title><content type='html'>Conheça o &lt;a href="http://www.cejug.org/"&gt;CEJUG...Grupo de Usuários Java do Ceará&lt;/a&gt;, nosso grupo pretende agregar pessoas dos mais variados segmentos (empresas, universidades, associações, desenvolvedores independentes), sejam eles conhecedores ou não da tecnologia Java, mas que estejam dispostos a promover, divulgar e se qualificar nesta linguagem que dia-a-dia está crescendo no mercado mundial e fornecendo soluções de alto desempenho, escalabilidade e flexibilidade.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wbB0qP2p_rc/ScFTbEBWfBI/AAAAAAAAABQ/kAH9sUa6UDA/s1600-h/cejugpodcast.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 192px; height: 200px;" src="http://2.bp.blogspot.com/_wbB0qP2p_rc/ScFTbEBWfBI/AAAAAAAAABQ/kAH9sUa6UDA/s400/cejugpodcast.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5314620759674878994" /&gt;&lt;/a&gt;&lt;br /&gt;Novidade no CEJUG, prepare os fones de ouvido... esta no ar mais um &lt;a href="http://www.cejug.org/pages/viewpage.action?pageId=38666258"&gt;CEJUG Podcast&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-2699176442443848808?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/2699176442443848808/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=2699176442443848808' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/2699176442443848808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/2699176442443848808'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/03/cejug.html' title='CEJUG'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_wbB0qP2p_rc/ScFTbEBWfBI/AAAAAAAAABQ/kAH9sUa6UDA/s72-c/cejugpodcast.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-2494032268804724213</id><published>2009-02-16T19:03:00.000-08:00</published><updated>2009-02-16T19:08:47.598-08:00</updated><title type='text'>Melhoria continua</title><content type='html'>Estava eu no trânsito, sinal vermelho...logo em seguida para uma moto muito barulhenta(brummmmm, brummmmmm) e em seguida para um moto taxista(cara experiente, muitos anos de&lt;br /&gt;trânsito) e logo ele percebe que a moto barulhenta estava acelerada:&lt;br /&gt;-Hei cara tua moto ta acelerada, gasta muita gasolina!&lt;br /&gt;-(dono da barulhenta) ta não, é assim mesmo.&lt;br /&gt;-Cara presta atenção no barulho da minha moto...&lt;br /&gt;-Não, eu já comprei ela assim é normal.&lt;br /&gt;...&lt;br /&gt;O cara da moto barulhenta estava acostumado e não tinha um parâmetro(um padrão) para comparar o barulho&lt;br /&gt;da sua moto. Esse tipo de situação acontece muito com desenvolvedores de software, muitas vezes o desenvolvedor se acostuma com seu própio código e não percebe que esta fazendo&lt;br /&gt;besteira, usa um framework desatualizado...&lt;br /&gt;É preciso ficar atento com esse tipo de coisa, manter uma busca contínua de informações e novidades. Um bom programador tem que aprender a procurar caminhos alternativos mesmo quando a coisa parece esta indo bem. Temos que aprender a quebrar o trabalho automático, aquele que o cara fala isso é fácil, faço de olho fechado...de olho fechado não vai perceber quando um novo caminho está prestes a ser descoberto.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-2494032268804724213?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/2494032268804724213/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=2494032268804724213' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/2494032268804724213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/2494032268804724213'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/02/melhoria-continua.html' title='Melhoria continua'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-991411857639757475</id><published>2009-02-11T08:25:00.000-08:00</published><updated>2009-02-11T08:38:18.135-08:00</updated><title type='text'>tratamento de exception do DWR no js</title><content type='html'>Temos duas maneiras de tratar a exceção criada no DWR.(este exemplo foi feito com DWR 1.1)&lt;br /&gt;mais informações em &lt;a href="http://directwebremoting.org/dwr/other/errors"&gt;http://directwebremoting.org/dwr/other/errors&lt;/a&gt;    &lt;br /&gt;&lt;block&gt;   &lt;br /&gt;    function verficaColaborador(tabelaId, colaboradorId)&lt;br /&gt;    {&lt;br /&gt;        ReajusteDWR.verificaColaboradorTabela(tabelaId, colaboradorId,&lt;br /&gt;        {&lt;br /&gt;            //function teste&lt;br /&gt;            callback:function(data){&lt;br /&gt;                alert(data);&lt;br /&gt;            },&lt;br /&gt;             //funcion error&lt;br /&gt;            errorHandler:function(msg, exception){&lt;br /&gt;                alert(msg);&lt;br /&gt;            }&lt;br /&gt;        });&lt;br /&gt;    }&lt;br /&gt;&lt;/block&gt;&lt;br /&gt;Prefiro tratar assim:&lt;br /&gt;&lt;block&gt;&lt;br /&gt;    function verficaColaborador(tabelaId, colaboradorId)&lt;br /&gt;    {    &lt;br /&gt;        DWREngine.setErrorHandler(error);&lt;br /&gt;        ReajusteDWR.verificaColaboradorTabela(teste, tabelaId,  colaboradorId);    &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    function teste(data)&lt;br /&gt;    {&lt;br /&gt;        alert(data);&lt;br /&gt;    }&lt;br /&gt;       &lt;br /&gt;    function error(msg)&lt;br /&gt;    {&lt;br /&gt;        alert(msg);&lt;br /&gt;    }&lt;br /&gt;&lt;/block&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-991411857639757475?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/991411857639757475/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=991411857639757475' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/991411857639757475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/991411857639757475'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/02/tratamento-de-exception-do-dwr-no-js.html' title='tratamento de exception do DWR no js'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-8345155292479092500</id><published>2009-02-02T08:33:00.002-08:00</published><updated>2009-02-02T08:44:53.815-08:00</updated><title type='text'>Repositórios Maven</title><content type='html'>&lt;a href="http://maven.apache.org/"&gt;Maven&lt;/a&gt; é uma ferramenta de gerenciamento e automação de projetos em Java que tem como finalidade ajudar na padronização dos projetos, mantendo todas as suas informações em um arquivo chamado pom.xml(Project Object Model).&lt;br /&gt;Neste arquivo podemos encontrar informações do projeto, dependências de bibliotecas externas,plugins do próprio Maven que são utilizados para facilitar a vida dos desenvolvedores.&lt;br /&gt;Repositórios:&lt;br /&gt;&lt;a href="http://repository.jboss.org/maven2"&gt;http://repository.jboss.org/maven2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://repo1.maven.org/maven2/"&gt;http://repo1.maven.org/maven2/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://snapshots.repository.codehaus.org/"&gt;http://snapshots.repository.codehaus.org/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://people.apache.org/repo/m2-snapshot-repository"&gt;http://people.apache.org/repo/m2-snapshot-repository&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mirrors.ibiblio.org/pub/mirrors/maven2"&gt;http://mirrors.ibiblio.org/pub/mirrors/maven2&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-8345155292479092500?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/8345155292479092500/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=8345155292479092500' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/8345155292479092500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/8345155292479092500'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/02/maven.html' title='Repositórios Maven'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-6884434581814265723</id><published>2009-01-29T17:54:00.000-08:00</published><updated>2009-01-29T18:00:02.007-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Target runtime Apache Tomcat v5.5 is not defined</title><content type='html'>Erro ao importa um projeto do eclipse, que já tenha uma configuração do Tomcat: Target runtime Apache Tomcat v5.5 is not defined&lt;br /&gt;   1. Se no eclipse ainda não estiver nenhum servidor configurado (Window &gt; Preferences &gt; Server &gt; Installed Runtimes). No projeto, Run As &gt; Run on Server.&lt;br /&gt;   2. Se o erro continuar: projeto botão direito &gt; Properties &gt; Targeted Runtimes, e selecionar a checkbox do servidor Tomcat.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-6884434581814265723?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/6884434581814265723/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=6884434581814265723' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/6884434581814265723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/6884434581814265723'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/01/target-runtime-apache-tomcat-v55-is-not.html' title='Target runtime Apache Tomcat v5.5 is not defined'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-845195252830864743</id><published>2009-01-08T17:27:00.000-08:00</published><updated>2009-01-08T18:03:33.631-08:00</updated><title type='text'>grafico com cewolf e jfreechart</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wbB0qP2p_rc/SWawJ0VJCVI/AAAAAAAAABI/kmCZZ9LBA5Y/s1600-h/cewolf.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 200px;" src="http://1.bp.blogspot.com/_wbB0qP2p_rc/SWawJ0VJCVI/AAAAAAAAABI/kmCZZ9LBA5Y/s400/cewolf.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5289108495105853778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Aqui vai um exemplo muito fácil para implementar um gráfico em java.&lt;br /&gt;Baixe o exemplo &lt;a href="http://www.4shared.com/file/79705949/f61d481a/Grafico.html" target=_blank&gt;Grafico.rar&lt;/a&gt; com todas as bibliotecas, basta descompactar e importar no eclipse, é um projeto tomcat, no formato servlet e jsp.&lt;br /&gt;A classe GraficoExemplo cria os dados do gráfico e o teste.jsp exibe o mesmo.&lt;br /&gt;As tags do cewolf são bem fáceis de usar:&lt;br /&gt;&lt;a href="http://cewolf.sourceforge.net/new/taglib.html"&gt;&lt;br /&gt;http://cewolf.sourceforge.net/new/taglib.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-845195252830864743?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/845195252830864743/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=845195252830864743' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/845195252830864743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/845195252830864743'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2009/01/grafico-com-cewolf-e-jfreechart.html' title='grafico com cewolf e jfreechart'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_wbB0qP2p_rc/SWawJ0VJCVI/AAAAAAAAABI/kmCZZ9LBA5Y/s72-c/cewolf.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-8604246079733317304</id><published>2008-11-24T09:35:00.000-08:00</published><updated>2008-11-24T09:36:45.585-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='projection'/><title type='text'>distinct com projection</title><content type='html'>Quando usamos projection, o "criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);"&lt;br /&gt;algumas vezes não funciona pois faz o distinct após a consulta ser feita, o distinct correto é esse:&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;ProjectionList p = Projections.projectionList().create();&lt;br /&gt;           p.add(Projections.property("c.id"), "id");&lt;br /&gt;           p.add(Projections.property("c.nome"), "nome");&lt;br /&gt;           criteria.setProjection(p);&lt;br /&gt;&lt;br /&gt;           criteria.add(Expression.in("ai.id", longs));&lt;br /&gt;           criteria.add(Expression.eq("c.empresa.id", empresaId));&lt;br /&gt;           criteria.addOrder(Order.asc("c.nome"));&lt;br /&gt;&lt;br /&gt;           criteria.setProjection(Projections.distinct(p));&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;SQL gerado:&lt;br /&gt;select&lt;br /&gt;       distinct this_.id as y0_,&lt;br /&gt;       this_.nome as y1_&lt;br /&gt;   from&lt;br /&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-8604246079733317304?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/8604246079733317304/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=8604246079733317304' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/8604246079733317304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/8604246079733317304'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2008/11/distinct-com-projection.html' title='distinct com projection'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-2832608218042213024</id><published>2008-11-09T11:40:00.000-08:00</published><updated>2008-11-09T12:37:12.122-08:00</updated><title type='text'>Codigo bem escrito</title><content type='html'>O que seria um código bem escrito?&lt;/br&gt;&lt;br /&gt;&lt;span style="text-indent: 35.4pt;"&gt;Código que compila.&lt;/span&gt;&lt;br /&gt;&lt;span style="text-indent: 35.4pt;"&gt;Código que não tenha muitos ifs.&lt;/span&gt;&lt;br /&gt;&lt;span style="text-indent: 35.4pt;"&gt;Programação orientada a objetos.&lt;/span&gt;&lt;br /&gt;&lt;span style="text-indent: 35.4pt;"&gt;Código com testes....&lt;/span&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;Talvez uma dessas seriam as respostas de alguns desenvolvedores, hoje em dia muitas pessoas atribuem varias variáveis para saber se um código estar bem escrito, não tenho nada contra mas acho que o mais importante as vezes é esquecido...código bem escrito é aquele que um outro desenvolvedor olha e entende com facilidade, é um código que pode ser reaproveitado e faz apenas uma funcionalidade simples e eficaz, temos que olhar para um programa e ver um conjunto de peças trabalhando em harmonia e chegando a um objetivo &lt;st1:personname productid="em comum. Temos" st="on"&gt;em  comum. Temos&lt;/st1:personname&gt; que desenvolver software com um alto nível de abstração, não podemos resolver um grande problema, sem antes dividir esse problema em partes pequenas, para cada novo pequeno problema seja resolvido de uma forma única, especifica facilitando uma solução mais confiável. Temos que enxergar um software como um conjunto de pequenas peças é assim que funciona nas outra engenharias, vejamos um exemplo de um carro ele é formado por pequenas peças, uma simples junta pode dar defeito e comprometer todo o carro.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wbB0qP2p_rc/SRdIIfhq36I/AAAAAAAAABA/JWQ7wqog3IM/s1600-h/carro.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 394px; height: 400px;" src="http://1.bp.blogspot.com/_wbB0qP2p_rc/SRdIIfhq36I/AAAAAAAAABA/JWQ7wqog3IM/s400/carro.JPG" alt="" id="BLOGGER_PHOTO_ID_5266757599971958690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;Temos que trabalhar com métodos pequenos de fácil compreensão facilitando assim seu teste e aumentando as chances de ser reaproveitado. Qualidade acima de tudo, se todas as pequenas peças de um sistema forem bem feitas o sistema todo será bem feito.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-2832608218042213024?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/2832608218042213024/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=2832608218042213024' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/2832608218042213024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/2832608218042213024'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2008/11/codigo-bem-escrito.html' title='Codigo bem escrito'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_wbB0qP2p_rc/SRdIIfhq36I/AAAAAAAAABA/JWQ7wqog3IM/s72-c/carro.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-3855644965509055552</id><published>2008-11-05T18:24:00.000-08:00</published><updated>2008-11-05T18:25:12.908-08:00</updated><title type='text'>Mundo Google</title><content type='html'>Para quem gosta do google ai vai algumas funcionalidades...&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.google.com/intl/zh-cn/webmasters/addfeed.html" rel="externo"&gt;&lt;strong&gt;Add to Google&lt;/strong&gt;&lt;/a&gt;. Permite aos editores de sites criarem botões customizados “Add to Google” para a inclusão do seu RSS - feeds - nas páginas personalizadas do Google (Reader ou Homepage), a partir do próprio site do editor. Veja o exemplo na barra lateral desse site no box “Feed-se”. A ferramenta gera um código HTML que deve ser colado no site do editor. Dessa forma seus usuários poderão incluir seu RSS em um clique. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.blogger.com" rel="externo"&gt;&lt;strong&gt;Blogger&lt;/strong&gt;&lt;/a&gt; é a ferramenta de blog, muito popular por ser um serviço gratuito e de fácil utilização para usuário leigos ou iniciantes. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.froogle.com/" rel="externo"&gt;&lt;strong&gt;Froogle&lt;/strong&gt;&lt;/a&gt; é uma ferramenta de busca que funciona para procurar o menor preço de algum produto. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.gmail.com/" rel="externo"&gt;&lt;strong&gt;GMail&lt;/strong&gt;&lt;/a&gt; (ou Google Mail) é o serviço de e-mail gratuíto que oferece mais de 2GB de armazenamento para seu usuário. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.google.com/adsense" rel="externo"&gt;&lt;strong&gt;Google AdSense&lt;/strong&gt;&lt;/a&gt; é o serviço de publicidade contextual, utilizado por milhões de sites, onde editores podem veicular anúncios do AdWords. Também foi lançado o &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.google.com/services/oasu/index.html" rel="externo"&gt;&lt;strong&gt;Onsite Advertiser Sign-Up&lt;/strong&gt;&lt;/a&gt; - em 21 de novembro de 2005 - que permite que anunciantes comprem espaços publicitários em diversos sites a partir do site do Google. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="https://adwords.google.com/" rel="externo"&gt;&lt;strong&gt;Google AdWords&lt;/strong&gt;&lt;/a&gt; é o outro lado do AdSense. Enquanto o AdSense permite aos editores veicularem publicidade, o AdWords permite que anunciantes comprem esse espaço e conectem sua empresa aos sites associados e ao prórpio Google. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.google.com/calendar/" rel="externo"&gt;&lt;strong&gt;Google Agenda&lt;/strong&gt; &lt;/a&gt;, como o próprio nome diz, é a ferramenta para gerenciar compromissos. Com diversas funcionalidades, permite também convidar pessoas para participar dos compromissos agendados. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.google.com/alerts" rel="externo"&gt;&lt;strong&gt;Google Alerts&lt;/strong&gt;&lt;/a&gt; é um alerta via e-mail para buscas que o usuário tenha feito no Google. Muito utilizado para monitorar websites ou notícias. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.google.com/analytics" rel="externo"&gt;&lt;strong&gt;Google Analytics&lt;/strong&gt;&lt;/a&gt; rastreia qualquer site e disponibiliza dados estatísticos ao editor, exibe os dados em Javascript. Excelente ferramenta para webmasters que desejem acompanhar o desempenho de seu site em diversos atributos. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://answers.google.com/" rel="externo"&gt;&lt;strong&gt;Google Answers&lt;/strong&gt;&lt;/a&gt; permite que os usuários publiquem perguntas para outros usuários procurem pelas dúvidas e respondam as questões. Possibilita a criação de negócios a partir de uma dúvida comercial de algum usuário. Não aceita mas perguntas desde dezembro de 2006. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="https://www.google.com/a/?hl=pt_BR" rel="externo"&gt;&lt;strong&gt;Google Apps for Your Domain&lt;/strong&gt;&lt;/a&gt;: pacote de serviços que permite ao usuário hospedar seu site, inserir e-mails, modelar páginas e uma série de outros serviços que facilitam o desenvolvimento de sites para leigos. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://base.google.com/" rel="externo"&gt;&lt;strong&gt;Google Base&lt;/strong&gt;&lt;/a&gt; é uma biblioteca onde todos os usuários podem fazer upload de qualquer tipo de arquivos (ou mídia). Uma tentativa da Google em tornar real o “EPIC” e “Google Grid” mencionados &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.robinsloan.com/epic/" rel="externo"&gt;neste vídeo&lt;/a&gt;. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://blogsearch.google.com/" rel="externo"&gt;&lt;strong&gt;Google Blog Search&lt;/strong&gt;&lt;/a&gt; funciona como a tradicional ferramenta de busca da empresa, contudo efetua as buscas apenas em blogs. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://books.google.com/" rel="externo"&gt;&lt;strong&gt;Google Book Search&lt;/strong&gt;&lt;/a&gt; efetua buscas por livros cadastrados na base de dados da Google. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://catalogs.google.com/" rel="externo"&gt;&lt;strong&gt;Google Catalogs&lt;/strong&gt;&lt;/a&gt; é uma ferramenta de busca para catálogos de entregas por correspondência. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.google.com/help/faq_clicktocall.html" rel="externo"&gt;&lt;strong&gt;Google Click-to-Call&lt;/strong&gt;&lt;/a&gt; permite que o usuário ligue diretamente para um anunciante a partir do resultado da busca ou links patrocinados. A ligação é paga pelo Google e deve ser feita a partir do Google Talk. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://code.google.com/" rel="externo"&gt;&lt;strong&gt;Google Code&lt;/strong&gt;&lt;/a&gt; ferramenta de busca que procura códigos livres - Open Source. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://toolbar.google.com/dc/offerdc.html" rel="externo"&gt;&lt;strong&gt;Google Compute&lt;/strong&gt;&lt;/a&gt; é uma ferramenta integrada ao Google Toolbar e Desktop que trabalha quando o computador esta ocioso. Utilizada para distribuir dados à projetos computacionais como o &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://folding.stanford.edu/" rel="externo"&gt;Folding@Home&lt;/a&gt;. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://deskbar.google.com/" rel="externo"&gt;&lt;strong&gt;Google Deskbar&lt;/strong&gt;&lt;/a&gt;, barra de ferramentas (lateral) do Google que funciona diretamente a partir do desktop (área de trabalho). Permite realizar buscas sem a necessidade de acessar o site e apresenta diversos atalhos, widgets, agregador de feeds, previsão meteorológica e outras facilidades. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://desktop.google.com/" rel="externo"&gt;&lt;strong&gt;Google Desktop&lt;/strong&gt;&lt;/a&gt; ferramenta de busca para buscas internas, dentro da prórpia máquina do usuário. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://dir.google.com/" rel="externo"&gt;&lt;strong&gt;Google Directory&lt;/strong&gt;&lt;/a&gt; permite uma busca por categorias de sites, de forma semelhante ao Yahoo!. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="https://www.google.com/accounts/ServiceLogin?service=writely&amp;amp;passive=true&amp;amp;continue=http%3A%2F%2Fdocs.google.com%2F&amp;amp;ltmpl=WR_tmp_2_lfty&amp;amp;nui=1" rel="externo"&gt;&lt;strong&gt;Google Docs&lt;/strong&gt; &lt;/a&gt;, conjunto de aplicativos similar ao Microsoft Office, mas gratuito e online. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://earth.google.com/" rel="externo"&gt;&lt;strong&gt;Google Earth&lt;/strong&gt;&lt;/a&gt;, aplicação desktop (software) que permite ao usuário navegar pelo mundo detalhadamente através de fotografias de alta resolução. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://finance.google.com/finance" rel="externo"&gt;&lt;strong&gt;Google Finance&lt;/strong&gt;&lt;/a&gt;, ferramenta para usuários que operam no mercado financeiro. Disponibiliza gráficos, cotações, perfil dos administradores de cada empresa, notícias, discussões e até posts de blogs integrados. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.google.com/patents" rel="externo"&gt;&lt;strong&gt;Google Patent Search&lt;/strong&gt;&lt;/a&gt; iniciou em 14/12/2006 a versão beta da nova ferramenta de busca da Google. O sistema permite ao usuário pesquisar mais de 7 milhões de patentes americanas emitidas pelo Departamento americano de Patentes e Marcas Registradas desde o ano de 1790. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://groups.google.com/" rel="externo"&gt;&lt;strong&gt;Google Groups&lt;/strong&gt;&lt;/a&gt;, ferramenta para a criação de grupos de usuários com diversas funcionalidades, como grupo de e-mail, Usenet e outras ações colaborativas com o objetivo de compartilhar assuntos de interesse comum. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.google.com/ig" rel="externo"&gt;&lt;strong&gt;Google Homepage&lt;/strong&gt;&lt;/a&gt; é uma página onde o usuário pode adicionar diversos &lt;em&gt;widgets&lt;/em&gt; como previsão do tempo, notícias, horóscopo, feeds e muitas outras funcionalidades. Funciona como o &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.netvibes.com/" rel="externo"&gt;Netvibes&lt;/a&gt; e o MyYahoo!. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://images.google.com/" rel="externo"&gt;&lt;strong&gt;Google Image Search&lt;/strong&gt;&lt;/a&gt; é o serviço da Google para busca de imagens. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://labs.google.com/" rel="externo"&gt;&lt;strong&gt;Google Labs&lt;/strong&gt;&lt;/a&gt; mostra os projetos nos quais o Google trabalha para futuros lançamentos. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://local.google.com/" rel="externo"&gt;&lt;strong&gt;Google Local&lt;/strong&gt;&lt;/a&gt; combina as informações do Google Maps com informações de negócios locais. Excelente para procurar atividades comerciais em determinadas áreas. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://maps.google.com/" rel="externo"&gt;&lt;strong&gt;Google Maps&lt;/strong&gt;&lt;/a&gt; serviço de mapas que também informa aos motoristas o melhor caminho a seguir para diversas localidades. O serviço está disponível apenas para poucos países mas no futuro poderá abranger qualquer localidade do planeta. O Google Maps também permite que desenvolvedores utilizem a plataforma para desenvolver suas próprias aplicações através de APIs. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.googlestore.com/appliance/category.asp" rel="externo"&gt;&lt;strong&gt;Google Mini&lt;/strong&gt;&lt;/a&gt;: servidor do Google para pequenas, médias e grandes empresas. Possui a ferramenta de busca instalada para 300 mil a 1,5 milhões de documentos. O preço varia de US$ 2.000 à US$ 50.000, com suporte e atualizações grátis por dois anos. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://mobile.google.com/" rel="externo"&gt;&lt;strong&gt;Google Mobile&lt;/strong&gt;&lt;/a&gt;: similar ao Google SMS, mas utiliza a tecnologia WAP. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://google.com/movies" rel="externo"&gt;&lt;strong&gt;Google Movie Showtimes&lt;/strong&gt;&lt;/a&gt; permite que o usuário digite o CEP ou endereço e o sistema encontra cinemas e filmes nas áreas mais próximas. Disponível apenas para os Estados Unidos e o Canadá. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://news.google.com/" rel="externo"&gt;&lt;strong&gt;Google News&lt;/strong&gt;&lt;/a&gt; é um portal de notícias que busca notícias nos principais veículos do mundo. Tudo é feito por um algoritmo e não há interação humana (editorial) com o sistema. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://reader.google.com/" rel="externo"&gt;&lt;strong&gt;Google Reader&lt;/strong&gt;&lt;/a&gt; é um leitor web de RSS, ou agregador. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://labs.google.com/ridefinder" rel="externo"&gt;&lt;strong&gt;Google Ridefinder&lt;/strong&gt;&lt;/a&gt; permite que o usuário localize facilmente pontos de taxi em algumas das maiores cidades americanas. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://scholar.google.com/" rel="externo"&gt;&lt;strong&gt;Google Scholar&lt;/strong&gt;&lt;/a&gt; procura teses, monografias e qualquer tipo de informação acadêmica publicada na web. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.google.com/searchhistory" rel="externo"&gt;&lt;strong&gt;Google Search History&lt;/strong&gt;&lt;/a&gt; é um serviço que registra o histórico de buscas do usuário logado. O usuário pode consultar seu histórico e o Google pode utilizar os históricos para pesquisas demográficas, comerciais e de hábitos do usuário. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://toolbar.google.com/firefox/extensions/sendtophone/index.html" rel="externo"&gt;&lt;strong&gt;Google Send to Phone&lt;/strong&gt;&lt;/a&gt; é um plugin para Firefox que permite o envio de mensagens de texto para celulares via SMS. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="https://www.google.com/webmasters/sitemaps/siteoverview" rel="externo"&gt;&lt;strong&gt;Google Sitemap&lt;/strong&gt;&lt;/a&gt; ajuda a criação de mapa de sites. Muito útil para webmasters verificarem e indexarem seus sites ou observar quais sites estão linkados ao seu. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://sms.google.com/" rel="externo"&gt;&lt;strong&gt;Google SMS&lt;/strong&gt;&lt;/a&gt; permite ao usuário acessar diversos serviços do Google através do celular, a partir de uma mensagem de texto. Disponível apenas nos Estados Unidos. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="https://www.google.com/accounts/ServiceLogin?service=writely&amp;amp;passive=true&amp;amp;continue=http%3A%2F%2Fdocs.google.com%2F&amp;amp;ltmpl=WR_tmp_2_lfty&amp;amp;nui=1" rel="externo"&gt;&lt;strong&gt;Google Spreadsheet &lt;/strong&gt;&lt;/a&gt;, planilha similar ao Microsoft Excel, gratuíto e online. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://googlestore.com/" rel="externo"&gt;&lt;strong&gt;Google Store&lt;/strong&gt;&lt;/a&gt; não é um serviço, mas permite ao usuário comprar diversos objetos de merchandising da Google a partir do seu ponto de venda online. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.google.com/webhp?complete=1&amp;amp;hl=en" rel="externo"&gt;&lt;strong&gt;Google Suggest&lt;/strong&gt;&lt;/a&gt; uma extensão da tradicional ferramenta de busca com um recurso que sugere nomes a partir do que o usuário digita no campo de busca. O usuário pode inserir termos incompletos e o sistema identifica a relevância e “auto-completa” o termo a ser buscado ou sugere um refinamento na busca executada. Também existe um plugin para &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://toolbar.google.com/firefox/extensions/suggest/index.html" rel="externo"&gt;&lt;strong&gt;Firefox&lt;/strong&gt;&lt;/a&gt;. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://talk.google.com/" rel="externo"&gt;&lt;strong&gt;Google Talk&lt;/strong&gt;&lt;/a&gt; é a ferramenta de IM (Instant Message) e VoIP (Voz sobre IP) que roda localmente na máquina do usuário. É necessário ter uma conta no Gmail para utilizar esse software. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://toolbar.google.com/" rel="externo"&gt;&lt;strong&gt;Google Toolbar&lt;/strong&gt;&lt;/a&gt; é uma barra instalada no Internet Explorer ou Firefox que permite buscar diretamente, sem a necessidade de acessar o site. Permite também inserir atalhos e índices do PageRank da página que está sendo acessada entre outras funcionalidades. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.google.com/language_tools" rel="externo"&gt;&lt;strong&gt;Google Language Tools&lt;/strong&gt;&lt;/a&gt; ferramenta de tradução online via web. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://video.google.com/" rel="externo"&gt;&lt;strong&gt;Google Video&lt;/strong&gt;&lt;/a&gt; e &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://upload.video.google.com/" rel="externo"&gt;&lt;strong&gt;Google Video Upload&lt;/strong&gt;&lt;/a&gt;, serviço similar ao YouTube, site para upload e exibição de videos. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://webaccelerator.google.com/" rel="externo"&gt;&lt;strong&gt;Google Web Accelerator&lt;/strong&gt;&lt;/a&gt; supostamente auxilia o acesso mais rápido a sites, contudo ignora algumas normas de segurança e privacidade. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://web.google.com/" rel="externo"&gt;&lt;strong&gt;Google Web Search&lt;/strong&gt;&lt;/a&gt;, ferramenta que originou a indústria Google. Efetua buscas na web e possui funcionalidades como: calculadora, definições de termos, informações de viagem e muitas outras a partir de uma simples busca. Possui também uma &lt;a href="http://www.google.com/advanced_search" rel="externa"&gt;&lt;strong&gt;Busca Avançada&lt;/strong&gt;&lt;/a&gt;, mais precisa, para usuários mais experientes. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.hello.com/" rel="externo"&gt;&lt;strong&gt;Hello&lt;/strong&gt;&lt;/a&gt; é uma pequena ferramenta de IM que opera em conjunto com o Picasa para compartilhar fotos com amigos e família. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.orkut.com/" rel="externo"&gt;&lt;strong&gt;Orkut&lt;/strong&gt;&lt;/a&gt;, site de relacionamento altamente difundido, principlamente no Brasil. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://picasa.google.com/" rel="externo"&gt;&lt;strong&gt;Picasa&lt;/strong&gt;&lt;/a&gt; é um organizador de fotos online. Opera a partir do desktop. &lt;/li&gt;&lt;li&gt; &lt;a title=" (Este link abre uma nova janela!)" target="_blank" href="http://www.youtube.com/" rel="externo"&gt;&lt;strong&gt;YouTube&lt;/strong&gt;&lt;/a&gt;, recentemente adquirido pela Google, é o maior site de armazenamento e exibição de vídeos da internet. &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-3855644965509055552?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/3855644965509055552/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=3855644965509055552' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/3855644965509055552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/3855644965509055552'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2008/11/mundo-google.html' title='Mundo Google'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-3942325317839478936</id><published>2008-10-13T13:34:00.000-07:00</published><updated>2008-10-13T13:39:40.647-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ireport'/><title type='text'>Expressão Booleana no iReport</title><content type='html'>Criar expressões no ireport é um pouco complicado ai vai um exemplo da solução encontrada depois de muita briga...&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;private Date dataQuitacao = new Date();&lt;br /&gt;private boolean atrasado = true;&lt;br /&gt;...&lt;br /&gt;new Boolean($F{atrasado}.booleanValue() == true &amp;amp;&amp;amp; $F{dataQuitacao} == null)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-3942325317839478936?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/3942325317839478936/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=3942325317839478936' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/3942325317839478936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/3942325317839478936'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2008/10/expresso-booleana-no-ireport.html' title='Expressão Booleana no iReport'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-8115038479886237866</id><published>2008-09-17T18:40:00.000-07:00</published><updated>2008-09-17T18:46:47.360-07:00</updated><title type='text'>A festa foi boa!!!</title><content type='html'>O aniversário do CEJUG foi muito bom, palestras de alto nível, muito obrigado pela participação de todos, &lt;a href="http://picasaweb.google.com.br/cafecomtapioca/AniversRioDoCEJUGDe6Anos#"&gt;fotos do evento&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wbB0qP2p_rc/SNGyyNiD17I/AAAAAAAAAAw/Oo0qHxQSlbo/s1600-h/DSC03248.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_wbB0qP2p_rc/SNGyyNiD17I/AAAAAAAAAAw/Oo0qHxQSlbo/s400/DSC03248.jpg" alt="" id="BLOGGER_PHOTO_ID_5247171616559060914" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-8115038479886237866?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/8115038479886237866/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=8115038479886237866' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/8115038479886237866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/8115038479886237866'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2008/09/festa-foi-boa.html' title='A festa foi boa!!!'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_wbB0qP2p_rc/SNGyyNiD17I/AAAAAAAAAAw/Oo0qHxQSlbo/s72-c/DSC03248.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-660911333667982885</id><published>2008-09-08T20:13:00.000-07:00</published><updated>2008-09-08T20:16:47.515-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='refatoração'/><title type='text'>Refatoração</title><content type='html'>Estou lendo no momento o livro "Refatoração: Aperfeiçoando o Projeto de Código Existente" escrito por Martin Fowler, vou postar alguns resumos...&lt;br /&gt;   Martin Fowler e os autores colaboradores fazem uma contribuição inestimável ao desenvolvimento de software orientado a objetos clareando o processo de refatoração. Este livro explica os princípios e as práticas ideais da refatoração,  e mostra quando e onde deve começar a mexer no seu código para melhorá-lo. O livro apresenta um catálogo abragente de  refatorações.&lt;br /&gt;   Refatoração é um processo de alteração de um sistema de software de modo que o comportamento externo  do código não mude, mas que sua estrutura interna seja melhorada. É uma maneira disciplinada de aperfeiçoar o código  que minimiza a chance de introdução de falhas.&lt;br /&gt;    Primeiro passo na refatoração, é preciso criar um sólido conjunto de  testes para aquele trecho de código, é essencial fazer bons testes. Vale a pena gastar tempo que for necessário para a&lt;br /&gt;criação dos testes, porque eles dão a segurança que é preciso para alterar o programa.&lt;br /&gt;"Qualquer tolo consegue escrever código que um computador entenda. Bons programadores escrevem código que humanos possam entender."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-660911333667982885?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/660911333667982885/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=660911333667982885' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/660911333667982885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/660911333667982885'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2008/09/refatorao.html' title='Refatoração'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-3846000511363126789</id><published>2008-09-08T19:51:00.000-07:00</published><updated>2008-09-08T19:52:12.178-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agil'/><title type='text'>Manifesto Ágil</title><content type='html'>Foi assinado em 2001 pelos principais veteranos na área de desenvolvimento de software,&lt;br /&gt;queriam discutir formas de melhorar o desempenho de seus projetos.&lt;br /&gt;Principais conceitos do desenvolvimento ágil:&lt;br /&gt;Indivíduos e interação entre eles mais que processos e ferramentas.&lt;br /&gt;Software em funcionamento mais que documentação abrangente.&lt;br /&gt;Colaboração com o cliente mais que negociação de contratos.&lt;br /&gt;Responder a mudanças mais que seguir um plano.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-3846000511363126789?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/3846000511363126789/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=3846000511363126789' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/3846000511363126789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/3846000511363126789'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2008/09/manifesto-gil.html' title='Manifesto Ágil'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-3046666908591960691</id><published>2008-09-08T19:25:00.000-07:00</published><updated>2008-09-08T19:28:50.265-07:00</updated><title type='text'>Retornando ao blog parte II</title><content type='html'>Pronto a faculdade começou, consegui minha certificação &lt;a href="http://www.sun.com/training/certification/java/scjp.xml"&gt;SCJP&lt;/a&gt; e fiquei em quarto lugar no &lt;a href="http://www.cejug.org/display/cejug/PUJ"&gt;PUJ&lt;/a&gt;&lt;br /&gt;Agora vou postar minhas aventuras com java e um pouco da minha vida...muito obrigado a todos que me apoiam nessa escalada.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-3046666908591960691?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/3046666908591960691/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=3046666908591960691' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/3046666908591960691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/3046666908591960691'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2008/09/retornando-ao-blog-parte-ii.html' title='Retornando ao blog parte II'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4655406163386644645.post-5891118807759669041</id><published>2008-09-08T18:40:00.000-07:00</published><updated>2008-09-08T18:45:08.401-07:00</updated><title type='text'>Aniversário do CEJUG</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://silveiraneto.net/wp-content/uploads/2008/09/aniversario_cejug_banner.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://silveiraneto.net/wp-content/uploads/2008/09/aniversario_cejug_banner.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Este ano o CEJUG completa 6 anos e para comemorar trouxe a Fortaleza, com o apoio da Sun Microsystems e do SouJava, Kohsuke Kawaguchi e Maurício Leal. Para completar essa grande festa, o CEJUG trouxe Bruno Pereira, da Concrete Solutions e Globo.com!&lt;br /&gt;Venha participar dessa grande festa, rever os amigos, conhecer os evangelistas da Sun.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Dia:&lt;/b&gt; 16/09/08&lt;/li&gt;&lt;li&gt;&lt;b&gt;Local:&lt;/b&gt; FA7&lt;/li&gt;&lt;li&gt;&lt;b&gt;Mais informações:&lt;/b&gt; &lt;span class="nobr"&gt;&lt;a href="http://www.cejug.org/pages/viewpage.action?pageId=30900360"&gt;acesse a página do evento &lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4655406163386644645-5891118807759669041?l=franciscobarroso.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://franciscobarroso.blogspot.com/feeds/5891118807759669041/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4655406163386644645&amp;postID=5891118807759669041' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/5891118807759669041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4655406163386644645/posts/default/5891118807759669041'/><link rel='alternate' type='text/html' href='http://franciscobarroso.blogspot.com/2008/09/aniversrio-do-cejug.html' title='Aniversário do CEJUG'/><author><name>Barroso</name><uri>http://www.blogger.com/profile/15471613887807107299</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01259657532937418502'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry></feed>