<?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, 25 Jul 2010 05:00:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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>
		<item>
		<title>Funcionalidade on line</title>
		<link>http://blog.daltux.com/2006/03/funcionalidade-on-line/</link>
		<comments>http://blog.daltux.com/2006/03/funcionalidade-on-line/#comments</comments>
		<pubDate>Thu, 23 Mar 2006 02:07:00 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[avaliação]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://daltuxtemp.wordpress.com/2006/03/23/funcionalidade-on-line/</guid>
		<description><![CDATA[<p>O tema principal do caderno Informática da Folha de S. Paulo de hoje é a respeito de diversos serviços online que têm surgido na Internet e que tradicionalmente necessitam de programas específicos executados localmente nos computadores. Agora há vários serviços que podem ser utilizados remotamente, ou seja, não há necessidade de instalar programas no seu <p><a href="http://blog.daltux.com/2006/03/funcionalidade-on-line/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://www1.folha.uol.com.br/fsp/informat/fr2203200601.htm">tema principal</a> do caderno <a href="http://www1.folha.uol.com.br/folha/informatica/">Informática</a> da <a href="http://www.folha.com.br/fsp">Folha de S. Paulo</a> de hoje é a respeito de diversos serviços <span style="font-style:italic;">online</span> que têm surgido na Internet e que tradicionalmente necessitam de programas específicos executados localmente nos computadores. Agora há vários serviços que podem ser utilizados remotamente, ou seja, não há necessidade de instalar programas no seu computador: os serviços são executados através do navegador da Internet (<a href="http://br.mozdev.org/firefox">Mozilla Firefox</a>, por exemplo). Isto traz uma mobilidade, possibilitando que os serviços sejam utilizados de qualquer computador conectado.</p>
<p>O conceito por trás destas novas funcionalidades tem sido chamado de <a href="http://en.wikipedia.org/wiki/Web_2.0"><span style="font-style:italic;">Web 2.0</span></a>. Seria a segunda geração dos serviços da Internet. Outros rebatem dizendo que o termo parece ser apenas questão de <span style="font-style:italic;">marketing</span>, pois estes serviços vêm sendo desenvolvidos e implementados há tempos e, além disso, o funcionamento da rede nada teria mudado e não vai mudar apenas com isso.</p>
<p>A diferença entre esta <span style="font-style:italic;">nova geração</span> de serviços e os serviços online tradicionais é a colaboração entre as pessoas, o compartilhamento de conteúdo. Até então as páginas da internet eram estáticas: o autor criava e detinha total controle, cabendo aos internautas o mero papel de espectadores. Agora, a tendência é a interatividade, tendo como exemplo serviços do porte da <a href="http://pt.wikipedia.org/">Wikipédia</a>, a enciclopédia online, em que toda a comunidade é convidada a colaborar.</p>
<p>Testamos alguns dos serviços mencionados e a seguir faremos breves comentários:</p>
<ul>
<li><a href="http://www.youos.com/">YouOS</a> &#8211; &#8220;<a href="http://beta.blogger.com/pt.wikipedia.org/wiki/sistema_operacional">sistema operacional</a>&#8221; online. Pouca utilidade prática para a massa, ao menos por enquanto. Mas, para o futuro, pode vir a ser algo bem interessante. Convém (aos curiosos, especialmente programadores) dar uma olhada.</li>
<li><a href="http://online.thinkfree.com/">ThinkFree</a> &#8211; pacote de programas de escritório (editor de textos, apresentações e planilhas eletrônicas) em versão online. Muito bom, tem todas as funções esperadas. Contudo, é extremamente lento (<a href="http://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o_Java#M.C3.A1quina_Virtual_Java">Java Virtual Machine</a>). Utilidade duvidosa na prática: serviria bem apenas se imaginarmos que poderemos ir a algum lugar em que haja um computador sem aplicativos equivalentes e ao mesmo tempo com recursos em abundância, para perfeito funcionamento do serviço.</li>
<li><a href="http://www.zoho.com/virtual-office"><span style="font-weight:bold;">Zoho Virtual Office</span></a> &#8211; pacote com várias funcionalidades, contudo é necessário fazer download e executar programa localmente.</li>
<li><a href="http://housecall.trendmicro.com/">Trend Micro Housecall</a> &#8211; antivírus. É melhor usar antivírus de verdade e ativar a atualização automática. Os grátis mais conhecidos são o <a href="http://www.avast.com/eng/avast_4_home.html">avast! Home</a> e o <a href="http://www.grisoft.com/doc/289/lng/br-pt/tpl/tpl01">Grisoft AVG Free Edition</a>.</li>
<li><a href="http://www.meebo.com/"><span style="font-weight:bold;">Meebo</span></a> &#8211; reúne as funções dos mensageiros AIM, ICQ, Yahoo, Jabber, Google Talk e MSN. Bem simples. Ótimo para quem precisa deste tipo de serviço em computador alheio. Nem é preciso se cadastrar: basta inserir os dados de sua conta do(s) serviço(s) desejado(s) e clicar em &#8220;Sign On&#8221;.</li>
<li><a href="http://www.e-messenger.net/"><span style="font-weight:bold;">Everywhere Messenger</span></a> &#8211; A mesma coisa, com mais propaganda e em janelas separadas. Funciona com os protocolos AIM, Yahoo e MSN, com a adição do suporte ao Windows Live Messenger Beta. Muito confuso.</li>
<li><a href="https://www.imeem.com/"><span style="font-weight:bold;">imeem</span></a> &#8211; reúne a funcionalidade do <span style="font-style:italic;">chat</span> com <span style="font-style:italic;">blogs</span> e compartilhamento de arquivos.</li>
<li><a href="http://del.icio.us/"><span style="font-weight:bold;">del.icio.us</span></a> &#8211; marcador de páginas. Altamente recomendado.</li>
</ul>
<p>Leia mais:
<ul>
<li>carreirasolo: <a href="http://www.carreirasolo.org/archives/voce_sabe_o_que_e_we.html">Você sabe o que é Web 2.0? Nossos clientes também não.</a></li>
<li>fechaTAG: <a href="http://blog.elcio.com.br/web-20-pe-no-chao">Web 2.0 pé no chão.</a></li>
<li>Atrium: <a href="http://atrium.weblog.com.pt/arquivo/212493.html">web 2.0 &#8211; um olhar crítico.</a></li>
<li>Blogosfera segundo JS: <a href="http://ghetto.blogs.com/jotaesse/2006/02/web_20_real_ou_.html">Web 2.0 &#8211; Real ou utópica? Democrática ou massificante? Boa ou ruim?</a></li>
<li><span class="l">InfoWester: </span><a class="l" href="http://www.infowester.com/blog/?p=70">Os melhores sites da Web 2.0</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2006/03/funcionalidade-on-line/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
