<?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; programação</title>
	<atom:link href="http://blog.daltux.com/assunto/programacao/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>Insalubridade</title>
		<link>http://blog.daltux.com/2010/04/insalubridade/</link>
		<comments>http://blog.daltux.com/2010/04/insalubridade/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 00:23:53 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[Vídeo]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Maringá]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://blog.daltux.com/?p=478</guid>
		<description><![CDATA[<p></p>
<p>Enquanto serras elétricas e martelos gritavam sobre nossas cabeças, heroicos desenvolvedores tentavam prosseguir com nossa produção intelectual. Afinal, os prazos correm e os clientes não querem aguardar.</p>
<p>O edifício mal foi inaugurado e já passa por reformas, pelo que parece.</p>
<p>A semana começou mal. Hoje foi a poluição sonora. Ontem tivemos inúmeras interrupções elétricas causadas, segundo alegou <p><a href="http://blog.daltux.com/2010/04/insalubridade/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<p><embed src="http://share.ovi.com/flash/player.aspx?media=daltux.10205&#038;albumname=daltux.PblicoGenrico" width="512" height="420" type="application/x-shockwave-flash"></embed></p>
<p>Enquanto serras elétricas e martelos gritavam sobre nossas cabeças, heroicos desenvolvedores tentavam prosseguir com nossa produção intelectual. Afinal, os prazos correm e os clientes não querem aguardar.</p>
<p>O edifício mal foi inaugurado e já passa por reformas, pelo que parece.</p>
<p>A semana começou mal. Hoje foi a poluição sonora. Ontem tivemos inúmeras interrupções elétricas causadas, segundo alegou a empresa fornecedora, pelo vento.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2010/04/insalubridade/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Pesquisa sobre linguagens de programação</title>
		<link>http://blog.daltux.com/2010/03/pesquisa-sobre-linguagens-de-programacao/</link>
		<comments>http://blog.daltux.com/2010/03/pesquisa-sobre-linguagens-de-programacao/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 06:40:50 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.daltux.com/?p=444</guid>
		<description><![CDATA[<p>Testando nova funcionalidade do blog, convido todos os colegas programadores ou relacionados, profissionais ou amadores, a responder:</p>
<p style="text-align: center;">View This Poll</p>
<p>&#160;</p>
]]></description>
			<content:encoded><![CDATA[<p>Testando nova funcionalidade do <em>blog</em>, convido todos os colegas programadores ou relacionados, profissionais ou amadores, a responder:</p>
<p style="text-align: center;"><a href="http://polldaddy.com/poll/2857444/">View This Poll</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2010/03/pesquisa-sobre-linguagens-de-programacao/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>Projeto Mono</title>
		<link>http://blog.daltux.com/2008/06/projeto-mono/</link>
		<comments>http://blog.daltux.com/2008/06/projeto-mono/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 04:03:07 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Cesumar]]></category>
		<category><![CDATA[Linux]]></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=270</guid>
		<description><![CDATA[<p>Exibimos hoje, no total de seis colegas, como avaliação parcial do 2o bimestre de Tópicos Especiais em Sistemas de Informação, uma apresentação sobre o Projeto Mono, a implementação em código aberto da Plataforma .NET patrocinada atualmente pela Novell.</p>
<p>Eis a apresentação que, tal qual suas fontes de informações e imagens (site do Mono e Wikipedia), publicamos <p><a href="http://blog.daltux.com/2008/06/projeto-mono/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<p><img style="border: 0pt none; margin: 15px;" src="http://img440.imageshack.us/img440/6126/monologojn1.png" alt="mono" width="93" height="112" align="right" />Exibimos hoje, no total de seis colegas, como avaliação parcial do 2<sup><span style="text-decoration: underline;">o</span></sup> bimestre de Tópicos Especiais em Sistemas de Informação, uma apresentação sobre o <strong><a title="Mono Project" href="http://mono-project.com">Projeto Mono</a></strong>, a implementação em código aberto da Plataforma <a class="bbli" href="http://boo-box.com/link/aff:submarinoid/uid:263904/tags:plataforma+.NET/format:box">.NET<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> patrocinada atualmente pela <a class="bbli" href="http://boo-box.com/link/aff:submarinoid/uid:263904/tags:Novell/format:box">Novell<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>Eis a apresentação que, tal qual suas fontes de informações e imagens (site do Mono e Wikipedia), publicamos nos termos da <a title="GNU FDL" href="http://http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>:</p>
<ul>
<li><a href="http://www.4shared.com/file/52918999/f691f5cd/apresentacao-mono.html">Apresentação &#8211; Projeto Mono</a> (PDF, 777kB)</li>
<li><a href="http://img72.imageshack.us/img72/2334/apresentacaomonopa2.swf">Apresentação &#8211; Projeto Mono</a> (Flash)</li>
</ul>
<p>Deve ser útil como uma pequena fonte de informações iniciais sobre esse importante projeto.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2008/06/projeto-mono/feed/</wfw:commentRss>
		<slash:comments>0</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>Jogos na Web usando JavaScript+SVG</title>
		<link>http://blog.daltux.com/2007/08/jogos-na-web-usando-javascriptsvg/</link>
		<comments>http://blog.daltux.com/2007/08/jogos-na-web-usando-javascriptsvg/#comments</comments>
		<pubDate>Tue, 28 Aug 2007 00:39:00 +0000</pubDate>
		<dc:creator>Dalton</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[jogos]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://daltuxtemp.wordpress.com/2007/08/28/jogos-na-web-usando-javascriptsvg/</guid>
		<description><![CDATA[<p>Lendo o Planeta GNU/Linux Brasil, deparei-me com algo inusitado noticiado pelo blog de Avi Alkalay: links para sites com jogos desenvolvidos não com Flash, não com Java, nem com qualquer outra linguagem que necessita de plugins para ser executada no navegador (ao menos nos produtos Mozilla e compatíveis), mas apenas com JavaScript e SVG (Scalable <p><a href="http://blog.daltux.com/2007/08/jogos-na-web-usando-javascriptsvg/">&#187; Leia o artigo completo</a></p>]]></description>
			<content:encoded><![CDATA[<p>Lendo o <a href="http://planeta.gnulinuxbrasil.org/">Planeta GNU/Linux Brasil</a>, deparei-me com algo inusitado noticiado pelo blog de <a href="http://avi.alkalay.net/2007/08/svg-games.html">Avi Alkalay</a>: links para sites com jogos desenvolvidos não com Flash, não com Java, nem com qualquer outra linguagem que necessita de plugins para ser executada no navegador (ao menos nos produtos Mozilla e compatíveis), mas apenas com <a href="http://pt.wikipedia.org/wiki/JavaScript">JavaScript</a> e <a href="http://pt.wikipedia.org/wiki/SVG"><span style="font-weight:bold;">SVG</span> (<span style="font-style:italic;">Scalable Vector Graphics</span></a>). SVG é um formato <a href="http://pt.wikipedia.org/wiki/XML">XML</a> para descrição de imagens bidimensionais, muito utilizado em programas de <a href="http://pt.wikipedia.org/wiki/Desenho_vetorial">desenho vetorial</a> tais como <a href="http://pt.wikipedia.org/wiki/Inkscape">Inkscape</a>, <a href="http://pt.wikipedia.org/wiki/CorelDraw">Corel Draw</a>, <a href="http://pt.wikipedia.org/wiki/Adobe_Illustrator">Adobe Illustrator</a>, <a href="http://pt.wikipedia.org/wiki/Microsoft_Visio">MS Visio</a>, especialmente naqueles de código aberto. É uma linguagem livre e padronizada pelo <a href="http://w3c.org/">World Wide Web Consortium (W3C)</a>, a mesma entidade que padroniza HTML, XHTML e CSS.</p>
<p>Veja exemplos:
<ul>
<li><a href="http://www.croczilla.com/svg/samples/svgtetris/svgtetris.svg">Tetris</a></li>
<li><a href="http://www.codedread.com/solitaire.php">Paciência</a></li>
<li><a href="http://www.codedread.com/freecell.php">FreeCell</a></li>
</ul>
<p>A seguir traduzo livre e toscamente trecho produzido em inglês por <a href="http://avi.alkalay.net/2007/08/svg-games.html">Avi Alkalay</a>:</p>
<blockquote><p>Desenvolvedores Web costumam misturar (X)HTML com JavaScript. Talvez seja hora de começar a pensar em misturar SVG e JavaScript para ver tecnologias proprietárias tais como Flash ou Silverlight serem menos utilizadas em massa. Para tanto, serão necessárias melhores ferramentas IDE para JS+SVG e os navegadores e plataformas precisam encontrar uma forma mais padronizada de <a href="http://www.allanbrito.com/2007/04/02/voce-sabe-o-que-e-render/">renderizar</a> áudio e vídeo (uma característica coberta por Flash e Silverlight, mas não por SVG).</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2007/08/jogos-na-web-usando-javascriptsvg/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

