<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Jeveaux's Weblog</title>
	
	<link>http://www.jeveaux.com/blog</link>
	<description>Tudo certo e nada resolvido</description>
	<lastBuildDate>Tue, 30 Jun 2009 03:34:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-nc-sa/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/jeveaux" type="application/rss+xml" /><feedburner:emailServiceId>jeveaux</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/jeveaux" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://my.feedlounge.com/external/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://static.feedlounge.com/buttons/subscribe_0.gif">Subscribe with FeedLounge</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fjeveaux" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Usando Working Sets no Eclipse</title>
		<link>http://feedproxy.google.com/~r/jeveaux/~3/12JVvkFruXw/</link>
		<comments>http://www.jeveaux.com/blog/2009/usando-working-sets-no-eclipse/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 03:34:00 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Projetos]]></category>
		<category><![CDATA[WorkingSet]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=821</guid>
		<description><![CDATA[Quem não tem mais de uma workspace do Eclipse que levante a mão. Alguém!? Alguém!? Tenho certeza que todos que trabalham com o Eclipse há algum tempo, por mais organizado que seja já se pegou gerenciando duas, três, quatro ou mais workspaces.
Isso sempre foi um problema pra mim, especialmente pelo modo que o Eclipse gerencia [...]]]></description>
			<content:encoded><![CDATA[<p>Quem não tem mais de uma workspace do Eclipse que levante a mão. Alguém!? Alguém!? Tenho certeza que todos que trabalham com o Eclipse há algum tempo, por mais organizado que seja já se pegou gerenciando duas, três, quatro ou mais workspaces.</p>
<p>Isso sempre foi um problema pra mim, especialmente pelo modo que o Eclipse gerencia suas configurações, que são particulares para cada workspace. Isso é bom, é um modelo legal e funciona super bem. Não era bom pra mim pois eu estava teimando em usar as workspaces de forma errada, então eu sempre tive um sério problema com as configurações, pois elas estavam sempre diferentes entre cada workspace.</p>
<p>Eu sempre tentei separar os projetos por clientes, por área de interesse ou por atividade. Uma workspace de projetos open source, outra do cliente ABC, outra do cliente XPTO, outra de projetos que eu estava estudando o código e assim por diante. Os problemas na hora de trabalhar eram vários, por exemplo: um repositório criado numa workspace era só dela, um atalho configurado na outra ficava só lá, um bookmark também, ou templates de código também. Resumindo, a bagunça ficava gigante e a redundância de configurações então nem se fala.</p>
<p>Então resolvi jogar tudo pra uma workspace só. Problema resolvido!? O das configurações sim, mas de brinde ganhei um novo: performance. Outro hábito não muito bom que eu tenho é o de manter todos os projetos abertos. São tantos projetos (141 atualmente) que só pra abrir o Eclipse demorava muito tempo. Depois, pra abrir/buscar um tipo (CMD+SHFIT+T), por exemplo, demorava de mais para indexar, limpar a workspace então nem pensar. A solução que eu encontrei foram as Working Sets, um recurso que sempre esteve ali presente e eu nunca dei bola.</p>
<p>As Working Sets são grupos de trabalho que podem concentrar um ou mais projetos e funcionam como se fossem várias workspaces. No meu caso as working sets caíram como uma luva para a minha antiga distribuição de workspaces. Ao invés de usar várias workspaces por clientes, agora mantenho uma única workspace com várias working sets, algumas de clientes, outras de estudo, etc. Isso resolveu o meu problema de configurações completamente e com as working sets eu posso escolher em que vou trabalhar num determinado momento e ver somente aqueles projetos, resolvendo também o problema de performance.</p>
<p>E para quem quiser usar as working sets, seguem algumas dicas.</p>
<h3>Ativando a visualização por working sets</h3>
<p>O passo essencial é trocar a visualização de Projetos para Working Sets, isso é bem simples. Veja a imagem a seguir:</p>
<p style="text-align: center;"><a href="http://www.jeveaux.com/blog/wp-content/uploads/2009/06/eclipse_ativar_working_sets.png"><img class="aligncenter size-full wp-image-826" title="eclipse_ativar_working_sets" src="http://www.jeveaux.com/blog/wp-content/uploads/2009/06/eclipse_ativar_working_sets.png" alt="eclipse_ativar_working_sets" width="435" height="275" /></a></p>
<h3>Gerenciando suas working sets</h3>
<p>No próximo passo você deverá criar as suas working sets e associar cada uma delas com os projetos que quiser.</p>
<p style="text-align: center;"><a href="http://www.jeveaux.com/blog/wp-content/uploads/2009/06/eclipse_visualizando_working_sets.png"><img class="aligncenter size-full wp-image-828" title="eclipse_visualizando_working_sets" src="http://www.jeveaux.com/blog/wp-content/uploads/2009/06/eclipse_visualizando_working_sets.png" alt="eclipse_visualizando_working_sets" width="466" height="308" /></a></p>
<p>Crie, modifique ou remova qualquer working set.</p>
<p style="text-align: center;"><a href="http://www.jeveaux.com/blog/wp-content/uploads/2009/06/eclipse_gerenciando_working_sets.png"><img class="aligncenter size-full wp-image-829" title="eclipse_gerenciando_working_sets" src="http://www.jeveaux.com/blog/wp-content/uploads/2009/06/eclipse_gerenciando_working_sets.png" alt="eclipse_gerenciando_working_sets" width="391" height="335" /></a></p>
<p>Trabalho feito, agora basta escolher em qual working set quer trabalhar e pronto, paz e sossego.</p>
<p><a href="http://www.jeveaux.com/blog/wp-content/uploads/2009/06/eclipse_go_into_working_set.png"><img class="aligncenter size-full wp-image-830" title="eclipse_go_into_working_set" src="http://www.jeveaux.com/blog/wp-content/uploads/2009/06/eclipse_go_into_working_set.png" alt="eclipse_go_into_working_set" width="361" height="326" /></a></p>
<p>Lembre-se que você pode optar por fechar ou abrir todos os projetos de uma working set bem como &#8220;ir e voltar&#8221; para qualquer uma delas.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeveaux?a=12JVvkFruXw:JkfRsyCALto:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=12JVvkFruXw:JkfRsyCALto:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=12JVvkFruXw:JkfRsyCALto:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=12JVvkFruXw:JkfRsyCALto:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=12JVvkFruXw:JkfRsyCALto:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=12JVvkFruXw:JkfRsyCALto:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=12JVvkFruXw:JkfRsyCALto:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=12JVvkFruXw:JkfRsyCALto:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeveaux/~4/12JVvkFruXw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jeveaux.com/blog/2009/usando-working-sets-no-eclipse/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://www.jeveaux.com/blog/2009/usando-working-sets-no-eclipse/</feedburner:origLink></item>
		<item>
		<title>Ativando Syntax Highlighting no VIM</title>
		<link>http://feedproxy.google.com/~r/jeveaux/~3/RQWGxtbHqzQ/</link>
		<comments>http://www.jeveaux.com/blog/2009/ativando-syntax-highlighting-no-vim/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 20:54:21 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Syntax Highlighting]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VI]]></category>
		<category><![CDATA[VIM]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=812</guid>
		<description><![CDATA[Recentemente participei de algumas discussões nas listas que participo que abordaram ambiente de desenvolvimento e, consequentemente, editores e IDEs. A escolha do editor ou da IDE é algo completamente particular e extremamente pessoal, e depois que alguém adota alguma ferramenta, não adianta alfinetar ou empalar com uma lança, as opiniões dificilmente mudarão, não importa quais ou [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente participei de algumas discussões nas listas que participo que abordaram ambiente de desenvolvimento e, consequentemente, editores e IDEs. A escolha do editor ou da IDE é algo completamente particular e extremamente pessoal, e depois que alguém adota alguma ferramenta, não adianta alfinetar ou empalar com uma lança, as opiniões dificilmente mudarão, não importa quais ou quantos argumentos forem usados. Até mesmo por isso não quero falar sobre melhor ou pior aqui.</p>
<p>Numa dessas discussões, inevitavelmente começaram a falar sobre o VIM e num determinado momento alguém exclamou que o VIM era tão ruim que nem Syntax Highlighting fazia. Mas oras, é claro que faz. Uma dica rápida.</p>
<h3>1) Ativando Syntax Highlighting manualmente</h3>
<p>Durante a edição de um arquivo, você pode ativar ou desativar a Syntax Highlighting quando quiser. Para ativar:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">:syntax on</pre></div></div>

<p>E para desativar:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">:syntax off</pre></div></div>

<h3>2) Ativando Syntax Highlighting automaticamente</h3>
<p>Se você quiser, pode deixar que o VIM faça isso automaticamente sempre que possível. Pra isso edite o arquivo <em><strong>vimrc</strong></em> e adicione o trecho abaixo. No Linux esse arquivo geralmente fica em <em>/etc/vim/vimrc</em>, enquanto no Mac OS X você o encontrará em <em>/usr/share/vim/vimrc</em>.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> has<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">&quot;syntax&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
  syntax on
endif</pre></div></div>

<p>E é isso. Feche e abra o próprio arquivo <em><strong>vimrc</strong></em> e veja as diferenças. No meu caso ele ficou assim:</p>
<p><a style="text-decoration: none;" href="http://www.jeveaux.com/blog/wp-content/uploads/2009/06/picture-2.png"><img class="aligncenter size-full wp-image-814" title="picture-2" src="http://www.jeveaux.com/blog/wp-content/uploads/2009/06/picture-2.png" alt="picture-2" width="642" height="394" /></a></p>
<p>Os arquivos de syntax ficam no diretório <em>syntax</em> dentro do diretório de instalação do vim, pro caso de você querer mudar alguma coisa.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeveaux?a=RQWGxtbHqzQ:0WJamxOG-Pw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=RQWGxtbHqzQ:0WJamxOG-Pw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=RQWGxtbHqzQ:0WJamxOG-Pw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=RQWGxtbHqzQ:0WJamxOG-Pw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=RQWGxtbHqzQ:0WJamxOG-Pw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=RQWGxtbHqzQ:0WJamxOG-Pw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=RQWGxtbHqzQ:0WJamxOG-Pw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=RQWGxtbHqzQ:0WJamxOG-Pw:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeveaux/~4/RQWGxtbHqzQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jeveaux.com/blog/2009/ativando-syntax-highlighting-no-vim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.jeveaux.com/blog/2009/ativando-syntax-highlighting-no-vim/</feedburner:origLink></item>
		<item>
		<title>Comentários do Falando em Java 09</title>
		<link>http://feedproxy.google.com/~r/jeveaux/~3/o_cPZokZI-8/</link>
		<comments>http://www.jeveaux.com/blog/2009/comentarios-do-falando-em-java-09/#comments</comments>
		<pubDate>Wed, 27 May 2009 01:02:00 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Palestras]]></category>
		<category><![CDATA[Viagens]]></category>
		<category><![CDATA[Caelum]]></category>
		<category><![CDATA[Falando.em.Java]]></category>
		<category><![CDATA[GUJ]]></category>
		<category><![CDATA[PortalJava]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=800</guid>
		<description><![CDATA[Eu também fui! O Falando em Java 2009, foi a terceira edição do evento que é organizado e realizado pela Caelum, em São Paulo. Mais uma vez eu pude marcar presença no evento. Este ano acho que foi o que mais conheci gente, muita gente do twitter e muitos conhecidos que eu pensava que não [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogsearch.google.com/blogsearch?hl=en&amp;ie=UTF-8&amp;q=falando+em+java+eu+fui&amp;btnG=Search+Blogs">Eu também fui</a>! O Falando em Java 2009, foi a terceira edição do evento que é organizado e realizado pela <a href="http://www.caelum.com.br">Caelum</a>, em São Paulo. Mais uma vez eu pude marcar presença no evento. Este ano acho que foi o que mais conheci gente, muita gente do twitter e muitos conhecidos que eu pensava que não existiam de carne e osso, foi bem legal, mesmo. Não vou escrever nomes pois eu tenho certeza que irei esquecer de alguém, mas para todos os que eu conheci pessoalmente, um abraço e prazer em conhece-los.</p>
<p>A abertura do evento foi muito legal, o pessoal da <a href="http://www.caelum.com.br">Caelum</a> mostrou uma série de novidades que eles estão trazendo para o mercado, dentre elas um livro de <a href="http://www.arquiteturajava.com.br/">Arquitetura e Design de Software</a>, curso de TV Digital com Ginga, curso de Flex e muito mais.</p>
<p>Logo depois uma apresentação do <a href="http://jim.webber.name/">Jim Webber</a> titulada &#8220;Guerilha SOA&#8221;, simplesmente fantástica. Além de dominar totalmente o assunto o Jim foi um exímio apresentador, soube brincar nas horas certas sem perder o <em>timing</em> das piadinhas.</p>
<p>O Paulo Silveira e o Rafael Cosentino fizeram uma apresentação sobre O Profissional Java Efetivo. A apresentação foi boa, mas poderia ter sido muito melhor se não tivessem perdido muito tempo nas piadinhas sobre o Nico.</p>
<p>A palestra do Kung e do Anderson foi fantástica, eles mostraram pontos e recursos super importantes da máquina virtual Java e como ela está voltando a ser dinâmica. O Kung falou do início da JVM, quando ela era utilizada para linguagens dinâmicas, explicou como e porque ela ficou tão <em>&#8220;estática&#8221;</em> e como as coisas estão voltando ao que eram, dinâmicas. É claro que ele também mostrou vários benefícios de termos linguagens dinâmicas usufruindo de todos os recursos e qualidades de uma plataforma como Java.</p>
<p>Todas as outras apresentações foram muitos legais, todos os palestrantes estão de parabéns. No geral, a minha opinião sobre o evento é que ele foi muito bom. O único ponto que não foi tão legal foram os excessos de brincadeiras e comparações com o mundo real nas apresentações, o que claramente causou perda de conteúdo útil e importante. Apresentações purpurinadas, apresentadores brincalhões e muita descontração nem sempre caem bem, na verdade são mais difíceis de dar certo e fazerem sucesso do que o conteúdo propriamente dito da apresentação.</p>
<p>Este ano o FJ teve mais de 500 participantes, quase o dobro em relação a última edição. O local do evento também foi outro, muito maior e <span style="text-decoration: line-through;"><em>chique</em></span> moderno. E a organização e palestras, como sempre foram de altíssimo níveis, o FJ mostrou claramente o amadurecimento e crescimento da <a href="http://www.caelum.com.br">Caelum</a> como empresa.</p>
<p>Pra mim estes dias em São Paulo significaram muito mais do que simplesmente o evento. Eu conheci o Paulo Silveira um pouco antes da <a href="http://www.caelum.com.br">Caelum</a> existir, e de certa forma a vi nascendo, crescendo e evoluindo, mesmo que de longe. Pude ver várias fases de perto, até quando os irmãos Silveira davam a primeira aula de cada curso usando terno e gravata =P. Conhecer o novo escritório da Caelum, cheio de amigos e conhecidos da época de ouro do PortalJava e do GUJ, com dezenas (várias dezenas) de <em><span style="text-decoration: line-through;">colaboradores</span></em> pessoas trabalhando juntos, sincronizados, motivados e felizes foi indescritível, fiquei realmente muito feliz. Com certeza é uma empresa e trabalho que nos motiva muito e que servirá de exemplo para nós aqui na <a href="http://www.giran.com.br">Giran</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeveaux?a=o_cPZokZI-8:CnPD9Eo-c7o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=o_cPZokZI-8:CnPD9Eo-c7o:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=o_cPZokZI-8:CnPD9Eo-c7o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=o_cPZokZI-8:CnPD9Eo-c7o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=o_cPZokZI-8:CnPD9Eo-c7o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=o_cPZokZI-8:CnPD9Eo-c7o:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=o_cPZokZI-8:CnPD9Eo-c7o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=o_cPZokZI-8:CnPD9Eo-c7o:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeveaux/~4/o_cPZokZI-8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jeveaux.com/blog/2009/comentarios-do-falando-em-java-09/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.jeveaux.com/blog/2009/comentarios-do-falando-em-java-09/</feedburner:origLink></item>
		<item>
		<title>1º Workshop do PHP-ES</title>
		<link>http://feedproxy.google.com/~r/jeveaux/~3/0B0Trre0qaI/</link>
		<comments>http://www.jeveaux.com/blog/2009/1%c2%ba-workshop-do-php-es/#comments</comments>
		<pubDate>Wed, 13 May 2009 16:37:07 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Giran]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP-ES]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=786</guid>
		<description><![CDATA[Este mês, um final de semana depois do Falando em Java, o pessoal do PHP-ES vai realizar o 1º Workshop PHP do Espírito Santo. O evento será no dia 30 de maio no Anfiteatro da UVV, e é gratuito.

Entre as apresentações teremos: Nadando em Dinheiro com AJAX e jQuery (Reinaldo de Souza “JuniorZ”), Desenvolvimento ágil com [...]]]></description>
			<content:encoded><![CDATA[<p>Este mês, um final de semana depois do <a href="http://www.falandoemjava.com.br">Falando em Java</a>, o pessoal do <a href="http://www.php-espiritosanto.com.br">PHP-ES</a> vai realizar o <a href="http://www.php-espiritosanto.com.br/wp/eventos/workshop-php-es/">1º Workshop PHP do Espírito Santo</a>. O evento será no dia 30 de maio no Anfiteatro da UVV, e é gratuito.</p>
<p><a href="http://www.php-espiritosanto.com.br/wp/eventos/workshop-php-es/"><img class="aligncenter size-full wp-image-788" title="banner_phpes" src="http://www.jeveaux.com/blog/wp-content/uploads/2009/05/banner_phpes.gif" alt="banner_phpes" width="468" height="60" /></a><br />
Entre as apresentações teremos: <strong>Nadando em Dinheiro com AJAX e jQuery</strong> <em>(<a href="http://reinaldojunior.net/">Reinaldo de Souza “JuniorZ”</a>)</em>, <strong>Desenvolvimento ágil com Smarty</strong> <em>(Gerson Novais)</em> e <strong>CakePHP: fazendo o primeiro bolo </strong><em>(</em><em><a href="http://www.leohackin.com.br">Leonardo “Hackin” Freire</a></em><em>)</em>.</p>
<p>Este evento é o primeiro com a participação <em>oficial</em> da <a href="http://www.giran.com.br">Giran</a> como patrocinadora, estamos muito contentes em poder colaborar. E também tem o <span style="text-decoration: line-through;">Raj</span> <a href="http://www.leohackin.com.br">Léo Hackin</a>, sócio da <a href="http://www.giran.com.br">Giran</a> que é um dos palestrantes e organizadores do evento, claro.</p>
<p>Então se você estiver aqui em Vitória não perca esta oportunidade, participe!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeveaux?a=0B0Trre0qaI:kQwRg6QDz0c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=0B0Trre0qaI:kQwRg6QDz0c:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=0B0Trre0qaI:kQwRg6QDz0c:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=0B0Trre0qaI:kQwRg6QDz0c:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=0B0Trre0qaI:kQwRg6QDz0c:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=0B0Trre0qaI:kQwRg6QDz0c:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=0B0Trre0qaI:kQwRg6QDz0c:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=0B0Trre0qaI:kQwRg6QDz0c:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeveaux/~4/0B0Trre0qaI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jeveaux.com/blog/2009/1%c2%ba-workshop-do-php-es/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.jeveaux.com/blog/2009/1%c2%ba-workshop-do-php-es/</feedburner:origLink></item>
		<item>
		<title>Palestra: Testes de Unidade com JUnit</title>
		<link>http://feedproxy.google.com/~r/jeveaux/~3/RNfqP0CQLYY/</link>
		<comments>http://www.jeveaux.com/blog/2009/palestra-testes-de-unidade-com-junit/#comments</comments>
		<pubDate>Sat, 09 May 2009 23:25:42 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[ESJUG]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Palestras]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[JUnit]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=761</guid>
		<description><![CDATA[Hoje tivemos mais um encontro do ESJUG. Desta vez eu fiz uma apresentação sobre Testes de Unidade com JUnit. A idéia principal da apresentação foram os exemplos, mas os slides ficaram legais, por isso estou compartilhando.

Estou preparando os códigos que foram feitos na apresentação junto com outros que foram preparados antes para demonstração. Depois que [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Hoje tivemos mais um encontro do <a href="http://www.esjug.org">ESJUG</a>. Desta vez eu fiz uma apresentação sobre <a href="http://www.slideshare.net/jeveaux/palestra-testes-de-unidade-com-junit">Testes de Unidade com JUnit</a>. A idéia principal da apresentação foram os exemplos, mas os slides ficaram legais, por isso estou compartilhando.</p>
<p style="text-align: center;"><object width="425" height="348"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=palestratestesdeunidadecomjunit-090509111051-phpapp02"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=palestratestesdeunidadecomjunit-090509111051-phpapp02"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="348"></embed></object><!-- ysttest:Array
(
    [id] => 1410167&amp;doc=palestratestesdeunidadecomjunit-090509111051-phpapp02
)
--></p>
<p style="text-align: left;">Estou preparando os códigos que foram feitos na apresentação junto com outros que foram preparados antes para demonstração. Depois que estiver <em>&#8216;organizado&#8217;</em> vou subir para o <a href="http://github.com/jeveaux">github</a> e disponibilizar aqui no blog.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeveaux?a=RNfqP0CQLYY:N5H2uFW-_FQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=RNfqP0CQLYY:N5H2uFW-_FQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=RNfqP0CQLYY:N5H2uFW-_FQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=RNfqP0CQLYY:N5H2uFW-_FQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=RNfqP0CQLYY:N5H2uFW-_FQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=RNfqP0CQLYY:N5H2uFW-_FQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=RNfqP0CQLYY:N5H2uFW-_FQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=RNfqP0CQLYY:N5H2uFW-_FQ:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeveaux/~4/RNfqP0CQLYY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jeveaux.com/blog/2009/palestra-testes-de-unidade-com-junit/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.jeveaux.com/blog/2009/palestra-testes-de-unidade-com-junit/</feedburner:origLink></item>
		<item>
		<title>Estudar é uma obrigação. Evoluir, consequência</title>
		<link>http://feedproxy.google.com/~r/jeveaux/~3/XiB9uEK0idY/</link>
		<comments>http://www.jeveaux.com/blog/2009/estudar-e-uma-obrigacao-evoluir-consequencia/#comments</comments>
		<pubDate>Fri, 08 May 2009 21:20:38 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Carreira]]></category>
		<category><![CDATA[Gerência]]></category>
		<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Estudar]]></category>
		<category><![CDATA[Evolução]]></category>
		<category><![CDATA[Evoluir]]></category>
		<category><![CDATA[Profissional]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=537</guid>
		<description><![CDATA[Eu demorei, mas aprendi que criticar diretamente não é a melhor forma para se cativar as pessoas, ainda estou tentando praticar de forma mais eficaz, é difícil, muito difícil, mas funciona. Contudo, existem situações onde a crítica é inevitável, infelizmente existem e nós precisamos estar sempre preparados para elas &#8211; tanto para criticar quanto para [...]]]></description>
			<content:encoded><![CDATA[<p>Eu demorei, mas <a href="http://en.wikipedia.org/wiki/How_to_Win_Friends_and_Influence_People">aprendi que criticar diretamente não é a melhor forma para se cativar as pessoas</a>, ainda estou tentando praticar de forma mais eficaz, é difícil, muito difícil, mas funciona. Contudo, existem situações onde a crítica é inevitável, infelizmente existem e nós precisamos estar sempre preparados para elas &#8211; tanto para criticar quanto para receber uma crítica. Mas fazer uma crítica sem motivo ou razão e, principalmente, sem um conhecimento sólido que dê credibilidade à esta crítica é, no melhor dos casos, desprezível.</p>
<p>O pior é que ultimamente com tanta mídia gratuita por aí eu tenho notado muita gente se empolgando e embarcando na onda de <em>&#8220;crítico matador&#8221;,</em> e simplesmente querendo fazer o papel do grande sábio e conhecedor de todos os assuntos, criticando a tudo e a todos sem o menor pudor &#8211; e na maioria das vezes, sem a menor autoridade para tal.</p>
<p>Alguns pensam que girando a metralhadora e disparando críticas para todos os lados serão mais respeitados, ou sair logo criticando com todas as forças algo novo e recém lançado é um grande negócio para auto-promoção e até mesmo que a crítica é a melhor forma de <em>&#8220;falar que sabe tudo do assunto&#8221;</em>.</p>
<p>Mas assim como a síndrome do seniorismo, onde muita gente se tornou consultor senior de negócios após 1 ano de estágio, a síndrome do criticismo está se alastrando rapidamente. Hoje em dia todo mundo acha bonito criticar, todo mundo acha bonito fala mal, chamar o código alheio de porcaria (adoraram fazer isso com o twitter, recentemente) e por aí vai. E o pior, o que está alimentando essa nova síndrome é o comportamento da maioria que tem respeitado e tem até sentido uma pontinha de medo de quem adora criticar tanto.</p>
<p>É muito fácil criticar, aliás, qualquer idiota pode criticar, condenar e queixar-se &#8211; e a maioria dos idiotas faz isso. Por vezes é muito mais simples e não requer esforço e nem conhecimento, basta disparar qualquer asneira e pronto. HEI! Pessoal, acordem!</p>
<p>Já do outro lado nem é preciso ser conhecedor do assunto criticado para entender a crítica, afinal, célebres frases como: <em>&#8220;- Odeio o framework X&#8221;</em>, <em>&#8220;- A API de fulano é horrível, deplorável&#8221;</em> e <em>&#8220;- O serviço do João é cheio de bugs&#8221;</em>, são muito fáceis de serem compreendidas e são ótimas para causar uma má interpretação do assunto. Mas eu me pergunto, por que a pessoa odeia o tal framework, será por algum motivo que justifique a crítica ou seria apenas porque antes da síndrome do criticismo esta pessoa já passou pela síndrome do seniorismo e agora além de não saber a ferramenta ainda a crítica. Ou por que a API do fulano de tal é tão ruim, não seria por que a API é REST e o crítico só sabe fazer integrações usando <em>stored procedures</em>? Ou quais seriam os tais bugs no serviço do João, será que existem de fato?</p>
<p>Eu não quero que este post seja visto como uma crítica aos críticos, não é. De certa forma estou usando este espaço e escrevendo sobre isso exatamente aqui no meu blog pois tenho visto que muitos amigos e pessoas próximas que mantenho contato estão sofrendo de tal síndrome do criticismo. E isso é muito mais do que simplesmente chato, é frustrante.</p>
<p>A intenção é dar uma dica: estudem; estudem, <strong>ESTUDEM SEMPRE!</strong> Saibam ser humildes, tenham respeito pelo próximo e aprendam a admirar o trabalhos dos outros. Você será verdadeiramente respeitado e admirado ao dizer <em>&#8220;- Parabéns pela sua implementação, sua idéia para resolver aquele problema foi ótima&#8221;</em> do que criticando sem conhecer por pura falta de vontade e empenho em aprender, criticar de forma irresponsável somente vai trazer respeito e admiração de outros irresponsáveis e alienados.</p>
<p><strong>Um exemplo simples e clássico</strong></p>
<p>Eu estudei por muitos anos (há muito tempo atrás) seguidos e tive cerca de 4 anos de experiência profissional com Struts 1.x e até hoje penso duas vezes antes de formular uma crítica a este velho conhecido e tão calejado framework. Tenho consciência que não sei sobre todos os detalhes do Struts e que posso ter compreendido ou até utilizado de forma errada um ou outro recurso, por isso sempre penso se sou a pessoa mais adequada para aquilo, principalmente quando estou inserido num cenário que sei que a minha opinião, por exemplo, poderá repercutir ou influenciar a opinião de outras pessoas. É preciso ter humildade para reconhecer que não se sabe tudo e responsabilidade para criticar.</p>
<p>Mas mesmo assim eu escuto/leio muita coisa ruim do Struts que vem de pessoas que estão começando a aprender JSF sem nunca ter tido qualquer experiência com outra ferramenta/framework antes, que credibilidade dar a pessoas assim? Que credibilidade dar a uma pessoa que desdenha do código alheio sem nunca te-lo visto?</p>
<p>Responsabilidade, humildade e maturidade devem estar sempre juntas para te ajudar a manter-se em seu lugar e saber quando e como expor a sua opinião.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeveaux?a=XiB9uEK0idY:AnW0N8XsOi4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=XiB9uEK0idY:AnW0N8XsOi4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=XiB9uEK0idY:AnW0N8XsOi4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=XiB9uEK0idY:AnW0N8XsOi4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=XiB9uEK0idY:AnW0N8XsOi4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=XiB9uEK0idY:AnW0N8XsOi4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=XiB9uEK0idY:AnW0N8XsOi4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=XiB9uEK0idY:AnW0N8XsOi4:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeveaux/~4/XiB9uEK0idY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jeveaux.com/blog/2009/estudar-e-uma-obrigacao-evoluir-consequencia/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://www.jeveaux.com/blog/2009/estudar-e-uma-obrigacao-evoluir-consequencia/</feedburner:origLink></item>
		<item>
		<title>Falando em Java 2009: eu vou!</title>
		<link>http://feedproxy.google.com/~r/jeveaux/~3/z0oKmmqkx8s/</link>
		<comments>http://www.jeveaux.com/blog/2009/falando-em-java-2009-eu-vou/#comments</comments>
		<pubDate>Fri, 08 May 2009 14:43:24 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Falando.em.Java]]></category>
		<category><![CDATA[GUJ]]></category>
		<category><![CDATA[PortalJava]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=739</guid>
		<description><![CDATA[Este ano participarei do Falando em Java, promovido pela Caelum em São Paulo. Não participei da primeira edição do FJ &#8211; e me arrependo até hoje por não ter ido. Já a segunda edição, no ano passado, foi sensacional, gostei muito. E para este ano tenho certeza que o evento também será ótimo.
Além das apresentações [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jeveaux.com/blog/wp-content/uploads/2009/05/logo_fj2009.jpg"><img class="alignleft size-full wp-image-740" title="logo_fj2009" src="http://www.jeveaux.com/blog/wp-content/uploads/2009/05/logo_fj2009.jpg" alt="logo_fj2009" width="199" height="102" /></a>Este ano participarei do <a href="http://www.falandoemjava.com.br">Falando em Java</a>, promovido pela <a href="http://www.caelum.com.br">Caelum</a> em São Paulo. Não participei da primeira edição do FJ &#8211; e me arrependo até hoje por não ter ido. Já a segunda edição, no ano passado, foi sensacional, gostei muito. E para este ano tenho certeza que o evento também será ótimo.</p>
<p>Além das apresentações o FJ também é uma excelente oportunidade para rever alguns amigos antigos, fazer novos contatos, conhecer várias figurinhas dos fóruns, twitter e listas.</p>
<p>Desta vez irei com meu sócio o <span style="text-decoration: line-through;">Rajesh Koothrappali</span> <a href="http://www.leohackin.com.br">Leo Hackin</a>. Nos vemos por lá!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeveaux?a=z0oKmmqkx8s:mpF4Bt9IBDs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=z0oKmmqkx8s:mpF4Bt9IBDs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=z0oKmmqkx8s:mpF4Bt9IBDs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=z0oKmmqkx8s:mpF4Bt9IBDs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=z0oKmmqkx8s:mpF4Bt9IBDs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=z0oKmmqkx8s:mpF4Bt9IBDs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=z0oKmmqkx8s:mpF4Bt9IBDs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=z0oKmmqkx8s:mpF4Bt9IBDs:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeveaux/~4/z0oKmmqkx8s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jeveaux.com/blog/2009/falando-em-java-2009-eu-vou/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.jeveaux.com/blog/2009/falando-em-java-2009-eu-vou/</feedburner:origLink></item>
		<item>
		<title>ESJUG: Testes com JUnit, mão na massa</title>
		<link>http://feedproxy.google.com/~r/jeveaux/~3/2EAfaxxQJ4c/</link>
		<comments>http://www.jeveaux.com/blog/2009/esjug-testes-com-junit-mao-na-massa/#comments</comments>
		<pubDate>Tue, 05 May 2009 23:43:30 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[ESJUG]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JUnit]]></category>
		<category><![CDATA[Palestras]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Testes]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=732</guid>
		<description><![CDATA[
Está chegando o próximo encontro do ESJUG. Desta vez o encontro será realizado na UVV &#8211; Vila Velha e eu vou fazer uma apresentação sobre JUnit. Ainda não temos confirmação se será em laboratório ou auditório, mas ao menos &#8216;eu&#8217; farei a parte de mão na massa, mesmo que sozinho   &#8211; brincadeira, não [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Está chegando o próximo encontro do ESJUG. Desta vez o encontro será realizado na UVV &#8211; Vila Velha e eu vou fazer uma apresentação sobre JUnit. Ainda não temos confirmação se será em laboratório ou auditório, mas ao menos &#8216;eu&#8217; farei a parte de mão na massa, mesmo que sozinho <img src='http://www.jeveaux.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  &#8211; brincadeira, não sou tão egoísta assim. A apresentação será bem prática, mesmo que realizada no auditório.</p>
<p>Seguem mais informações:</p>
<ul>
<li><strong>Onde:</strong> UVV <em>(Vila Velha)</em></li>
<li><strong>Sala:</strong> Sala 32, Prédio Rosa</li>
<li><strong>Data:</strong> 09/05/2009 <em>(próximo sábado)</em></li>
<li><strong>Horário:</strong> 09:00h</li>
<li><strong>Tema:</strong> Testes de Unidade com JUnit</li>
<li><strong>Palestrante:</strong> Paulo César M. Jeveaux - <em>ESJUG JUG Leader</em></li>
</ul>
<p>Neste encontro não haverá nenhuma taxa ou cobrança para inscrição, <strong>o evento é completamente gratuito e a inscrição é obrigatória</strong>.</p>
<p><a href="http://www.jugevents.org:80/jugevents/event/16042"><strong>Faça sua inscrição agora!</strong></a></p>
<blockquote><p><strong>Observação importante: </strong>Os alunos da <strong>UVV</strong> e da <strong>Faesa</strong> poderão usar as horas deste encontro para descontar na carga horária de atividades complementares exigidas pelo currículo do curso. Aproveitem!</p></blockquote>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeveaux?a=2EAfaxxQJ4c:2rMf51XyNVk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=2EAfaxxQJ4c:2rMf51XyNVk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=2EAfaxxQJ4c:2rMf51XyNVk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=2EAfaxxQJ4c:2rMf51XyNVk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=2EAfaxxQJ4c:2rMf51XyNVk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=2EAfaxxQJ4c:2rMf51XyNVk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=2EAfaxxQJ4c:2rMf51XyNVk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=2EAfaxxQJ4c:2rMf51XyNVk:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeveaux/~4/2EAfaxxQJ4c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jeveaux.com/blog/2009/esjug-testes-com-junit-mao-na-massa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.jeveaux.com/blog/2009/esjug-testes-com-junit-mao-na-massa/</feedburner:origLink></item>
		<item>
		<title>Apache2 e Tomcat com mod_jk</title>
		<link>http://feedproxy.google.com/~r/jeveaux/~3/pbFjMF2bVxc/</link>
		<comments>http://www.jeveaux.com/blog/2009/apache2-e-tomcat-com-mod_jk/#comments</comments>
		<pubDate>Sun, 03 May 2009 15:43:20 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[App Servers]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Apache2]]></category>
		<category><![CDATA[mod_jk]]></category>
		<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=653</guid>
		<description><![CDATA[Nesses últimos dias trabalhei bastante na administração e configuração de servidores *nix na Giran, revivendo algumas experiências antigas e aprendendo muitas outras novas e estou aproveitando para escrever um pouco sobre elas.
Configurando um servidor de desenvolvimento da Giran as novidades não foram grandes, a maioria das aplicações, serviços e preocupações foram as mesmas de um [...]]]></description>
			<content:encoded><![CDATA[<p>Nesses últimos dias trabalhei bastante na administração e configuração de servidores *nix na <a href="http://www.giran.com.br">Giran</a>, revivendo algumas experiências antigas e aprendendo muitas outras novas e estou aproveitando para escrever um pouco sobre elas.</p>
<p>Configurando um servidor de desenvolvimento da Giran as novidades não foram grandes, a maioria das aplicações, serviços e preocupações foram as mesmas de um ambiente de desenvolvimento local. Já as experiências com a configuração do servidor de produção foram bem mais legais e algumas inéditas. Oracle, MySQL, SVN, Gitorious, <a href="http://www.rubyenterpriseedition.com">Ruby Enterprise Edition</a> + <a href="http://www.modrails.com">Passenger</a> e claro, <a href="http://httpd.apache.org">Apache 2 HTPP Server</a> e <a href="http://tomcat.apache.org">Apache Tomcat</a>.</p>
<p>Por hora vou escrever apenas sobre o <em>mod_jk</em>, que é a integração entre o <a href="http://httpd.apache.org">Apache 2 HTPP Server</a> e o <a href="http://tomcat.apache.org">Apache Tomcat</a>. Eu já tive experiências anteriores com o mod_jk em ambientes de produção, em ambientes com redudância, com tomcat, com jboss e alguns mais, mas ainda não havia passado por uma situação onde eu iniciasse do zero e todas as responsabilidades estivessem comigo, e isso foi ótimo.</p>
<p>Um resumo do ambiente:</p>
<ul>
<li>Ubuntu Server 8.04</li>
<li>Apache 2 HTTP Server 2.2.8</li>
<li>Apache Tomcat 6.0.18</li>
<li>JDK 1.6.0_13</li>
</ul>
<h3>O Apache</h3>
<p>O Apache e o <em>mod_jk</em> foram instalados usando o próprio apt-get, então esta tarefa foi realmente muito fácil:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">jeveaux<span style="color: #000000; font-weight: bold;">@</span>baium ~ $ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> apache2 libapache2-mod-jk</pre></div></div>

<p>Uma série de pacotes e dependências virão junto com os dois pacotes acima, pode confirmar que tudo vai dar certo.</p>
<p>Esta instalação deixará o Apache em <em>/etc/apache2</em>, onde nós teremos (os principais arquivos):</p>
<ul>
<li><strong>httpd.conf</strong> &#8211; Configuração geral do apache.</li>
<li><strong>conf.d</strong> &#8211; Configurações diversas, todos arquivos que estiverem nesse diretório serão carregados como configuração.</li>
<li><strong>mods-available</strong> &#8211; Arquivos de configuração e ativação dos módulos.</li>
<li><strong>mods-enabled</strong> &#8211; Módulos que estão ativados no apache, são links simbólicos para os arquivos do diretório <em>mods-available</em>.</li>
<li><strong>sites-available</strong> &#8211; Arquivos de configuração dos <em>sites (VirtualHost)</em>.</li>
<li><strong>sites-enabled</strong> &#8211; Sites que estão ativados, são links simbólicos para os arquivos do diretório <em>sites-available</em>.</li>
</ul>
<p>No <em>httpd.conf</em> poucas coisas precisam de intervenção, pessoalmente eu gosto muito deste esquema de organização e divisão de configurações utilizada pelo apache. Por exemplo, tudo que estiver no diretório <em>APACHE2_HOME/mods-enabled</em> será carregado automaticamente, primeiro todos os arquivo <em>.load</em>, que geralmente contém o <em>LoadModule</em>, e depois todos os arquivos <em>.conf</em>, que contém as configurações específicas do módulo, desta forma temos vários pares load+conf, um para cada módulo.</p>
<h3>O JDK e o Tomcat</h3>
<p>Apesar do servidor ser Ubuntu, desta vez eu não usei o apt-get. Eu sempre preferi instalar o JDK e algumas outras ferramentas de forma <em>manual</em>, não sei exatamente porque tenho essa mania, mas não consigo fugir.</p>
<p>O que importa é que o <em>JAVA_HOME</em> e o <em>PATH</em> estejam ajustados, se isso estiver correto tanto faz se você instalar usando o apt-get ou não. De qualquer forma, se você optar por usar o apt-get, basta seguir o comando abaixo:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">jeveaux<span style="color: #000000; font-weight: bold;">@</span>baium ~ $ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> sun-java6-jdk tomcat5.5</pre></div></div>

<p>Se não, se você for <span style="text-decoration: line-through;">paranóico</span> como eu, certifique-se de ter configurado o <em>JAVA_HOME</em> e o <em>PATH</em> manualmente no seu <em>.bashrc</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">JAVA_HOME</span>=<span style="color: #000000; font-weight: bold;">/</span>development<span style="color: #000000; font-weight: bold;">/</span>jdk1.6.0_13
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PATH</span>=<span style="color: #007800;">$JAVA_HOME</span><span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #007800;">$PATH</span></pre></div></div>

<h3>O mod_jk</h3>
<p>O mod_jk já foi instalado anteriormente, então só precisamos certificar de que ele esteja ativado.</p>
<blockquote><p>Caso você queira ativar ou desativar um módulo, existem duas maneiras: 1) usar os comandos <em>a2enmod &lt;mod&gt;</em> e <em>a2dismod &lt;mod&gt;</em> ou simplesmente criar ou remover os links simbólicos em <em>APACHE2_HOME/mods-enabled</em>.</p></blockquote>
<h5>1) Configurar os workers</h5>
<p>A instalação foi tão simples que somente um arquivo nos interessa por enquanto: <em>/etc/libapache2-mod-jk/workers.properties</em>. Abaixo apenas as configurações mais importantes e algumas que precisaremos alterar:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">workers.tomcat_home=/development/apache-tomcat-6.0.18
workers.java_home=&lt;span&gt;/&lt;/span&gt;development&lt;span&gt;/&lt;/span&gt;jdk1.6.0_13
worker.list=ajp13_worker
worker.ajp13_worker.<span style="color: #00007f;">port</span>=<span style="color: #ff0000;">8009</span>
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13
worker.ajp13_worker.lbfactor=<span style="color: #ff0000;">1</span></pre></div></div>

<p>No workers.properties temos o mapeamento do tomcat <em>(workers.tomcat_home)</em> e do JDK <em>(workers.java_home)</em>. Há outra propriedade muito importante que é a <em>worker.list</em>, nela definimos todos <em>&#8220;workers&#8221;</em> que teremos. Para um único servidor teremos apenas um <em>worker</em>, mas em ambientes de cluster teremos vários. E temos para cada <em>worker</em> as suas configurações particulares: <em>port</em>, <em>host</em> e <em>type</em>, além de uma em particular, muito importante em ambiente de <em>cluster</em> e <em>load balancer</em>, a <em>lbfactor</em>, que indica a quantidade de trabalho do <em>worker</em> no conjunto, quanto menor o valor, menor o esforço do <em>worker</em>, ou seja, menos requisições serão despachadas para este <em>worker</em>.</p>
<h5>2) Iniciar (ou montar) o JK</h5>
<p>Mais uma vez temos dois caminhos a seguir aqui. Iniciar o JK no site principal ou em algum <em>VirtualHost</em> (sub-domínio) específico. O que vai mudar é onde você vai inserir o código a seguir.</p>
<p>Caso queira colocar o JK no seu site principal, você poderá inserir o código abaixo no seu <em>httpd.conf</em> &#8211; o que eu não recomendo &#8211; ou criar um arquivo <em>jk.conf</em> em <em>APACHE2_HOME/mods-available</em>, depois criar o link simbólico para este arquivo em <em>APACHE2_HOME/mods-enabled</em>.</p>
<p>Mas se você quiser ou precisar usar o JK somente em algum site e/ou sub-domínio específico, insira o código abaixo direto no arquivo do site em <em>APACHE2_HOME/sites-enabled</em>.</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">JkWorkersFile   /etc/libapache2-mod-jk/workers.properties
JkLogFile       /var/log/apache2/mod_jk.log
JkLogLevel      info
JkMount /*.jsp ajp13_worker
JkMount /teste/* ajp13_worker</pre></div></div>

<p>Com essas configurações estamos escolhendo qual arquivo de workers vamos usar <em>(JkWorkerFile)</em>, ou seja, qual o tomcat e JDK. Também definimos o arquivo de log e qual o tipo de log será gravado e, o ponto chave, quando o JK será usado. O <em>JkMount</em> pode ser repetido quantas vezes for preciso e é nele que definiremos todos os padrões de URL quanto forem precisos para que o JK seja usado.</p>
<blockquote><p>É neste momento, configurando o <em>JkMount</em>, que podemos dividir o processamento de recursos dinâmicos (jsp, servlet) para o Tomcat e recursos estáticos para o Apache. Não vou entrar nesse ponto neste artigo, mas fica a dica.</p></blockquote>
<p>Com o trecho acima estamos encaminhando para o tomcat &#8211; através do JK &#8211; tudo que terminar com <em>.jsp</em> ou tudo que estiver após <em>/teste</em>.</p>
<h3>O Deployment</h3>
<p>Aqui tudo correrá como qualquer aplicação Java, sem nenhuma diferença. Chamaremos nossa aplicação Java de <em>&#8220;teste&#8221;</em>. Após o deploy podemos acessa-la como de costume em <em>http://localhost:8080/teste</em>, mas agora com o JK podemos acessar também através da porta 80 (apache) em <em>http://localhost/teste</em>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeveaux?a=pbFjMF2bVxc:VdM3lCix8Uk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=pbFjMF2bVxc:VdM3lCix8Uk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=pbFjMF2bVxc:VdM3lCix8Uk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=pbFjMF2bVxc:VdM3lCix8Uk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=pbFjMF2bVxc:VdM3lCix8Uk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=pbFjMF2bVxc:VdM3lCix8Uk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=pbFjMF2bVxc:VdM3lCix8Uk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=pbFjMF2bVxc:VdM3lCix8Uk:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeveaux/~4/pbFjMF2bVxc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jeveaux.com/blog/2009/apache2-e-tomcat-com-mod_jk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.jeveaux.com/blog/2009/apache2-e-tomcat-com-mod_jk/</feedburner:origLink></item>
		<item>
		<title>Próximo encontro do ESJUG: Introdução ao Java</title>
		<link>http://feedproxy.google.com/~r/jeveaux/~3/CXXY9_vOWrk/</link>
		<comments>http://www.jeveaux.com/blog/2009/proximo-encontro-do-esjug-introducao-ao-java/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 01:50:18 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[ESJUG]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Palestras]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=645</guid>
		<description><![CDATA[
Está chegando o próximo encontro do ESJUG. Desta vez o encontro será realizado na Faesa (Campus I). Seguem mais informações:

Onde: FAESA (Av Vitória)
Sala: Sala 9, bloco 4
Data: 18/04/2009 (próximo sábado)
Horário: 09:00h
Tema: Tutorial de Java Básico
Palestrante: Roberto Vezzoni

Neste encontro não haverá nenhuma taxa ou cobrança para inscrição, o evento é completamente gratuito.
Faça sua inscrição agora!
Observação importante: Os alunos da UVV [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Está chegando o próximo encontro do ESJUG. Desta vez o encontro será realizado na Faesa (Campus I). Seguem mais informações:</p>
<ul>
<li><strong>Onde</strong>: <a href="http://www.faesa.br/">FAESA</a> <em>(Av Vitória)</em></li>
<li><strong>Sala</strong>: Sala 9, bloco 4</li>
<li><strong>Data</strong>: 18/04/2009 <em>(próximo sábado)</em></li>
<li><strong>Horário</strong>: 09:00h</li>
<li><strong>Tema</strong>: Tutorial de Java Básico</li>
<li><strong>Palestrante</strong>: Roberto Vezzoni</li>
</ul>
<p>Neste encontro não haverá nenhuma taxa ou cobrança para inscrição, o <strong>evento é completamente gratuito</strong>.</p>
<p><a href="http://www.jugevents.org:80/jugevents/event/15580"><strong>Faça sua inscrição agora!</strong></a></p>
<blockquote><p><strong>Observação importante:</strong> Os alunos da <strong>UVV</strong> e da <strong>Faesa</strong> poderão usar as horas deste encontro para descontar na carga horária de atividades complementares exigidas pelo currículo do curso. Aproveitem!</p></blockquote>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeveaux?a=CXXY9_vOWrk:HupSKZXTZYc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=CXXY9_vOWrk:HupSKZXTZYc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/jeveaux?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=CXXY9_vOWrk:HupSKZXTZYc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=CXXY9_vOWrk:HupSKZXTZYc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=CXXY9_vOWrk:HupSKZXTZYc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=CXXY9_vOWrk:HupSKZXTZYc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeveaux?a=CXXY9_vOWrk:HupSKZXTZYc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeveaux?i=CXXY9_vOWrk:HupSKZXTZYc:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeveaux/~4/CXXY9_vOWrk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jeveaux.com/blog/2009/proximo-encontro-do-esjug-introducao-ao-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.jeveaux.com/blog/2009/proximo-encontro-do-esjug-introducao-ao-java/</feedburner:origLink></item>
	</channel>
</rss>
