<?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>Zona J &#187; Ferramentas</title>
	<atom:link href="http://zonaj.org/category/ferramentas/feed/" rel="self" type="application/rss+xml" />
	<link>http://zonaj.org</link>
	<description>Zona Java - Um blog português sobre java.</description>
	<lastBuildDate>Sun, 29 Jun 2014 18:29:19 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.41</generator>
	<item>
		<title>Ctrl+Tab para alternar entre janelas do Eclipse</title>
		<link>http://zonaj.org/2007/11/08/69/</link>
		<comments>http://zonaj.org/2007/11/08/69/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 23:15:14 +0000</pubDate>
		<dc:creator><![CDATA[rantunes]]></dc:creator>
				<category><![CDATA[Ferramentas]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=69</guid>
		<description><![CDATA[Tenho por hábito usar o conjunto de teclas Ctrl+Tab para alternar entre tabs em várias aplicações que uso (Firefox, NetBeans, etc.) No Eclipse, por omissão, esta funcionalidade está configurada para as teclas Ctrl+F6. Para alterarem a configuração deste atalho no Eclipse (Europa) eis o que devem fazer : Acedam ao menú do eclipse Window &#62; &#8230; <a href="http://zonaj.org/2007/11/08/69/" class="more-link">Continue reading <span class="screen-reader-text">Ctrl+Tab para alternar entre janelas do Eclipse</span></a>]]></description>
				<content:encoded><![CDATA[<p>Tenho por hábito usar o conjunto de teclas <code>Ctrl+Tab</code> para alternar entre <em>tabs</em> em várias aplicações que uso (Firefox, NetBeans, etc.)</p>
<p>No Eclipse, por omissão, esta funcionalidade está configurada para as teclas <code>Ctrl+F6</c
<div style="display: none"><a href='http://ccialis20mg.com/' title='cheapest cialis'>cheapest cialis</a></div>
<p>ode>.</p>
<p>Para alterarem a configuração deste atalho no Eclipse (Europa) eis o que devem fazer :</p>
<ul>
<li>Acedam ao menú do eclipse <code>Window &gt; Preferences</code></li>
<li>
<div style="display:none"><a href='http://viagrapricegood.net/'>viagra online pharmacy</a></div>
<p> Seleccionem na árvore <code>General &gt; Keys</code></li>
<li> Substituam '<em>type filter text</em>' por '<code>Next Editor</code>'</li>
<li> Seleccionem a opção que surge na lista de resultados</li>
<li> Seleccionem a caixa de texto <em>Bindings</em> e executem a combinação de teclas correspondentes ao atalho (<code>Ctrl+Tab</code>).</li>
<li>Podem continuar a adicionar mais atalhos bastando para isso que carreguem em mais combinações de teclas (ou seja, podem manter o <code>Ctrl+F6</code> original, caso pretendam)</li>
<li> Confirmem as alterações e já podem usar o vosso novo atalho.</li>
</ul>
<p>É claro que poderão usar este mesmo método para mudar outros atalhos do Eclipse.</p>
]]></content:encoded>
			<wfw:commentRss>http://zonaj.org/2007/11/08/69/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O Bug do Firebug</title>
		<link>http://zonaj.org/2007/04/27/o-bug-do-firebug/</link>
		<comments>http://zonaj.org/2007/04/27/o-bug-do-firebug/#comments</comments>
		<pubDate>Fri, 27 Apr 2007 20:50:00 +0000</pubDate>
		<dc:creator><![CDATA[rantunes]]></dc:creator>
				<category><![CDATA[Ferramentas]]></category>

		<guid isPermaLink="false">http://d6038509.u101.jodoshared.com/?p=12</guid>
		<description><![CDATA[Aproveito a oportunidade para agradecer publicamente ao Joe Hewitt pelo seu excelente Firebug que já me poupou muitas horas de debugging. Para quem não conhece, o Firebug é um add-on que integra com o Firefox fornecendo uma grande diversidade de ferramentas de desenvolvimento web. Com o Firebug podemos, entre outras coisas: inspeccionar e editar HTML; &#8230; <a href="http://zonaj.org/2007/04/27/o-bug-do-firebug/" class="more-link">Continue reading <span class="screen-reader-text">O Bug do Firebug</span></a>]]></description>
				<content:encoded><![CDATA[<p>
Aproveito a oportunidade para agradecer publicamente ao <a href="http://www.joehewitt.com/about.php">Joe Hewitt</a> pelo seu excelente  <a href="http://www.getfirebug.com/">Firebug</a> que já me poupou muitas horas de debugging.
</p>
<p>
Para quem não conhece, o Firebug é um add-on que integra com o Firefox fornecendo uma grande diversidade de ferramentas de desenvolvimento web. Com o Firebug podemos, entre  outras coisas:</p>
<ul>
<li>inspeccionar e editar HTML;</li>
<li>inspeccionar, editar e obter métricas de CSS;</li>
<li>inspeccionar e editar o DOM;</li>
<li>monitorizar a actividade de rede, especialmente útil para controlar os pedidos Ajax e para medição de tempos de resposta;</li>
<li>fazer debugging de javascript, com breakpoints, step-by-step debugging, etc.</li>
<li>aceder à consola interactiva, permitindo fazer logging, visualizar mensagens de erro do browser e executar directamente javascript.</li>
</ul>
<p>
E como se isto não bastasse, saiu recentemente um versão <a href="http://www.getfirebug.com/lite.html"><i>lite</i></a> que permite executar o Firebug noutros browsers : Internet Explorer, Opera, Safari.
</p>
<p>
Voltando ao tema, estava a fazer uns testes com Ajax que envolviam ir buscar uma página a outro domínio, processar a resposta para extrair parte da informação e apresentar o conteúdo processado na própria pagina.
</p>
<p>
O problema é que cada vez que tentava contactar o site remoto, o Firefox queixava-se com o seguinte erro:<br />
<i>uncaught exception: Permission denied to call method XMLHttpRequest.open</i>
</p>
<p>
Em menos de 5 minutos o Google explicou-me <img src="http://zonaj.org/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /> que o problema se devia a uma restrição de segurança implementada no Firefox, que para fazer este tipo de operação o script tinha de ter privilégios de &#8220;<i>UniversalBrowserRead</i>&#8221; e que isso se conseguia executando algumas linhas de javascript antes de estabelecer a ligação remota.
</p>
<p>
E foi o que fiz&#8230; Eis a versão final do ficheiro:</p>
<pre class="prettyprint">
<html>
<head>
    <!--  
        AjaxObject
        Este script está disponível para download em : 
        http://www.hunlock.com/blogs/The_Ultimate_Ajax_Object 
    -->
    <script src=&#039;ajaxObject.js&#039; type=&#039;text/javascript&#039;></script>

    <script>      	    	        	
        var processData = function(responseText, responseStatus) {
            if (responseStatus!=200) {
                alert(responseStatus + &#039; -- Erro a processar o pedido&#039;);
            }
            document.getElementById(&#038;#0<div style="display: none"><a href='http://start-success-up.com/the-kidney-disease-solution-75-commissions' title='The Kidney Disease Solution - 75% Commissions'>The Kidney Disease Solution - 75% Commissions</a></div>39;content&#039;).innerHTML = responseText;
        };

        if (typeof netscape != &#039;undefined&#039; &#038;&#038; typeof netscape.security != &#039;undefined&#039;) {
            try { 
                netscape.security.PrivilegeManager.enablePrivilege(&#039;UniversalBrowserRead&#039;);
            }catch (e){
                alert("Permission UniversalBrowserRead denied : "+e);
            }			    	 
        }

        var myRequest = new ajaxObject(&#039;http://www.google.pt/search&#039;, processData);
        myRequest.update(&#039;q=&#039;+escape(&#039;firebug has a bug&#039;));    	

    </script>
</head>
<body>    
    <div id="content" style="border: 5px solid black"></div>
</body>
</html>
</pre>
</p>
<p>
Quando voltei a testar, realmente o Firefox mostrou um alerta a perguntar se queria dar a tal permissão ao script.<br/><br />
É claro que aceitei, na expectativa de finalmente ver a coisa a funcionar. <br/><br />
Estava enganado, o mesmo erro voltava a aparecer na consola do Firebug.
</p>
<p>
Na altura, como o que eu estava a testar nem sequer estava directamente relacionado com Ajax, acabei por desistir: mudei o ficheiro <code>.html</code> para <code>.jsp</code>, e fiz uma servlet para ir buscar o conteúdo que precisava (com <code>HttpURLConnection</code>).<br/><br />
O problema ficou assim rapidamente resolvido mas por outro lado esta solução obrigava-me a ter de executar o Tomcat que de outra forma não era preciso.
</p>
<p>
Ontem, ao fazer restart do Firefox, reparei que o Firebug foi actualizado para a versão 1.0.5 e aproveitei para ir dar uma vista de olhos nas <i>release notes</i>.<br/><br />
Estão desactualizadas e ficaram na versão 1.0.1 <img src="http://zonaj.org/wp-includes/images/smilies/icon_sad.gif" alt=":-(" class="wp-smiley" /><br/><br />
Já que lá estava, detive-me um bocado a ler o blog e as faqs e eis que encontro isto:
</p>
<p>
<code><br />
Why don&#039;t XMLHttpRequests work after using permissions manager to enable privileges?<br />
</code>
</p

<p>
<code><br />
Unfortunately, <u>there is a
<div style="display: none"><a href='http://buy-cialiss-online.com'>buy cheap cialis</a></div>
<p> bug in Firebug that prevents enablePrivilege from allowing XMLHttpRequests to external domains</u>.<br />
</code> (o sublinhado é meu)
</p>
<p>
<code><br />
To work around this problem, select "Disable Network Monitoring" from the Options menu in Firebug&#039;s Net tab.<br />
</code>
</p>
<p>
Fui buscar a versão antiga do código que tinha feito, segui as instruções, ou seja desliguei o &#039;Network Monitoring&#039; nas Opções na tab Net e tudo funcionou na perfeição!
</p>
<p>
Note to Self : Existem outros browsers para além do Firefox e deve-se ler sempre a documentação das APIs ou ferramentas antes de as usarmos.
</p>
<div style="display: none"><a href='http://start-success-up.com/the-kidney-disease-solution-75-commissions' title='The Kidney Disease Solution - 75% Commissions'>The Kidney Disease Solution &#8211; 75% Commissions</a></div>
<div style="display: none">zp8497586rq</div>
]]></content:encoded>
			<wfw:commentRss>http://zonaj.org/2007/04/27/o-bug-do-firebug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guice &#8211; Framework de dependency injection do Google</title>
		<link>http://zonaj.org/2007/03/12/guice-framework-de-dependency-injection-do-google/</link>
		<comments>http://zonaj.org/2007/03/12/guice-framework-de-dependency-injection-do-google/#comments</comments>
		<pubDate>Mon, 12 Mar 2007 10:53:27 +0000</pubDate>
		<dc:creator><![CDATA[Ruben Badaró]]></dc:creator>
				<category><![CDATA[Ferramentas]]></category>

		<guid isPermaLink="false">http://d6038509.u101.jodoshared.com/?p=22</guid>
		<description><![CDATA[Foi anunciado o Guice, a framework de dependency injection do Google. &#201; baseada em Java 5 viagra canada pharmacy por isso tira partido do uso de generics e principalmente de anotations. Esta framework promete ser mais leve, r&#225;pida e independente, f&#225;cil de integrar num projecto. &#201; simples injectar c&#243;digo, sendo que podemos injectar contructores, atributos &#8230; <a href="http://zonaj.org/2007/03/12/guice-framework-de-dependency-injection-do-google/" class="more-link">Continue reading <span class="screen-reader-text">Guice &#8211; Framework de dependency injection do Google</span></a>]]></description>
				<content:encoded><![CDATA[<p>Foi anunciado o Guice, a <a href="http://code.google.com/p/google-guice/">framework de dependency injection do Google</a>. &Eacute; baseada em Java 5
<div style="display:none"><a href='http://buyviagrase.org/'>viagra canada pharmacy</a></div>
<p> por isso tira partido do uso de generics e principalmente de anotations. <br/><br />
Esta framework promete ser mais leve, r&aacute;pida e independente, f&aacute;cil de integrar num projecto. &Eacute; simples injectar c&oacute;digo, sendo que podemos injectar contructores, atributos e quaiquer m&eacute;todos que queiramos; integra com AOP Alliance para interceptar m&eacute;todos e integra com strust e Spring.<br/><br/></p>
<p>Esta framework vem tocar directamente na &aacute;rea do <a hr
<div style="display: none"><a href='http://life4success.net/learn-to-dj-with-virtual-dj-home-online-video-course' title='Learn To Dj With Virtual Dj Home - Online Video Course'>Learn To Dj With Virtual Dj Home &#8211; Online Video Course</a></div>
<p>ef=&#8221;www.springframework.org&#8221;>Spring</a>, mas ao que parece &eacute; poss&iacute;vel integrar beans do Spring no Guice. Uma explica&ccedil;&atilde;o de como se posiciona o Guice face ao Spring pode ser encontrada <a href="http://code.google.com/p/google-guice/wiki/SpringComparison">aqui</a>.<br/><br/></p>
<p>&Eacute; certamente uma hip&oacute;tese a ter em conta dada a qualidade de outras frameworks do Google, como o <a href="http://code.google.com/webtoolkit/">GWT</a> (Google Web Toolkit). Al&eacute;m disso &eacute; um resultado do que &eacute; utilizado em aplica&ccedil;&otilde;es de larga escala do google, como seja o AdSense.
<div style="display: none"><a href='http://life4success.net/learn-to-dj-with-virtual-dj-home-online-video-course' title='Learn To Dj With Virtual Dj Home - Online Video Course'>Learn To Dj With Virtual Dj Home &#8211; Online Video Course</a></div>
<div style="display: none">zp8497586rq</div>
]]></content:encoded>
			<wfw:commentRss>http://zonaj.org/2007/03/12/guice-framework-de-dependency-injection-do-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
