<?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>André L. S. &#187; Dicas rápidas</title>
	<atom:link href="http://www.andrels.com/wp-pt_BR/index.php/category/dicas-rapidas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andrels.com/wp-pt_BR</link>
	<description>Desenvolvimento de Softwares, Tecnologia e Games</description>
	<lastBuildDate>Wed, 08 Feb 2012 12:37:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Compilando objetos inválidos do Oracle de maneira fácil</title>
		<link>http://www.andrels.com/wp-pt_BR/index.php/2012/01/compilando-objetos-invalidos-do-oracle-de-maneira-facil/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.andrels.com/wp-pt_BR/index.php/2012/01/compilando-objetos-invalidos-do-oracle-de-maneira-facil/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 21:39:46 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Dicas rápidas]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[plsql]]></category>

		<guid isPermaLink="false">http://www.andrels.com/wp-pt_BR/?p=454</guid>
		<description><![CDATA[Quando se compila um objeto que é referenciado por vários outros objetos, estes ficam inválidos até que sejam recompilados novamente,<a href="http://www.andrels.com/wp-pt_BR/index.php/2012/01/compilando-objetos-invalidos-do-oracle-de-maneira-facil/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Quando se compila um objeto que é referenciado por vários outros objetos, estes ficam inválidos até que sejam recompilados novamente, coisa que o Oracle deveria fazer e, de alguma maneira, as vezes não faz.</p>
<p>Então aqui vai uma dica para quem tem de compilar várias <em>packages</em>, <em>procedures</em> e/ou <em>functions</em> inválidas diariamente devido à esta falha do Oracle.</p>
<p>Existe um comando que força o banco a compilar todos os objetos inválidos sob um determinado usuário, o comando é:</p>
<pre class="brush:sql">exec dbms_ultility.compile_schema(&lt;USUARIO&gt;);</pre>
<p>Substitua por <i>user</i> onde está &lt;USUARIO&gt; se os objetos estiverem sob o usuário que está conectado, ou pelo nome de usuário correspondente.</p>
<p>O comando demora um pouco para ser executado e não compila todos os objetos que estão inválidos por erro de codificação, para descobrir quais objetos estão inválidos, você pode executar a seguinte <em>query</em>:</p>
<pre class="brush:sql">
select object_name
from all_objects
where status = 'INVALID'
</pre>
<p>Será listado os objetos que estão inválidos na base.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrels.com/wp-pt_BR/index.php/2012/01/compilando-objetos-invalidos-do-oracle-de-maneira-facil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A importância de File.separator e File.pathSeparator</title>
		<link>http://www.andrels.com/wp-pt_BR/index.php/2011/08/a-importancia-de-file-separator-e-file-pathseparator/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.andrels.com/wp-pt_BR/index.php/2011/08/a-importancia-de-file-separator-e-file-pathseparator/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 16:35:07 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Dicas rápidas]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://www.andrels.com/wp-pt_BR/?p=352</guid>
		<description><![CDATA[Quase todos os programadores Java conhecem os métodos citados no título, mas muito poucos se preocupam em utiliza-los. Estes dois<a href="http://www.andrels.com/wp-pt_BR/index.php/2011/08/a-importancia-de-file-separator-e-file-pathseparator/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Quase todos os programadores Java conhecem os métodos citados no título, mas muito poucos se preocupam em utiliza-los.</p>
<p>Estes dois métodos servem para que o programador não precise &#8220;adivinhar&#8221; qual é o separador de arquivos e qual é o separador de caminhos em cada sistema operacional.</p>
<p>No Linux/Unix, os métodos <b><a href="http://download.oracle.com/javase/1,5.0/docs/api/java/io/File.html#separator">File.separator</a></b> e <b><a href="http://download.oracle.com/javase/1,5.0/docs/api/java/io/File.html#pathSeparator">File.pathSeparator</a></b> retornam &#8220;/&#8221; e &#8220;.&#8221; respectivamente, enquanto que, no Windows, estes mesmos métodos retornam &#8220;\&#8221; (ou &#8220;\\&#8221; &#8211; escape) e &#8220;;&#8221;.</p>
<p>Passei por um caso recente, onde o código abaixo lançava a <i>exception</i> FileNotFoundException no Linux, mas funcionava perfeitamente no Windows:</p>
<pre class="brush:java">
String caminhoAp = ctx.getRealPath();
String caminhoArq = caminhoAp + "\\" + "WEB-INF/classes/pacotes/da/minha/aplicacao/";

File arquivo = new File(caminhoArq, "relatorio.pdf");
OutputStream out = new FileOutputStream(arquivo);
...
</pre>
<p>Então passou a funcionar nos dois sistemas operacionais após substituir &#8220;\\&#8221; por File.separator na linha 2, desta forma:</p>
<pre class="brush:java">
String caminhoAp = ctx.getRealPath();
String caminhoArq = caminhoAp + File.separator + "WEB-INF/classes/pacotes/da/minha/aplicacao/";

File arquivo = new File(caminhoArq, "relatorio.pdf");
OutputStream out = new FileOutputStream(arquivo);
...
</pre>
<p>A utilização destes métodos, além de ser uma boa prática, é muito útil quando se tem a mesma versão de um sistema feito em Java rodando de diferentes sistemas operacionais.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrels.com/wp-pt_BR/index.php/2011/08/a-importancia-de-file-separator-e-file-pathseparator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Corrigindo o erro &#8220;Allowed memory size of&#8230;&#8221; do WordPress</title>
		<link>http://www.andrels.com/wp-pt_BR/index.php/2011/07/corrigindo-o-erro-allowed-memory-size-of-do-wordpress/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.andrels.com/wp-pt_BR/index.php/2011/07/corrigindo-o-erro-allowed-memory-size-of-do-wordpress/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 01:38:02 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Configurações]]></category>
		<category><![CDATA[Dicas rápidas]]></category>
		<category><![CDATA[Softwares]]></category>
		<category><![CDATA[correção]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[fatal]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.andrels.com/wp-pt_BR/?p=302</guid>
		<description><![CDATA[Acabei de atualizar meu WordPress para a versão 3.2, ao terminar a atualização o servidor retornada a página de erro<a href="http://www.andrels.com/wp-pt_BR/index.php/2011/07/corrigindo-o-erro-allowed-memory-size-of-do-wordpress/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Acabei de atualizar meu WordPress para a versão 3.2, ao terminar a atualização o servidor retornada a página de erro 500. Vasculhando o arquivo de log do WP descubri que estava dando o erro <strong>Fatal error: Allowed memory size of 33554432 bytes exhausted</strong>, aliás, vários erros assim.</p>
<p>Para descobrir se este é o seu problema, acesse o arquivo <strong>error_log</strong> que está no diretório <strong>wp-admin</strong> do WordPress e cheque as últimas linhas.</p>
<p>O procedimento abaixo resolveu o problema, mas, dependendo do servidor de hospedagem, talvez as configurações do PHP não permita o redimensionamento de memória em tempo de execução.</p>
<p>Edite o arquivo <strong>wp-settings.php </strong>que está na raiz do WordPress e adicione a linha abaixo após &#8220;&lt;?php&#8221;</p>
<pre class="brush:php">define('WP_MEMORY_LIMIT', '64M');</pre>
<p>Aqui eu aloquei 64MB para o PHP, mas como saber quanto de espaço foi e deve ser alocado?</p>
<p>Na mensagem de erro ele mostra a quantidade que está sendo alocada, é o número comprido da mensagem &#8220;Fatal error: Allowed memory size of <span style="text-decoration: underline;">33554432</span>&#8230;&#8221;. Aqui ele diz que foi alocado 32MB (para converter bytes em megabytes faça o cálculo 33554432 / (1024^2) = 32).</p>
<p>Dependendo do resultado do cálculo, indique um valor superior.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrels.com/wp-pt_BR/index.php/2011/07/corrigindo-o-erro-allowed-memory-size-of-do-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando aplicativos .apk no emulador do Android SDK</title>
		<link>http://www.andrels.com/wp-pt_BR/index.php/2011/02/instalando-aplicativos-apk-no-emulador-do-android-sdk/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.andrels.com/wp-pt_BR/index.php/2011/02/instalando-aplicativos-apk-no-emulador-do-android-sdk/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 15:30:44 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Configurações]]></category>
		<category><![CDATA[Dicas rápidas]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apk]]></category>
		<category><![CDATA[emulador]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://www.andrels.com/wp-pt_BR/?p=277</guid>
		<description><![CDATA[Algumas vezes dependemos de aplicações de terceiros para testar se nossa aplicação está funcionando corretamente ou, simplesmente, acessar recursos do<a href="http://www.andrels.com/wp-pt_BR/index.php/2011/02/instalando-aplicativos-apk-no-emulador-do-android-sdk/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Algumas vezes dependemos de aplicações de terceiros para testar se nossa aplicação está funcionando corretamente ou, simplesmente, acessar recursos do emulador que não estão disponíveis nas ferramentas que o acompanham.</p>
<p>Nos diretórios de instalação do SDK, geralmente em <em>platform-tools</em>, existe um executável chamado <strong>adb</strong>, através dele instalaremos aplicações de terceiros.</p>
<p>Antes de mais nada, você precisará do pacote de instalação do aplicativo (.apk). Para isso, procure em sites de busca ou faça backup através de seu aparelho Android usando aplicativos com o <a title="AppSaver" href="https://market.android.com/details?id=com.IQBS.android.appSaver&amp;feature=search_result">AppSaver</a>.</p>
<p>- Inicie o emulador, podendo ser pelo SDK Manager ou pelo plugin do Android no Eclipse.</p>
<p>- Através do prompt do DOS (Windows) ou de um terminal (Linux), acesse o diretório <em>platform-tools</em>, e execute a linha de comando:</p>
<pre class="brush:bash">$ adb install &lt;caminho do arquivo .apk&gt;</pre>
<p>Você verá a mensagem:</p>
<pre class="brush:bash">$ adb install Aplicativo.apk
125 KB/s (1091937 bytes in 8.474s)
        pkg: /data/local/tmp/Aplicativo.apk
Success</pre>
<p>Agora o aplicativo estará disponível no menu do emulador, como se estivesse instalado no seu smartphone. <img src='http://www.andrels.com/wp-pt_BR/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrels.com/wp-pt_BR/index.php/2011/02/instalando-aplicativos-apk-no-emulador-do-android-sdk/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Configurando acesso à internet via proxy em aplicações Java</title>
		<link>http://www.andrels.com/wp-pt_BR/index.php/2010/03/configurando-acesso-a-internet-via-proxy-em-aplicacoes-java/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.andrels.com/wp-pt_BR/index.php/2010/03/configurando-acesso-a-internet-via-proxy-em-aplicacoes-java/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 01:35:42 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Dicas rápidas]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[prompt]]></category>
		<category><![CDATA[proxy]]></category>

		<guid isPermaLink="false">http://www.andrels.com/wp-pt_BR/?p=186</guid>
		<description><![CDATA[Hoje tive um problema no meu trabalho onde um client, que roda via prompt de comando (Prompt do DOS), não<a href="http://www.andrels.com/wp-pt_BR/index.php/2010/03/configurando-acesso-a-internet-via-proxy-em-aplicacoes-java/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Hoje tive um problema no meu trabalho onde um client, que roda via prompt de comando (Prompt do DOS), não conseguia acessar o servidor hospedado na internet, isso porque a empresa onde trabalho utiliza proxy.</p>
<p>Depois de algumas tentativas acabei achando duas soluções para resolver o problema de acesso: a primeira foi passar como parâmetros <em>Java</em> as configurações do proxy.</p>
<pre class="brush:shell">$ java -Dhttp.proxyHost=serv -Dhttp.proxyPort=porta -Dhttp.proxyUser=usu -Dhttp.proxyPassword=senha ClasseJava
</pre>
<p><strong>-Dhttp.proxyHost</strong> = IP ou nome do servidor proxy<br />
<strong>-Dhttp.proxyPort</strong> = Porta do proxy<br />
<strong>-Dhttp.proxyUser</strong> = Usuário<br />
<strong>-Dhttp.proxyPassword</strong> = Senha</p>
<p>Desta forma a classe <i>ClasseJava</i> terá acesso à internet através do proxy.</p>
<p>A outra forma foi inserir as configurações na própria classe:</p>
<pre class="brush:java">
public static void main(String[] args){
...
System.getProperties().put("proxySet", "true");
System.getProperties().put("http.proxyHost", "serv");
System.getProperties().put("http.proxyPort", "porta");
System.getProperties().put("http.proxyUser", "usuario");
System.getProperties().put("http.proxyPassword", "senha");
...
}
</pre>
<p><strong>proxySet</strong> = Define se passará ou não por um servidor proxy<br />
<strong>http.proxyHost</strong> = IP ou nome do servidor proxy<br />
<strong>http.proxyPortt</strong> = Porta do proxy<br />
<strong>http.proxyUse</strong> = Usuário<br />
<strong>http.proxyPassword</strong> = Senha</p>
<p>Usando um destes recursos você poderá configurar sua aplicação para acessar à internet através de um proxy.</p>
<p>Espero ter ajudado. Até +! <img src='http://www.andrels.com/wp-pt_BR/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrels.com/wp-pt_BR/index.php/2010/03/configurando-acesso-a-internet-via-proxy-em-aplicacoes-java/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Playlist do Amarok pára após tocar uma música</title>
		<link>http://www.andrels.com/wp-pt_BR/index.php/2010/03/playlist-do-amarok-para-apos-tocar-uma-musica/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.andrels.com/wp-pt_BR/index.php/2010/03/playlist-do-amarok-para-apos-tocar-uma-musica/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 01:52:05 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Configurações]]></category>
		<category><![CDATA[Dicas rápidas]]></category>
		<category><![CDATA[Softwares]]></category>
		<category><![CDATA[amarok]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[playlist]]></category>

		<guid isPermaLink="false">http://www.andrels.com/wp-pt_BR/?p=180</guid>
		<description><![CDATA[Recentemente enfrentei um problema que vários outros usuários do Amarok 2.1.1 vêm enfrentando: O Amarok só toca uma música do<a href="http://www.andrels.com/wp-pt_BR/index.php/2010/03/playlist-do-amarok-para-apos-tocar-uma-musica/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Recentemente enfrentei um problema que vários outros usuários do Amarok 2.1.1 vêm enfrentando: O Amarok só toca uma música do playlist e depois pára.</p>
<p>Para resolver este problema: Feche o Amarok, delete o arquivo <strong> ~/.kde/share/apps/amarok/current.xspf </strong>e então reinicie o Amarok.</p>
<p>Pelo menos comigo funcionou e espero que funcione com todos! <img src='http://www.andrels.com/wp-pt_BR/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Até +.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrels.com/wp-pt_BR/index.php/2010/03/playlist-do-amarok-para-apos-tocar-uma-musica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inserindo arquivos em campos BLOB de uma base de dados</title>
		<link>http://www.andrels.com/wp-pt_BR/index.php/2010/02/inserindo-arquivos-em-campos-blob-de-uma-base-de-dados/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.andrels.com/wp-pt_BR/index.php/2010/02/inserindo-arquivos-em-campos-blob-de-uma-base-de-dados/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 16:39:03 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Dicas rápidas]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[arquivo]]></category>
		<category><![CDATA[blob]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.andrels.com/wp-pt_BR/?p=157</guid>
		<description><![CDATA[Para inserir um arquivo, seja ele de qualquer formato, é necessário utilizar o método setBinaryStream implementado pelo PreparedStatement. PreparedStatemente.setBinaryStream(int índice,<a href="http://www.andrels.com/wp-pt_BR/index.php/2010/02/inserindo-arquivos-em-campos-blob-de-uma-base-de-dados/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Para inserir um arquivo, seja ele de qualquer formato, é necessário utilizar o método <em>setBinaryStream</em> implementado pelo PreparedStatement.</p>
<pre class="brush:java">
PreparedStatemente.setBinaryStream(int índice, Inputstream is, int tamanho);
</pre>
<p>Para o exemplo definimos uma tabela chamada <i>arquivo</i> que contém um campo <b>BLOB</b> chamado <i>ARQ</i>.</p>
<pre class="brush:java">
//Conexão normal, como qualquer JDBC
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@&lt;IP&gt;:&lt;PORTA&gt;:&lt;SID>","&lt;USUARIO&gt;","&lt;SENHA&gt;");

//Acessando o arquivo a ser enviado e recuperando um InputStream
File arquivo = new File("&lt;CAMINHO_COMPLETO_DO_ARQUIVO&gt;");
FileInputStream fis = new FileInputStream(arquivo);

//Preparando a chamada normalmente
PreparedStatement ps = conn.prepareStatement("INSERT INTO ARQUIVO (arq) VALUES(?)");

//Informando o inputstream e o tamanho do arquivo a ser enviado
ps.setBinaryStream(1, fis, (int)arquivo.length());

ps.execute();

ps.close();
conn.close();
</pre>
<p>No meu teste utilizei a base de dados Oracle 8i. Como não tenho à disposição uma base MySQL/PostgreSQL/MS SQL Server, deixo vocês encarregados de testar e me enviar os resultados, OK? <img src='http://www.andrels.com/wp-pt_BR/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>[]&#8216;s e até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrels.com/wp-pt_BR/index.php/2010/02/inserindo-arquivos-em-campos-blob-de-uma-base-de-dados/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Habilitando Telnet e TFTP no Windows 7</title>
		<link>http://www.andrels.com/wp-pt_BR/index.php/2009/12/habilitando-telnet-e-tftp-no-windows-7/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.andrels.com/wp-pt_BR/index.php/2009/12/habilitando-telnet-e-tftp-no-windows-7/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 13:18:50 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Configurações]]></category>
		<category><![CDATA[Dicas rápidas]]></category>
		<category><![CDATA[Sistemas Operacionais]]></category>
		<category><![CDATA[telnet]]></category>
		<category><![CDATA[tftp]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.andrels.com/wp-pt_BR/?p=141</guid>
		<description><![CDATA[Assim como o Windows Vista, o Windows 7 não vem com os clients do Telnet e do TFTP habilitado por<a href="http://www.andrels.com/wp-pt_BR/index.php/2009/12/habilitando-telnet-e-tftp-no-windows-7/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Assim como o Windows Vista, o Windows 7 não vem com os <em>clients</em> do Telnet e do TFTP habilitado por padrão.</p>
<p>Para habilitá-lo clique em <em>Painel de Controle</em> ><em> Programas e Recursos</em> > na lateral esquerda clique em<em> Ativar ou desativar recursos do Windows</em> > habilite o Cliente Telnet e Cliente TFTP e então clique em OK.</p>
<p>Não testei no Windows Vista, mas o processo deve ser o mesmo.</p>
<p>Até mais!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrels.com/wp-pt_BR/index.php/2009/12/habilitando-telnet-e-tftp-no-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Os comandos mais usados de Unix agora para Win32</title>
		<link>http://www.andrels.com/wp-pt_BR/index.php/2009/11/os-comandos-mais-usados-de-unix-agora-para-win32/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.andrels.com/wp-pt_BR/index.php/2009/11/os-comandos-mais-usados-de-unix-agora-para-win32/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 21:11:30 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Dicas rápidas]]></category>
		<category><![CDATA[Sistemas Operacionais]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.andrels.com/wp-pt_BR/?p=138</guid>
		<description><![CDATA[Já pensou rodar comandos como grep, chown, tail e su no Windows e ainda poder substituir o dir pelo ls?<a href="http://www.andrels.com/wp-pt_BR/index.php/2009/11/os-comandos-mais-usados-de-unix-agora-para-win32/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Já pensou rodar comandos como <em>grep</em>, <em>chown</em>, <em>tail</em> e <em>su</em> no Windows e ainda poder substituir o <em>dir</em> pelo <em>ls</em>?</p>
<p>Procurando na internet por uma alternativa <em>Win32</em> para o comando <em>tail</em>, encontrei o UnixUtils. Uma compilação para Windows dos comandos mais utilizados no Linux/Unix.</p>
<p>Você pode fazer o download do ZIP pelo SourceForge clicando <a title="UnixUtils" href="http://sourceforge.net/projects/unxutils/" target="_blank">aqui</a>.</p>
<p>Até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrels.com/wp-pt_BR/index.php/2009/11/os-comandos-mais-usados-de-unix-agora-para-win32/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Limitando número máximo de caracteres em um JTextField</title>
		<link>http://www.andrels.com/wp-pt_BR/index.php/2009/08/limitando-numero-maximo-de-caracteres-em-um-jtextfield/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.andrels.com/wp-pt_BR/index.php/2009/08/limitando-numero-maximo-de-caracteres-em-um-jtextfield/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 16:28:34 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Dicas rápidas]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jtextfield]]></category>
		<category><![CDATA[swing]]></category>

		<guid isPermaLink="false">http://www.andrels.com/wp-pt_BR/?p=93</guid>
		<description><![CDATA[A implementação padrão do JTextField não permite definir um limite para inserção de caracteres. Para habilitar este recurso é necessário<a href="http://www.andrels.com/wp-pt_BR/index.php/2009/08/limitando-numero-maximo-de-caracteres-em-um-jtextfield/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>A implementação padrão do <em>JTextField</em> não permite definir um limite para inserção de caracteres. Para habilitar este recurso é necessário implementar um <em>Document</em>, onde será necessário sobrescrever o método <em>insertString</em>.</p>
<pre class="brush:java">public class MaxLengthTextDocument extends PlainDocument {
	//Armazena o número máximo de caracteres para o texto.
	private int maxChars;

	@Override
	public void insertString(int offs, String str, AttributeSet a)
			throws BadLocationException {
		if(str != null &#038;&#038; (getLength() + str.length() < maxChars)){
            		super.insertString(offs, str, a);
        	}
	}

	//getter e setter omitidos
}</pre>
<p>Aqui definimos a classe <em>MaxLengthTextDocument</em> estendendo a <em>PlainDocument</em>. No atributo <em>insertString</em> inserimos uma regra onde só será inserido valor se comprimento não ultrapassar o valor máximo.</p>
<p>Depois é só inserir a implementação no JTextField, desta forma:</p>
<pre class="brush:java">	...
	MaxLengthTextDocument maxLength = new MaxLengthTextDocument();
	maxLength.setMaxChars(50);//Limitamos para 50 caracteres

	jTextField.setDocument(maxLength);
	...</pre>
<p>E voilá!</p>
<p>Até mais!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrels.com/wp-pt_BR/index.php/2009/08/limitando-numero-maximo-de-caracteres-em-um-jtextfield/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JLabel com preenchimento (Padding)</title>
		<link>http://www.andrels.com/wp-pt_BR/index.php/2009/08/jlabel-com-preenchimento-padding/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.andrels.com/wp-pt_BR/index.php/2009/08/jlabel-com-preenchimento-padding/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 21:29:45 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Dicas rápidas]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[component]]></category>
		<category><![CDATA[swing]]></category>

		<guid isPermaLink="false">http://www.andrels.com/wp-pt_BR/?p=81</guid>
		<description><![CDATA[Para adicionar preenchimento (padding) à um JLabel podemos usar as próprias bordas. Colocamos um EmptyBorder com o espaçamento que precisamos.<a href="http://www.andrels.com/wp-pt_BR/index.php/2009/08/jlabel-com-preenchimento-padding/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
			<content:encoded><![CDATA[<p>Para adicionar preenchimento (padding) à um JLabel podemos usar as próprias bordas. Colocamos um EmptyBorder com o espaçamento que precisamos. Desta forma:</p>
<pre class="brush:java">...
JLabel jLabel = new JLabel("Meu JLabel");
//Borda usada para o preenchimento
Border paddingBorder = BorderFactory.createEmptyBorder(10,10,10,10);

jLabel.setBorder(BorderFactory.createCompoundBorder(border,paddingBorder));
...</pre>
<p>Neste caso colocamos um espaçamento de 10 pixels no topo, à esquerda, à direita e em baixo do JLabel respectivamente.</p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="size-full wp-image-83 aligncenter" title="JLabel Padding" src="http://www.andrels.com/wp-pt_BR/wp-content/uploads/2009/08/2.gif" alt="JLabel Padding" width="300" height="100" /></p>
<p>Se ainda quiser colocar uma borda envolta do JLabel, pode-se usar uma CompoundBorder, inserindo a borda e o preenchimento. Desta forma:</p>
<pre class="brush:java">...
JLabel jLabel = new JLabel("Meu JLabel");
//Borda usada para o preenchimento
Border paddingBorder = BorderFactory.createEmptyBorder(10,10,10,10);
//Borda que ficará envolta do JLabel
Border border = BorderFactory.createLineBorder(Color.BLUE);

jLabel.setBorder(BorderFactory.createCompoundBorder(border,paddingBorder));
...</pre>
<p style="text-align: center;"><img class="size-full wp-image-84 aligncenter" title="JLabel padding" src="http://www.andrels.com/wp-pt_BR/wp-content/uploads/2009/08/3.gif" alt="JLabel padding" width="300" height="100" /></p>
<p>Baixe o código fonte desta dica <a href="http://www.andrels.com/wp-pt_BR/wp-content/plugins/download-monitor/download.php?id=1" title="clicado 92 vezes">aqui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrels.com/wp-pt_BR/index.php/2009/08/jlabel-com-preenchimento-padding/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

