<?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>Renato CRON</title>
	<atom:link href="http://renatocron.com/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://renatocron.com/blog</link>
	<description></description>
	<lastBuildDate>Fri, 16 Mar 2012 20:38:05 +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>sopão: rende deliciosos 6 pratos</title>
		<link>http://renatocron.com/blog/topicos/sopao-rende-deliciosos-6-pratos/85</link>
		<comments>http://renatocron.com/blog/topicos/sopao-rende-deliciosos-6-pratos/85#comments</comments>
		<pubDate>Fri, 16 Mar 2012 03:41:49 +0000</pubDate>
		<dc:creator>Renato CRON</dc:creator>
				<category><![CDATA[pessoal]]></category>
		<guid isPermaLink="false">http://renatocron.com/blog/?p=85</guid>
		<description><![CDATA[Olá! Como não ando passando muito tempo aqui (no blog) resolvi hoje fazer um post sobre utilidade pública: Como fazer a sopa Sopão! Primeiramente, devo citar o blog da minha amiga e minha chefe, @vermelha =&#62; culinaristico.com.br, lá sim é &#8230; <a href="http://renatocron.com/blog/topicos/sopao-rende-deliciosos-6-pratos/85">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Olá! Como não ando passando muito tempo aqui (no blog) resolvi hoje fazer um post sobre utilidade pública:</p>
<p><a href="http://renatocron.com/blog/topicos/sopao-rende-deliciosos-6-pratos/85/img_1710__"><img title="Notebook na cozinha" src="http://renatocron.com/blog/wp-content/uploads/2012/03/IMG_1710__.jpg" alt="Notebook na cozinha" width="1200" height="800" /></a></p>
<p>Como fazer a sopa Sopão!</p>
<p>Primeiramente, devo citar o blog da minha amiga e minha chefe, @vermelha =&gt; <a title="culinaristico.com.br" href="http://culinaristico.com.br" target="_blank">culinaristico.com.br</a>, lá sim é foda!</p>
<p>O negocio é o seguinte, passe no supermercado mais perto da sua casa (<a title="maps.google.com" href="http://maps.google.com" target="_blank">maps.google.com</a>) e compre um saco da <strong>Maggi</strong> onde estiver escrito Sopão. Não importa qual, todos são <strong>feitos com ingredientes selecionados</strong>.</p>
<p><strong>Ingredientes:</strong></p>
<ul>
<li>01 LITRO DE ÁGUA FRIA</li>
<li><span style="font-size: small;">01 SACO DE SOPÃO MAGGI</span></li>
</ul>
<p><strong>Modo de preparo:</strong></p>
<p>Despeje o pacote na água:</p>
<p>Fique mexendo até fever:</p>
<p>Abaixe o fogo e tampe pela metade por uns 3 minutos, mas mexe se não gruda tudo no fundo da panela, e deixe por mais uns 3 minutos:</p>
<p>Sirva-se!</p>
<a href='http://renatocron.com/blog/topicos/sopao-rende-deliciosos-6-pratos/85/img_1710__' title='Notebook na cozinha'><img width="150" height="100" src="http://renatocron.com/blog/wp-content/uploads/2012/03/IMG_1710__.jpg" class="attachment-thumbnail" alt="Notebook na cozinha" title="Notebook na cozinha" /></a>
<a href='http://renatocron.com/blog/topicos/sopao-rende-deliciosos-6-pratos/85/fogo' title='fogo'><img width="150" height="100" src="http://renatocron.com/blog/wp-content/uploads/2012/03/fogo.jpg" class="attachment-thumbnail" alt="fogo" title="fogo" /></a>
<a href='http://renatocron.com/blog/topicos/sopao-rende-deliciosos-6-pratos/85/sopao-despejado' title='sopao despejado'><img width="150" height="100" src="http://renatocron.com/blog/wp-content/uploads/2012/03/sopao-despejado.jpg" class="attachment-thumbnail" alt="sopao despejado" title="sopao despejado" /></a>
<a href='http://renatocron.com/blog/topicos/sopao-rende-deliciosos-6-pratos/85/mexendo' title='mexendo'><img width="150" height="100" src="http://renatocron.com/blog/wp-content/uploads/2012/03/mexendo.jpg" class="attachment-thumbnail" alt="mexendo" title="mexendo" /></a>
<a href='http://renatocron.com/blog/topicos/sopao-rende-deliciosos-6-pratos/85/pronto' title='pronto'><img width="150" height="100" src="http://renatocron.com/blog/wp-content/uploads/2012/03/pronto.jpg" class="attachment-thumbnail" alt="pronto" title="pronto" /></a>
<a href='http://renatocron.com/blog/topicos/sopao-rende-deliciosos-6-pratos/85/no-prato' title='no prato'><img width="150" height="100" src="http://renatocron.com/blog/wp-content/uploads/2012/03/no-prato.jpg" class="attachment-thumbnail" alt="no prato" title="no prato" /></a>
]]></content:encoded>
			<wfw:commentRss>http://renatocron.com/blog/topicos/sopao-rende-deliciosos-6-pratos/85/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SEO &#8211; Múltiplos sites no mesmo endereço IP</title>
		<link>http://renatocron.com/blog/topicos/seo-multiplos-sites-no-mesmo-endereco-ip/74</link>
		<comments>http://renatocron.com/blog/topicos/seo-multiplos-sites-no-mesmo-endereco-ip/74#comments</comments>
		<pubDate>Wed, 26 Oct 2011 14:00:48 +0000</pubDate>
		<dc:creator>Renato CRON</dc:creator>
				<category><![CDATA[programas]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[seo]]></category>
		<guid isPermaLink="false">http://renatocron.com/blog/?p=74</guid>
		<description><![CDATA[O assunto de hoje é SEO! depois de meses sem postar algo ^^ Há algum tempo, compartilho de um servidor com mais um amigo, e tenho um site &#8220;pornô&#8220;, digo &#8220;pornô&#8221; porque ele não é exatamente isso, ele é sobre &#8230; <a href="http://renatocron.com/blog/topicos/seo-multiplos-sites-no-mesmo-endereco-ip/74">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>O assunto de hoje é SEO! depois de meses sem postar algo ^^</p>
<p><span>Há algum tempo, <span>compartilho</span> de um servidor com mais um amigo, e tenho um site &#8220;<span>pornô</span>&#8220;, digo &#8220;<span>pornô</span>&#8221; porque ele não é <span>exatamente</span> isso, ele é sobre Peitos, e </span><strong>Peito é natureza</strong>.</p>
<p>Vamos ao <strong><span>um site hospedado junto com outro, pode interferir no <span>ranking</span> dos sites &#8216;vizinhos de IP&#8217;?</span></strong></p>
<h2>Reposta muito curta:</h2>
<p><strong>NÃO</strong>.</p>
<h2><span>Resposta curta:</span></h2>
<p>Depende da troca de <span>links</span> entre os sites envolvidos.</p>
<h2>Resposta:</h2>
<p>Supondo que um site A, com o domínio <em><span>www.site1.com.<span>br</span></span></em>, está hospedado no mesmo local (não importa se é o mesmo servidor físico, detalhes em abaixo) do site B, cujo domínio é <em><span>www.segundo.com.<span>br</span>. </span></em>Ambos os sites estão no IP 187.10.200.15.</p>
<p><span id="more-74"></span></p>
<p>
<strong>Basicamente</strong><span> o google não se importa com isso (o google se importa mais com o domínio em questão, veja o vídeo do <span>Matt</span> <span>Cutts</span> aqui: </span><a href="http://video.google.com/videoplay?docid=3583760678227172395">http://video.google.com/videoplay?docid=3583760678227172395)</a>.
</p>
<p>
O que acontece é que, <strong>se</strong><span> o site A contiver um link para o site B, hospedados sob o mesmo IP/classe C, ou seja, todos os 254 <span>IPs</span> da rede, terão um menor </span><em><a title="juice" href="http://www.techzilo.com/what-is-google-juice/" target="_blank">juice</a> </em>repassado para o site B, porém isso, <strong>se, e apenas se</strong>, o site A passar um link para o site B.
</p>
<p>&nbsp;</p>
<p>
<span>Ou seja, mesmo que você compre novos <span>IPs</span>, </span><em>google knows</em><span> e você teria que comprar uma rede inteira de <span>IPs</span> apenas para algo, que teoricamente, não vai fazer tanta diferença, pois quem faz <span>cross</span>-<span>links</span> não naturais (afinal, 3 ou 4 links, ou até mesmo 100 <span>links</span> de um site grande para outro grande não terá diferenças <span>significativas</span></span>), afinal, você não está fazendo black-hat com link-building né?</p>
<h2>Fonte:</h2>
<p>
<a href="http://www.seroundtable.com/archives/013543.html"><span>http://www.<span>seroundtable</span>.com/<span>archives</span>/013543.html</span></a></p>
<p>Neste post, existem links para outros blogs, onde também foi discutido sobre o assunto.
</p>
<p>&nbsp;</p>
<p style="text-align: right;">Não sou nenhum especialista em SEO, afinal, não sou <a title="especialista" href="http://pt.wikipedia.org/wiki/Especialista" target="_blank">especialista</a> em nenhuma área, mas uma coisa é fato, não sou <del>muito</del> burro.</p>
<p>
Observações: com toda essa onda de IPV6, eu não sei como isso irá parar, porque cada &#8220;usário&#8221; final irá receber em média 254 ips, ou até mesmo, em servidores, 65 redes por maquina.</p>
]]></content:encoded>
			<wfw:commentRss>http://renatocron.com/blog/topicos/seo-multiplos-sites-no-mesmo-endereco-ip/74/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Postgres &#8211; Campos arrays, perl, hash e &#8230; pog</title>
		<link>http://renatocron.com/blog/topicos/postgres-campos-arrays-perl-hash-pog/53</link>
		<comments>http://renatocron.com/blog/topicos/postgres-campos-arrays-perl-hash-pog/53#comments</comments>
		<pubDate>Thu, 26 May 2011 17:40:51 +0000</pubDate>
		<dc:creator>Renato CRON</dc:creator>
				<category><![CDATA[Databases]]></category>
		<guid isPermaLink="false">http://www.renatocron.com/blog/?p=53</guid>
		<description><![CDATA[Primeiros, a definição: POG: Postgres Oriented Gambis! Brincadeiras a parte, vamos lá: eu tenho certeza que você já quis colocar uma array no banco (por exemplo, todos os telefones de uma pessoa) sem ter que criar outra tabela para criar &#8230; <a href="http://renatocron.com/blog/topicos/postgres-campos-arrays-perl-hash-pog/53">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Primeiros, a definição: POG: Postgres Oriented Gambis!</p>
<p>Brincadeiras a parte, vamos lá: eu tenho certeza que você já quis colocar uma array no banco<br />
<em>(por exemplo, todos os telefones de uma pessoa)</em> sem ter que criar outra tabela para criar a relação.</p>
<p>Agora que você esta ciente dos riscos, da quantidade de POG [dessa vez programação orientada a gambi mesmo] que você irá fazer, continuaremos.</p>
<p>Adicionar um novo campo com os telefones seria fácil demais:</p>
<pre name="code" class="sql">create table blabla (
	id_blabla bigiserial,
	telefones text[]
);</pre>
<p>Porém, você só poderia ter os telefones assim:</p>
<pre name="code" class="js">{
    '1234-2222', 123342123, 23212
}</pre>
<p>Mas aí surgem necessidades como, separar o DDD, saber se é FAX, se tem ramal, etc&#8230;</p>
<p>Então, na mais <strong>pura maldade</strong> pensei:<br />
<em>&#8220;pow, seria muito legal ter um HASH ai nesse campo&#8230;&#8221;</em></p>
<p>Como a preguiça também é grande, não quis criar um TYPE do postgres, pois seria dispersão de tempo,<br />
afinal este campo não precisa de search, é so um lugar pra jogar esta informação antes dela ser mais refinada.</p>
<p>Aí pensei, “Hmm, uma array de array resolveria o problema, ‘bora fazê’”:</p>
<p>Deixe assim:</p>
<pre name="code" class="sql">create table blabla (
	id_blabla bigiserial,
	telefones text[][]
);</pre>
<p>Pronto, agora você pode fazer isto:</p>
<pre name="code" class="js">{
    {tel,'1234-2222'},
    {tel,123342123},
    {tel,23212}
}</pre>
<p>Assim, você salva chave, valor, chave, valor&#8230;.</p>
<p>Em perl, é bem simples transformar um HASH em Array [tem várias formas também]:<br />
A que eu utilizei foi esta:</p>
<pre name="code" class="php">        # Array de HASH
        my $array_de_hash = [{tel =&gt; 123, ddd =&gt; 11}, ... ];
        # array que vc vai colocar enviar ao banco
        my @as_array;
        foreach my $i (@$array_de_hash ) {
	        if (ref $i eq 'HASH') {
	                my @sub_array;
                        foreach my $k (keys %$i){
                                push(@sub_array, $k, $i-&gt;{$k});
                        }
                        push(@as_array, @sub_array);
                }else{
                        push(@as_array, $i);
                }
        }
        $array_de_hash = $database-&gt;quote( @as_array );</pre>
<p>Este é um exemplo muito básico, e não tem recursividade, mas funciona para casos simples.</p>
<p>Falta o código perl pra montar o $array_de_hash novamente, mas acho que é só você fazer um foreach seguido de %hash = @valores;</p>
<p>&nbsp;</p>
<pre name="code" class="js">{
    {matchkey,6868465D6A6E5660,telephone,11111111,extension,"",
      other,"",status,000000000000001,ddd,11}
}</pre>
<p>Cheers</p>
]]></content:encoded>
			<wfw:commentRss>http://renatocron.com/blog/topicos/postgres-campos-arrays-perl-hash-pog/53/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>II São Paulo Perl Workshop: Larry Wall e Brad Fitzpatrick no Brasil</title>
		<link>http://renatocron.com/blog/topicos/workshop-larry-wall-e-brad-fitzpatrick/50</link>
		<comments>http://renatocron.com/blog/topicos/workshop-larry-wall-e-brad-fitzpatrick/50#comments</comments>
		<pubDate>Mon, 02 May 2011 17:23:05 +0000</pubDate>
		<dc:creator>Renato CRON</dc:creator>
				<category><![CDATA[geral]]></category>
		<guid isPermaLink="false">http://www.renatocron.com/blog/?p=50</guid>
		<description><![CDATA[Este mês teremos um grande evento em São Paulo. No dia 7 de maio [daqui a 5 dias] teremos o segundo encontro realizado pelos São Paulo Perl Mongers, que trará pessoas como Larry Wall e Brad Fitzpatrick. Larry é o criador do &#8230; <a href="http://renatocron.com/blog/topicos/workshop-larry-wall-e-brad-fitzpatrick/50">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Este mês teremos um grande evento em São Paulo.<br />
<a href="http://www.perlworkshop.com.br" target="sppw"><img src="http://www.perlworkshop.com.br/static/images/logo_divulgacao.png" border="0" alt="" /></a></p>
<p><span id="more-50"></span></p>
<p>No dia 7 de maio [daqui a 5 dias] teremos o segundo encontro realizado pelos São Paulo Perl Mongers, que trará pessoas como <strong>Larry Wall</strong> e <strong>Brad Fitzpatrick.<img class="alignright" src="http://perlworkshop.com.br/static/images/site/camel.png" alt="" /></strong></p>
<p>Larry é o criador do Perl! Isso mesmo, o criador do Perl, aqui, em SP!</p>
<p>&nbsp;</p>
<p>Fora isso, teremos palestras sobre MongoDB, Capacity Planning. Participações <a href="http://perlworkshop.com.br/palestrantes#vagnerdiniz">Vagner Diniz</a> e <a href="http://perlworkshop.com.br/palestrantes#carlinhos">Carlinhos Cecconi</a> discutindo sobre o futuro da web segundo a W3c.</p>
<p>&nbsp;</p>
<p>Eden Cardim, falando sobre Classes Remotas (mais uma coisa que só vem da cabeça dele!).</p>
<p>Você que AMA Perl, ou apenas quer saber como fazer sites com grande volume de carga, esse é o dia e o local ideal para você encontrar pessoas que podem fazer isso, e principalmente, aprender!</p>
<p>&nbsp;</p>
<p>As inscrições estão, por enquanto, a R$ 200 reais, incluindo café da manhã e almoço e café da tarde! Ah, além da comida você pode falar com as pessoas!</p>
<p>&nbsp;</p>
<p>Não sabe inglês? isso não é desculpa! Teremos tradução simultânea fornecida por uma empresa especializada nisso.<br />
Para fazer sua inscrição, basta preencher o formulário abaixo.</p>
<p>&nbsp;</p>
<p>O valor da inscrição é de R$ 200. Você pode parcelar sua inscrição em até 3x sem juros no cartão.</p>
<p>Não perca tempo, as vagas são limitadas!</p>
<p><a href="http://perlworkshop.com.br/inscricao">http://perlworkshop.com.br/inscricao</a></p>
<p>Veja a programação:</p>
<p><a href="http://perlworkshop.com.br/programacao">http://perlworkshop.com.br/programacao</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://renatocron.com/blog/topicos/workshop-larry-wall-e-brad-fitzpatrick/50/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mínimo e Máximo no postgres dentro de arrays</title>
		<link>http://renatocron.com/blog/topicos/maximo-no-postgres-arrays/46</link>
		<comments>http://renatocron.com/blog/topicos/maximo-no-postgres-arrays/46#comments</comments>
		<pubDate>Mon, 14 Feb 2011 17:47:37 +0000</pubDate>
		<dc:creator>Renato CRON</dc:creator>
				<category><![CDATA[geral]]></category>
		<guid isPermaLink="false">http://www.renatocron.com/blog/?p=46</guid>
		<description><![CDATA[Estava procurando na internet e achei várias soluções, porém, a melhor foi esta: Menor valor create function minimum(anyarray) returns anyelement as $$ SELECT min($1[i]) FROM generate_series(array_lower($1,1), array_upper($1,1)) g(i); $$ language sql immutable strict; Maior valor create function maximum(anyarray) returns anyelement &#8230; <a href="http://renatocron.com/blog/topicos/maximo-no-postgres-arrays/46">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Estava procurando na internet e achei várias soluções, porém, a melhor foi esta:</p>
<p>Menor valor</p>
<pre class="brush: sql">create function minimum(anyarray)
returns anyelement as $$
   SELECT min($1[i])
   FROM generate_series(array_lower($1,1), array_upper($1,1)) g(i);
$$ language sql immutable strict;
</pre>
<p>Maior valor</p>
<pre class="brush: sql">create function maximum(anyarray)
returns anyelement as $$
   SELECT max($1[i])
   FROM generate_series(array_lower($1,1), array_upper($1,1)) g(i);
$$ language sql immutable strict;
</pre>
<p>Testando:</p>
<pre class="brush: sql">SELECT *, minimum(abc), maximum(abc)
FROM qualquer_tabela;</pre>
<p>Legal eim? Porém, diga-se de passagem, não é aconselhável usar campos arrays para fazer pesquisas de dados. Para isso, existem as FKs, que usam indexes.</p>
<p>Consultas:</p>
<ul>
<li><strong>procurar array o Máximo e Mínimo postgres</strong></li>
<li><strong>consultar o mínimo e máximo numa array no postgres</strong><strong> </strong></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://renatocron.com/blog/topicos/maximo-no-postgres-arrays/46/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Salvar quantas pessoas acessaram uma página com php *</title>
		<link>http://renatocron.com/blog/topicos/salvar-quem-acessou-pagina-php/44</link>
		<comments>http://renatocron.com/blog/topicos/salvar-quem-acessou-pagina-php/44#comments</comments>
		<pubDate>Mon, 14 Feb 2011 17:10:55 +0000</pubDate>
		<dc:creator>Renato CRON</dc:creator>
				<category><![CDATA[geral]]></category>
		<guid isPermaLink="false">http://www.renatocron.com/blog/?p=44</guid>
		<description><![CDATA[Olá! Pediram-me para fazer, apenas um arquivo com todos os acessos do site usando PHP. Outra regra e que se retorna uma imagem transparente com 1px/1px. Então fiz uma rotinas em PHP bem simples: $item = array( 'REMOTE_ADDR' =&#62; $_SERVER['REMOTE_ADDR'], &#8230; <a href="http://renatocron.com/blog/topicos/salvar-quem-acessou-pagina-php/44">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Pediram-me para fazer, apenas um arquivo com todos os acessos do site usando PHP.<br />
<a rel="attachment wp-att-49" href="http://www.renatocron.com/blog/topicos/salvar-quem-acessou-pagina-php/44/log-conexao"><img class="alignright size-full wp-image-49" title="Estátisticas dos usuários" src="http://renatocron.com/blog/wp-content/uploads/2011/02/log-conexao.jpg" alt="atividades do usuário" width="68" height="64" /></a></p>
<p>Outra regra e que se retorna uma imagem transparente com 1px/1px.</p>
<p><span id="more-44"></span></p>
<p>Então fiz uma rotinas em PHP bem simples:</p>
<pre class="brush: php">		$item = array(
			'REMOTE_ADDR' =&gt; $_SERVER['REMOTE_ADDR'],
			'REQUEST_TIME' =&gt; $_SERVER['REQUEST_TIME'],
			'PATH_INFO'    =&gt; $_SERVER['PATH_INFO'],
			'HTTP_USER_AGENT' =&gt; $_SERVER['HTTP_USER_AGENT'],
			'get' =&gt; @$_GET,
			'post' =&gt; @$_POST,
		);
		$myFile = "testFile.txt";
		$fh = fopen($myFile, 'a') or die("can't open file");
		$stringData = json_encode($item). "n";
		fwrite($fh, $stringData);
		fclose($fh);
		Header( "Content-type: image/gif");
		Header( "Expires: Wed, 11 Nov 1998 11:11:11 GMT");
		Header( "Cache-Control: no-cache");
		Header( "Cache-Control: must-revalidate");
		printf ("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
                  71,73,70,56,57,97,1,0,1,0,128,255,0,192,192,192,0,0,0,33,249,4,1,0,0,0,0,44,0,0,0,0,1,0,1,0,0 ,2,2,68,1,0,59);
		exit;</pre>
<p>Bom, neste caso, estou apenas fazendo &#8220;append&#8221; num arquivo, depois, quando for necessário, farei um perl (ou um PHP) para analisar tais dados.</p>
<p>Cada linha do arquivo é comporta por um JSON com a estrutura igual ao do array $item.</p>
<p>Um ponto positivo nesta opção é que pode-se usar tanto num e-mail quanto numa página qualquer do site, pois, não é necessário um javascript.</p>
<p>Assim você pode <strong>salvar quantas pessoas acessam uma pagina</strong> de forma eficiente e consultar executando um &#8220;grep&#8221;!</p>
<hr />
<p>Mas continue lendo!</p>
<p>Depois de entregar o script, fiz algumas alterações nele script acima para poder permitir que seja executado algum processamento sem fazer o GIF demorar em responder.</p>
<p>Basicamente desabilita o gzip e fecha a conexão e continua executando o código.</p>
<p>Para saber mais pesquise sobre <strong>como executar código PHP depois de fechar a conexão com php</strong>, ou <strong>executar comando demorados no php</strong>.</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;">arquivo.php</span></p>
<pre class="brush: php">	@apache_setenv('no-gzip', 1);
	@ini_set('zlib.output_compression', 0);
	@ini_set('output_buffering', 'off');
	ob_end_clean();
	header("Connection: close");
	ignore_user_abort(); // optional
	ob_start();
	header( "Content-type: image/gif");
	header( "Expires: Wed, 11 Nov 1998 11:11:11 GMT");
	header( "Cache-Control: no-cache");
	header( "Cache-Control: must-revalidate");
	printf ("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
		71,73,70,56,57,97,1,0,1,0,128,255,0,192,192,192,0,0,0,33,249,4,1,0,0,0,0,44,0,0,0,0,1,0,1,0,0 ,2,2,68,1,0,59);
	$size = ob_get_length();
	header("Content-Length: $size");
	ob_end_flush();
	flush();
	# da qui pra baixo nao adianta mudar o conteudo da tela...
	$item = array(
		'REMOTE_ADDR' =&gt; $_SERVER['REMOTE_ADDR'],
		'REQUEST_TIME' =&gt; $_SERVER['REQUEST_TIME'],
		'PATH_INFO'    =&gt; $_SERVER['PATH_INFO'],
		'HTTP_USER_AGENT' =&gt; $_SERVER['HTTP_USER_AGENT'],
		'get' =&gt; @$_GET,
		'post' =&gt; @$_POST,
	);
	$myDir     = "/home/renato/log";
	$importDir = "/home/renato/log-para-processar";
	$run_perl  = array ('/projetos/processador-de-logs', 'importador-de-logs.pl', 'log.txt');
	$today = "log-".date('Y-m-d').".txt";
	$myFile = $myDir . "/$today";
	# escreve no arquivo o log do get
	$fh = fopen($myFile, 'a') or die("can't open file");
	$stringData = json_encode($item). "n";
	fwrite($fh, $stringData);
	fclose($fh);
	$proc = 0;
	# pega a lista de todos os arquivos que estão dentro de $myDir para mover para o $importDir ao menos que seja o $myFile
	$myDirectory = opendir($myDir);
	// get each entry
	while($entryName = readdir($myDirectory)) {
		if (substr($entryName, 0, 3) == 'log' &amp;&amp; is_file("$myDir/$entryName") &amp;&amp; $entryName != $today){
			rename("$myDir/$entryName", "$importDir/$entryName");
			$proc++;
		}
	}
	closedir($myDirectory);
	if ($proc){
		# executa o perl
		`(cd $run_perl[0]; perl $run_perl[1] 1&gt;&gt; $run_perl[2] 2&gt;&amp;1 &amp;)&gt;/dev/null`;
	}</pre>
<p>Claro que você pode remover o código perl que é executado, ou até mesmo a separação de arquivos.</p>
<p>Fica a seu critério!</p>
]]></content:encoded>
			<wfw:commentRss>http://renatocron.com/blog/topicos/salvar-quem-acessou-pagina-php/44/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FMU – Ciência da computação &#8211; Segundo dia</title>
		<link>http://renatocron.com/blog/topicos/fmu-%e2%80%93-ciencia-da-computacao-dia/42</link>
		<comments>http://renatocron.com/blog/topicos/fmu-%e2%80%93-ciencia-da-computacao-dia/42#comments</comments>
		<pubDate>Wed, 09 Feb 2011 02:54:46 +0000</pubDate>
		<dc:creator>Renato CRON</dc:creator>
				<category><![CDATA[geral]]></category>
		<guid isPermaLink="false">http://www.renatocron.com/blog/?p=42</guid>
		<description><![CDATA[Olá, Hoje, terça-feira, tivemos aula com o prof. Nilson, de Cálculo diferencial e integral I [aka: matemática]. Explicou o básico sobre funções, e passou a grade deste semestre junto com a bibliografia. Já são quase 1 da manhã, então não &#8230; <a href="http://renatocron.com/blog/topicos/fmu-%e2%80%93-ciencia-da-computacao-dia/42">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Olá,</p>
<p>Hoje, terça-feira, tivemos aula com o prof. Nilson, de Cálculo diferencial e integral I [aka: matemática].</p>
<p>Explicou o básico sobre funções, e passou a grade deste semestre junto com a bibliografia.</p>
<p>Já são quase 1 da manhã, então não vou colocar agora uma tabela aqui com a grade.</p>
<p>Porém, como já esta sendo dito várias vezes, eu criei um grupo no Google Grupos,</p>
<p>o e-mail é <a href="mailto:ciencia-da-computacao-019201a01@googlegroups.com">ciencia-da-computacao-019201a01@googlegroups.com</a> um pouco grande, porém é bem simples: nosso curso separado por traço seguido pelo código da nossa turma. Assim não atrapalhamos mais nenhuma outra sala.</p>
<form action="http://groups.google.com/group/ciencia-da-computacao-019201a01/boxsubscribe">
<input name="hl" type="hidden" value="pt-BR" />
<table style="background-color: #fff; padding: 5px;" border="0" cellspacing="0">
<tbody>
<tr>
<td><img src="http://groups.google.com/intl/pt-BR/images/logos/groups_logo_sm.gif" alt="Grupos do Google" width="140" height="30" /></td>
</tr>
<tr>
<td style="padding-left: 5px;"><strong>Participe do grupo FMU Ciência da Computação 2011</strong></td>
</tr>
<tr>
<td style="padding-left: 5px;">E-mail:</p>
<input name="email" type="text" />
<input name="sub" type="submit" value="Inscrever" /></td>
</tr>
<tr>
<td align="right"><a href="http://groups.google.com/group/ciencia-da-computacao-019201a01?hl=pt-BR">Visitar este grupo</a></td>
</tr>
</tbody>
</table>
</form>
<p>Apenas vou deixar liberado o grupo para pessoas da sala, afinal, nem todos os documentos que ficarão em anexo no google docs (preciso testar se da pra enviar e-mail com anexo)  são públicos.</p>
<p>Já foi passada uma lista para um aluno (que não sei porque eu sempre fico pensando que se chama Igor, mas não é) com nome/email.</p>
<p>Ele é programador Python, e vai me passar um TXT com a relação para eu já enviar os convites.</p>
<p>Também teve outro aluno, que disse que vai criar um grupo no MSN, quem quiser, pode usar. Ele disse que ia colocar no orkut, mas a comunidade que ele disse, necessita de aprovação do moderar, ou seja =&gt; não sei qual é o e-mail do grupo do msn.</p>
<p>Por agora é só.</p>
]]></content:encoded>
			<wfw:commentRss>http://renatocron.com/blog/topicos/fmu-%e2%80%93-ciencia-da-computacao-dia/42/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FMU &#8211; Ciência da computação &#8211; Primeiro dia</title>
		<link>http://renatocron.com/blog/topicos/fmu-ciencia-da-computacao-dia/40</link>
		<comments>http://renatocron.com/blog/topicos/fmu-ciencia-da-computacao-dia/40#comments</comments>
		<pubDate>Mon, 07 Feb 2011 12:10:49 +0000</pubDate>
		<dc:creator>Renato CRON</dc:creator>
				<category><![CDATA[geral]]></category>
		<category><![CDATA[pessoal]]></category>
		<guid isPermaLink="false">http://www.renatocron.com/blog/?p=40</guid>
		<description><![CDATA[Olá ! Hoje teoricamente é o primeiro dia da faculdade, curso de ciencia da computação, na FMU (http://www.fmu.br). Teoricamente, pois dependendo do horário/trânsito/tranbriques, não vou conseguir chegar a tempo lá. Eu recebi um e-mail no dia 28/jan da FMU sendo &#8230; <a href="http://renatocron.com/blog/topicos/fmu-ciencia-da-computacao-dia/40">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Olá !</p>
<p>Hoje teoricamente é o primeiro dia da faculdade, curso de ciencia da computação, na FMU (<a href="http://www.fmu.br/">http://www.fmu.br</a>).<br />
Teoricamente, pois dependendo do horário/trânsito/tranbriques, não vou conseguir chegar a tempo lá.</p>
<p><span id="more-40"></span></p>
<p>Eu recebi um e-mail no dia 28/jan da FMU sendo informado  que eu estaria no prédio Brigadeiro, campus Liberdade, e que receberia outro e-mail confirmando o prédio/horário. Apenas recebi um e-mail avisando sobre os boletos e que não é permitida a entrada sem a carteira (tal carteira que não sei como obter ainda).</p>
<p>Esquecendo-se destes detalhes, apresento os professores e as aulas:<br />
<del><br />
<strong><em>Segunda-feira:</em> MARCOS JOSE SANVIDOTTI </strong>=&gt; Eu estou em dúvida qual curso ele irá lecionar, porém, achei alguns textos na internet, cujo nome dele é citado, e falam sobre a construção de um protótipo para próteses (1).<br />
Possíveis cursos:  CALCULO DIFERENCIAL E INTEGRAL I, INTRODUCAO A CIENCIA DA COMPUTACAO, INTRODUCAO A LOGICA, INTRODUCAO AO PROJETO DE ALGORITMO</del><br />
<ins><strong><em>Segunda-feira:</em>NILSON GESSONI SAPATA AGUILAR FERREIRA</strong></ins> Professor muito gente fina, mesmo sendo um curso de ciência da computação, já esperava que não fosse ver uma linha de código por algum tempo (ainda bem, já vejo o dia inteiro&#8230;). Não estou puxando saco, e que é melhor entregar as coisas via uma lista de e-mail, do que ficar copiando textos &#8220;a toa&#8221;.<br />
Curso: Administração</p>
<p><strong><em>Terça-feira: </em>NELSON DIAS LEME</strong>=&gt; Achei um resumo dele falando um estudo que ele realizou em conjunto com seus alunos para ensinar matemática financeira.<br />
Curso: CALCULO DIFERENCIAL E INTEGRAL I</p>
<p><strong><em>Quarta-feira:</em> </strong>corretamente na quarta o <strong>MARCOS JOSE SANVIDOTTI</strong>,<br />
leciona o curso de introdução a lógica. Como já foi dito, achei alguns textos na internet, cujo nome dele é citado, e falam sobre a construção de um protótipo para próteses (1)</p>
<p><strong><em>Quinta-feira: </em>MARIA DO CARMO GARCIA NORONHA </strong>=&gt; encontrei mais material sobre ela! Parece uma pessoa legal, afinal, tenho certeza que tal é programadora! Provavelmente ainda tem as 3 filhas (Karina, Fernanda e Beatriz). Fez um projeto de analises automáticas léxicas sobre textos usando LeX (<a href="http://en.wikipedia.org/wiki/Lex_(software)">http://en.wikipedia.org/wiki/Lex_(software)</a>) [deve conhecer perl] e deve saber bastante sobre Regular Expressions! (3)<br />
Cursos:  INTRODUCAO A CIENCIA DA COMPUTACAO</p>
<p><strong><em>Sexta-feira:</em> HIROMASA NAGATA</strong> =&gt; Mais um programador! Dessa vez, COBOL. O único conteúdo sobre ele que encontrei, foi num fórum, onde o nome dele foi citado dizendo que &#8220;excelente curso, ministrado por um ótimo, experiente e exigente professor&#8221; (2)<br />
Possíveis cursos:  INTRODUCAO AO PROJETO DE ALGORITMO</p>
<p>Detalhes sobre o site eu vou deixar para depois&#8230; Acho que vou fazer um javascript para arrumar a pagina <a rel="nofollow" href="http://www.fmu.br/aluno/consultas.asp?m=4&amp;s=79&amp;o=7&amp;rnd=40581,3516898148">http://www.fmu.br/aluno/consultas.asp?m=4&amp;s=79&amp;o=7&amp;rnd=40581,3516898148</a> pois, se você é aluno, só quer ver os cursos da onde você estuda, certo?</p>
<p>Endereço do curso de ciência da computação: AV. BRIG. LUIS ANTONIO, 1089<br />
O lugar é conhecido como PRÉDIO 39. Somos privilegiados e estamos no primeiro andar, na sala 101 (pelo menos a minha turma: <strong>019201A01</strong>)<br />
Como cheguei lá hoje (segunda-feira): eu estava próximo a estação Trianon &#8211; Masp do metro [pois é onde trabalho] portanto, simplesmente andei até quase a estação brigadeiro (15 minutos) e desci em direção a Av. Brigadeiro.</p>
<p>Curiosamente, se você precisar traçar uma rota pelo google maps, utilize o número 1030, pois é onde o google acha que é.</p>
<p><a title="FMU brigadeiros" href="http://maps.google.com.br/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=Av.+Brg.+Lu%C3%ADs+Ant%C3%B4nio,+1089+-+Bela+Vista,+S%C3%A3o+Paulo+-+S%C3%A3o+Paulo,+01317-001&amp;aq=1&amp;sll=-23.558175,-46.641362&amp;sspn=0.005153,0.010568&amp;g=Av.+Brg.+Lu%C3%ADs+Ant%C3%B4nio,+1089+-+Bela+Vista,+S%C3%A3o+Paulo+-+S%C3%A3o+Paulo,+01317-001&amp;ie=UTF8&amp;hq=&amp;hnear=Av.+Brg.+Lu%C3%ADs+Ant%C3%B4nio,+1089+-+Bela+Vista,+S%C3%A3o+Paulo,+01317-001&amp;ll=-23.559161,-46.642196&amp;spn=0.001288,0.002642&amp;t=h&amp;z=19&amp;layer=c&amp;cbll=-23.559094,-46.642131&amp;panoid=-ktDQxcCJqWWqM44FnnsLA&amp;cbp=13,124.35,,0,0.35" target="_blank">Click aqui para ver o lugar</a></p>
<div>
<small><a style="color: #0000ff; text-align: left;" href="http://maps.google.com.br/maps?f=q&amp;source=embed&amp;hl=pt-BR&amp;geocode=&amp;q=Av.+Brg.+Lu%C3%ADs+Ant%C3%B4nio,+1089+-+Bela+Vista,+S%C3%A3o+Paulo+-+S%C3%A3o+Paulo,+01317-001&amp;aq=1&amp;sll=-23.558175,-46.641362&amp;sspn=0.005153,0.010568&amp;ie=UTF8&amp;hq=&amp;hnear=Av.+Brg.+Lu%C3%ADs+Ant%C3%B4nio,+1089+-+Bela+Vista,+S%C3%A3o+Paulo,+01317-001&amp;t=h&amp;layer=c&amp;cbll=-23.559094,-46.642131&amp;panoid=-ktDQxcCJqWWqM44FnnsLA&amp;cbp=13,124.35,,0,0.35&amp;ll=-23.559188,-46.642113&amp;spn=0,0.048237&amp;z=14">Exibir mapa ampliado</a></small></div>
<p>Pelo Google Analytics hoje percebi que teve muita procura por &#8220;como chegar na fmu de brigadeiro&#8221;, então já fica ai explicado para outras pessoas!<br />
Links:</p>
<p>(1): <a rel="nofollow" href="http://www.unicamp.br/unicamp/unicamp_hoje/ju/marco2006/ju317pag9.html">http://www.unicamp.br/unicamp/unicamp_hoje/ju/marco2006/ju317pag9.html</a></p>
<p>(2): <a rel="nofollow" href="http://www.hardware.com.br/comunidade/assembly-cobol/968411/1.html">http://www.hardware.com.br/comunidade/assembly-cobol/968411/1.html</a></p>
<p>(3): <a rel="nofollow" href="http://www.uscs.edu.br/comu/noticias.php?ind=1216">http://www.uscs.edu.br/comu/noticias.php?ind=1216</a></p>
]]></content:encoded>
			<wfw:commentRss>http://renatocron.com/blog/topicos/fmu-ciencia-da-computacao-dia/40/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Campus party acabou</title>
		<link>http://renatocron.com/blog/topicos/campus-party-acabou/38</link>
		<comments>http://renatocron.com/blog/topicos/campus-party-acabou/38#comments</comments>
		<pubDate>Sun, 23 Jan 2011 16:28:07 +0000</pubDate>
		<dc:creator>Renato CRON</dc:creator>
				<category><![CDATA[geral]]></category>
		<guid isPermaLink="false">http://www.renatocron.com/blog/?p=38</guid>
		<description><![CDATA[Enfim, a campus party ja era&#8230; sem link de 100mb (pois eh isso q vc recebe, culpa do switch) nao tem mais graca! Acabei q voltei ontem mesmo de carona com um amigo que me deixou na penha, mas&#8230; esqueci &#8230; <a href="http://renatocron.com/blog/topicos/campus-party-acabou/38">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Enfim,</p>
<p>a campus party ja era&#8230;</p>
<p>sem link de 100mb (pois eh isso q vc recebe, culpa do switch) nao tem mais graca!</p>
<p>Acabei q voltei ontem mesmo de carona com um amigo que me deixou na penha, mas&#8230;</p>
<p>esqueci o teclado no carro dele, e nao to com ele em lugar nenhum (msn, face, twiter&#8230;)</p>
<p>o jeito e eu levantar da cama e ir comparar outro, mas nem sai do lugar ainda (serio, meu notebook dormiu aqui do lado)</p>
]]></content:encoded>
			<wfw:commentRss>http://renatocron.com/blog/topicos/campus-party-acabou/38/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Campus Party 2011 &#8211; Meus preparativos</title>
		<link>http://renatocron.com/blog/topicos/campus-party-2011-meus-preparativos/36</link>
		<comments>http://renatocron.com/blog/topicos/campus-party-2011-meus-preparativos/36#comments</comments>
		<pubDate>Sun, 16 Jan 2011 17:33:08 +0000</pubDate>
		<dc:creator>Renato CRON</dc:creator>
				<category><![CDATA[geral]]></category>
		<guid isPermaLink="false">http://www.renatocron.com/blog/?p=36</guid>
		<description><![CDATA[E como todos sabem (rs, NÂO!) eu vou pra CP2011 e seja o que quiser. Internet tem lá, então o pessoal do trabalho pode me chamar a vontade, exceto nestas horas das palestras de: Palestra: MongoDB &#8211; um banco de &#8230; <a href="http://renatocron.com/blog/topicos/campus-party-2011-meus-preparativos/36">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>E como todos sabem (rs, NÂO!) eu vou pra CP2011 e seja o que quiser.</p>
<p>Internet tem lá, então o pessoal do trabalho pode me chamar a vontade, exceto nestas horas das palestras de:</p>
<ul>
<li>Palestra: MongoDB &#8211; um banco de dados orientado a documento, fácil e divertido</li>
<li>Palestra: Trilhando o Caminho PHP</li>
<li>Palestra: Psicologia nos jogos</li>
<li>Palestra: MongoDB &#8211; um banco de dados orientado a documento, fácil e divertido</li>
<li>Palestra: Simbolismo nos jogos</li>
<li>Palestra: Futuro da Web, HTML5 e W3C</li>
<li>Palestra: Como ganhar dinheiro criando jogos</li>
<li>Palestra: Unreal Engine</li>
<li>Palestra: O Jogo da Vida</li>
<li>Palestra: HTML 5</li>
</ul>
<p>Estou tentando seguir o kit de sobrevivencia do estadão (<a href="http://www.estadao.com.br/especiais/kit-de-sobrevivencia-para-a-campus-party,44230.htm" target="_blank">http://www.estadao.com.br/especiais/kit-de-sobrevivencia-para-a-campus-party,44230.htm</a>) mas ta complicado&#8230;<br />
Eu tenho uma mochila, falta por as roupas/toalhas,<br />
agora certas coisas eu não tenho: chinelos de dedo (<a href="http://www.facebook.com/group.php?gid=75595168586" target="_blank">I HATE HAVAIANAs</a>) e muito menos vou levar dois!</p>
<p>Eu vou ficar com o tênis o tempo todo e so vou tirar pra tomar banho, ai eu uso meu Rider!</p>
<p>Já comprei 1 plug adaptador para o padrão novo das tomadas, e vou levar a regua daqui de casa também, assim, só preciso de 1 adapatador.</p>
<p>O notebook vai continuar com a gambi (look <a href="http://twitpic.com/399xqi">http://twitpic.com/399xqi</a>) e só tiro se me pedirem.</p>
<p>Estou planejando de ir pro trampo, pegar minhas coisas (o meu fone de ouvido ta lá) e voltar pra casa, pra ir de carro pra CP, pois ainda preciso pensar numa foram de levar o computador e o monitor&#8230;</p>
<p>Quarta feira eu saio pra ir numa reunião, e sexta também, mas volto pra CP do mesmo jeito.</p>
<p>Estou fingido que vou dormi em cima do teclado, pois não estou nada a fim de levar cobertores, nem nada do tipo! Qualquer coisa o metro é perto (menos de 2km), e ja estou preparando minha conta do megaupload, pois comprei 2 TB só pra ir pra CP.</p>
<p>Tambem, em algum dia desses, vai ter apresentação do opendata (<a href="http://marciodesouzaferreira.blogspot.com/2011/01/hack-de-dados-publicos.html">http://marciodesouzaferreira.blogspot.com/2011/01/hack-de-dados-publicos.html</a>) e eu vou assitir!</p>
<p>&#8212; UPDATE 18:13</p>
<p>Vai ser na quarta feita, apresentada pelo Maluco (<a href="http://www.maluco.com.br/blog/">http://www.maluco.com.br/blog/</a>)</p>
<p>Ah, outra coisa, minha mãe ta fazendo minha mala, rs! Ela tem uma mochila de viagem, eu uma de notebook!</p>
]]></content:encoded>
			<wfw:commentRss>http://renatocron.com/blog/topicos/campus-party-2011-meus-preparativos/36/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: basic
Database Caching using disk: basic
Object Caching 888/1034 objects using disk: basic

Served from: renatocron.com @ 2012-05-20 16:41:25 -->
