<?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>DalTux Blog &#187; Java</title>
	<atom:link href="http://blog.daltux.com/assunto/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.daltux.com</link>
	<description>Difusão de Tecnologia e Informação abertas.</description>
	<lastBuildDate>Sun, 05 Feb 2012 08:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>FSF responde ao caso Oracle contra Google e a ameaça das patentes de software</title>
		<link>http://blog.daltux.com/2010/09/fsf-oracle-google-patentes-software/</link>
		<comments>http://blog.daltux.com/2010/09/fsf-oracle-google-patentes-software/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 08:09:31 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[software livre]]></category>

		<guid isPermaLink="false">http://blog.daltux.com/?p=528</guid>
		<description><![CDATA[
por Brett Smith &#8211; última modificação 08/09/2010 12:15
tradução livre por Dalton Scavassa a partir do original no site da FSF

<p>Como deve ter visto em diversos sites de notícias, a Oracle abriu um processo judicial contra a Google, alegando que o Android infringe alguns de seus direitos autorais e patentes relacionados a Java. Muito pouca informação <p><a href="http://blog.daltux.com/2010/09/fsf-oracle-google-patentes-software/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<ul>
<li>por <a href="http://www.fsf.org/author/brett">Brett Smith</a> &#8211; última modificação 08/09/2010 12:15</li>
<li>tradução livre por <a href="http://blog.daltux.com">Dalton Scavassa</a> a partir do <a href="http://www.fsf.org/news/oracle-v-google">original no site da <acronym title="Free Software Foundation">FSF</acronym></a></li>
</ul>
<p><strong>Como deve ter visto em diversos <em>sites</em> de notícias, a Oracle abriu um processo judicial contra a Google, alegando que o Android infringe alguns de seus direitos autorais e patentes relacionados a Java. Muito pouca informação está disponível sobre a alegação de violação de <em>copyright</em> para dizer alguma coisa sobre ela ainda; esperamos aprender mais conforme o caso prossiga. Mas ninguém merece ser a vítima de agressão de patente de software e a Oracle está errada em usar suas patentes para atacar o Android.</strong></p>
<p><strong><span style="font-weight: normal;">Embora tenha demorado mais do que gostaríamos, a Sun Microsystems acabou fazendo a coisa certa à comunidade do software livre quando lançou o Java sob a <acronym title="GNU General Public License">GPL</acronym> em 2006. Recebemos bem esta notícia quando ela foi anunciada; Java há muito tem sido uma linguagem de programação popular e estivemos esperançosos de que a mudança a faria uma linguagem de primeira classe na comunidade de software livre.</span></strong></p>
<p>Agora o processo judicial da Oracle ameaça desfazer todo o bem que foi construído nesses anos. Programadores vão justificadamente se desviar do Java protegendo-se de serem processados por  o utilizarem de alguma forma que a Oracle não goste. Um dos grandes benefícios do software livre é que permite aos programas serem combinados de formas que nenhum dos seus desenvolvedores originais teriam antecipado, para criar algo novo e empolgante. A Oracle está sinalizando ao mundo que pretende limitar a habilidade de todos de fazer isso com Java e isto é injustificável.</p>
<p>Infelizmente, o Google não pareceu particularmente preocupado sobre este problema até que o processo foi protocolado. <a href="http://en.swpat.org/wiki/Google" target="_blank">A empresa ainda não tomou qualquer posição clara ou ação contra patentes de software</a>. E ela poderia ter evitado tudo isto construindo o Android com o <a href="http://www.gnu.org/philosophy/java-trap.html" target="_blank">IcedTea</a>, uma implementação de Java coberta pela GPL baseada no código original da Sun, ao invés de uma implementação independente sob a Licença Apache. A <acronym title="GNU General Public License">GPL</acronym> é desenvolvida para providenciar uma forte defesa contra ataques da Oracle. É triste verificar que o Google aparentemente evitou estas proteções com o propósito de tornar o desenvolvimento de software proprietário mais fácil no Android.</p>
<p>Mas nada disso é desculpa para o comportamento da Oracle. Um agressivo processo de violação de patentes de software é um claro ataque contra a liberdade de alguém de utilizar, compartilhar e redistribuir software &#8212; liberdades que qualquer um deveria ter sempre. A Oracle agora busca tomar estes direitos, não apenas do Google, mas de todos os usuários de Android.</p>
<p>Por fim, resta primeiramente ao Google a decisão sobre como responder; ele é a parte denominada como réu no processo. A <acronym title="Free Software Foundation">FSF</acronym> encoraja o Google a lutar contra as alegações da Oracle e tomar uma posição de princípio contra todas as patentes de software.</p>
<p>Como você pode ajudar:</p>
<ul>
<li>Estamos coletando informações sobre o caso, incluindo informação sobre arte prévia que possa ser utilizada para atacar as patentes na <em><a href="http://en.swpat.org/wiki/Oracle_v._Google_(2010,_USA)" target="_blank">wiki</a></em><a href="http://en.swpat.org/wiki/Oracle_v._Google_(2010,_USA)" target="_blank"> End Software Patents</a>. Isto pode ser útil não apenas para o caso do Google, mas também para outras partes que a Oracle pode processar no futuro. Se você tem novas informações a adicionar àquela página, estaremos felizes de ter sua contribuição.</li>
<li><a href="http://www.bustpatents.com/articles/oracle.htm" target="_blank">A Oracle anteriormente tinha se oposto a patentes de software</a>. Que a empresa agora esteja usando patentes como sua principal arma para atacar os competidores é uma assombrosa reversão daquela posição. Escreva a <a href="mailto:larry.ellison@oracle.com">Larry Ellison</a> e respeitosamente pergunte a ele por que a Oracle está atacando o software livre com patentes de software. Você pode lembrá-lo sobre as declarações que a Oracle fez em 1994, como esta:</li>
</ul>
<blockquote><p>A lei de patentes dá aos inventores um direito exclusivo sobre nova tecnologia em retorno pela publicação da tecnologia. Isto não é apropriado para ramos como o de desenvolvimento de software nos quais as inovações ocorrem rapidamente, podem ser realizadas sem um investimento substancial de capital e tendem a ser combinações criativas de técnicas previamente conhecidas.</p></blockquote>
<p>A Oracle já afirmou que somente pediu patentes de software para propósitos defensivos. Agora as está usando para proativamente atacar software livre. Não é a primeira empresa a fazer essa meia-volta e infelizmente é provável que não seja a última. Hoje o Google alega que precisa de patentes de software para propósitos defensivos, mas a realidade é que os programadores somente estarão a salvo de patentes de software quando todo mundo for forçado a se desarmar. Junte-se à <a href="http://campaigns.fsf.org/cgi-bin/mailman/listinfo/esp-action-alert" target="_blank">lista de correio End Software Patents</a> para se manter atualizado sobre notícias de patentes de software e o que pode fazer para ajudar.</p>
<p>Para mais informações, contate:</p>
<p>Brett Smith<br />
License Compliance Engineer<br />
Free Software Foundation<br />
+1 (617) 542 5942 x18<br />
brett@fsf.org</p>
<p>Este trabalho é licenciado sob <a href="http://creativecommons.org/licenses/by-nd/3.0/">Creative Commons Attribution-No Derivative Works 3.0 license (or later version)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2010/09/fsf-oracle-google-patentes-software/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Chat Client &amp; Server</title>
		<link>http://blog.daltux.com/2009/08/chat-client-server/</link>
		<comments>http://blog.daltux.com/2009/08/chat-client-server/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 07:51:45 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Cesumar]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[produção própria]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[software livre]]></category>
		<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://blog.daltux.com/?p=418</guid>
		<description><![CDATA[<p>Na pós-graduação em Desenvolvimento Orientado a Objetos em Java, fizemos como avaliação de Java SE um servidor de bate-papo e seu respectivo cliente. Creio que seja um clássico exercício para utilização de Threads e Sockets.</p>
  
<p>O projeto, liberado sob a licença GNU General Public License 3.0 (GPLv3), está no Launchpad.</p>
<p>Deseja utilizar ou testar o <p><a href="http://blog.daltux.com/2009/08/chat-client-server/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<p>Na pós-graduação em Desenvolvimento <a href="http://compare.buscape.com.br/categoria?id=3482&#038;lkout=1&#038;kw=programacao+orientada+a+objetos&#038;site_origem=5101810" title="Compare preços de livros sobre programação orientada a objetos no Buscapé">Orientado a Objetos</a> em <a href="http://compare.buscape.com.br/categoria?id=3482&#038;lkout=1&#038;kw=java&#038;site_origem=5101810" title="Compare preços de livros sobre Java no Buscapé">Java</a>, fizemos como avaliação de Java SE um servidor de bate-papo e seu respectivo cliente. Creio que seja um clássico exercício para utilização de <a href="http://compare.buscape.com.br/categoria?id=3482&#038;lkout=1&#038;kw=brian+goetz&#038;site_origem=5101810" title="Livro recomendado sobre Concorrência em Java, de Brian Goetz, no Buscapé">Threads</a> e Sockets.</p>
<div style="width:100%; text-align: center"><a href="http://img44.imageshack.us/i/screenshot001yve.png/" target="_blank"><img src="http://img44.imageshack.us/img44/6003/screenshot001yve.th.png" border="0" alt="screenshot1"  title="O programa em execução com a janela do servidor e uma janela de cliente (GTK) - clique para ampliar" align="center" /></a> <a href="http://img13.imageshack.us/i/redmond.png/" target="_blank"><img src="http://img13.imageshack.us/img13/2516/redmond.th.png" border="0" alt="screenshot2" title="O cliente em execução (Redmond WinXP)" align="center" /></a> <a href="http://img14.imageshack.us/i/screenshot003vcn.png/" target="_blank"><img src="http://img14.imageshack.us/img14/4446/screenshot003vcn.th.png" border="0" alt="screenshot3" title="O cliente em execução (GTK) com a janela de conexão" align="center" /></a></div>
<p>O projeto, liberado sob a licença <a href="http://www.gnu.org/licenses/gpl-3.0.html">GNU General Public License 3.0 (GPLv3)</a>, está no <a href="https://launchpad.net/daltuxchat"><strong>Launchpad</strong></a>.</p>
<p>Deseja utilizar ou testar o <em>chat</em>? Para executar logo o programa, que dá a opção de rodar o servidor e/ou o cliente, abra <strong><a href="http://daltux.com/dalton/download/DalTuxChat.jnlp">este pequeno arquivo</a></strong> com o <a href="http://www.java.com/pt_BR/download/faq/java_webstart.xml">Java Web Start</a>. Se a configuração de sua máquina estiver correta para o Java Web Start, a aplicação deverá ser automaticamente baixada e executada logo. Talvez seja questionado que a assinatura digital do arquivo não pode ser verificada e, nesse caso, basta clicar no botão &#8220;Run&#8221;.</p>
<p>Pode ainda salvar este arquivo <a href="http://daltux.com/dalton/download/DalTuxChat.jnlp">DalTuxChat.jnlp</a> em sua máquina (clique com o botão direito sobre o link e em &#8220;Salvar o destino&#8221; ou algo assim) e executar o programa a partir dele. Esta forma é interessante porque sempre o Java Web Start verifica se existe uma versão mais nova disponível <em>on line</em> e atualiza o programa mas, mesmo se o site estiver indisponível, a aplicação existe localmente e é executada.</p>
<p>Também é possível baixar o arquivo <a href="http://daltux.com/dalton/download/DalTuxChat.jar">DalTuxChat.jar</a> (atualmente 45KB) e executá-lo com <big><tt>java -jar DalTuxChat.jar</tt></big> ou apenas clicando-o duplamente, se seu sistema estiver devidamente configurado associando os arquivos JAR (Java ARchive) com o <a href="http://java.com">Java</a>.</p>
<hr /><img src="http://www.gnu.org/graphics/gplv3-127x51.png" align="right" hspace="10" vspace="5" />DalTuxChat &#8211; Copyright &copy; 2009 Dalton Scavassa</p>
<p>Este programa vem sem ABSOLUTAMENTE NENHUMA GARANTIA; veja detalhes na cláusula n. 15 da <a href="http://www.gnu.org/licenses/gpl-3.0.html">Licença</a>.<br />
Isto é software livre, e você pode redistribuí-lo sob certas condições; veja os detalhes na <a href="http://www.gnu.org/licenses/gpl-3.0.html">Licença</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2009/08/chat-client-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>NetBeans: configurar para língua inglesa</title>
		<link>http://blog.daltux.com/2009/07/netbeans-configurar-para-lingua-inglesa/</link>
		<comments>http://blog.daltux.com/2009/07/netbeans-configurar-para-lingua-inglesa/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 21:33:37 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.daltux.com/?p=405</guid>
		<description><![CDATA[<p>Consegui obter êxito em forçar o NetBeans a utilizar a língua inglesa ao invés da localização obtida do sistema operacional. Para tanto, basta iniciar o programa com o parâmetro --locale en ou então colocar essa opção na variável netbeans_default_options do arquivo etc/netbeans.conf contido no diretório onde o programa está instalado.</p>
<p>Encontrei a dica em http://www.guj.com.br/posts/list/50295.java</p>
<p>Outra dica <p><a href="http://blog.daltux.com/2009/07/netbeans-configurar-para-lingua-inglesa/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<p>Consegui obter êxito em forçar o <a title="Compare preços de livros sobre NetBeans no Buscapé" onclick="javascript:urchinTracker('/outbound/compare.buscape.com.br/categoria?id=3482_038_lkout=1_038_kw=netbeans_038_site_origem=5101810');" href="http://compare.buscape.com.br/categoria?id=3482&amp;lkout=1&amp;kw=netbeans&amp;site_origem=5101810">NetBeans</a> a utilizar a língua inglesa ao invés da localização obtida do <a title="Minhas sugestões de livros sobre sistemas operacionais" onclick="javascript:urchinTracker('/outbound/compare.buscape.com.br/categoria?id=3482_038_lkout=1_038_kw=sistemas+operacionais+modernos_038_site_origem=5101810');" href="http://compare.buscape.com.br/categoria?id=3482&amp;lkout=1&amp;kw=sistemas+operacionais+modernos&amp;site_origem=5101810">sistema operacional</a>. Para tanto, basta iniciar o programa com o parâmetro <big><tt><strong>--locale en</strong></tt></big> ou então colocar essa opção na variável <tt>netbeans_default_options</tt> do arquivo <tt>etc/netbeans.conf</tt> contido no diretório onde o programa está instalado.</p>
<p>Encontrei a dica em <a onclick="javascript:urchinTracker('/outbound/www.guj.com.br/posts/list/50295.java');" href="http://www.guj.com.br/posts/list/50295.java">http://www.guj.com.br/posts/list/50295.java</a></p>
<p>Outra dica que sugiro, pelo menos a quem está acostumado ao <a title="Compare preços de livros sobre Eclipse IDE no Buscapé" onclick="javascript:urchinTracker('/outbound/compare.buscape.com.br/categoria?id=3482_038_lkout=1_038_kw=eclipse+ide_038_site_origem=5101810');" href="http://compare.buscape.com.br/categoria?id=3482&amp;lkout=1&amp;kw=eclipse+ide&amp;site_origem=5101810">Eclipse</a>, é configurar o NetBeans a utilizar o perfil de atalhos de teclado “Eclipse”: menu <em>Tools</em> &gt; <em>Options</em> &gt; aba <em>Keymap</em> &gt; combobox <em>Profile</em> (selecionar “Eclipse”). Eu não estava suportando usá-lo até descobrir essa opção.</p>
<p>Aliás, alguém saberia por favor dizer, se é que existe, qual é o atalho, ou pelo menos via menu, para comentar uma ou várias linhas de uma só vez? No Eclipse é <strong>Ctrl+Shift+C</strong>. Não acho isso em lugar algum do NetBeans.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2009/07/netbeans-configurar-para-lingua-inglesa/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Retorno de coleção em getter de JavaBean</title>
		<link>http://blog.daltux.com/2009/06/retorno-de-colecao-em-getter-de-javabean/</link>
		<comments>http://blog.daltux.com/2009/06/retorno-de-colecao-em-getter-de-javabean/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 08:03:13 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Cesumar]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://blog.daltux.com/?p=375</guid>
		<description><![CDATA[<p>O seguinte texto foi na realidade uma mensagem postada hoje por mim no fórum interno do curso de pós-graduação em Desenvolvimento Orientado a Objetos em Java. Achei interessante deixar o registro no blog, principalmente por considerar que seu conteúdo possa ser útil a alguém, embora o assunto seja bastante técnico e específico para quem lida <p><a href="http://blog.daltux.com/2009/06/retorno-de-colecao-em-getter-de-javabean/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<blockquote><p>O seguinte texto foi na realidade uma mensagem postada hoje por mim no <a href="http://iadcursos.com/moodle/mod/forum/discuss.php?d=129#p252">fórum interno</a> do curso de pós-graduação em Desenvolvimento Orientado a Objetos em Java. Achei interessante deixar o registro no <em>blog</em>, principalmente por considerar que seu conteúdo possa ser útil a alguém, embora o assunto seja bastante técnico e específico para quem lida com a linguagem Java.</p></blockquote>
<p>	<script type="text/javascript"><!--
		google_ad_client = "pub-7153114302152264";
		/* 468x60, criado 04/06/09 */
		google_ad_slot = "4333292624";
		google_ad_width = 468;
		google_ad_height = 60;
		//-->
	</script><br />
	<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script><br />
No meu trabalho de conclusão de curso da graduação, assumi desde o início um padrão onde sempre retornava o <tt>Iterator</tt> no <tt>getAlgumaColecao()</tt> dos objetos de domínio. Isso inspirado por lições da disciplina Linguagem e Técnicas de Programação III, no ano passado, ministrada pelo prof. Arthur Zavadki, que desde então já pregava a idéia de evitar expor a coleção. Depois de um tempo, como isto não era muito conveniente por não poder utilizar p. ex. <tt>for</tt>(&#8220;each..&#8221;), passei a retornar a própria coleção como <tt>Iterable</tt>, mas isto também não era interessante por ainda permitir que a coleção seja diretamente manipulada por quem invoque o método, bastando um <span style="font-style: italic;">typecast</span> para <tt>Collection</tt>. Aliás, a rigor isto também pode ser considerado um problema com o retorno de <tt>Iterator</tt>, que permite remoção de elementos durante a iteração.</p>
<p>Como sugerido pelo prof. Cesar Moro na última aula (turma 1), uma alternativa é criar uma nova coleção contendo referências para os mesmos elementos, tendo que percorrer a coleção original para tanto. <span style="font-style: italic;">Data venia</span> <sup><a href="http://www.sualingua.com.br/04/04_datavenia.htm">[1]</a></sup>, achei que isso não era muito prático, então lembrei na mesma hora do método <span style="font-weight: bold;">clone()</span>, disponível em diversas classes, que [em tese] faz aquele mesmo trabalho.</p>
<p>Fui mexer hoje em uma parte da implementação do meu TCC onde um «Bean» possuía o método <tt>public Collection&lt;Posse&gt; getPosses()</tt>. O atributo <tt>posses</tt> é um <tt>HashSet</tt>. Fiquei curioso e corri atrás de outras possíveis soluções.</p>
<p>Deparei-me primeiro com o método <a title="Collection (Java Platform SE 6)" href="http://java.sun.com/javase/6/docs/api/java/util/Collection.html#toArray%28T%5B%5D%29"><tt><strong>toArray(T[])</strong></tt></a> da interface <tt>Collection</tt>, que poderia ser utilizado da seguinte forma:<br />
<code>public Posse[] getPosses() {<br />
	return posses.toArray(new Posse[0]);<br />
}</code><br />
Encontrei uma discussão a respeito do <tt>toArray()</tt> em <a href="http://www.weiqigao.com/blog/2006/08/03/how_do_you_use_collection_toarrayobject_a.html">um site</a>, levantando inclusive questões sobre sua utilização em <em>multi-threading</em>.</p>
<p>Outra solução que encontrei em seguida, bem interessante, é o método estático <a style="font-weight: bold;" href="http://java.sun.com/javase/6/docs/api/java/util/Collections.html#unmodifiableCollection%28java.util.Collection%29"><tt>Collections.unmodifiedCollection(Collection)</tt></a>, que escolhi utilizar da seguinte maneira:<br />
<code> public Collection&lt;Posse&gt; getPosses() {<br />
	return Collections.unmodifiableCollection(posses);<br />
}</code><br />
Portanto, é como costuma dizer o prof. Cléber Lecheta (graduação):</p>
<blockquote><p>Existem mil maneiras de preparar <a href="http://sledge.boo-box.com/list/page/TmVzdG9uXyMjX2Jhcl8jI190YWdnaW5nLXRvb2xfIyNfNDUz-48" class="bbli">Neston<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a><script src="http://static.boo-box.com/javascripts/engine/boo-box-loader.js" type="text/javascript"></script>: escolha a sua.</p></blockquote>
<p>Enfim, a maneira que escolhi é realmente adequada? A idéia é encapsular a coleção para que não seja alterada fora da classe à qual pertence. E quanto a questões como performance e escalabilidade, o que diriam? Se os professores e os demais colegas puderem participar, desejo ouvir a voz da experiência e agradeço desde já.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2009/06/retorno-de-colecao-em-getter-de-javabean/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eclipse 3.4 &#8220;Ganymede&#8221;</title>
		<link>http://blog.daltux.com/2008/06/eclipse-34-ganymede/</link>
		<comments>http://blog.daltux.com/2008/06/eclipse-34-ganymede/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 10:07:30 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.daltux.com/?p=265</guid>
		<description><![CDATA[<p>Agora temos uma notícia mais interessante. Está quase sendo lançado o Eclipse 3.4, apelidado de &#8220;Ganymede&#8221;. Tal qual a versão majoritária atual, Europa (3.3) e a anterior, Callisto (3.2), seguem com nomes dos maiores satélites naturais de Júpiter.</p>
<p>Para quem quiser experimentar uma versão release candidate (candidata a lançamento), vá ao site de download. No momento <p><a href="http://blog.daltux.com/2008/06/eclipse-34-ganymede/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://img208.imageshack.us/img208/4342/eclipseposlogofcsmoa6.jpg" border="0" alt="eclipse" align="right" />Agora temos uma notícia mais interessante. Está <em>quase</em> sendo lançado o Eclipse 3.4, apelidado de &#8220;Ganymede&#8221;. Tal qual a versão majoritária atual, Europa (3.3) e a anterior, Callisto (3.2), seguem com nomes dos <a href="http://pt.wikipedia.org/wiki/Luas_de_Galileu">maiores satélites naturais de Júpiter</a>.</p>
<p>Para quem quiser experimentar uma versão <em>release candidate</em> (candidata a lançamento), vá ao <a href="http://www.eclipse.org/downloads/packages/">site de <strong>download</strong></a>. No momento da redação deste <em>post</em>, está disponível a versão RC3. Faça sua escolha, já que há considerável diferença de peso: o pacote &#8220;Eclipse IDE for Java Developers&#8221; é para programação geral em Java. Já o pacote para Java EE, bem maior, é destinado a quem também vai <a class="bbli" href="http://boo-box.com/link/aff:buscapeid/uid:5101810/tags:java+Web+livro">programar para a Web<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a><script src="http://stable.boo-box.com/" type="text/javascript"></script>.</p>
<p>De qualquer forma, como a versão final deve ser lançada nas próximas semanas, ainda convém ter algum cuidado ao utilizar em ambiente de produção estes pacotes de previsão.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2008/06/eclipse-34-ganymede/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Javadoc explica</title>
		<link>http://blog.daltux.com/2008/06/javadoc-explica/</link>
		<comments>http://blog.daltux.com/2008/06/javadoc-explica/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 10:02:23 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://blog.daltux.com/?p=264</guid>
		<description><![CDATA[<p>Em certa aula de Linguagem e Técnicas de Programação III (Java), exercitávamos uma conexão por JDBC ao sistema gerenciador de banco de dados PostgreSQL. Como tenho instalado em meu sistema Ubuntu o pacote sun-java6-source (e também o openjdk-6-source), o Eclipse IDE exibe junto ao Code Assist as dicas de tudo que possui Javadoc. Nos computadores <p><a href="http://blog.daltux.com/2008/06/javadoc-explica/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 8px; border: 0px" title="Java Get Powered" src="http://java.com/im/get_powered_sm_ani.gif" border="0" alt="Java Get Powered" width="100" height="45" align="right" />Em certa aula de Linguagem e Técnicas de Programação III (<a class="bbli" href="http://boo-box.com/link/aff:buscapeid/uid:5101810/tags:Java+livro">Java<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a><script src="http://stable.boo-box.com/" type="text/javascript"></script>), exercitávamos uma conexão por JDBC ao sistema gerenciador de banco de dados <a href="http://postgresql.org">PostgreSQL</a>. Como tenho instalado em meu sistema <a class="bbli" href="http://boo-box.com/link/aff:buscapeid/uid:5101810/tags:Ubuntu+livro">Ubuntu<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a><script src="http://stable.boo-box.com/" type="text/javascript"></script> o pacote <tt>sun-java6-source</tt> (e também o <tt>openjdk-6-source</tt>), o <a href="http://www.eclipse.org">Eclipse IDE</a> exibe junto ao <em>Code Assist</em> as dicas de tudo que possui Javadoc. Nos computadores da faculdade, onde <strong>não</strong> está instalado o código-fonte da Plataforma Java, nada disso é exibido, então talvez os colegas não saibam desse recurso. Na realidade, eis um guia sobre como fazer isso funcionar no bendito sistema operacional da faculdade: <a href="http://hotwork.sourceforge.net/hotwork/manual/eclipse/eclipse-user-guide.html#Use_JDK_ao_inv%C3%A9s_de_JRE__ou_instale_um_novo_JRE_JDK_">&#8220;Use JDK ao invés de JRE&#8221;</a>.</p>
<p>Pois bem, descobri sem querer querendo, pela &#8220;ajuda&#8221; (Javadoc) da classe <tt>java.sql.DriverManager</tt>, a razão de funcionar o carregamento do driver <acronym title="Java Database Connectivity">JDBC</acronym> (do PostgreSQL, no caso) mesmo sem o prévio <tt>Class.forName("org.postgresql.Driver")</tt>. Pode testar: comente essa linha e deve funcionar normalmente.</p>
<p>É que no JavaSE-<strong>1.6</strong> isso não é mais necessário. Eis o que diz o <a title="Wikipédia: Javadoc" href="http://pt.wikipedia.org/wiki/Javadoc">Javadoc</a> da classe <a title="DriverManager (Java Platform SE 6)" href="http://java.sun.com/javase/6/docs/api/index.html?java/sql/DriverManager.html"><tt>java.sql.DriverManager</tt></a>:</p>
<blockquote><p>Applications no longer need to explictly load JDBC drivers using <tt>Class.forName()</tt>. Existing programs which currently load JDBC drivers using <tt>Class.forName()</tt> will continue to work without modification.</p>
<p>When the method <tt>getConnection</tt> is called, the <tt>DriverManager</tt> will attempt to locate a suitable driver from amongst those loaded at initialization and those loaded explicitly using the same classloader as the current applet or application.</p></blockquote>
<p>O negócio é mágico agora então?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2008/06/javadoc-explica/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Calculadora de pontos-por-função</title>
		<link>http://blog.daltux.com/2008/04/calculadora-de-pontos-por-funcao/</link>
		<comments>http://blog.daltux.com/2008/04/calculadora-de-pontos-por-funcao/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 07:48:31 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Cesumar]]></category>
		<category><![CDATA[engenharia]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[produção própria]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[SI]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[software livre]]></category>

		<guid isPermaLink="false">http://blog.daltux.com/?p=245</guid>
		<description><![CDATA[<p>Como trabalho acadêmico da disciplina de Engenharia de Software II, especificamente dentro do tópico de métricas orientadas a função, fizemos um pequeno programa para calcular os pontos-por-função de um projeto de software.</p>
<p> </p>
<p>Ele já funciona e calcula corretamente o valor de FP de seu projeto (isto foi conferido pela professora), podendo ser utilizado normalmente, porém <p><a href="http://blog.daltux.com/2008/04/calculadora-de-pontos-por-funcao/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<p>Como trabalho acadêmico da disciplina de <a class="bbli" href="http://boo-box.com/link/aff:americanasid/uid:5545_02B7_30D4/tags:Engenharia+de+Software">Engenharia de Software<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a><script src="http://stable.boo-box.com/" type="text/javascript"></script> II, especificamente dentro do tópico de <a href="http://www.pr.gov.br/batebyte/edicoes/2000/bb101/metricas.htm">métricas</a> orientadas a função, fizemos um pequeno programa para calcular os pontos-por-função de um projeto de software.</p>
<p><a href="http://img87.imageshack.us/my.php?image=calculadorappf1be2.png" target="_blank"><img title="A primeira tela do programa em execução, com um visual GTK" src="http://img87.imageshack.us/img87/8100/calculadorappf1be2.th.png" border="0" alt="screenshot1" align="middle" /></a> <a href="http://img176.imageshack.us/my.php?image=calculadorappf2jh5.png" target="_blank"><img title="Janela de ajustes de complexidade e resultado final, no visual Win32" src="http://img176.imageshack.us/img176/7989/calculadorappf2jh5.th.png" border="0" alt="screenshot2" align="middle" /></a></p>
<p>Ele já funciona e calcula corretamente o valor de <acronym title="Function Points">FP</acronym> de seu projeto (isto foi conferido pela professora), podendo ser utilizado normalmente, porém com algumas ressalvas. Existe pelo menos um <em>bug</em> conhecido que permanece nessa versão 1.0: ao fechar a janela dos ajustes de complexidade e abri-la novamente, alguma variável ainda não identificada está sendo acumulada, fazendo com que o cálculo seja modificado. Por enquanto, o jeito é clicar em Arquivo &gt; Novo projeto, para zerar tudo.</p>
<p><img class="alignright" style="10px;" src="http://img142.imageshack.us/img142/386/gplv3127x51bp9.png" alt="GPLv3" width="127" height="51" align="right" />Ficamos receosos de publicar o código-fonte do programa, por <em>vergonha</em>, pois foi feito com a maior pressa para ser entregue em um dia. Apenas depois foi anunciado que poderia ser entregue posteriormente, mas daí já estava praticamente tudo feito. Mesmo sendo desenvolvido com <acronym title="Programação Orientada a Gambiarras">POG</acronym>, mudamos de idéia, então distribuímos o programa sob os termos da <a href="http://www.gnu.org/licenses/gpl-3.0.html"><strong>GNU General Public Licence, versão 3</strong></a>, tal como publicada pela Free Software Foundation.</p>
<h2>Download</h2>
<p>O programa funciona em qualquer <a class="bbli" href="http://boo-box.com/link/aff:americanasid/uid:5545_02B7_30D4/tags:sistemas+operacionais+modernos">sistema operacional<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a><script src="http://stable.boo-box.com/" type="text/javascript"></script>, contanto que esteja instalado o <a title="Sun Microsystems - Página de download da máquina virtual Java" href="http://java.com/download/">Java Runtime Environment 1.6.0 (&#8220;Java 6 JRE&#8221;)</a> ou mais recente.</p>
<h3>Binários (Java <em>bytecodes</em>)</h3>
<h4><a title="PontosPorFuncao" href="http://blog.daltux.com/dist/PontosPorFuncao/launch.jnlp">Java Web Start</a></h4>
<p>É a maneira mais ágil de executar o programa, se o ambiente de sua máquina estiver devidamente configurado. <a href="http://blog.daltux.com/dist/PontosPorFuncao/launch.jnlp">Clique aqui</a> e mande abrir com o Java Web Start.</p>
<p><span style="text-decoration: line-through;">A maneira mais ágil de executar o programa seria clicar <a href="http://blog.daltux.com/dist/PontosPorFuncao/launch.jnlp">neste link</a>, porém o servidor onde o arquivo se encontra ainda não está configurado corretamente para associar o arquivo com o <a href="http://www.java.com/pt_BR/download/faq/java_webstart.xml">Java Web Start</a>. Contudo, ainda é possível utilizá-lo: basta salvar o pequeno arquivo em sua máquina como <strong><tt>PontosPorFuncao.jnlp</tt></strong> e abri-lo com o Java Web Start. Uma alternativa ainda pode ser, através do seu terminal de comandos <small>(p. ex., se for no Gnome: Aplicações / Acessórios / Terminal; se for no Windows: Iniciar / Executar / cmd)</small>, digitar:<br />
<code>javaws http://blog.daltux.com/dist/PontosPorFuncao/launch.jnlp</code></span></p>
<h4>Tradicional (JAR)</h4>
<ul>
<li><a href="http://blog.daltux.com/wp-content/uploads/2008/04/PontosPorFuncao_1.0_dist.7z"><strong>PontosPorFuncao_1.0_dist.7z</strong></a> &#8211; 179kB, comprimido com o <a href="http://www.7-zip.org/pt-br/">7-zip</a>.</li>
</ul>
<p>Se o seu ambiente de trabalho estiver devidamente configurado para abrir arquivos <strong><acronym title="Java ARchive">JAR</acronym></strong> com a Máquina Virtual <a class="bbli" href="http://boo-box.com/link/aff:americanasid/uid:5545_02B7_30D4/tags:Java">Java<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a><script src="http://stable.boo-box.com/" type="text/javascript"></script>, abra o diretório descompactado. A partir daí, geralmente, basta um clique duplo sobre o ícone do arquivo <strong><tt>launch.jar</tt></strong> para executar o programa. Contudo, se isso não ocorrer, verifique com seu distribuidor do sistema operacional como fazer isso.</p>
<h3>Código-fonte</h3>
<ul>
<li><a href="http://blog.daltux.com/wp-content/uploads/2008/04/PontosPorFuncao.tar.gz"><tt><strong>PontosPorFuncao.tar.gz</strong></tt></a> &#8211; 366kB, projeto para <a class="bbli" href="http://boo-box.com/link/aff:americanasid/uid:5545_02B7_30D4/tags:NetBeans">NetBeans<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a><script src="http://stable.boo-box.com/" type="text/javascript"></script> 6.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2008/04/calculadora-de-pontos-por-funcao/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Projeto Inspectore</title>
		<link>http://blog.daltux.com/2007/10/projeto-inspectore/</link>
		<comments>http://blog.daltux.com/2007/10/projeto-inspectore/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 21:07:00 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[produção própria]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[software livre]]></category>

		<guid isPermaLink="false">http://daltuxtemp.wordpress.com/2007/10/17/projeto-inspectore/</guid>
		<description><![CDATA[<p>Há algum tempo tive a idéia de montar um banco de dados dos meus discos de filmes, músicas, software, etc. O objetivo é saber onde encontrar facilmente alguma coisa quando desejar.</p>
<p>Inicialmente eu poderia apenas criar algumas tabelas num banco de dados tal como MySQL ou PostgreSQL, e fazer os cadastros e alterações diretamente pelo gerenciador <p><a href="http://blog.daltux.com/2007/10/projeto-inspectore/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<p>Há algum tempo tive a idéia de montar um banco de dados dos meus discos de filmes, músicas, software, etc. O objetivo é saber onde encontrar facilmente alguma coisa quando desejar.</p>
<p>Inicialmente eu poderia apenas criar algumas tabelas num banco de dados tal como MySQL ou PostgreSQL, e fazer os cadastros e alterações diretamente pelo gerenciador gráfico do banco ou mesmo por SQL. Mas daí pensei: melhor fazer tudo documentado. Então comecei a fazer um <a href="http://pt.wikipedia.org/wiki/Diagrama_entidade_relacionamento">DER</a>. Pensei mais um pouco e decidi finalmente iniciar um projeto totalmente orientado a objetos. Minha pretensão agora é documentar e desenvolver do zero utilizando <a href="http://pt.wikipedia.org/wiki/UML">UML</a> e a plataforma <a href="http://java.sun.com">Java</a>.</p>
<p>O objetivo primário é aprender. Contudo, como é algo que pode ser útil a alguém, podemos compartilhar nosso esforço: desde o início vamos utilizar o sistema de controle de versões <a href="http://subversion.tigris.org/">Subversion</a> e abrir o repositório à participação pública, como software livre, licenciado sob a <a href="http://www.gnu.org/licenses/gpl.html">GNU GPL</a>. A documentação desde já está sob a <a href="http://www.gnu.org/licenses/fdl.html">GNU FDL</a>.</p>
<p>Mal fiz o esboço do diagrama de classes e já contei com grande ajuda do colega <a href="http://www.insula.com.br/node/18">Fabiano Maeda</a>. Este é o espírito do software livre.</p>
<p>Assim, quem tiver interesse em ajudar tanto na modelagem quanto na implementação, por favor, entre em contato. Tão logo o projeto seja aprovado no <a href="http://sourceforge.net">SourceForge</a> ou no <a href="http://tuxfamily.org">TuxFamily</a>, publicarei os endereços do site de documentação e suporte e do repositório de código-fonte. Enquanto isso, posso enviar por e-mail, a pedido.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2007/10/projeto-inspectore/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Semana da Pequena Empresa</title>
		<link>http://blog.daltux.com/2007/10/semana-da-pequena-empresa/</link>
		<comments>http://blog.daltux.com/2007/10/semana-da-pequena-empresa/#comments</comments>
		<pubDate>Thu, 04 Oct 2007 12:31:00 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[eventos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Maringá]]></category>

		<guid isPermaLink="false">http://daltuxtemp.wordpress.com/2007/10/04/semana-da-pequena-empresa/</guid>
		<description><![CDATA[<p>Há cerca de três semanas ingressei como estagiário na Ínsula TI, empresa maringaense voltada ao desenvolvimento de sistemas de informação utilizando a plataforma Java. Entre os atuais projetos da empresa está o PID (&#8220;Projeto de Integração Digital&#8221;), que tornou possível à Unimed Maringá a autorização pela Internet de consultas e procedimentos médicos, utilizando ainda a <p><a href="http://blog.daltux.com/2007/10/semana-da-pequena-empresa/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<p>Há cerca de três semanas ingressei como estagiário na <a href="http://www.insula.com.br"><span style="font-weight:bold;">Ínsula</span> TI</a>, empresa <a href="http://pt.wikipedia.org/w/index.php?title=Maringaense">maringaense</a> voltada ao desenvolvimento de sistemas de informação utilizando a plataforma <a href="http://pt.wikipedia.org/wiki/Plataforma_Java">Java</a>. Entre os atuais projetos da empresa está o PID (&#8220;Projeto de Integração Digital&#8221;), que tornou possível à <a href="http://www.unimedmaringa.com.br">Unimed Maringá</a> a autorização pela Internet de consultas e procedimentos médicos, utilizando ainda a biometria (impressão digital) dos pacientes para confirmação das transações. Outro projeto de grande repercussão é o <a href="http://www.cardcell.com.br">CardCell</a>, sistema de autorização de transações de crédito por intermédio da telefonia celular.</p>
<p>O que me motivou a buscar essa vaga foi, primeiramente, a possibilidade de estudar a fundo a Plataforma Java, que está em franca dominância no mercado de desenvolvimento de sistemas. Além disso, o que acabou me incentivando mais ainda foi saber que a empresa utiliza praticamente 100% de software livre em seus processos. Quem já teve a oportunidade de acompanhar este blog deve saber do interesse que tenho nesse assunto.</p>
<p>Nesta manhã estou em conjunto com o colega <a href="http://www.insula.com.br/node/16">Marcelo Henrique Felipe</a> no estande da Ínsula na II Semana da Pequena Empresa, evento realizado na unidade maringaense do <a href="http://www.sebraepr.com.br">SEBRAE-PR</a>. A feira conta com diversas palestras, consultoria e vários estandes de organizações que participam do Arranjo Produtivo Local de Software ao empresário que deseja incrementar a gestão do seu negócio. Quem tem interesse em montar seu próprio negócio também encontra aqui uma boa estrutura de suporte.</p>
<p>O evento vai até esta sexta-feira (05/10/2007), no horário das 8h30 às 20h00. O Sebrae de Maringá fica na Av. Bento Munhoz da Rocha Neto, 1.116, Zona 07, em frente ao Teatro Banestado.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2007/10/semana-da-pequena-empresa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java</title>
		<link>http://blog.daltux.com/2007/01/java/</link>
		<comments>http://blog.daltux.com/2007/01/java/#comments</comments>
		<pubDate>Wed, 10 Jan 2007 06:00:00 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Maringá]]></category>
		<category><![CDATA[pessoal]]></category>

		<guid isPermaLink="false">http://daltuxtemp.wordpress.com/2007/01/10/java/</guid>
		<description><![CDATA[<p>Nesta segunda-feira (08/01/2007) iniciamos o curso de programação em linguagem Java, até o início de fevereiro, no centro de treinamento Sérgio Yamada Computação, Maringá/PR.</p>
]]></description>
			<content:encoded><![CDATA[<p><img src="https://duke.dev.java.net/images/iconSized/duke4.gif" alt="Duke" align="right" border="0" hspace="15" vspace="0" />Nesta segunda-feira (08/01/2007) iniciamos o curso de programação em linguagem <a href="http://www.sun.com/java/">Java</a>, até o início de fevereiro, no centro de treinamento <a href="http://www.sergioyamada.com.br/">Sérgio Yamada Computação</a>, Maringá/PR.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2007/01/java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

