<?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>Marcelo Rodrigues &#187; Browser</title>
	<atom:link href="http://www.marcelomx.com/tag/browser/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcelomx.com</link>
	<description>Web Developer</description>
	<lastBuildDate>Tue, 03 Aug 2010 02:26:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Safari para Windows</title>
		<link>http://www.marcelomx.com/2007/06/11/safari-para-windows/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=safari-para-windows</link>
		<comments>http://www.marcelomx.com/2007/06/11/safari-para-windows/#comments</comments>
		<pubDate>Mon, 11 Jun 2007 22:03:26 +0000</pubDate>
		<dc:creator>Marcelo Rodrigues</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://marcelomx.wordpress.com/2007/06/11/safari-para-windows/</guid>
		<description><![CDATA[Saiu a versão para Windows. Sendo sincero, não gostei. Já quando li o post no Tableless e fui comentar, o bicho travou. Não consegui nem vizualizar os campos do formulário de comentários. Mas enfim, vai ver que dei azar. Algumas listas não ordenadas de alguns sites ficaram totalmente desalinhadas. Pra falar a verdade, tem gente [...]]]></description>
			<content:encoded><![CDATA[<p>Saiu a versão para <a href="http://www.apple.com/safari/download/">Windows.</a></p>
<p>Sendo sincero, não gostei. Já quando li o post no Tableless e fui comentar, o bicho travou. Não consegui nem vizualizar os campos do formulário de comentários. Mas enfim, vai ver que dei azar. Algumas listas não ordenadas de alguns sites ficaram totalmente desalinhadas.</p>
<p>Pra falar a verdade, tem gente dizendo que foi  uma bela jogada da Apple para abocanhar uma fatia do mercado de browsers. Já eu penso que foi um tiro no pé, pelo menos por enquanto, porque se preocuparam mais em lançar o Browser para Windows adaptado muito porcamente.</p>
<p>Sinceramente, acho que uma das vantagens da Apple é que tudo nela é bonitinho, mas somente no que diz respeito ao seu sistema. Já tentei rodar várias coisas com visual a la maçã e não gostei nenhum um pouco. Com o Saffari não foi diferente. As fontes renderizam muito diferente do Windows, talvez pela engine KHTML não ser tão amigável no Windows quanto no Linux e Mac. A interface do Browser também poderia deixar de imitar o visual do MAC e entrar pra cara de Windows mesmo, deixando o usuário mais livre a escolha de como deve ficar, afinal se o cara muda o tema do Windows, a tendência é também a interface do browser mudar um pouco, mas isso não acontecerá no Safari.</p>
<p>Mas bem, apenas uma singela opinião. Vou deixar instalado aqui, afinal, para desenvolvimento foi uma bela notícia.</p>
<p>Até a próxima.</p>

	Tags: <a href="http://www.marcelomx.com/tag/browser/" title="Browser" rel="tag nofollow">Browser</a>, <a href="http://www.marcelomx.com/tag/mac/" title="Mac" rel="tag nofollow">Mac</a>, <a href="http://www.marcelomx.com/category/tecnologia/" title="Tecnologia" rel="tag nofollow">Tecnologia</a>, <a href="http://www.marcelomx.com/tag/windows/" title="Windows" rel="tag nofollow">Windows</a><br />

	<h4>Posts relacionados</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.marcelomx.com/2007/11/26/postando-diretamente-do-microsoft-word-2007/" title="Postando diretamente do Microsoft Word 2007 (26 November 2007)">Postando diretamente do Microsoft Word 2007</a> (0)</li>
	<li><a href="http://www.marcelomx.com/2007/06/16/1%c2%ba-encontro-brasileiro-de-arquitetura-da-informacao/" title="1º Encontro Brasileiro de Arquitetura da Informação (16 June 2007)">1º Encontro Brasileiro de Arquitetura da Informação</a> (1)</li>
	<li><a href="http://www.marcelomx.com/2007/03/28/firefox-e-o-problema-de-consumo-de-memoria/" title="Firefox e o problema de consumo de memória (28 March 2007)">Firefox e o problema de consumo de memória</a> (2)</li>
	<li><a href="http://www.marcelomx.com/2007/03/16/alterando-o-lumine-config-para-diferentes-servidores/" title="Alterando o Lumine Config para diferentes servidores (16 March 2007)">Alterando o Lumine Config para diferentes servidores</a> (2)</li>
	<li><a href="http://www.marcelomx.com/sobre/" title="Sobre (16 March 2007)">Sobre</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.marcelomx.com/2007/06/11/safari-para-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefox e o problema de consumo de memória</title>
		<link>http://www.marcelomx.com/2007/03/28/firefox-e-o-problema-de-consumo-de-memoria/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=firefox-e-o-problema-de-consumo-de-memoria</link>
		<comments>http://www.marcelomx.com/2007/03/28/firefox-e-o-problema-de-consumo-de-memoria/#comments</comments>
		<pubDate>Wed, 28 Mar 2007 16:15:57 +0000</pubDate>
		<dc:creator>Marcelo Rodrigues</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://marcelomx.wordpress.com/2007/03/28/firefox-e-o-problema-de-consumo-de-memoria/</guid>
		<description><![CDATA[Embora o Firefox seja minha opção enquanto browser para navegar e desenvolver, tenho optado por usar outros mais leves para tarefas rápidas que não necessitem de um tempo de permanência muito grande com o browser aberto. O Seamonkey tem sido um quebra galho, já que ele é bem mais rápido e usa a mesma engine [...]]]></description>
			<content:encoded><![CDATA[<p>Embora o Firefox seja minha opção enquanto browser para navegar e desenvolver, tenho optado por usar outros mais leves para tarefas rápidas que não necessitem de um tempo de permanência muito grande com o browser aberto. O Seamonkey tem sido  um quebra galho, já que ele é bem mais rápido e usa a mesma engine de renderização do Firefox, mas o visual a lá Netscape 4.0 não me agrada nenhum um pouco. Até mesmo o Internet Explorer tem sido uma mão na roda nestes momentos.</p>
<p>Ao ler o post do <a href="http://blog.elcio.com.br/firefox-o-monstro/" title="http://blog.elcio.com.br/firefox-o-monstro/" target="_blank">Élcio,</a> vi que não estou sozinho nesta luta contra o consumo excessivo de memória do Firefox. Já havia tentado a algum tempo algumas possibilidades: reinstalá-lo, desinstalar temas e extensões, excluir e criar novos perfis, mas todas sem muito ou nenhum resultado. A única que chegou a dar um basta temporário no problema, que é conhecido como Memory Leak, foi desabilitar a extensões Firebug e Flashgot, usadas para desenvolvimento e downloads em massa, respectivamente. Neste processo, obtive uma economia em torno de 10 a 15MB de memória por aba aberta, o que já uma grande quantidade de memória considerando que eu constumo trabalhar com no mínimo 10 abas abertas. Calculando, meu gasto com memória está na casa dos 150MB. Até mesmo o Eclipse que é escrito em Java e é praticamente um elefante de peso no consumo de memória não chega a este índice.</p>
<p>O problema que faz o Firefox consumir esta quantidade de absurda de memória ainda é desconhecido, mas pesquisando observei que o mesmo já é bem antigo, dada pela quantidade de reclamações. Já nos primeiros resultados cheguei a página da <a href="http://kb.mozillazine.org/Memory_Leak" target="_blank">Mozillazine</a> que fala sobre o problema e relata as prováveis soluções, inclusive relacionando as extensões e temas problemáticos.</p>

	Tags: <a href="http://www.marcelomx.com/tag/browser/" title="Browser" rel="tag nofollow">Browser</a>, <a href="http://www.marcelomx.com/category/geral/" title="Geral" rel="tag nofollow">Geral</a>, <a href="http://www.marcelomx.com/category/tecnologia/" title="Tecnologia" rel="tag nofollow">Tecnologia</a>, <a href="http://www.marcelomx.com/tag/windows/" title="Windows" rel="tag nofollow">Windows</a><br />

	<h4>Posts relacionados</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.marcelomx.com/2007/11/26/postando-diretamente-do-microsoft-word-2007/" title="Postando diretamente do Microsoft Word 2007 (26 November 2007)">Postando diretamente do Microsoft Word 2007</a> (0)</li>
	<li><a href="http://www.marcelomx.com/2007/06/11/safari-para-windows/" title="Safari para Windows (11 June 2007)">Safari para Windows</a> (1)</li>
	<li><a href="http://www.marcelomx.com/2007/03/16/alterando-o-lumine-config-para-diferentes-servidores/" title="Alterando o Lumine Config para diferentes servidores (16 March 2007)">Alterando o Lumine Config para diferentes servidores</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.marcelomx.com/2007/03/28/firefox-e-o-problema-de-consumo-de-memoria/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Alterando o Lumine Config para diferentes servidores</title>
		<link>http://www.marcelomx.com/2007/03/16/alterando-o-lumine-config-para-diferentes-servidores/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=alterando-o-lumine-config-para-diferentes-servidores</link>
		<comments>http://www.marcelomx.com/2007/03/16/alterando-o-lumine-config-para-diferentes-servidores/#comments</comments>
		<pubDate>Fri, 16 Mar 2007 02:25:47 +0000</pubDate>
		<dc:creator>Marcelo Rodrigues</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Class path]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Hugo]]></category>
		<category><![CDATA[Lumine]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://marcelomx.wordpress.com/2007/03/16/alterando-o-lumine-config-para-diferentes-servidores/</guid>
		<description><![CDATA[Atualmente venho utilizando o Lumine, um framework usado para mapeamento objeto relacional para banco de dados, que foi desenvolvido pelo Hugo, meu amigo e ex-sócio na administração do MXSTUDIO. Não me aprofundarei falando sobre as características do framework, deixando para um próximo post mais elaborado que certamente valerá a pena. Em minha opinião, o Lumine [...]]]></description>
			<content:encoded><![CDATA[<p>Atualmente venho utilizando o <a title="Lumine - Database Mapping for PHP" href="http://www.hufersil.com.br/lumine" target="_blank">Lumine</a>, um framework usado para mapeamento objeto relacional para banco de dados, que foi desenvolvido pelo Hugo, meu amigo e ex-sócio na administração do MXSTUDIO. Não me aprofundarei falando sobre as características do framework, deixando para um próximo post mais elaborado que certamente valerá a pena.</p>
<p style="text-align:justify;">Em minha opinião, o Lumine está entre as melhores ferramentas para gerar e trabalhar um camada de persistência usando o mapeamento objeto relacional de um banco, graças a sua simplicidade de implementação e velocidade na execução dos comandos de inserção e seleção de dados.</p>
<p style="text-align:justify;">Como disse anteriormente, em outro post relatarei em detalhes a ferramenta, que segundo o autor, ainda necessita de uma documentação mais completa que ainda não pôde ser feita devido à falta de tempo do mesmo. Desta forma, quem tiver interesse em contribuir, fique a vontade.</p>
<p style="text-align:justify;">No Lumine existe um arquivo de configuração que é utilizado para todas as operações entre a aplicação e o banco de dados, desde a conexão, carregamento das classes referentes aos objetos relacionais, engenharia reversa, criação deschemas, etc. Este arquivo pode ser gerado tanto em XML quanto em PHP. Particularmente, acredito que o formato PHP é mais interessante por ter as informações de configuração armazenadas em um array , impossibilitando desta forma que um usuário veja esses dados acessando o arquivo direto pela URL, caso o mesmo esteja visível na árvore de diretórios do site. Já comXML isso não acontece, a não ser que você configure os mime types permitidos para acesso externo, ou simplesmente altere a permissão do mesmo arquivo via FTP para que ele não seja lido pelo via browser.</p>
<p style="text-align:justify;">Aqui vou falar apenas do arquivo PHP, uma vez que no XML o trabalho é manual mesmo, não há outra saída. No arquivo de configuração, há duas chaves importantes que são a base para o carregamento das classes de negócio:class-path e use-cache. Veja abaixo um exemplo deste arquivo:</p>
<pre>$lumineConfig = array (
	’configuration’ =&gt; array (
		‘class-path’ =&gt; ‘C:\lumine’,
		‘host’ =&gt; ‘localhost’,
		‘database’ =&gt; ‘meudatabase’,
		‘dialect’ =&gt; ‘mysql’,
		‘port’ =&gt; ‘3306′,
		‘user’ =&gt; ‘usuario’,
		‘password’ =&gt; ‘*****’,
		‘package’ =&gt; ‘orm’,
		‘maps’ =&gt; ‘map’,
		‘use-cache’ =&gt; ‘C:\lumine\cache.txt’,
		‘remove_prefix’ =&gt; ”,
		‘acao’ =&gt; ‘Iniciar’,
		‘create-classes’ =&gt; ‘1′,
		‘create-maps’ =&gt; ‘1′,
		‘escape’ =&gt; ‘1′,
		‘empty-as-null’ =&gt; ‘1′,
		‘generate-accessors’ =&gt; ‘1′,
		‘fileDate’ =&gt; filemtime(__FILE__)
	),
	’maps’ =&gt; array (
	‘map.Pessoa’
	)
);</pre>
<p style="text-align:justify;">Repare que o valor do caminho do <span style="font-style:italic;">class-path</span> é o padrão de diretório do Windows. Supondo que o seu servidor de produção seja Linux e que o servidor de testes seja Windows, então é provável que um erro no carregamento das classes aconteça em um dos sistemas por um não reconhecer a árvore de diretório do outro. A solução neste caso seria alterar então o caminho do diretório de forma que cada sistema leia o arquivo que contenha o diretório relativo ao seu sistema de diretório, ou seja, uma versão para o Windows e outro para o Linux. Mas isso não é muito saudável, uma vez que um erro de sincronização poderia fazer com que um arquivo sobrescrevesse o outro. Já passei por esta experiência e posso afirmar que alterar caminhos físicos de diretório manualmente é extremamente trabalhoso e chato.</p>
<p style="text-align:justify;">Este arquivo de configuração pode ser gerado tanto manualmente quanto automaticamente pelo LumineReverse, uma classe utilizada para a construção das classes e mapeamentos xml do banco usando engenharia reversa. Neste processo, o Lumine gera o caminho para as classes, mapeamentos e o cache, de acordo com o sistema operacional em que ele estiver rodando. Por isso, é bom ficar atento a este detalhe.</p>
<p style="text-align:justify;">Uma solução para não ter problemas quanto ao caminho correto, é usar a função <span style="font-style:italic;">dirname </span>do php, que retorna o caminho completo do arquivo passado por parâmetro. Neste caso, o parâmetro é a constante global __FILE__, que indica o caminho do arquivo relativo aoscript que está executando o comando. Exemplo:</p>
<pre><code><span style="font-size:10pt;">&lt;?php</span></code><span style="font-size:10pt;font-family:'Courier New';">
<code>// Caminho original do arquivo: C:\aplicacao\lumine-config.php</code>
<code>echo dirname(__FILE__); // Retorna C:\aplicacao</code>
<code>?&gt;</code></span></pre>
<p style="text-align:justify;">Mas atenção, isso só é válido se você tiver o lumine-config no mesmo diretório dos diretórios de mapeamento e pacote de classes. Exemplo da estrutura:</p>
<pre><code><span style="font-size:10pt;">aplicacao</span></code><span style="font-size:10pt;font-family:'Courier New';">
<code>/mapeamentos</code>
<code>/pacote</code>
<code>lumine-config.php</code>
<code>cache.txt</code></span></pre>
<p style="text-align:justify;">Alterando então as diretivas use-cache e class-path para que ambas funcionem em qualquer servidor, com a necessidade apenas de alteração do usuário, host e senha do banco a qual o script irá se conectar, o arquivo ficará assim:</p>
<pre>$lumineConfig = array (
	’configuration’ =&gt; array (
		‘class-path’ =&gt; dirname(__FILE__),
		‘host’ =&gt; ‘localhost’,
		‘database’ =&gt; ‘meudatabase’,
		‘dialect’ =&gt; ‘mysql’,
		‘port’ =&gt; ‘3306′,
		‘user’ =&gt; ‘usuario’,
		‘password’ =&gt; ‘*****’,
		‘package’ =&gt; ‘orm’,
		‘maps’ =&gt; ‘map’,
		‘use-cache’ =&gt; dirname(__FILE__) . ‘/cache.txt’,
		‘remove_prefix’ =&gt; ”,
		‘acao’ =&gt; ‘Iniciar’,
		‘create-classes’ =&gt; ‘1′,
		‘create-maps’ =&gt; ‘1′,
		‘escape’ =&gt; ‘1′,
		‘empty-as-null’ =&gt; ‘1′,
		‘generate-accessors’ =&gt; ‘1′,
		‘fileDate’ =&gt; filemtime(__FILE__)
	),
	’maps’ =&gt; array (
	‘map.Pessoa’
	)
);</pre>
<p style="text-align:justify;">Assim, o carregamento verificará o caminho para as classes e para o arquivo cache.txt, de acordo com o que retornar a função <span style="font-style:italic;">dirname</span>, em tempo real, e com o sistema em que o script estiver rodando, eliminando a possibilidade de erros e leitura dos dados por estarem em caminhos diferentes.</p>
<p style="text-align:justify;">Em um outro artigo, falarei sobre o Lumine e introduzirei alguns macetes para inserção e seleção de dados simples e complexos.</p>

	Tags: <a href="http://www.marcelomx.com/tag/array/" title="Array" rel="tag nofollow">Array</a>, <a href="http://www.marcelomx.com/tag/browser/" title="Browser" rel="tag nofollow">Browser</a>, <a href="http://www.marcelomx.com/tag/class-path/" title="Class path" rel="tag nofollow">Class path</a>, <a href="http://www.marcelomx.com/tag/database/" title="Database" rel="tag nofollow">Database</a>, <a href="http://www.marcelomx.com/tag/framework/" title="Framework" rel="tag nofollow">Framework</a>, <a href="http://www.marcelomx.com/tag/hugo/" title="Hugo" rel="tag nofollow">Hugo</a>, <a href="http://www.marcelomx.com/tag/lumine/" title="Lumine" rel="tag nofollow">Lumine</a>, <a href="http://www.marcelomx.com/tag/mac/" title="Mac" rel="tag nofollow">Mac</a>, <a href="http://www.marcelomx.com/category/php/" title="Php" rel="tag nofollow">Php</a>, <a href="http://www.marcelomx.com/tag/sql/" title="SQL" rel="tag nofollow">SQL</a>, <a href="http://www.marcelomx.com/tag/windows/" title="Windows" rel="tag nofollow">Windows</a>, <a href="http://www.marcelomx.com/tag/xml/" title="XML" rel="tag nofollow">XML</a><br />

	<h4>Posts relacionados</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.marcelomx.com/2009/11/02/frameworks-padroes-de-projetos-e-testes/" title="Frameworks, padrões de projetos e testes. (2 November 2009)">Frameworks, padrões de projetos e testes.</a> (3)</li>
	<li><a href="http://www.marcelomx.com/2008/12/30/escrevendo-urls-no-zend-framework/" title="Escrevendo URLs no Zend Framework (30 December 2008)">Escrevendo URLs no Zend Framework</a> (4)</li>
	<li><a href="http://www.marcelomx.com/2008/11/20/zend-framework-17/" title="Zend Framework 1.7 (20 November 2008)">Zend Framework 1.7</a> (1)</li>
	<li><a href="http://www.marcelomx.com/2008/07/24/zend-framework-16-rc1/" title="Zend Framework 1.6 RC1 (24 July 2008)">Zend Framework 1.6 RC1</a> (0)</li>
	<li><a href="http://www.marcelomx.com/2007/11/26/postando-diretamente-do-microsoft-word-2007/" title="Postando diretamente do Microsoft Word 2007 (26 November 2007)">Postando diretamente do Microsoft Word 2007</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.marcelomx.com/2007/03/16/alterando-o-lumine-config-para-diferentes-servidores/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
