<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Daniel Accorsi</title>
	
	<link>http://www.ciin.com.br/danielaccorsi</link>
	<description>Tecnologia e Desenvolvimento</description>
	<lastBuildDate>Wed, 06 Jul 2011 20:27:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DanielAccorsi" /><feedburner:info uri="danielaccorsi" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>[WORDPRESS] Versão 3.2</title>
		<link>http://feedproxy.google.com/~r/DanielAccorsi/~3/eLSVc6Yt06Q/</link>
		<comments>http://www.ciin.com.br/danielaccorsi/index.php/2011/07/wordpress-versao-3-2/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 20:26:04 +0000</pubDate>
		<dc:creator>Daniel Accorsi</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[atualização]]></category>

		<guid isPermaLink="false">http://www.ciin.com.br/danielaccorsi/?p=222</guid>
		<description><![CDATA[<a href="http://www.ciin.com.br/danielaccorsi/index.php/2011/07/wordpress-versao-3-2/"><img align="left" hspace="5" width="150" height="150" src="http://www.ciin.com.br/danielaccorsi/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Detalhes da versão 3.2 do Wordpress.]]></description>
			<content:encoded><![CDATA[<p>Enfim, para os apaixonados pelo CMS e bloqueiros de plantão, saiu a versão 3.2 do WordPress.</p>
<p>As implementações e alterações foram muitas. Todas as informações das novidades poderá encontrar nesta página: <a href="http://codex.wordpress.org/Version_3.2">Version 3.2 « WordPress Codex</a>.</p>
<p>Dentre centenas, as mais detacadas são: o ambiente administravo foi redesenhado, novo tema padrão, alterações no editor gráfico e mais funcionalidades na barra de administração.</p>
<p>Dirvirta-se.</p>
<img src="http://feeds.feedburner.com/~r/DanielAccorsi/~4/eLSVc6Yt06Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ciin.com.br/danielaccorsi/index.php/2011/07/wordpress-versao-3-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ciin.com.br/danielaccorsi/index.php/2011/07/wordpress-versao-3-2/</feedburner:origLink></item>
		<item>
		<title>[JAVA] Fullscreen exclusive utilizando a placa gráfica</title>
		<link>http://feedproxy.google.com/~r/DanielAccorsi/~3/ohgavhjuq0o/</link>
		<comments>http://www.ciin.com.br/danielaccorsi/index.php/2010/08/java-fullscreen-placa-grafica/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 21:32:50 +0000</pubDate>
		<dc:creator>Daniel Accorsi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[awt]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[device]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[dispositivo]]></category>
		<category><![CDATA[fullscreen]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gráfico]]></category>
		<category><![CDATA[JFrame]]></category>
		<category><![CDATA[jogos]]></category>
		<category><![CDATA[placa de vídeo]]></category>
		<category><![CDATA[swing]]></category>

		<guid isPermaLink="false">http://www.ciin.com.br/danielaccorsi/?p=210</guid>
		<description><![CDATA[<a href="http://www.ciin.com.br/danielaccorsi/index.php/2010/08/java-fullscreen-placa-grafica/"><img align="left" hspace="5" width="150" height="150" src="http://www.ciin.com.br/danielaccorsi/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Aprenta a desenvolver em modo fullscreen exclusive em aplicações Java utilizando a placa de vídeo. Geralmente utilizado para desenvolvimento de games.]]></description>
			<content:encoded><![CDATA[<p>Tudo que precisamos fazer para iniciar uma aplicação em modo fullscreen exclusive é apenas instanciarmos uma JFrame buscando os recusos da placa gráfica, de acordo com sua capacidade. Fullscreen exclusive é um recurso implantado recentemente no Java para deixar a aplicação mais ágil, sem muita concorrência com recursos das bibliotecas que trabalham com recursos gráficos (Swing e AWT). Afinal, o que é isso? Acontece que o Java trabalha com bibliotecas exclusivas para tratamento de janelas, desta forma, esta implementa uma camada acima da camada do Windows (ou outro SO), deixando a aplicação um pouco mais lenta. Aí que entra o modo fullscreen exclusive, que utiliza o mínimo de recursos das bibliotecas gráficas do Java, e fornece exclusivamente em modo fullscreen apenas os recursos necessários para a aplicação.</p>
<p>Neste código iremos encontrar as seguintes características:</p>
<p><span id="more-210"></span></p>
<p><strong>1. </strong>Uma classe entendida de JFrame (que será  a janela em fullscreen)</p>
<p><strong>2. </strong>Uso da classe GraphicsDevice (objeto device), que referencia sua placa gráfica</p>
<p><strong>3. </strong>Uso da classe GraphicsEnvironment (objeto environment), que referencia sua atual configuração gráfica do sistema</p>
<p><strong>4. </strong>Uso da classe DisplayMode (objeto displayMode), que instancia um novo modo de resolução para o dispositivo gráfico (objeto device)</p>
<p><strong>5. </strong>O objeto device recebe o dispositivo gráfico atualmente em uso pelo objeto environment</p>
<p>Ao iniciarmos a aplicação, é feito uma instância de <strong>DisplayMode (displayMode)</strong> para ser usado futuramente pelo objeto device, então instanciamos a classe principal <strong>WindowTeste</strong> para execução de todo o procedimento através construtor <strong>WindowTeste(DisplayMode displayMode)</strong>, passando por parâmetro o objeto displayMode. Ao entrar no construtor, é feito conforme itens 3 e 5 da lista acima. O núcleo de todo o funcionamento está dentro do try, no construtor. Neste momento fizemos apenas a coleta das informações atuais da placa gráfica e sistema.</p>
<p>É definido a cor dos objetos a serem desenhados na tela (<strong>setForeground()</strong>) e a cor de fundo do <strong>JFrame </strong>(<strong>seBackground()</strong>). Para este segundo, por motivos que desconheço, não foi possível alterar a cor, mesmo havendo esta possibilidade em minha fonte. Em seguida é definido duas propriedades para a instância do atual <strong>JFrame</strong>. A priemira é <strong>setUndecorated(true)</strong> que desativa as definições gráficas de janela dos padrões do SO, e a segunda <strong>setResizable(false)</strong>, define que a janela não pode ser ajustável.</p>
<p>Existem duas definições que precisam ser dada a devida atenção: o método <strong>setFullScreenWindow()</strong> do objeto device, enviando como parâmetro a instância do <strong>JFrame</strong> atual (<strong>this</strong>). Ele define a propriedade atual da janela, colocando a mesma em modo fullscreen exclusive. E em segundo, o método <strong>setDisplayMode()</strong>, também do objeto device, passando por parâmetro o modo de display (<strong>displayMode</strong>), que instanciamos logo no começo e que foi passado por parâmetro na instância da classe <strong>WindowTeste</strong>. Neste momento o dispositivo gráfico (que já está em modo fullscreen exclusive) tenta redimensionar sua janela para as características definidas no objeto displayMode.</p>
<p>Existem dispositivos gráficos que não permitem a mudança das características do display, como a resolução, por exemplo. Por esse motivo foi colocado uma verificação se o dispositivo (<strong>device</strong>) suporta mudanças de configuração do display, <strong>isDisplayChangeSupported()</strong>, método do objeto <strong>device</strong>. Há também uma verificação se o dispositivo gráfico suporta modo fullscreen, <strong>isFullScreenSupported()</strong>, método também do objeto device. Este foi colocado somente para exemplificar, já que sempre será permitida esta entrada.</p>
<p>Após estas definições, é dado um tempo de 4 segundos (4.000 milissegundos), através do método <strong>sleep()</strong> da clase <strong>Thread</strong>. Isso para conseguirmos visualizar os efeitos da aplicação, antes de seu encerramento. Finalmente (<strong>finally</strong>), é fechado o modo fullscreen através do método <strong>setFullScreenWindow()</strong>, passando null como parâmetro. Então é deixado o sistema através de <strong>System.exit()</strong>.</p>
<p>Devem estar se perguntando, e o método <strong>paint()</strong>, que é responsável por desenhar os objetos na tela, quando é chamado? Na verdade, como estamos instanciando uma classe estendida de <strong>JFrame</strong>, o método <strong>paint()</strong> é chamado automaticamente no momento em que a tela é exibida. Simples! Divirtam-se.</p>
<p><br class="spacer_" /></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p210code1'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2101"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
</pre></td><td class="code" id="p210code1"><pre class="java" style="font-family:monospace;"><span style="color: #008000; font-style: italic; font-weight: bold;">/**
 * 26/08/2010
 * Autor: Daniel Accorsi
 * Blog: http://www.ciin.com.br/danielaccorsi
 *
 * Exemplo de rotina para renderizar gráficos utilizando os recursos da placa gráfica
 *
 * Fonte: conceitos retirados do e-book Developing Games in Java (Parte I, Cap. 2, Pág. 1)
 */</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.JFrame</span><span style="color: #339933;">;</span>
&nbsp;
@SuppressWarnings<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;serial&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> WindowTeste <span style="color: #000000; font-weight: bold;">extends</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ajframe+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">JFrame</span></a> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphicsdevice+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">GraphicsDevice</span></a> device<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
		DisplayMode displayMode<span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DisplayMode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1024</span>, <span style="color: #cc66cc;">768</span>, <span style="color: #cc66cc;">16</span>, <span style="color: #cc66cc;">75</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">new</span> WindowTeste<span style="color: #009900;">&#40;</span>displayMode<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> WindowTeste<span style="color: #009900;">&#40;</span>DisplayMode displayMode<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphicsenvironment+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">GraphicsEnvironment</span></a> environment <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphicsenvironment+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">GraphicsEnvironment</span></a>.<span style="color: #006633;">getLocalGraphicsEnvironment</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		device <span style="color: #339933;">=</span> environment.<span style="color: #006633;">getDefaultScreenDevice</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">try</span><span style="color: #009900;">&#123;</span>
	        <span style="color: #666666; font-style: italic;">//setBackground(Color.blue); // Não aplicável por razões desconhcidas, busco ajuda.</span>
	        setForeground<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acolor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Color</span></a>.<span style="color: #006633;">yellow</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			setFont<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afont+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Font</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Dialog&quot;</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afont+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Font</span></a>.<span style="color: #006633;">PLAIN</span>, <span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	        setUndecorated<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	        setResizable<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #008000; font-style: italic; font-weight: bold;">/**
			 * Verifica se o dispositivo de vídeo suporta modo full screen
			 */</span>
	        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>device.<span style="color: #006633;">isFullScreenSupported</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	        	device.<span style="color: #006633;">setFullScreenWindow</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	        <span style="color: #009900;">&#125;</span>
&nbsp;
			<span style="color: #008000; font-style: italic; font-weight: bold;">/**
			 * Verifica se o dispositivo de vídeo suporta mudança de resolução
			 */</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>device.<span style="color: #006633;">isDisplayChangeSupported</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				device.<span style="color: #006633;">setDisplayMode</span><span style="color: #009900;">&#40;</span>displayMode<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
					<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Athread+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Thread</span></a>.<span style="color: #006633;">sleep</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainterruptedexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">InterruptedException</span></a> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #666666; font-style: italic;">//e.printStackTrace();</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #008000; font-style: italic; font-weight: bold;">/**
			 * Assim que finaliza o tempo da Thread, é finalizado o try saindo do modo fullscreen e saindo do sistema
			 */</span>
&nbsp;
			device.<span style="color: #006633;">setFullScreenWindow</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * Carrega automaticamente por se tratar de uma classe extendida de JFrame (não é necessário chamá-la)
	 * Consute JavaDoc para mais informações
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> paint<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Graphics</span></a> g<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		g.<span style="color: #006633;">drawString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hello World&quot;</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		g.<span style="color: #006633;">draw3DRect</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getWidth</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span>, <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getHeight</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span>, <span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<img src="http://feeds.feedburner.com/~r/DanielAccorsi/~4/ohgavhjuq0o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ciin.com.br/danielaccorsi/index.php/2010/08/java-fullscreen-placa-grafica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ciin.com.br/danielaccorsi/index.php/2010/08/java-fullscreen-placa-grafica/</feedburner:origLink></item>
		<item>
		<title>[JAVA] Java Collections Tutorial</title>
		<link>http://feedproxy.google.com/~r/DanielAccorsi/~3/itKi4c3oVb4/</link>
		<comments>http://www.ciin.com.br/danielaccorsi/index.php/2010/08/java-java-collections-tutorial/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 16:15:35 +0000</pubDate>
		<dc:creator>Daniel Accorsi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[collections]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://www.ciin.com.br/danielaccorsi/?p=206</guid>
		<description><![CDATA[<a href="http://www.ciin.com.br/danielaccorsi/index.php/2010/08/java-java-collections-tutorial/"><img align="left" hspace="5" width="150" height="150" src="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2010/08/collection-overview-150x150.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Estava a procura de documentação sobre Java Collections, então achei este bem objetivo, explicando de forma prática a estrutura, entre alguns exemplos.]]></description>
			<content:encoded><![CDATA[<p>Estava a procura de documentação sobre Java Collections, então achei este bem objetivo, explicando de forma prática a estrutura, entre alguns exemplos, veja:</p>
<p><strong><a href="http://tutorials.jenkov.com/java-collections/index.html">Java Collections Tutorial</a></strong></p>
<p><strong><br />
 </strong></p>
<p style="text-align: center;"><a href="http://tutorials.jenkov.com/java-collections/index.html"><img src="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2010/08/collection-overview.png" alt="" /></a></p>
<img src="http://feeds.feedburner.com/~r/DanielAccorsi/~4/itKi4c3oVb4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ciin.com.br/danielaccorsi/index.php/2010/08/java-java-collections-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ciin.com.br/danielaccorsi/index.php/2010/08/java-java-collections-tutorial/</feedburner:origLink></item>
		<item>
		<title>[JAVA] Projeto Morg – Download</title>
		<link>http://feedproxy.google.com/~r/DanielAccorsi/~3/15qnwfc7xAU/</link>
		<comments>http://www.ciin.com.br/danielaccorsi/index.php/2010/06/java-projeto-morg/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 21:32:09 +0000</pubDate>
		<dc:creator>Daniel Accorsi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Morg]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[rpg]]></category>

		<guid isPermaLink="false">http://www.ciin.com.br/danielaccorsi/?p=202</guid>
		<description><![CDATA[<a href="http://www.ciin.com.br/danielaccorsi/index.php/2010/06/java-projeto-morg/"><img align="left" hspace="5" width="150" height="150" src="http://www.ciin.com.br/danielaccorsi/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Está disponível a versão 0.6 para download do projeto Morg. O projeto foi retomado.]]></description>
			<content:encoded><![CDATA[<p>Está disponível a versão 0.6 para download do projeto Morg. O projeto foi retomado. Lembrando que é necessário fazer as configurações corretas no console do DOS para conseguir exibir sem quebra de caracteres.</p>
<p>Configuração do console:</p>
<p><strong>Buffer:</strong><br />
 Largura: 110<br />
 Altura: 400</p>
<p><strong>Janela:</strong><br />
 Largura: 110<br />
 Altura: 50</p>
<p><strong>Fonte:</strong> Lucida Console</p>
<p>Ahh, claro&#8230; Tenham o Java! <img src='http://www.ciin.com.br/danielaccorsi/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Para carregar o game, basta descompactar e executar o <strong>morg.bat</strong>.</p>
<p><strong>Segue o link: <a href="http://code.google.com/p/morggame/" target="_blank">http://code.google.com/p/morggame/</a></strong></p>
<img src="http://feeds.feedburner.com/~r/DanielAccorsi/~4/15qnwfc7xAU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ciin.com.br/danielaccorsi/index.php/2010/06/java-projeto-morg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ciin.com.br/danielaccorsi/index.php/2010/06/java-projeto-morg/</feedburner:origLink></item>
		<item>
		<title>Recrutando pessoas – games</title>
		<link>http://feedproxy.google.com/~r/DanielAccorsi/~3/WhY9N5G4dS0/</link>
		<comments>http://www.ciin.com.br/danielaccorsi/index.php/2010/02/recrutando-pessoas-games/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 15:30:26 +0000</pubDate>
		<dc:creator>Daniel Accorsi</dc:creator>
				<category><![CDATA[Oportunidades]]></category>
		<category><![CDATA[criação]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[empresa]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[jogo]]></category>
		<category><![CDATA[pessoas]]></category>
		<category><![CDATA[projeto]]></category>
		<category><![CDATA[recrutamento]]></category>

		<guid isPermaLink="false">http://www.ciin.com.br/danielaccorsi/?p=194</guid>
		<description><![CDATA[<a href="http://www.ciin.com.br/danielaccorsi/index.php/2010/02/recrutando-pessoas-games/"><img align="left" hspace="5" width="150" height="150" src="http://www.ciin.com.br/danielaccorsi/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Estou recrutando pessoal para trabalho em projetos na área de games (participação nos lucros).]]></description>
			<content:encoded><![CDATA[<p>Estou recrutando pessoal para trabalho em  projetos na área de games  (participação nos lucros). O objetivo é  reunir equipe capacitada para desenvolvimento com foco comercial. A  equipe está sendo formada e a meta é atingir em torno de 25 pessoas nas  diversas áreas e etapas (inicialmente). Algumas pessoas já foram  recrutadas, porém estamos precisando de ajuda nas seguintes áreas (há  áreas com necessidade de mais de uma pessoa):</p>
<p><span id="more-194"></span></p>
<p>-Modelagem 2D/3D <br />
 -Textura e Arte 2D <br />
 -Programação C++ (+engines) <br />
 -Programação Java e JavsScript <br />
 -Áudio &#8211; Efeitos Especiais e Ambiente <br />
 -Áudio &#8211; Música <br />
 -Design de Interface <br />
 -Engines &#8211; Unity (C#/JavaScript) <br />
 -Engines &#8211; UDK (C++/Java) <br />
 -Teste (não se aplica a este tópico) <br />
 -Documentação (não se aplica a este tópico) <br />
 -Correção Documentação (não se aplica a este tópico) <br />
 -Marketing (não se aplica a este tópico) <br />
 -Vendas (não se aplica a este tópico)</p>
<p>Os detalhes de funcionamento e método de trabalho será enviado após  fechamento da equipe. Estamos recebendo indicações de pessoas acima de  18 anos. Participação mediante contrato assinado.</p>
<p>A principal atenção inicial é atingir o objetivo com essas 25 pessoas  sem atrapalhar seus atuais empregos ou estudos. Um projeto incial de  entrosamento está a ser criado.</p>
<p><em><strong><a href="http://www.ciin.com.br/danielaccorsi/index.php/contato/">&#8211;&gt; Interessados falar comigo através do formulário de contato, aqui!</a></strong></em></p>
<p>.</p>
<img src="http://feeds.feedburner.com/~r/DanielAccorsi/~4/WhY9N5G4dS0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ciin.com.br/danielaccorsi/index.php/2010/02/recrutando-pessoas-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ciin.com.br/danielaccorsi/index.php/2010/02/recrutando-pessoas-games/</feedburner:origLink></item>
		<item>
		<title>[CSS] Do básico ao avançado</title>
		<link>http://feedproxy.google.com/~r/DanielAccorsi/~3/yPMjLZS6oSM/</link>
		<comments>http://www.ciin.com.br/danielaccorsi/index.php/2010/01/css-do_basico_ao_avancado/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 11:00:00 +0000</pubDate>
		<dc:creator>Daniel Accorsi</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[padrões]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webstandarts]]></category>

		<guid isPermaLink="false">http://www.ciin.com.br/danielaccorsi/index.php/2010/01/css-do_basico_ao_avancado/</guid>
		<description><![CDATA[<a href="http://www.ciin.com.br/danielaccorsi/index.php/2010/01/css-do_basico_ao_avancado/"><img align="left" hspace="5" width="150" height="150" src="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2010/01/devmoose-150x150.jpg" class="alignleft tfe wp-post-image" alt="devmoose.jpg" title="devmoose.jpg" /></a>Que tal aprender CSS do básico até o avançando? Desenvolva seu primeiro laytou nos padrões.]]></description>
			<content:encoded><![CDATA[<div><img style="max-width: 800px;" src="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2010/01/devmoose.jpg" alt="" /></p>
<p><br class="spacer_" /></p>
</div>
<p>Que tal aprender CSS do básico até o avançando? Desenvolva seu primeiro laytou nos padrões:<br />
<a href="http://devmoose.com/coding/6-css-tutorials-that-take-you-from-beginner-to-expert">6 CSS Tutorials That Take You From Beginner to Expert | DevMoose</a> (inglês)</p>
<p><br class="spacer_" /></p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=f11406af-60df-8d04-af45-5e9c06301855" alt="" /></div>
<img src="http://feeds.feedburner.com/~r/DanielAccorsi/~4/yPMjLZS6oSM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ciin.com.br/danielaccorsi/index.php/2010/01/css-do_basico_ao_avancado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ciin.com.br/danielaccorsi/index.php/2010/01/css-do_basico_ao_avancado/</feedburner:origLink></item>
		<item>
		<title>[WORDPRESS] Tutorial passo a passo para criar um tema</title>
		<link>http://feedproxy.google.com/~r/DanielAccorsi/~3/vgh7XuklbSY/</link>
		<comments>http://www.ciin.com.br/danielaccorsi/index.php/2010/01/wordpress-tutorial-tema/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 16:15:00 +0000</pubDate>
		<dc:creator>Daniel Accorsi</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[psd]]></category>
		<category><![CDATA[tema]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.ciin.com.br/danielaccorsi/index.php/2010/01/wordpress-tutorial-tema/</guid>
		<description><![CDATA[<a href="http://www.ciin.com.br/danielaccorsi/index.php/2010/01/wordpress-tutorial-tema/"><img align="left" hspace="5" width="150" height="91" src="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2010/01/aext_net-150x91.jpg" class="alignleft tfe wp-post-image" alt="aext_net.jpg" title="aext_net.jpg" /></a>Estava a procura de um tutorial que ensinasse a criação de temas para WordPress, então achei um bem detalhado, passo a passo desde a criação do PSD até a finalização para a estrutura básica do WordPress. Parabéns ao autor, está separado em três etapas: Criação do PSD PSD para HTML HTML para WordPress Se você [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><a href="http://aext.net" target="_blank"><img style="max-width: 800px;" src="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2010/01/aext_net.jpg" alt="" /></a></p>
</div>
<p>Estava a procura de um tutorial que ensinasse a criação de temas para WordPress, então achei um bem detalhado, passo a passo desde a criação do PSD até a finalização para a estrutura básica do WordPress. Parabéns ao autor, está separado em três etapas:</p>
<p><a href="http://aext.net/2009/12/wordpress-theme-from-scratch-day-1-psd/" target="_blank">Criação do PSD</a><br /> <a href="http://aext.net/2009/12/wordpress-theme-from-scratch-%E2%80%93-day-2-psd-to-html/" target="_blank">PSD para HTML</a><br /> <a href="http://aext.net/2010/01/wordpress-theme-from-scratch-day-3-html-to-wordpress/" target="_blank">HTML para WordPress</a></p>
<p>Se você souber de outros tutoriais completos como esse, <a href="http://www.ciin.com.br/danielaccorsi/index.php/contato/" target="_blank">mande para mim</a> que publico.<br /><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=540e4069-ab85-8f4f-b394-a8891999215e" alt="" /></p>
<p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=d7df061d-8f48-8c7e-a1c7-179038e340fb" /></div>
<img src="http://feeds.feedburner.com/~r/DanielAccorsi/~4/vgh7XuklbSY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ciin.com.br/danielaccorsi/index.php/2010/01/wordpress-tutorial-tema/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.ciin.com.br/danielaccorsi/index.php/2010/01/wordpress-tutorial-tema/</feedburner:origLink></item>
		<item>
		<title>[INTERNET] Wallpapers legais</title>
		<link>http://feedproxy.google.com/~r/DanielAccorsi/~3/O4uOAzT1UGM/</link>
		<comments>http://www.ciin.com.br/danielaccorsi/index.php/2010/01/wallpapers-legais/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 22:46:59 +0000</pubDate>
		<dc:creator>Daniel Accorsi</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[imagens]]></category>
		<category><![CDATA[wallpaper]]></category>

		<guid isPermaLink="false">http://www.ciin.com.br/danielaccorsi/?p=164</guid>
		<description><![CDATA[<a href="http://www.ciin.com.br/danielaccorsi/index.php/2010/01/wallpapers-legais/"><img align="left" hspace="5" width="150" src="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2010/01/wallpapers.jpg" class="alignleft wp-post-image tfe" alt="" title="wallpapers" /></a>Peguei esse link através de um e-mail marketing da Biz Revolution. Achei bem interessante e gostaria de compartilhar. Wallpapers para todos os gostos e tamanhos de monitores Acesse aqui!]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-165" title="wallpapers" src="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2010/01/wallpapers.jpg" alt="" height="92" width="630" /></p>
<p>Peguei esse link através de um e-mail marketing da <a href="http://www.bizrevolution.com.br/" target="_blank">Biz Revolution</a>. Achei bem interessante e gostaria de compartilhar. Wallpapers para todos os gostos e tamanhos de monitores <img src='http://www.ciin.com.br/danielaccorsi/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://ideas.veer.com/features/wallpaper/" target="_blank">Acesse aqui!</a></p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=cf1c26f7-a22b-8e31-a793-8ebd501c6a5a" /></div>
<img src="http://feeds.feedburner.com/~r/DanielAccorsi/~4/O4uOAzT1UGM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ciin.com.br/danielaccorsi/index.php/2010/01/wallpapers-legais/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ciin.com.br/danielaccorsi/index.php/2010/01/wallpapers-legais/</feedburner:origLink></item>
		<item>
		<title>[ORACLE] Expressão Regular – Data</title>
		<link>http://feedproxy.google.com/~r/DanielAccorsi/~3/yUiHeJok0F4/</link>
		<comments>http://www.ciin.com.br/danielaccorsi/index.php/2009/12/oracle-expresso-regular-data/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 19:30:00 +0000</pubDate>
		<dc:creator>Daniel Accorsi</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[expressão]]></category>
		<category><![CDATA[regexp_substr]]></category>
		<category><![CDATA[regular]]></category>

		<guid isPermaLink="false">http://www.ciin.com.br/danielaccorsi/?p=159</guid>
		<description><![CDATA[<a href="http://www.ciin.com.br/danielaccorsi/index.php/2009/12/oracle-expresso-regular-data/"><img align="left" hspace="5" width="150" height="150" src="http://www.ciin.com.br/danielaccorsi/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Uma dica de expressão regular. Uma forma de achar uma data em meio a um mundo de informações agregadas é utilizando expressão regular através do comando REGEXP_SUBSTR, veja abaixo: ?View Code SQL1 SELECT REGEXP_SUBSTR&#40;'STRINGSTRING25/10/2009STRINGSTRING','([123]0&#124;[012][1-9]&#124;31)/(0[1-9]&#124;1[012])/(19[0-9]{2}&#124;2[0-9]{3})'&#41; data_reg FROM DUAL;]]></description>
			<content:encoded><![CDATA[<p>Uma dica de expressão regular. Uma forma de achar uma data em meio a um mundo de informações agregadas é utilizando expressão regular através do comando REGEXP_SUBSTR, veja abaixo:</p>
<p><br class="spacer_" /></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p159code3'); return false;">View Code</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1593"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p159code3"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> REGEXP_SUBSTR<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'STRINGSTRING25/10/2009STRINGSTRING'</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'([123]0|[012][1-9]|31)/(0[1-9]|1[012])/(19[0-9]{2}|2[0-9]{3})'</span><span style="color: #66cc66;">&#41;</span> data_reg <span style="color: #993333; font-weight: bold;">FROM</span> DUAL;</pre></td></tr></table></div>

<img src="http://feeds.feedburner.com/~r/DanielAccorsi/~4/yUiHeJok0F4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ciin.com.br/danielaccorsi/index.php/2009/12/oracle-expresso-regular-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.ciin.com.br/danielaccorsi/index.php/2009/12/oracle-expresso-regular-data/</feedburner:origLink></item>
		<item>
		<title>[JAVA] Assert (teste unitário) – Você sabe o que é?</title>
		<link>http://feedproxy.google.com/~r/DanielAccorsi/~3/xRl88zudgZg/</link>
		<comments>http://www.ciin.com.br/danielaccorsi/index.php/2009/07/java-assert-voce-sabe-o-que-e/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 00:49:58 +0000</pubDate>
		<dc:creator>Daniel Accorsi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[assert]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[Morg]]></category>
		<category><![CDATA[teste unitário]]></category>

		<guid isPermaLink="false">http://www.ciin.com.br/danielaccorsi/?p=151</guid>
		<description><![CDATA[<a href="http://www.ciin.com.br/danielaccorsi/index.php/2009/07/java-assert-voce-sabe-o-que-e/"><img align="left" hspace="5" width="150" height="150" src="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2009/07/eclipse_assert-150x150.jpg" class="alignleft wp-post-image tfe" alt="eclipse_assert" title="eclipse_assert" /></a>Assert (Teste Unitário). Saiba o que é e como utiliza-lo. Saiba também como configurá-lo no Eclipse.]]></description>
			<content:encoded><![CDATA[<p>Não? Pois bem, aprendi sobre ele esses dias. Pesquisei pela internet para tentar entender sua a real utilização. Vi muita coisa em fóruns. Ah, antes deixe-me comentar uma coisa: valeu pela dica de um colega usuário (não me lembro em qual fórum) que ao ver meu <a href="http://www.ciin.com.br/danielaccorsi/index.php/2009/07/java-projeto-morg-06/" target="_blank">checklist do Projeto Morg</a>, me recomendou em acrescentar o estudo sobre teste unitário (Assert). Isso mesmo! Eu estou falando aqui dos <strong>Testes Unitários</strong>, que são utilizados somente em modo de desenvolvimento e <span style="text-decoration: underline;">nunca em fase de produção</span>.</p>
<p><span id="more-151"></span></p>
<p>O assunto deste post tem como base o checklist do Projeto Morg, como comentado acima. <a href="http://www.ciin.com.br/danielaccorsi/index.php/2009/07/java-projeto-morg-06/" target="_blank">Conheça mais sobre ele aqui</a>. Então&#8230; Vejamos sobre Assert.</p>
<p>Fui realmente entender sobre <strong>Assertivas</strong> ao ler as páginas <strong>488 </strong>e <strong>489 </strong>do livro <a href="http://www.submarino.com.br/produto/1/730400/java:+como+programar/?franq=259334" target="_blank">Java Como Programar – 6ª Edição</a>.</p>
<p>A função principal do <strong>Assert </strong>é retornar uma exceção quando encontrado uma condição falsa. É utilizado para detectar erros de lógica e bugs que passam despercebidos pelo programador.<br />
 Sendo mais claro, avalie o código abaixo:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p151code4'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1514"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p151code4"><pre class="java" style="font-family:monospace;">Int x <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">assert</span> <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">==</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Aqui não é retornado nenhum erro, pois a condição foi verdadeira.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p151code5'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1515"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p151code5"><pre class="java" style="font-family:monospace;">Int x <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">assert</span> <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">==</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Nesse caso retorna uma exceção (<strong>AssertionError</strong>) e interrompe a execução do programa imediatamente.</p>
<p>Mas para que serve isso? Simples! Resolva os bugs de seu programa dessa forma, ou seja, se você não sabe onde está exatamente o problema, poderá dizer ao Java que mande encerrar a exceção em um determinado ponto através desse teste unitário. Que tal pensarmos assim: <em>“Sr. Java, se nessa parte não vier um número 10, por favor, gere uma exceção e pare de executar, então me mostre o resultado da variável, dessa forma saberei onde está o problema.”</em></p>
<p>Vamos traduzir isso em linhas de código:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p151code6'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1516"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p151code6"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> x<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>x<span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;=</span><span style="color: #cc66cc;">30</span><span style="color: #339933;">;</span>x<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">assert</span> <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">!=</span><span style="color: #cc66cc;">10</span> <span style="color: #339933;">:</span> “Opa<span style="color: #339933;">!</span> Saiu um “ <span style="color: #339933;">+</span> x <span style="color: #339933;">+</span> ”, não pode<span style="color: #339933;">!</span>”<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Você pode repetir esta operação em qualquer lugar de seu código para fazer testes unitários. Assim você garante a integridade de seu sistema em qualquer momento do desenvolvimento. A princípio você talvez não consiga encontrar uma necessidade para isso. Mas não desista, o Assert é apenas uma ferramenta para o desenvolvedor. Ele irá ajudá-lo a resolver os bugs que estão quebrando a sua regra.</p>
<p><span style="text-decoration: underline;"><strong>Habilitando o assert</strong></span></p>
<p>Para que você consiga usar o assert em seus códigos, precisa avisar ao Java que estará utilizando assertions no meio do código. Para isso basta adicionar os parâmetros –ea na linha de comando do console ao executar seu programa:</p>
<p><strong>java –ea MeuPrograma</strong></p>
<p>Se você usa o <strong>Eclipse</strong>, basta seguir conforma a imagem abaixo. Chame as propriedades de seu projeto e siga os números.</p>
<p><a href="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2009/07/eclipse_assert.jpg"><img class="aligncenter size-medium wp-image-153" title="eclipse_assert" src="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2009/07/eclipse_assert-300x182.jpg" alt="eclipse_assert" width="300" height="182" /></a></p>
<p><br class="spacer_" /></p>
<p><strong>Um detalhe é muito importante:</strong> o Eclipse não vai reconhecer o comando assert se não mudar a versão do nível de compilação <em>para 1.5 ou superior</em>. Para isso, basta entrar novamente nas propriedades do projeto, então na opção Java Compiler, ative a opção “<strong>Enable project specific settings</strong>” e troque a versão. Veja a imagem abaixo:</p>
<p><a href="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2009/07/eclipse_lvl_comp.png"><img class="aligncenter size-medium wp-image-154" title="eclipse_lvl_comp" src="http://www.ciin.com.br/danielaccorsi/wp-content/uploads/2009/07/eclipse_lvl_comp-300x267.png" alt="eclipse_lvl_comp" width="300" height="267" /></a></p>
<p><strong>Atenção! </strong>Comente todos os asserts de seu programa ao enviar para produção, já que a execução com os parâmetros –ea podem ser utilizados por qualquer usuário.</p>
<img src="http://feeds.feedburner.com/~r/DanielAccorsi/~4/xRl88zudgZg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ciin.com.br/danielaccorsi/index.php/2009/07/java-assert-voce-sabe-o-que-e/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.ciin.com.br/danielaccorsi/index.php/2009/07/java-assert-voce-sabe-o-que-e/</feedburner:origLink></item>
	</channel>
</rss>

