<?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; Desenvolvimento</title>
	<atom:link href="http://blog.daltux.com/assunto/desenvolvimento/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>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 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;"><script type='text/javascript' language='javascript' charset='utf-8' src='http://s3.polldaddy.com/p/2857444.js'></script><noscript> <a href='http://answers.polldaddy.com/poll/2857444/'>View Poll</a></noscript></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.daltux.com/2010/03/pesquisa-sobre-linguagens-de-programacao/feed/</wfw:commentRss>
		<slash:comments>1</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>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>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>
	</channel>
</rss>
