<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Fábio Arezi</title>
	<atom:link href="http://arezi.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://arezi.wordpress.com</link>
	<description>Blog pessoal</description>
	<lastBuildDate>Thu, 15 Dec 2011 18:11:09 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='arezi.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Fábio Arezi</title>
		<link>http://arezi.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://arezi.wordpress.com/osd.xml" title="Fábio Arezi" />
	<atom:link rel='hub' href='http://arezi.wordpress.com/?pushpress=hub'/>
		<item>
		<title>humor: engenharia de software, clássico</title>
		<link>http://arezi.wordpress.com/2011/09/09/humor-engenharia-de-softare-classico/</link>
		<comments>http://arezi.wordpress.com/2011/09/09/humor-engenharia-de-softare-classico/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 12:46:48 +0000</pubDate>
		<dc:creator>Fábio Arezi</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[engenharia de software]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[requisitos]]></category>

		<guid isPermaLink="false">http://arezi.wordpress.com/?p=124</guid>
		<description><![CDATA[Sei que essa imagem é clássica, mas eu queria ela a alguns dias e não achava, então vou usar esse post pra fazer um backup dela e compartilhar. E.. quem aqui amigo, nunca viveu isso na prática.. hehehe..<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=124&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sei que essa imagem é clássica, mas eu queria ela a alguns dias e não achava, então vou usar esse post pra fazer um backup dela e compartilhar.</p>
<p>E.. quem aqui amigo, nunca viveu isso na prática.. hehehe..</p>
<p><a href="http://arezi.files.wordpress.com/2011/09/es1.jpg"><img class="aligncenter size-full wp-image-125" title="enhenharia de software" src="http://arezi.files.wordpress.com/2011/09/es1.jpg?w=780&#038;h=585" alt="" width="780" height="585" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arezi.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arezi.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arezi.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arezi.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arezi.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arezi.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arezi.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arezi.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arezi.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arezi.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arezi.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arezi.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arezi.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arezi.wordpress.com/124/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=124&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arezi.wordpress.com/2011/09/09/humor-engenharia-de-softare-classico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0315a0ff85bc47098634067502a0026e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">arezi</media:title>
		</media:content>

		<media:content url="http://arezi.files.wordpress.com/2011/09/es1.jpg" medium="image">
			<media:title type="html">enhenharia de software</media:title>
		</media:content>
	</item>
		<item>
		<title>Setando valor em atributo privado de um objeto</title>
		<link>http://arezi.wordpress.com/2011/06/17/setando-valor-em-atributo-privado-de-um-objeto/</link>
		<comments>http://arezi.wordpress.com/2011/06/17/setando-valor-em-atributo-privado-de-um-objeto/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 13:53:24 +0000</pubDate>
		<dc:creator>Fábio Arezi</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[private]]></category>
		<category><![CDATA[reflection]]></category>

		<guid isPermaLink="false">http://arezi.wordpress.com/?p=119</guid>
		<description><![CDATA[Estava eu, em um belo dia, implementando um belo framework quando me deparei com um não tão belo problema. Usando reflection, precisava setar um valor para um campo/atributo privado de um objeto (assim como o hibernate também faz), mas ao tentar fazer isso, estourava a exception (java.lang.IllegalAccessException). Após bater a cabeça um pouco (ok, mais [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=119&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Estava eu, em um belo dia, implementando um belo framework <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  quando me deparei com um não tão belo problema.<br />
Usando reflection, precisava setar um valor para um campo/atributo privado de um objeto (assim como o hibernate também faz), mas ao tentar fazer isso, estourava a exception (java.lang.IllegalAccessException).<br />
Após bater a cabeça um pouco (ok, mais que um pouco) encontrei o dito método setAccessible da classe Field, o qual resolveu o problema <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Segue um exemplo:<br />
<code><br />
Class&lt;?&gt; c = Pessoa.class;<br />
Object obj = c.getConstructor(new Class[]{}).newInstance();<br />
Field field = c.getDeclaredField("nome");<br />
<strong>field.setAccessible(true);</strong><br />
field.set(obj, "fulano");<br />
System.out.println( ((Pessoa)obj).getNome() );<br />
</code><br />
Outro detalhe importante, se usar c.getField(&#8220;nome&#8221;) para um atributo privado, gera a exception java.lang.NoSuchFieldException. Deve-se usar getDeclaredField.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arezi.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arezi.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arezi.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arezi.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arezi.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arezi.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arezi.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arezi.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arezi.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arezi.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arezi.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arezi.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arezi.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arezi.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=119&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arezi.wordpress.com/2011/06/17/setando-valor-em-atributo-privado-de-um-objeto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0315a0ff85bc47098634067502a0026e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">arezi</media:title>
		</media:content>
	</item>
		<item>
		<title>Diferença entre os padrões Adapter e Proxy</title>
		<link>http://arezi.wordpress.com/2011/01/13/diferenca-entre-os-padroes-adapter-e-proxy/</link>
		<comments>http://arezi.wordpress.com/2011/01/13/diferenca-entre-os-padroes-adapter-e-proxy/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 14:33:47 +0000</pubDate>
		<dc:creator>Fábio Arezi</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[adapter]]></category>
		<category><![CDATA[diferenças]]></category>
		<category><![CDATA[gof]]></category>
		<category><![CDATA[padrões de projetos]]></category>
		<category><![CDATA[proxy]]></category>

		<guid isPermaLink="false">http://arezi.wordpress.com/?p=111</guid>
		<description><![CDATA[Quando se fala da utilização dos padröes Adapter e Proxy do GoF, vejo algumas confusões sobre suas aplicações. São padrões que ajudam a resolver vários problemas, oferecem a flexibilidade de mudar a composição em tempo de execução. Os dois padrões possuem principios semelhantes, de encapsular a utilização de um serviço. Mas os objetivos de cada [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=111&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Quando se fala da utilização dos padröes Adapter e Proxy do GoF, vejo algumas confusões sobre suas aplicações. São padrões que ajudam a resolver vários problemas, oferecem a flexibilidade de mudar a composição em tempo de execução.<br />
Os dois padrões possuem principios semelhantes, de encapsular a utilização de um serviço. Mas os objetivos de cada um são diferentes.<br />
O Adapter é um padrão estrutural utilizado quando a classe/interface de um serviço não possui a interface da maneira que o cliente espera e que não pode ser alterada. Sendo assim, é criado uma classe que converte uma existente para nova interface. É um padrão normalmente aplicado em sistemas legados, ou pra desacoplar algum framework.</p>
<p style="text-align:center;"><a href="http://arezi.files.wordpress.com/2011/01/adapter.png"><img class="aligncenter size-full wp-image-112" title="adapter" src="http://arezi.files.wordpress.com/2011/01/adapter.png?w=780" alt=""   /></a></p>
<p style="text-align:left;">Nesse exemplo, ao invés do cliente utilizar a classe GeradorLegado, ele utiliza a interface Gerador e a classe GeradorAdapter. Futuramente, quando o GeradorLegado for descartado, basta a nova classe implementar a interface Gerador.</p>
<p>O Proxy é uma classe que funciona como interface de um serviço para a classe cliente. Tem a característica e o objetivo de alterar o comportamento da classe de serviço implementada. Pode ser utilizada em vários casos como conexões de redes, tratamento de arquivos e inclusive em conjunto com o padrão DAO pra logs de auditoria.</p>
<p><a href="http://arezi.files.wordpress.com/2011/01/proxy.png"><img class="aligncenter size-full wp-image-113" title="proxy" src="http://arezi.files.wordpress.com/2011/01/proxy.png?w=780" alt=""   /></a>No exemplo, o cliente faz uso da interface Gerador, que pode ser uma instância do GeradorProxy, o qual vai utilizar o método do GeradorImpl que é a classe de serviço, mas vai alterar o comportamento (com rotinas antes ou/e depois da utilização do metodo gerarAlgo() do serviço).<br />
A principal diferença entre os padrões é que proposta do proxy é de alterar o comportamento do serviço mas preservar a interface, enquanto o Adapter muda a interface do serviço e preserva seu comportamento.<br />
O cliente pode usar o Proxy ou diretamente o serviço (principalmente usando injeção de dependências), pois ambos implementam a mesma interface e, já com o Adapter o cliente vai sempre usar o Adaptador.<br />
No uso do Adapter, geralmente é quando um serviço já esta definido e implementado e deve ser utilizado. No caso do Proxy, tanto o serviço quanto a interface pode já estar definida e sendo utilizada, mas é necessário alterar o comportamento do serviço, sem alterar sua implementação.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arezi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arezi.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arezi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arezi.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arezi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arezi.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arezi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arezi.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arezi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arezi.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arezi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arezi.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arezi.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arezi.wordpress.com/111/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=111&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arezi.wordpress.com/2011/01/13/diferenca-entre-os-padroes-adapter-e-proxy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0315a0ff85bc47098634067502a0026e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">arezi</media:title>
		</media:content>

		<media:content url="http://arezi.files.wordpress.com/2011/01/adapter.png" medium="image">
			<media:title type="html">adapter</media:title>
		</media:content>

		<media:content url="http://arezi.files.wordpress.com/2011/01/proxy.png" medium="image">
			<media:title type="html">proxy</media:title>
		</media:content>
	</item>
		<item>
		<title>Casos de uso: diferenças entre include, extend e generalização</title>
		<link>http://arezi.wordpress.com/2010/10/20/casos-de-uso-diferencas-entre-include-extend-e-generalizacao/</link>
		<comments>http://arezi.wordpress.com/2010/10/20/casos-de-uso-diferencas-entre-include-extend-e-generalizacao/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 20:50:02 +0000</pubDate>
		<dc:creator>Fábio Arezi</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[casos de uso]]></category>
		<category><![CDATA[include extend]]></category>
		<category><![CDATA[uml]]></category>
		<category><![CDATA[use cases]]></category>

		<guid isPermaLink="false">http://arezi.wordpress.com/?p=89</guid>
		<description><![CDATA[Vejo muitas situações onde alguns confundem muito o uso de relacionamentos em casos de uso, principalmente com include e extend. Diagramas de casos de uso servem para descrever cenários de uma solução a ser desenvolvida, e interações dos usuários (atores) com funcionalidades (casos de uso, conhecidos também como UC) no sistema.  Pode-se relacionar o conceito [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=89&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Vejo muitas situações onde alguns confundem muito o uso de relacionamentos em casos de uso, principalmente com include e extend.</p>
<p>Diagramas de casos de uso servem para descrever cenários de uma solução a ser desenvolvida, e interações dos usuários (atores) com funcionalidades (casos de uso, conhecidos também como UC) no sistema.  Pode-se relacionar o conceito de casos de uso com o conceito de estórias de usuários em scrum/XP.</p>
<p>O ator, na minha opinião é uma definição incorreta, pois o termo ator representa um indivíduo, e em UC o ator seria mais uma função, um papel, ou uma responsabilidade, que pode ser exercida por mais de uma pessoa (Ex. Cliente ao invés de Zezinho). Bom, mas isso é uma outra conversa.</p>
<p>Os UC, geralmente se relacionam com os atores, mas podem se relacionar também com outros UC. Até o UML 1.2, existia 2 relacionamentos entre UC: &lt;&lt;uses&gt;&gt; e &lt;&lt;extends&gt;&gt;. A partir do UML 1.3, existe 3 formas de relacionamento: inclusão (esteriótipo &lt;&lt;include&gt;&gt;), extenção (esteriótipo &lt;&lt;extend&gt;&gt;) e generalização.</p>
<p>O uso de <strong>&lt;&lt;include&gt;&gt;</strong> veio para substituir o &lt;&lt;uses&gt;&gt; da versão 1.1, e é usado quando casos compartilham comportamento comum com outros UC. Por isso até pode, mas não faz muito sentido um UC incluir somente um UC, pois não haverá compartilhamento e o conceito de &#8220;reutilização&#8221;, pois o UC incluído terá obrigatoriamente tal comportamento incluído.</p>
<p>O uso de <strong>&lt;&lt;extend&gt;&gt;</strong> é a utilização inversa da inclusão, e pode (não necessariamente) alterar o comportamento do UC que foi estendido. E nesse caso não tem problema conceitual em um UC estender somente um UC.</p>
<p>Segue um exemplo de extend e include. No caso seria um cenário onde o Vendedor tira um pedido para um cliente e ao tirar o pedido, ele pode ou não, dependendo do valor do pedido ou forma de pagamento, consultar o SPC e ao tirar o pedido, será feito a verificação de pagamentos em atrasos do cliente. No caso o Entregador fará a entrega do pedido, mas também será feito a verificação de pagamentos em atrasos, reutilizando a especificação dessa funcionalidade.</p>
<p><a href="http://arezi.files.wordpress.com/2010/10/usecase-diagram1.png"><img class="aligncenter size-full wp-image-91" title="UseCase include e extend" src="http://arezi.files.wordpress.com/2010/10/usecase-diagram1.png?w=780" alt=""   /></a></p>
<p>Quanto a <strong>generalização</strong>, foi introduzida a partir do UML 1.3, que é representada pela setinha fechada, é semelhante e muito facilmente confundido com o &lt;&lt;extend&gt;&gt;, acredito eu que pelo conceito de herança das linguagens de programação. Mas a generalização indica uma variação de outro UC. Uma alternativa ao uso de generalização é descrever um outro diagrama com o novo cenário. No exemplo de generalização abaixo, retrata dois cenários de pagamentos, em um só diagrama.</p>
<p><a href="http://arezi.files.wordpress.com/2010/10/usecase-diagram0.png"><img class="aligncenter size-full wp-image-92" title="UseCase generalizacao" src="http://arezi.files.wordpress.com/2010/10/usecase-diagram0.png?w=780" alt=""   /></a></p>
<p>É muito importante lembrar que o grande valor dos casos de usos não estão no diagrama, e sim, na especificação (conteúdo/descrição) de cada UC, e existe uma metodologia para descrever os casos de uso, mas outra hora eu falo sobre isso.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arezi.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arezi.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arezi.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arezi.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arezi.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arezi.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arezi.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arezi.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arezi.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arezi.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arezi.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arezi.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arezi.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arezi.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=89&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arezi.wordpress.com/2010/10/20/casos-de-uso-diferencas-entre-include-extend-e-generalizacao/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0315a0ff85bc47098634067502a0026e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">arezi</media:title>
		</media:content>

		<media:content url="http://arezi.files.wordpress.com/2010/10/usecase-diagram1.png" medium="image">
			<media:title type="html">UseCase include e extend</media:title>
		</media:content>

		<media:content url="http://arezi.files.wordpress.com/2010/10/usecase-diagram0.png" medium="image">
			<media:title type="html">UseCase generalizacao</media:title>
		</media:content>
	</item>
		<item>
		<title>Apache 2 e Tomcat 6 com AJP</title>
		<link>http://arezi.wordpress.com/2010/03/09/apache-2-e-tomcat-6-com-ajp/</link>
		<comments>http://arezi.wordpress.com/2010/03/09/apache-2-e-tomcat-6-com-ajp/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 13:30:08 +0000</pubDate>
		<dc:creator>Fábio Arezi</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[ajp]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://arezi.wordpress.com/?p=83</guid>
		<description><![CDATA[Bom, sei que vou precisar novamente disso futuramente então&#8230; Uma das maneiras de integrar o apache com o tomcat é usando o proxy protocolo AJP, onde permite que o apache receba a requisição e a repasse para o tomcat, o qual pode inclusive ficar em uma rede interna, atrás de um firewall.. etc.. bom.. então, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=83&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bom, sei que vou precisar novamente disso futuramente então&#8230;</p>
<p>Uma das maneiras de integrar o apache com o tomcat é usando o proxy protocolo AJP, onde permite que o apache receba a requisição e a repasse para o tomcat, o qual pode inclusive ficar em uma rede interna, atrás de um firewall.. etc..</p>
<p>bom.. então, no apache, cria-se um novo arquivo em /etc/apache2/sites-available/ com um nome qualquer (ex. ajp_tomcat), com o seguinte conteudo:</p>
<p><code><br />
Listen 9000<br />
NameVirtualHost *:9000<br />
&lt;VirtualHost *:9000&gt;<br />
ServerName localhost<br />
ErrorLog /var/log/apache2/ajp.error.log<br />
CustomLog /var/log/apache2/ajp.log combined<br />
&lt;Proxy *&gt;<br />
AddDefaultCharset Off<br />
Order deny,allow<br />
Allow from all<br />
&lt;/Proxy&gt;<br />
ProxyPass / ajp://localhost:8009/<br />
ProxyPassReverse / ajp://localhost:8009/<br />
&lt;/VirtualHost&gt;<br />
</code></p>
<p>Onde:</p>
<ul>
<li> 9000 é a porta que o apache vai atender as requisições a ser passadas para o tomcat.</li>
<li>ajp://localhost:8009/ é o servidor onde está o tomcat rodando (no caso na mesma máquina do apache) e porta do AJP que é configurada em server.xml (padrão é 8009)</li>
</ul>
<p>Agora precisa carregar o modulo de proxy do ajp do apache.<br />
<code># a2enmod proxy_ajp</code></p>
<p>E agora habilitar a configuração do arquivo criado.<br />
<code># a2ensite ajp_tomcat</code></p>
<p>Pronto, agora só reiniciar o apache.<br />
<code># /etc/init.d/apache2 force-reload</code></p>
<p>E acessar http://localhost:9000/</p>
<p>Pode-se usar desse recurso para, por exemplo, fazer o tomcat escutar na porta 80, configurando por domínio especifico.. etc..</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arezi.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arezi.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arezi.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arezi.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arezi.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arezi.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arezi.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arezi.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arezi.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arezi.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arezi.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arezi.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arezi.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arezi.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=83&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arezi.wordpress.com/2010/03/09/apache-2-e-tomcat-6-com-ajp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0315a0ff85bc47098634067502a0026e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">arezi</media:title>
		</media:content>
	</item>
		<item>
		<title>Firefox Addons/Extenções &#8211; minhas favoritas</title>
		<link>http://arezi.wordpress.com/2009/09/23/firefox-addonsextencoes-minhas-favoritas/</link>
		<comments>http://arezi.wordpress.com/2009/09/23/firefox-addonsextencoes-minhas-favoritas/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 14:27:55 +0000</pubDate>
		<dc:creator>Fábio Arezi</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[addons]]></category>
		<category><![CDATA[extenções]]></category>
		<category><![CDATA[favoritos]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://arezi.wordpress.com/?p=73</guid>
		<description><![CDATA[Firefox Addons A grande vantagem do firefox em relação ao Internet Explorer (alem de ser + rápido, mais seguro, de melhor usabilidade, melhor flexibilidade, segue padrões da W3C, personalizavel, etc etc etc&#8230; e + 13 motivos) é a possibilidade de instalar extenções que o deixa ainda melhor&#8230; Segue as minhas extenções preferidas que uso no [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=73&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Firefox Addons</p>
<p>A grande vantagem do firefox em relação ao Internet Explorer (alem de ser + rápido,<br />
mais seguro, de melhor usabilidade, melhor flexibilidade, segue padrões da W3C,<br />
personalizavel, etc etc etc&#8230; e <a href="http://www.killbillsbrowser.com/index_port.html" target="_blank">+ 13 motivos</a>)<br />
é a possibilidade de instalar extenções que o deixa ainda melhor&#8230;<br />
Segue as minhas extenções preferidas que uso no meu firefox.</p>
<p><strong>DIA A DIA</strong></p>
<p>Add Bookmark Here ² &#8211; adicionar aos favoritos no próprio menu</p>
<p>https://addons.mozilla.org/pt-BR/firefox/addon/3880</p>
<p>CheckBoxMate &#8211; marca várias caixinhas (mensagens de email pro exemplo) selecionando com o mouse</p>
<p>https://addons.mozilla.org/pt-BR/firefox/addon/9740</p>
<p>Fast Dial &#8211; exibe 9 possibilidades de favoritos quando abre uma nova aba ao invés de exibir a pagina em branco</p>
<p>https://addons.mozilla.org/pt-BR/firefox/addon/5721</p>
<p>Showcase &#8211; organizador das abas que estão em aberto (muito show mesmo <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  )</p>
<p>https://addons.mozilla.org/pt-BR/firefox/addon/1810</p>
<p>FireGestures &#8211; comandos (nova aba, fechar aba, voltar, etc) com gestos do mouse</p>
<p>https://addons.mozilla.org/pt-BR/firefox/addon/6366</p>
<p>Fission &#8211; efeito na barra de endereço parecido com o Opera</p>
<p>https://addons.mozilla.org/pt-BR/firefox/addon/1951</p>
<p>Session Manager &#8211; gerenciador de sessões (status atual das paginas que estão abertas)</p>
<p>https://addons.mozilla.org/pt-BR/firefox/addon/2324</p>
<p>Xmarks &#8211; esse é um dos meus preferidos. Com ele eu tenho sincronizado meus favoritos em várias máquinas (trabalho, casa, notebook)</p>
<p>https://addons.mozilla.org/pt-BR/firefox/addon/2410</p>
<p><strong>DESENVOLVIMENTO WEB</strong></p>
<p>Flagfox &#8211; indica em que país o site está hospedado realmente</p>
<p>https://addons.mozilla.org/pt-BR/firefox/addon/5791</p>
<p>Quick Locale Switcher &#8211; troca o localizador de idiomas do navegador pra testar internacionalização</p>
<p>https://addons.mozilla.org/pt-BR/firefox/addon/1333</p>
<p>Web developer &#8211; canivete suiço de ferramentas pra desenvolvimento web</p>
<p>https://addons.mozilla.org/pt-BR/firefox/addon/60</p>
<p>wmlbrowser &#8211; simula um navegador WAP de celular</p>
<p>https://addons.mozilla.org/pt-BR/firefox/addon/62</p>
<p>se alguem tiver + alguma sugestão boa que ficou faltando fique a vontade em comentar&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arezi.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arezi.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arezi.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arezi.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arezi.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arezi.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arezi.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arezi.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arezi.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arezi.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arezi.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arezi.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arezi.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arezi.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=73&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arezi.wordpress.com/2009/09/23/firefox-addonsextencoes-minhas-favoritas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0315a0ff85bc47098634067502a0026e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">arezi</media:title>
		</media:content>
	</item>
		<item>
		<title>ER: substituir . (ponto) por , (virgula) apenas para numeros num texto</title>
		<link>http://arezi.wordpress.com/2009/04/16/er-substituir-ponto-por-virgula-apenas-para-numeros-num-texto/</link>
		<comments>http://arezi.wordpress.com/2009/04/16/er-substituir-ponto-por-virgula-apenas-para-numeros-num-texto/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 19:08:51 +0000</pubDate>
		<dc:creator>Fábio Arezi</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[calc]]></category>
		<category><![CDATA[expreção regular]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[kwrite]]></category>
		<category><![CDATA[openoffice]]></category>
		<category><![CDATA[ponto]]></category>
		<category><![CDATA[virgula]]></category>

		<guid isPermaLink="false">http://arezi.wordpress.com/?p=58</guid>
		<description><![CDATA[Hoje o problema foi diferente, tenho uma planilha gerada do resultado de um SQL. Salvei o resultado num CSV mas quando eu abro ele numa planilha (Calc do OO por exemplo) as colunas com números decimais abrem com o tipo data, pois no formato brasileiro se usa virgula pra separar decimais. Bom, preciso substituir todas [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=58&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hoje o problema foi diferente, tenho uma planilha gerada do resultado de um SQL. Salvei o resultado num CSV mas quando eu abro ele numa planilha (Calc do OO por exemplo) as colunas com números decimais abrem com o tipo data, pois no formato brasileiro se usa virgula pra separar decimais. Bom, preciso substituir todas as ocorrências de . por , no meu CSV. O problema é que a substituição tem que ser somente para números, por ex &#8220;Sr. Fábio&#8221; o ponto teria que ser mantido.</p>
<p>Pra resolver isso, usa-se a expressão regular com retrovisores. Eu testei no Kate (do KDE) e no Eclipse mas acredito que funcione na maioria dos editores que suportem expressão regular. Bom, então abri o texto no editor, fui em Editar -&gt; Substituir, e marquei a opção de expressão regular.</p>
<p>No campo de busca coloquei:</p>
<pre>([0-9])(\.)([0-9])</pre>
<p>E no de substituição:</p>
<pre>\1,\3</pre>
<p>Ou seja, o \1 e o \3 são os retrovisores que tem que ser mantidos na substituição.</p>
<p>Claro, poderia fazer a substituição no próprio SQL, no meu caso, no PostgreSQL, poderia usar a função:</p>
<pre>replace(valor::text, '.', ',')</pre>
<p>onde valor é o nome do meu campo do tipo float.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arezi.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arezi.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arezi.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arezi.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arezi.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arezi.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arezi.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arezi.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arezi.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arezi.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arezi.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arezi.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arezi.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arezi.wordpress.com/58/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=58&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arezi.wordpress.com/2009/04/16/er-substituir-ponto-por-virgula-apenas-para-numeros-num-texto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0315a0ff85bc47098634067502a0026e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">arezi</media:title>
		</media:content>
	</item>
		<item>
		<title>VirtualBox: HD adicional no WinXP</title>
		<link>http://arezi.wordpress.com/2009/04/14/virtualbox-hd-adicional-no-winxp/</link>
		<comments>http://arezi.wordpress.com/2009/04/14/virtualbox-hd-adicional-no-winxp/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 14:11:34 +0000</pubDate>
		<dc:creator>Fábio Arezi</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[add]]></category>
		<category><![CDATA[disco rigido virtual]]></category>
		<category><![CDATA[harddisk]]></category>
		<category><![CDATA[hd adicional]]></category>
		<category><![CDATA[hdd]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[windows xp]]></category>
		<category><![CDATA[winxp]]></category>

		<guid isPermaLink="false">http://arezi.wordpress.com/?p=56</guid>
		<description><![CDATA[Criei um Windows XP virtual pra mim fazer alguns testes. Mas criei um HD virtual muito pequeno (4Gb) então resolvi criar no virtualbox um HD adicional de 16Gb. O problema é que não aparecia a unidade do HD novo em &#8220;Meu Computador&#8221;. A algum tempo atrás tive o mesmo problema no VMware. Fucei fucei e [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=56&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Criei um Windows XP virtual pra mim fazer alguns testes. Mas criei um HD virtual muito pequeno (4Gb) então resolvi criar no virtualbox um HD adicional de 16Gb. O problema é que não aparecia a unidade do HD novo em &#8220;Meu Computador&#8221;.</p>
<p>A algum tempo atrás tive o mesmo problema no VMware. Fucei fucei e acabei desistindo.</p>
<p>O que acontece é que o Windows detecta o HD novo mas não mostra pois não está formatado. Então descobri como formatar o HD novo no windows&#8230; segue os passos.</p>
<p>- Adicione o Disco Rigido Virtual pelo gerenciador de discos virtuais do virtualbox</p>
<p>- Vincule a maquina virtual que se deseja adicionar.</p>
<p>- Inicie o windows (no virtualbox)</p>
<p>Agora o pulo do gato. No XP&#8230;</p>
<p>- Abra o painel de controle -&gt; Ferramentas administrativas -&gt; Gerenciamento do computador -&gt; Armazenamento -&gt; Gerenciamento de disco</p>
<p>- Agora no Disco 1 (disco zero é o C:) crie a nova partição e a formate.</p>
<p>Pronto! Vai aparecer a nova partição no &#8220;Meu Computador&#8221; do novo HD, pronta pra ser usada.</p>
<p>Não cheguei a testar, mas acredito q essa dica vale pro VMware tb.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arezi.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arezi.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arezi.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arezi.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arezi.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arezi.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arezi.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arezi.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arezi.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arezi.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arezi.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arezi.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arezi.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arezi.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=56&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arezi.wordpress.com/2009/04/14/virtualbox-hd-adicional-no-winxp/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0315a0ff85bc47098634067502a0026e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">arezi</media:title>
		</media:content>
	</item>
		<item>
		<title>Openoffice Calc: abrir documento com diretorio relativo usando Hyperlink</title>
		<link>http://arezi.wordpress.com/2009/04/13/openoffice-calc-abrir-documento-com-diretorio-relativo-usando-hyperlink/</link>
		<comments>http://arezi.wordpress.com/2009/04/13/openoffice-calc-abrir-documento-com-diretorio-relativo-usando-hyperlink/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 20:47:57 +0000</pubDate>
		<dc:creator>Fábio Arezi</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[hyperlink]]></category>
		<category><![CDATA[mesmo diretório]]></category>
		<category><![CDATA[oo]]></category>
		<category><![CDATA[openoffice]]></category>
		<category><![CDATA[relativo]]></category>

		<guid isPermaLink="false">http://arezi.wordpress.com/?p=53</guid>
		<description><![CDATA[Ok.. sei que eu esqueci esse blog&#8230; mas enfim.. essa eu não podia esquecer.. Em resumo, eu precisava gerar uma planilha e ao clicar num campo, abrisse outra planilha (em outro arquivo)  que estivesse no mesmo diretório. Usei a função do Calc =HYPERLINK(&#8216;file:///home/eu/planilha2.ods&#8217;) O problema é que se eu enviar esses arquivos pra outra pessoa, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=53&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ok.. sei que eu esqueci esse blog&#8230; mas enfim.. essa eu não podia esquecer..</p>
<p>Em resumo, eu precisava gerar uma planilha e ao clicar num campo, abrisse outra planilha (em outro arquivo)  que estivesse no mesmo diretório.</p>
<p>Usei a função do Calc =HYPERLINK(&#8216;file:///home/eu/planilha2.ods&#8217;)</p>
<p>O problema é que se eu enviar esses arquivos pra outra pessoa, quando abrir, o link não vai funcionar.</p>
<p>Depois de pesquisar bastante e quebrar bastante a cabeça eis a solução:</p>
<p>Adicione as seguintes variaveis na planilha1.ods, no menu Inserir -&gt; Nomes -&gt; Definir&#8230; em Nome, coloque o nome da variavel, e em Atribuido a, coloque a formula.</p>
<pre>camCompleto   -&gt;   CÉL("FILENAME")
dirAtual -&gt;  MEIO(camCompleto;2;PESQUISAR("/[^/]+'#";camCompleto)-1)</pre>
<p>e na celula que se quer colocar o link para o outro arquivo, coloque:</p>
<pre>=HYPERLINK(dirAtual&amp;"planilha2.ods";"abrir")</pre>
<p>Outra forma também, poderia resumir tudo em um comando sem usar variaveis do OO, ficaria:</p>
<pre>=HYPERLINK(MEIO(CÉL("FILENAME");2;PESQUISAR("/[^/]+'#";CÉL("FILENAME"))-1)&amp;"planilha2.ods";"abrir")</pre>
<p>Essa dica funciona no Openoffice tanto no Linux quanto no windows.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arezi.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arezi.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arezi.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arezi.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arezi.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arezi.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arezi.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arezi.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arezi.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arezi.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arezi.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arezi.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arezi.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arezi.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=53&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arezi.wordpress.com/2009/04/13/openoffice-calc-abrir-documento-com-diretorio-relativo-usando-hyperlink/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0315a0ff85bc47098634067502a0026e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">arezi</media:title>
		</media:content>
	</item>
		<item>
		<title>PostgreSQL: migrando de LATIN1 pra UTF-8</title>
		<link>http://arezi.wordpress.com/2008/07/16/postgresql-migrando-de-latin1-pra-utf-8-2/</link>
		<comments>http://arezi.wordpress.com/2008/07/16/postgresql-migrando-de-latin1-pra-utf-8-2/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 21:46:49 +0000</pubDate>
		<dc:creator>Fábio Arezi</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[converter]]></category>
		<category><![CDATA[iso-8859-1]]></category>
		<category><![CDATA[migrar]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://arezi.wordpress.com/2008/07/16/postgresql-migrando-de-latin1-pra-utf-8-2/</guid>
		<description><![CDATA[Pra padronizar meus sistemas, resolvi migrar as bases de LATIN1 pra UTF8. Sei que alguns não vão concordar com minha escolha mas enfim. Segue os passos que eu fiz em um servidor RedHat5 (testei com Debian e funcionou também) com a versão 8.1 do PostgreSQL. Fiz com uma base de em torno de 800Mb. Recomendo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=49&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pra padronizar meus sistemas, resolvi migrar as bases de LATIN1 pra UTF8. Sei que alguns não vão concordar com minha escolha mas enfim. Segue os passos que eu fiz em um servidor RedHat5 (testei com Debian e funcionou também) com a versão 8.1 do PostgreSQL. Fiz com uma base de em torno de 800Mb.<br />
Recomendo que teste em um ambiente separado antes de aplicar na produção. Use por conta e risco.</p>
<p>Primeiro pare todos os serviços que utilizam o banco (ex. stop no apache, tomcat, jboss) para ninguém (usuários) alterar o banco durante o processo.<br />
<span style="font-family:sans-serif;">Nos comandos abaixo, substitua:<br />
</span><span style="font-family:sans-serif;">usuario_banco = usuário dono do banco, com permissões de apagar e criar bancos<br />
meu_banco = o banco que vc quer fazer a migração<br />
</span><br />
fazer um backup em texto plano<br />
<span style="font-family:Courier New;"><br />
/usr/bin/pg_dump -i -h localhost -U usuario_banco -F p -D -v -f bancoL.sql meu_banco</span></p>
<p>aqui está o segredo. Use o software iconv para conversão<br />
<span style="font-family:Courier New;"><br />
iconv -f iso-8859-1 -t utf-8 bancoL.sql &gt; bancoU.sql</span></p>
<p>abra o arquivo bancoU.sql (de preferencia use o vim pra editar)<br />
e no inicio aí pela linha 7, onde tem &#8220;SET client_encoding = &#8216;LATIN1&#8242;;&#8221;  troque LATIN1 por UTF8</p>
<p>Com banco fazer:</p>
<p>faça um backup é claro<br />
<span style="font-family:Courier New;"> pg_dump -U usuario_banco -i -F c -b -f banco.backup meu_banco<br />
</span><br />
agora apague o banco inteiro<br />
<span style="font-family:Courier New;"> dropdb -h localhost -U usuario_banco meu_banco</span></p>
<p>crie-o com UTF8<br />
<span style="font-family:Courier New;"> createdb -h localhost -E UTF8 -U usuario_banco meu_banco</span></p>
<p>e agora restaure o banco &#8220;uteéfeoitoado&#8221; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<span style="font-family:Courier New;"> psql -h localhost -U usuario_banco -d meu_banco &lt; bancoU.sql</span></p>
<p>caso use em seus SQL a função TO_ASCII, com UTF-8 ela não irã funcionar. Veja <a href="http://arezi.wordpress.com/2008/04/09/postgresql-funcao-to_ascii-em-banco-utf-8/">aqui a alternativa</a> em um post passado que eu fiz.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/arezi.wordpress.com/49/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/arezi.wordpress.com/49/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arezi.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arezi.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arezi.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arezi.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arezi.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arezi.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arezi.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arezi.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arezi.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arezi.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arezi.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arezi.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arezi.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arezi.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arezi.wordpress.com&amp;blog=812108&amp;post=49&amp;subd=arezi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arezi.wordpress.com/2008/07/16/postgresql-migrando-de-latin1-pra-utf-8-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0315a0ff85bc47098634067502a0026e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">arezi</media:title>
		</media:content>
	</item>
	</channel>
</rss>
