<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Boaglio.com &#187; Java</title>
	<atom:link href="http://www.boaglio.com/index.php/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.boaglio.com</link>
	<description></description>
	<lastBuildDate>Sun, 20 Jun 2010 21:03:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Por que devo investir no Android ?</title>
		<link>http://www.boaglio.com/index.php/2010/06/20/por-que-devo-investir-no-android/</link>
		<comments>http://www.boaglio.com/index.php/2010/06/20/por-que-devo-investir-no-android/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 18:22:12 +0000</pubDate>
		<dc:creator>Fernando Boaglio</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Goggle]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://www.boaglio.com/?p=559</guid>
		<description><![CDATA[Fui convidado para palestrar sobre o Android na Uninove, e a palestra foi tão interessante que resolvi transformá-la em um post. Com certeza todo mundo conhece a HP, Sun Microsystems, Yahoo! , Eletronic Arts, NVidia, Cisco Systems e a Silicon Graphics, o que pouca gente sabe é que todos os fundadores desses gigantes da informática [...]]]></description>
			<content:encoded><![CDATA[<p>Fui convidado para palestrar sobre o <a href="http://www.boaglio.com/go.php?http://www.android.com" title="(16 hits)">Android</a> na <a href="http://www.boaglio.com/go.php?http://www.uninove.br/" title="(8 hits)">Uninove</a>, e a palestra foi tão interessante que resolvi transformá-la em um post. </p>
<object width="400" height="328"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=android-primeiros-passos-por-fernando-boaglio-100619124040-phpapp02"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=android-primeiros-passos-por-fernando-boaglio-100619124040-phpapp02"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="328"></embed></object>
<p>Com certeza todo mundo conhece a <a href="http://www.boaglio.com/go.php?http://www.hp.com" title="(9 hits)">HP</a>, <a href="http://www.boaglio.com/go.php?http://www.sun.com" title="(4 hits)">Sun Microsystems</a>, <a href="http://www.boaglio.com/go.php?http://www.yahoo.com" title="(8 hits)">Yahoo!</a> , <a href="http://www.boaglio.com/go.php?http://www.ea.com" title="(8 hits)">Eletronic Arts</a>, <a href="http://www.boaglio.com/go.php?http://www.nvidia.com" title="(9 hits)">NVidia</a>, <a href="http://www.boaglio.com/go.php?http://www.cisco.com" title="(9 hits)">Cisco Systems</a> e a <a href="http://www.boaglio.com/go.php?http://www.sgi.com" title="(10 hits)">Silicon Graphics</a>, o que pouca gente sabe é que todos os fundadores desses gigantes da informática vieram da <em>mesma</em> universidade da Califórnia: <a href="http://www.boaglio.com/go.php?http://www.stanford.edu/" title="(14 hits)">Stanford</a>.</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/stanford-companies.png" title="(452 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/stanford-companies.png" alt="" title="stanford-companies" width="600" height="316" class="aligncenter size-full wp-image-572" /></a></p>
<p>Interessante saber que essas maiores fortunas não fizeram MBA, não estudaram na <a href="http://www.boaglio.com/go.php?http://web.mit.edu/" title="(21 hits)">melhor faculdade de TI do mundo</a>, mas ao contrário da maioria, mudaram a história !</p>
<p> <a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/google-guys.jpg" title="(421 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/google-guys.jpg" alt="" title="google-guys" width="400" height="300" class="aligncenter size-full wp-image-573" /></a></p>
<p>Em 1998, dois estudantes de <em>Stanford</em>: <a href="http://www.boaglio.com/go.php?http://en.wikipedia.org/wiki/Sergey_Brin" title="(10 hits)">Sergey Brin</a> e <a href="http://www.boaglio.com/go.php?http://en.wikipedia.org/wiki/Larry_Page" title="(14 hits)">Larry Page</a> começaram um projeto de indexar páginas na Internet, o servidor que eles usavam era esse:</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/023.jpg" title="(383 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/023.jpg" alt="" title="primeiro google server" height="362" class="aligncenter size-full wp-image-574" /></a></p>
<p>Tudo isso para o novo projeto ainda Beta :</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/025.jpg" title="(375 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/025.jpg" alt="" title="Google Beta" width="500" class="aligncenter size-full wp-image-576" /></a></p>
<p>E o resultado é uma empresa com mais de <strong>22 mil funcionários</strong> e um fantástico lucro de <strong>6 bilhões de dólares</strong>:</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/027.jpg" title="(316 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/027.jpg" alt="" title="Googleplex" width="400"  class="aligncenter size-full wp-image-577" /></a></p>
<p>Então a guerra dos serviços de buscas já terminou, e o Google precisava aumentar o seu império, e começou <a href="http://www.boaglio.com/go.php?http://googleworlddomination.com/" title="(16 hits)">o verdadeiro arrastão</a>:</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/arrastao-google.png" title="(292 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/arrastao-google.png" alt="" title="arrastao-google" width="800" height="216" class="aligncenter size-full wp-image-578" /></a></p>
<p>Eu diria que não usar um desses serviços de navegador Web, instant messenger, pacote office , vídeos , livros é inviável para qualquer navegante da Internet. E a coisa não para por aí, temos também um investimento pesado nos dispositivos móveis desde 2005. </p>
<p>Isso aconteceu porque:</p>
<ol>
<li><strong>Sistema operacional Linux </strong>: livre, estável, customizável e rápido!</li>
<li>Mercado dos smartphones crescendo!</li>
<li>Linguagem <strong>Java altamente difundida no mercado e nas universidades</strong>!</li>
<li>Linguagem Java já customizada para dispositivos móveis:  <strong>JME</strong>!</li>
</ol>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/039.jpg" title="(286 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/039.jpg" alt="" title="linux e android" width="440" class="aligncenter size-full wp-image-579" /></a></p>
<p> Havia uma empresa chamada <em>Android Inc</em> que viu esse cenário e tirou, proveito. </p>
<p>O que o Google fez?</p>
<ol>
<li><em>Agosto 2005</em> &#8211; Google <strong>compra</strong> a Android Inc.</li>
<li><em>Fevereiro 2009</em> &#8211; Lançado Android 1.1</li>
<li><em>Abril 2009</em> &#8211; Lançado Android 1.5 (Cupcake)</li>
<li><em>Setembro 2009</em> &#8211; Lançado Android 1.6 (Donut)</li>
<li><em>Outubro 2009</em> &#8211; Lançado Android 2.0/2.1 (Eclair)</li>
<li><em>Maio 2010</em> &#8211;  Lançado Android 2.2 (Froyo)</li>
</ol>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/045.jpg" title="(265 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/045.jpg" alt="" title="Android apps" height="300" class="aligncenter size-full wp-image-580" /></a></p>
<p>E começa o desenvolvimento de aplicativos para Android, e já em dezembro de 2009 passa a marca dos <strong>16.000</strong>!</p>
<p>E como entrar nesse mercado?</p>
<p>Para desenvolver aplicativos para <strong>Android</strong> você precisa somente de:</p>
<ol>
<li>conhecimentos de Java</li>
<li>conhecimentos da API do Android</li>
<li>ter noções de rede, banco de dados, XML </li>
<li>usar as ferramentas adequadas!</li>
<li>ter um aparelho que suporte Android (<strong>optatório</strong>!)</li>
</ol>
<p>Você pode usar o <a href="http://www.boaglio.com/go.php?http://www.eclipse.org" title="(847 hits)">Eclipse</a> junto com a <a href="http://www.boaglio.com/go.php?http://developer.android.com/sdk/" title="(9 hits)">SDK do Android</a> ou baixar o <a href="http://www.boaglio.com/go.php?http://developer.motorola.com/docstools/motodevstudio/" title="(19 hits)">Motodev da Motorola</a> que já vem os dois juntos configurados prontos para usar.</p>
<p>Algo que ajuda muito o aprendizado de aplicativos do Android é você <strong>aprender com os exemplos</strong>. Com dois passos eu crio um aplicativo parecido com o bloco de notas, primeiro eu crio o projeto:</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/bloco-de-notas-android1.png" title="(280 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/bloco-de-notas-android1.png" alt="" title="bloco-de-notas-android1" width="450" class="aligncenter size-full wp-image-583" /></a></p>
<p>E depois eu escolho o exemplo (do combo <em>Samples</em>) e seleciono em qual versão do Android eu vou rodar (escolhi a <em>1.5</em>):</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/bloco-de-notas-android2.png" title="(261 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/bloco-de-notas-android2.png" alt="" title="bloco-de-notas-android2" width="450"  class="aligncenter size-full wp-image-584" /></a></p>
<p>Depois eu rodo a aplicação no emulador atráves do Eclipse mesmo:</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/bloco-de-notas-android3.png" title="(253 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/bloco-de-notas-android3.png" alt="" title="bloco-de-notas-android3" width="450"  class="aligncenter size-full wp-image-585" /></a></p>
<p>E o código gerado fica dentro do projeto para você alterar e aprender com os exemplos existentes:</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/bloco-de-notas-android4.png" title="(216 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/bloco-de-notas-android4-1024x493.png" alt="" title="bloco-de-notas-android4" width="450"  class="aligncenter size-large wp-image-586" /></a></p>
<p>Interessante também é ver os incentivos que o Google cria, como a <em>Android Developer Challenge</em>, que é um campeonato dos melhores aplicativos criados com Android, prêmios em todas as categorias, sendo o melhor deles de 150 mil dólares,  confira <a href="http://www.boaglio.com/go.php?http://code.google.com/android/adc/gallery_winners.html" title="(18 hits)">a lista dos vencedores</a> (e instale os aplicativos, se você puder!).  </p>
<p>Outras empresas como a <a href="http://www.boaglio.com/go.php?http://www.gameloft.com/smartphone-games/" title="(11 hits)">Gameloft</a> faz jogos pagos para <em>Android</em>, outras disponibilizam excelentes opções gratuitas, como o <a href="http://www.boaglio.com/go.php?http://www.superkoboxing2.com/" title="(14 hits)">Super KO Boxing 2</a>:</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/069.jpg" title="(223 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/069.jpg" alt="" title="Super KO Boxing 2" width="320" height="320" class="aligncenter size-full wp-image-587" /></a></p>
<p>Hoje temos também bastante literatura sobre o assunto, se pensarmos que estamos falando de algo que caiu no mercado mesmo ano passado: o <a href="http://www.boaglio.com/go.php?http://www.wrox.com/WileyCDA/WroxTitle/Professional-Android-2-Application-Development.productCd-0470565527.html" title="(15 hits)">Professional Android 2 Application Development</a> e o <a href="http://www.boaglio.com/go.php?http://www.livroandroid.com.br/" title="(17 hits)">Google Android</a> que está em sua segunda edição em português e bem atualizado. </p>
<p>Hoje temos uma nova guerra tecnológica: a dos <strong>tablets</strong>.</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/075.jpg" title="(359 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/075.jpg" alt="" title="tablets war" width="500" height="372" class="aligncenter size-full wp-image-588" /></a></p>
<p>Já está em testes o <em>Goggle tablet</em> que roda em Android, e além dele, outras renomadas empresas como a <em>ASUS</em> também lançaram no mercado os seus tablets baseados no Android.</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/084.jpg" title="(184 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/084.jpg" alt="" title="Google TV" width="133" height="40" class="aligncenter size-full wp-image-589" /></a></p>
<p>E recentemente foi anunciado o <a href=" http://www.google.com/tv/">Google TV</a> , que serão TVs de alta definição (HDTV) rodando Android também!</p>
<p>Além disso, temos o projeto <a href="http://www.boaglio.com/go.php?http://www.arduino.cc/" title="(18 hits)">Arduino</a>, que tem a proposta de oferecer controle remoto de dispositivos com o Android. </p>
<p>A comunidade também está crescendo temos fórums em <a href="http://www.boaglio.com/go.php?http://androidcommunity.com/forums/" title="(33 hits)">inglês</a> e <a href="http://www.boaglio.com/go.php?http://forum.portalandroid.org/ " title="(14 hits)">português</a>, além de bons <a href="http://www.boaglio.com/go.php?http://www.felipesilveira.com.br/desenvolvendo-para-android/ " title="(17 hits)">artigos</a> e <a href="http://www.boaglio.com/go.php?http://livroandroid.blogspot.com/" title="(11 hits)">blogs</a> por aí.</p>
<p>Acho que não é exagero que em 10 anos podemos ter praticamente qualquer dispositivo rodando Android, portanto se deseja conquistar esse mercado, a hora de investir é <strong>agora</strong>!</p>
<p><em>Fernando Boaglio, para a comunidade =)</em></p>
<p><map name='google_ad_map_559_74531d4cc4df7f28'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/559?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_559_74531d4cc4df7f28' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=559&amp;url= http%3A%2F%2Fwww.boaglio.com%2Findex.php%2F2010%2F06%2F20%2Fpor-que-devo-investir-no-android%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.boaglio.com/index.php/2010/06/20/por-que-devo-investir-no-android/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Compartilhar é motivar e aprender</title>
		<link>http://www.boaglio.com/index.php/2010/06/06/compartilhar-e-motivar-e-aprender/</link>
		<comments>http://www.boaglio.com/index.php/2010/06/06/compartilhar-e-motivar-e-aprender/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 15:41:07 +0000</pubDate>
		<dc:creator>Fernando Boaglio</dc:creator>
				<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.boaglio.com/?p=546</guid>
		<description><![CDATA[Nessas últimas semanas adotamos uma prática interessante na empresa, e muito importante, principalmente se sua empresa possui uma equipe mista, com analistas programadores seniores, plenos e juniores. Em se tratando de Java, muita gente começou com Head First Java, depois foi para o Effective Java, mas nem todos leram o Design Patterns: Elements of Reusable [...]]]></description>
			<content:encoded><![CDATA[<p>Nessas últimas semanas adotamos uma prática interessante na empresa, e muito importante, principalmente se sua empresa possui uma equipe mista, com analistas programadores seniores, plenos e juniores. </p>
<p>Em se tratando de Java, muita gente começou com <a href="http://www.boaglio.com/go.php?http://www.boaglio.com/index.php/2007/07/23/head-first-java-resumindo-os-conceitos/" title="(10 hits)">Head First Java</a>, depois foi para o <a href="http://www.boaglio.com/go.php?http://www.boaglio.com/index.php/2007/10/01/effective-java-depois-de-6-anos/" title="(402 hits)">Effective Java</a>, mas nem todos leram o <a href="http://www.boaglio.com/go.php?http://en.wikipedia.org/wiki/Design_Patterns_%28book%29" title="(12 hits)">Design Patterns: Elements of Reusable Object-Oriented Software</a>. </p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/aula-singleton1.jpg" title="(192 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/aula-singleton1-225x300.jpg" alt="" title="aula-singleton1" width="225" height="300" class="aligncenter size-medium wp-image-548" /></a><br />
<script type="text/javascript">google_ad_client = "pub-3816383189082763";google_ad_slot = "0931072200";google_ad_width = 468;google_ad_height = 60;</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
<p>O que fizemos foi simplesmente dividir todos os 23 padrões em apresentações<em> individuais e semanais</em>, onde cada membro da equipe ( independente se é senior ou não , se conhece o padrão ou não)  apresenta o padrão em meia hora. Ninguém escolheu o que iria apresentar, foi tudo por sorteio. O dia e o horário foi escolhido em comum acordo com todos os interessados: toda terça meia hora antes de começar o trabalho.</p>
<p>O jeito de apresentar é livre, pode montar uma apresentação, levar um livro, mostrar exemplos práticos, fazer a dança do ventre, qualquer coisa! </p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/aula-singleton2.jpg" title="(171 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/aula-singleton2-225x300.jpg" alt="" title="aula-singleton2" width="225" height="300" class="aligncenter size-medium wp-image-549" /></a></p>
<p>Depois de cada apresentação, sempre fazemos duas coisas valiosíssimas que não é em livro que se encontra isso:  </p>
<ol>
<li><strong>comparação com outros padrões semelhantes já apresentados</strong> &#8211; no nosso caso primeiro se falou sobre <a href="http://www.boaglio.com/go.php?http://en.wikipedia.org/wiki/Singleton_pattern" title="(4 hits)">Singleton</a> e <a href="http://www.boaglio.com/go.php?http://en.wikipedia.org/wiki/Prototype_pattern" title="(4 hits)">Prototype</a>, ambos são padrões de criação de objetos. Na apresentação do <a href="http://www.boaglio.com/go.php?http://en.wikipedia.org/wiki/Builder_pattern" title="(3 hits)">Builder</a>, fazemos uma comparação com o Singleton e com o Prototype, quando se usar cada um deles.</li>
<li><strong>uso do padrão apresentado em projetos</strong> &#8211; além do projeto atual, pelo menos uma pessoa da equipe já usou o padrão apresentado em algum outro projeto em outra empresa. As diferentes experiências de uso do mesmo padrão facilitam muito o entendimento de quem está vendo pela primeira vez.</li>
</ol>
<p>Quando eu tive que apresentar o Singleton, eu preferi sair do método convencional de treinamento e comecei direto do prático, sem nem passar pela teoria. </p>
<p>Eu acho que o melhor jeito de se aprender uma boa prática é fazer a maneira trabalhosa primeiro, e depois com algumas sugestões chegar na solução final com o resultado esperado. Mostrar o jeito certo logo de cara não fica muito claro o que se ganha no código. </p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/aula-singleton3.jpg" title="(180 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/aula-singleton3-225x300.jpg" alt="" title="aula-singleton3" width="225" height="300" class="aligncenter size-medium wp-image-550" /></a></p>
<p>Além disso, ficaram todas as pessoas que não conheciam o padrão no mesmo computador tentando resolver o problema.</p>
<p>O resultado foi excelente, o pessoal aprendeu bem e os que já sabiam trocaram preciosas experiências!</p>
<p><a href="http://www.boaglio.com/go.php?http://www.boaglio.com/wp-content/uploads/2010/06/aula-singleton4.jpg" title="(138 hits)"><img src="http://www.boaglio.com/wp-content/uploads/2010/06/aula-singleton4-225x300.jpg" alt="" title="aula-singleton4" width="225" height="300" class="aligncenter size-medium wp-image-551" /></a></p>
<p><strong>Coloque isso em prática  na sua empresa! </strong></p>
<p>Use o princípio<strong> &#8220;entendeu? então explica!&#8221;</strong> para ensinar, motivar e aprender com a sua equipe!</p>
<p><em>Fernando Boaglio, para a comunidade. </em></p>
<p><map name='google_ad_map_546_74531d4cc4df7f28'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/546?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_546_74531d4cc4df7f28' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=546&amp;url= http%3A%2F%2Fwww.boaglio.com%2Findex.php%2F2010%2F06%2F06%2Fcompartilhar-e-motivar-e-aprender%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.boaglio.com/index.php/2010/06/06/compartilhar-e-motivar-e-aprender/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Latinoware 2009 &#8211; da Guatemala ao Chile</title>
		<link>http://www.boaglio.com/index.php/2009/10/20/latinoware-2009-da-guatemala-ao-chile/</link>
		<comments>http://www.boaglio.com/index.php/2009/10/20/latinoware-2009-da-guatemala-ao-chile/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 21:22:18 +0000</pubDate>
		<dc:creator>Fernando Boaglio</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.boaglio.com/?p=330</guid>
		<description><![CDATA[Antes que você diga latino-o-quê, vou tentar resumir o que é o evento. Com o objetivo de compilar as novidades mundiais sobre Software Livre e reunir os principais profissionais da área, os Governos Federal (Itaipu) e Estadual (CELEPAR) idealizaram em Foz do Iguaçu a realização a Conferência Latino Americana de Software Livre. google_ad_client = "pub-3816383189082763";google_ad_slot [...]]]></description>
			<content:encoded><![CDATA[<p>Antes que você diga <em>latino-o-quê</em>, vou tentar resumir o que é o evento.</p>
<p> Com o objetivo de compilar as novidades mundiais sobre Software Livre e reunir os principais profissionais da área, os Governos Federal (<a href="http://www.boaglio.com/go.php?http://pt.wikipedia.org/wiki/Usina_Hidrel%C3%A9trica_de_Itaipu" title="(87 hits)">Itaipu</a>) e Estadual (<a href="http://www.boaglio.com/go.php?http://www.celepar.pr.gov.br/" title="(68 hits)">CELEPAR</a>) idealizaram em <a href="http://www.boaglio.com/go.php?http://pt.wikipedia.org/wiki/Foz_do_Igua%C3%A7u" title="(88 hits)">Foz do Iguaçu</a> a realização a Conferência Latino Americana de Software Livre. </p>
<p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/Itaipu_Binacional_Logo.svg/200px-Itaipu_Binacional_Logo.svg.png" alt="Itaipu" /><br />
<script type="text/javascript">google_ad_client = "pub-3816383189082763";google_ad_slot = "0931072200";google_ad_width = 468;google_ad_height = 60;</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
<p>A idéia é demonstrar as tendências, novidades, discussões e a geração de negócios em Software Livre.</p>
<p>É um evento que existe <a href="http://www.boaglio.com/go.php?http://web.archive.org/web/20040814205041/http://www.latinoware.org/" title="(70 hits)">desde 2004</a> e a cada ano bate recorde de inscrições, esse ano chegaram nos quatro mil participantes.</p>
<p>Então chega a dúvida:<em> há, mas esse é mais um FISL, mais meio genérico&#8230;</em></p>
<p>Claro que não!</p>
<p>Primeiro que ele é totalmente focado para o software livro latino, e não mundial.<br />
Teremos palestrantes do Uruguai, Peru, Brasil , Argentina, Paraguai e Guatemala. Claro, teremos americanos, canadenses também, mas o foco principal é a América do Sul mesmo. </p>
<p>Além disso , temos também <a href="http://www.boaglio.com/go.php?http://latinoware.org/node/76" title="(82 hits)">Concurso de Jogos em Software Livre</a>, a <a href="http://www.boaglio.com/go.php?http://latinoware.org/node/46" title="(71 hits)">III Olimpíada de Robótica</a> e mais de 20 <a href="http://www.boaglio.com/go.php?http://latinoware.org/node/41" title="(74 hits)">minicursos</a>!</p>
<p><img src="http://upload.wikimedia.org/wikipedia/en/thumb/7/75/Qt-logo.svg/100px-Qt-logo.svg.png" alt="Qt" /></p>
<p>Se vocês gostam do <a href="http://www.boaglio.com/go.php?http://www.kde.org" title="(158 hits)">KDE</a> e querem desenvolver aplicações com a bonita interface que ele oferece, façam o minicurso <strong>Introdução ao Desenvolvimento com Qt</strong> e <strong>Desenvolvendo Aplicações KDE 4</strong>, com a dupla dinâmica <em>Sandro e Tomaz</em> que farão do treinamento algo <strong>inesquecível</strong> (pode ter até um show de sapateado no meio do curso) ! </p>
<p>Fernando Boaglio, para a comunidade. =)</p>
<p><map name='google_ad_map_330_74531d4cc4df7f28'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/330?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_330_74531d4cc4df7f28' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=330&amp;url= http%3A%2F%2Fwww.boaglio.com%2Findex.php%2F2009%2F10%2F20%2Flatinoware-2009-da-guatemala-ao-chile%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.boaglio.com/index.php/2009/10/20/latinoware-2009-da-guatemala-ao-chile/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Descobrindo o SQL gerado pela sua aplicação</title>
		<link>http://www.boaglio.com/index.php/2009/08/06/descobrindo-o-sql-gerado-pela-sua-aplicacao/</link>
		<comments>http://www.boaglio.com/index.php/2009/08/06/descobrindo-o-sql-gerado-pela-sua-aplicacao/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 04:47:22 +0000</pubDate>
		<dc:creator>Fernando Boaglio</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.boaglio.com/?p=208</guid>
		<description><![CDATA[Quando trabalhamos com frameworks como Hibernate que geram o comando SQL pra gente, temos uma idéia do que ele faz. Entretanto, quando se usa muitas composições com o o FetchType EAGER, a coisa começa a complicar. Durante o desenvolvimento, temos ferramentas como o Hibernate Tools que podemos ver o SQL gerado, mas o verdadeiro problema [...]]]></description>
			<content:encoded><![CDATA[<p>Quando trabalhamos com frameworks como <em>Hibernate</em> que geram o comando SQL pra gente, temos uma idéia do que ele faz. Entretanto, quando se usa muitas composições com o o FetchType EAGER, a coisa começa a complicar. </p>
<p>Durante o desenvolvimento, temos ferramentas como o <a href="http://www.boaglio.com/go.php?https://www.hibernate.org/255.html" title="(131 hits)">Hibernate Tools</a> que podemos ver o SQL gerado, mas o verdadeiro problema é em ambiente de produção.</p>
<p><img src="https://www.hibernate.org/hib_images/tools/screen2.gif" alt="Hibernate Tools" /><br />
<!--adsense#bannertextomeio--></p>
<p>Vamos analisar o seguinte método abaixo e seus SQLs gerados:</p>
<pre class="brush: bash;">
	public List&lt;Evento&gt; listaMeusEventos() {
		Criteria crit = this.session.createCriteria(Evento.class);
		crit.add(Restrictions.gt(&quot;data&quot;, new GregorianCalendar()));
		crit.addOrder(Order.asc(&quot;data&quot;));
		return crit.list();
	}
 </pre>
<p>Se você usa Hibernate e <a href="http://www.boaglio.com/go.php?http://logging.apache.org/log4j/" title="(55 hits)">log4j</a>, a solução é muito fácil, basta configurar duas opções:</p>
<pre class="brush: bash;">
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE
 </pre>
<p>E na configuração do hibernate.cfg.xml adicionar essas opções:</p>
<pre class="brush: bash;">
	&lt;property name=&quot;show_sql&quot;&gt;true&lt;/property&gt;
	&lt;property name=&quot;format_sql&quot;&gt;true&lt;/property&gt;
 </pre>
<p>Você terá no seu log um resultado parecido com esse:</p>
<pre class="brush: bash;">
Hibernate:                                                                                                                                                                                                                             

select                                                                                                                                                                this_.id as id5_0_,
        this_.data as data5_0_,
        this_.lugar_id as lugar6_5_0_,
        this_.nome as nome5_0_,
        this_.obs as obs5_0_,
        this_.pessoa_id as pessoa7_5_0_,
        this_.tipo as tipo5_0_
from                                                                                                                                                                 EVENTOS  this_
where                                                                                                                                                            this_.data&gt;?
order by
        this_.data asc         

2009-08-06 22:56:13,504 DEBUG hibernate.jdbc.AbstractBatcher  -&gt; preparing statement
2009-08-06 22:56:13,504 DEBUG hibernate.type.CalendarDateType  -&gt; binding '06 Agosto 2009' to parameter: 1
 </pre>
<p><img src="http://cache0.techcrunch.com/wp-content/uploads/2009/05/spy-vs-spy_tofu_prv_2.png" alt="Spy" /></p>
<p>Mas se você não usa Hibernate, uma opção bem interessante é o <a href="http://www.boaglio.com/go.php?http://www.p6spy.com" title="(83 hits)">P6Spy</a>. </p>
<p>A idéia é que sua aplicação se conecte com ele, e depois ele se conecta ao seu banco de dados. Com isso, ele tem precisamente todos os SQLs que chegam lá.</p>
<p><strong><br />
[ Sua aplicação manda um SQL ]<br />
       =><br />
[ P6Spy escreve seu SQL em um log ]<br />
       =><br />
 [ manda o SQL para o seu banco de Dados ]<br />
</strong></p>
<p>A instalação dele é bem simples, ele tem uma biblioteca e um arquivo de propriedades.</p>
<p>O seu uso é bem simples, conforme exemplificado <a href="http://www.boaglio.com/go.php?http://www.mkyong.com/hibernate/how-to-display-hibernate-sql-parameter-values-solution/" title="(72 hits)">nesse blog</a>:</p>
<p>1 &#8211; Baixe o arquivo <a href="http://www.boaglio.com/go.php?http://sourceforge.net/projects/p6spy/files/" title="(41 hits)">p6spy-install.jar</a></p>
<p>2 &#8211; Edite o arquivo de propriedades apontando para o seu banco de dados e outras opções, como o caminho do arquivo <em>spy.log</em> </p>
<p>3 &#8211; Copie o arquivo de propriedades e a biblioteca para o CLASSPATH de sua aplicação </p>
<p>Se você usar <em>Maven2</em> nos seus projetos, ao invés de copiar a biblioteca, basta adicionar a dependência:</p>
<pre class="brush: bash;">
    &lt;dependency&gt;
    	&lt;groupId&gt;p6spy&lt;/groupId&gt;
    	&lt;artifactId&gt;p6spy&lt;/artifactId&gt;
    	&lt;version&gt;1.3&lt;/version&gt;
    &lt;/dependency&gt;
</pre>
<p>4 &#8211; Faça a sua aplicação apontar para o <strong>Spy</strong>. No caso do Hibernate, mude o driver JDBC para o driver do Spy: </p>
<pre class="brush: bash;">
&lt;property name=&quot;connection.driver_class&quot;&gt;com.p6spy.engine.spy.P6SpyDriver&lt;/property&gt;
</pre>
<p>A mesma query que o Hibernate exibiu anteriormente é exibida dessa maneira:</p>
<pre class="brush: bash;">
1249687673908|-1||resultset|select this_.id as id5_0_, this_.data as data5_0_, this_.lugar_id as lugar6_5_0_, this_.nome as nome5_0_, this_.obs as obs5_0_, this_.pessoa_id as pessoa7_5_0_, this_.tipo as tipo5_0_ from EVENTOS this_ where this_.data&gt;'2009-08-07' order by this_.data asc limit 10|nome5_0_ = Retorno para consulta, obs5_0_ = 16:30h
1249687673910|0|4|rollback||
</pre>
<p>No caso de você usar o MySQL , existe <a href="http://www.boaglio.com/go.php?http://www.howtogeek.com/howto/database/monitor-all-sql-queries-in-mysql/" title="(60 hits)">uma maneira bem mais fácil e prática de monitorar os seus SQLs</a>, basta apenas acessar o arquivo de configuração do MySQL (<em>my.ini </em>em Windows / <em>my.cnf</em> em Linux) e tirar o comentário da linha:</p>
<pre class="brush: bash;">
log = /tmp/mysqld.sql
</pre>
<p>Reinicie o banco de dados e acesse o arquivo <em>mysqld.sql</em> para acompanhar os SQLs gerados.<br />
O mesmo comando anteriormente exibido no log do Spy é exibido aqui dessa maneira:</p>
<pre class="brush: bash;">
090807 20:39:20   16839 Query       SET autocommit=0
                  16839 Query       select this_.id as id5_0_, this_.data as data5_0_, this_.lugar_id as lugar6_5_0_, this_.nome as nome5_0_, this_.obs as obs5_0_, this_.pessoa_id as pessoa7_5_0_, this_.tipo as tipo5_0_ from EVENTOS this_ where this_.data&gt;'2009-08-07' order by this_.data asc limit 10
                  16839 Query       rollback
                  16839 Query       SET autocommit=1
</pre>
<p>Pronto, agora ficou mais fácil de identificar os SQLs problemáticos da aplicação.</p>
<p>Boa sorte nos seus logs! </p>
<p>Fernando Boaglio, para a comunidade. =)</p>
<p><map name='google_ad_map_208_74531d4cc4df7f28'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/208?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_208_74531d4cc4df7f28' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=208&amp;url= http%3A%2F%2Fwww.boaglio.com%2Findex.php%2F2009%2F08%2F06%2Fdescobrindo-o-sql-gerado-pela-sua-aplicacao%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.boaglio.com/index.php/2009/08/06/descobrindo-o-sql-gerado-pela-sua-aplicacao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Wave, o email de primeiro mundo!</title>
		<link>http://www.boaglio.com/index.php/2009/07/05/google-wave-o-email-de-primeiro-mundo/</link>
		<comments>http://www.boaglio.com/index.php/2009/07/05/google-wave-o-email-de-primeiro-mundo/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 06:41:28 +0000</pubDate>
		<dc:creator>Fernando Boaglio</dc:creator>
				<category><![CDATA[Goggle]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://www.boaglio.com/?p=270</guid>
		<description><![CDATA[Se você acompanhou a evolução tecnológica nesses últimos meses, com certeza deve ter ouvido falar do novo produto do Google, que tem o seu lançamento previsto para o final do ano: o Google Wave, pois desde maio já tem gente blogando sobre o assunto. Segundo a definição do próprio site, o &#8220;Google Wave é uma [...]]]></description>
			<content:encoded><![CDATA[<p>Se você acompanhou a evolução tecnológica nesses últimos meses, com certeza deve ter ouvido falar do novo produto do Google, que tem o seu lançamento previsto para o final do ano: o <strong>Google Wave</strong>, pois <a href="http://www.boaglio.com/go.php?http://mashable.com/2009/05/28/google-wave-guide/" title="(101 hits)">desde maio já tem gente blogando sobre o assunto</a>.</p>
<p><img src="http://sites.google.com/a/pressatgoogle.com/googlewave/_/rsrc/1243470959526/home/Google_Wave_logo.png" alt="Google Wave Logo" /></p>
<p>Segundo a <a href="http://www.boaglio.com/go.php?http://wave.google.com/help/wave/privacy.html" title="(71 hits)">definição do próprio site</a>, o &#8220;Google Wave é uma aplicação web que permite que você facilmente comunique e colabore com outras pessoas&#8221;.</p>
<p>Para ter uma idéia geral , veja algumas <a href="http://www.boaglio.com/go.php?http://sites.google.com/a/pressatgoogle.com/googlewave/home/screenshots-and-media-5" title="(166 hits)">fotos e vídeos no site improvisado do Google Wave</a>.</p>
<p>A idéia básica é a seguinte: o<a href="http://www.boaglio.com/go.php?http://en.wikipedia.org/wiki/Email" title="(57 hits)"> email que usamos hoje tem mais de quarenta anos</a> e porque é tão famoso? Porque ele é extremamente fácil de usar, por isso se tornou tão popular. </p>
<p>Se o email fosse inventado hoje ele teria que levar muito mais coisa em conta ao invés de um simples sequencia de caracteres: imagens, vídeos, chats, twitters, jogos, etc. </p>
<p>Para a web conseguir esse nível de comunicação tão complexo, foi criado o <a href="http://www.boaglio.com/go.php?http://www.waveprotocol.org/" title="(81 hits)">protocolo Wave</a> , que é uma camada de abstração para interagir com os componentes da &#8220;onda&#8221;. Existe um <a href="http://www.boaglio.com/go.php?http://www.waveprotocol.org/draft-protocol-spec" title="(73 hits)">rascunho desse protocolo</a> que está em constante atualização. </p>
<p><a href="http://sites.google.com/a/pressatgoogle.com/googlewave/_/rsrc/1243492538964/home/googlegram-1/Google_Wave_snapshots_inbox.png"><br />
<img src="http://sites.google.com/a/pressatgoogle.com/googlewave/_/rsrc/1243492538964/home/googlegram-1/Google_Wave_snapshots_inbox.png" alt="Google Wave"  width="400"/></a><br />
<!--adsense#bannertextomeio--></p>
<p>Recentemente, uma integrante da <a href="http://www.boaglio.com/go.php?http://sites.google.com/a/pressatgoogle.com/googlewave/home/meet-the-google-wave-team" title="(87 hits)">equipe do Google Wave</a> veio ao Brasil para o <a href="http://www.boaglio.com/go.php?http://code.google.com/events/developerday/2009/" title="(30 hits)">Google Developer Day</a> mostrar um pouco pra gente.</p>
<p>Apesar da simpatia dos palestrantes, <strong>foi impossível esconder a lentidão do novo site</strong>. Muitos recursos, muita coisa interessante, mas com certeza nós sabemos que por baixo disso tinha muito JavaScript e muito XML trafegando,  pois o Google Wave roda em cima do <a href="http://www.boaglio.com/go.php?http://code.google.com/webtoolkit/" title="(63 hits)">Google Web Toolkit</a>.</p>
<p><img src="http://code.google.com/webtoolkit/images/gwt-logo.png" alt="GWT" /></p>
<p>Além de trocar mensagens, existem vários aplicativos integrados ao <em>Google Wave</em> que processam alguma tarefa no servidor e vão mandando as mensagens. Esses aplicativos são chamados de robos, como o linky (que analisa o texto que você digita e identifica se o link é válido e existe), o spelly ( um sensacional dicionário que analisa a frase conforme o contexto e corrige automaticamente).</p>
<p>Outros recursos interessantes são os de poder facilmente montar uma enquete, jogar xadrez, editar um documento, tudo de maneira colaborativa, com a opção de &#8220;replay&#8221; onde se consegue ver na ordem exata quem fez o que antes. Eu poderia ver, portanto, quem escreveu ou modificou um documento ou quem fez as jogadas no tabuleiro de xadrez.</p>
<p>Existe uma API para <a href="http://www.boaglio.com/go.php?http://code.google.com/apis/wave/extensions/gadgets/guide.html" title="(56 hits)">criarmos os nossos próprios componentes</a>. </p>
<p>Como o <em>Goggle Wave</em> por enquanto está mais para <em>Google Wait</em> de tão lento, não consegui implementar nada, apenas li um pouco de código fonte dos robôs, que podem ser feitos em <em>Python</em> e <em>Java</em>.</p>
<p>Eu sei que tá no começo e não tem muito padrão fechado ainda, mas fiquei meio surpreso em olhar <a href="http://www.boaglio.com/go.php?http://google-wave-resources.googlecode.com/svn/trunk/samples/extensions/robots/java/polly/src/com/google/wave/extensions/polly/" title="(87 hits)">o fonte dessas classes do robô de enquetes</a> e não encontrar uma única interface. Espero que a performance melhore e que eu possa em breve publicar aqui um breve artigo de como fazer um robô.</p>
<p>Curioso dessa novidade? <a href="http://www.boaglio.com/go.php?https://services.google.com/fb/forms/wavesignup/" title="(158 hits)">Vai lá no site e peça o seu usuário</a>!</p>
<p>Infelizmente o Google Wave funciona em internet rápida, coisa só de <em>primeiro mundo</em>, aqui <a href="http://www.boaglio.com/go.php?http://info.abril.com.br/blog/baixadefinicao/20090630_listar.shtml" title="(81 hits)">não temos muita esperança que a nossa situação melhore</a>. </p>
<p>Fernando Boaglio, para a comunidade. =)</p>
<p><map name='google_ad_map_270_74531d4cc4df7f28'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/270?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_270_74531d4cc4df7f28' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=270&amp;url= http%3A%2F%2Fwww.boaglio.com%2Findex.php%2F2009%2F07%2F05%2Fgoogle-wave-o-email-de-primeiro-mundo%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.boaglio.com/index.php/2009/07/05/google-wave-o-email-de-primeiro-mundo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
