<?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>Sana inside &#187; php</title>
	<atom:link href="http://www.sanainside.com/tags/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sanainside.com</link>
	<description>Internet, tecnologia e computação</description>
	<lastBuildDate>Mon, 29 Mar 2010 13:11:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Falando sobre Gearman no 2o PHP DAY (slides inside)</title>
		<link>http://www.sanainside.com/2010/03/29/falando-sobre-gearman-no-2o-php-day-slides-inside/</link>
		<comments>http://www.sanainside.com/2010/03/29/falando-sobre-gearman-no-2o-php-day-slides-inside/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 13:07:31 +0000</pubDate>
		<dc:creator>Diego Sana</dc:creator>
				<category><![CDATA[Desenvolvimento Web]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[escalabilidade]]></category>
		<category><![CDATA[gearman]]></category>
		<category><![CDATA[palestra]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpday]]></category>
		<category><![CDATA[processamento paralelo]]></category>
		<category><![CDATA[slides]]></category>

		<guid isPermaLink="false">http://www.sanainside.com/?p=1809</guid>
		<description><![CDATA[Na manhã do último sábado os organizadores do Grupo de Usuários PHP do Espírito Santo promoveram a segunda edição do PHPDAY-ES, um mini-evento de 3 horas de duração criado para difundir a linguagem e aproximar os praticantes e interessados por PHP aqui no estado.

O evento aconteceu na faculdade FAESA em Vitória, contou com quatro palestras e uma mesa redonda com discussão sobre os cinco frameworks mais populares para PHP, que infelizmente não pude assistir pois tive que sair mais cedo devido a outro compromisso. Porém, assim como na primeira edição, quando palestrei sobre o MongoDB, novamente pude contribuir ministrando uma das palestras, desta vez sobre o Gearman, um framework genérico para distribuição de processamento que faz uma dupla muito interessante com o PHP e que venho utilizando extensivamente na infra-estrutura de crawling/parsing do Filtrie.com.]]></description>
		<wfw:commentRss>http://www.sanainside.com/2010/03/29/falando-sobre-gearman-no-2o-php-day-slides-inside/feed/</wfw:commentRss>
		<slash:comments>74</slash:comments>
		</item>
		<item>
		<title>Primeiro PHP Day Espirito Santo &#8211; Workshop MongoDB</title>
		<link>http://www.sanainside.com/2009/09/12/primeiro-php-day-espirito-santo-workshop-mongodb/</link>
		<comments>http://www.sanainside.com/2009/09/12/primeiro-php-day-espirito-santo-workshop-mongodb/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 20:37:49 +0000</pubDate>
		<dc:creator>Diego Sana</dc:creator>
				<category><![CDATA[Desenvolvimento Web]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.sanainside.com/?p=1755</guid>
		<description><![CDATA[Hoje de manhã aconteceu na UVV, em Vila Velha, o primeiro PHP Day promovido pelo grupo de usuários php do Espírito Santo. Apesar de curto, o evento teve um bom número de participantes e temas interessantes, com mini-palestras destinadas a públicos com diferentes níveis de conhecimento (iniciantes ou intermediário-avançado) acontencendo em paralelo. Além disso, rolou wifi nas duas salas e as pessoas foram convidadas a levarem seus notebooks pra poder brincar in-loco com os exemplos nos workshops.

Eu pude contribuir ministrando um Workshop sobre MongoDB, um novo banco de dados não relacional (orientado a documentos) que venho utilizando para implementar uma nova aplicação que estou desenvolvendo. Na verdade, acabou não sendo um workshop verdadeiro, por uma série de probleminhas inesperados (hello Murphy!). E conforme prometido, estou disponibilizando a seguir os slides do workshop (via SlideShare), bem como o fonte dos exemplos que havia preparado. E aproveito pra incluir também as instruções pra instalação do MongoDB no linux + extensão pra PHP, assim o post fica completo e útil também pra quem não participou do evento.]]></description>
		<wfw:commentRss>http://www.sanainside.com/2009/09/12/primeiro-php-day-espirito-santo-workshop-mongodb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TorrentFlux: um cliente web para BitTorrent</title>
		<link>http://www.sanainside.com/2009/06/08/torrentflux-um-cliente-web-para-bittorrent/</link>
		<comments>http://www.sanainside.com/2009/06/08/torrentflux-um-cliente-web-para-bittorrent/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 22:56:55 +0000</pubDate>
		<dc:creator>Diego Sana</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Web apps]]></category>
		<category><![CDATA[bittorrent]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[torrent]]></category>
		<category><![CDATA[web app]]></category>

		<guid isPermaLink="false">http://www.sanainside.com/?p=1690</guid>
		<description><![CDATA[O TorrentFlux é um cliente bit torrent totalmente baseado na web, e que demanda apenas um servidor com os softwares da plataforma LAMP + Python instalados pra fazer sua mágica. Baixei o software, instalei em questão de 5 minutos e fui testá-lo. Resultado: eu não poderia estar mais feliz :) Apesar da interface não ser lá um primor de beleza, a aplicação é muito completa: é possível, por exemplo, criar contas de usuários e restringir quotas de download.

Baixar e monitorar um torrent pelo TorrentFlux é tão fácil quanto em qualquer cliente desktop: na página inicial da app, existe a opção de fazer upload de um .torrent, apontar uma url ou fazer uma busca no google, piratebay, mininova e outros. A tela exibe o status completo dos downloads, quanto espaço em disco você ainda tem disponível e, permite limitar a banda de download/upload, escolher se você quer fazer seeding ou não, dentre outras vastas opções. E quando um download torrent se completa, um link fica a disposição pra você já baixar o arquivo do servidor.]]></description>
		<wfw:commentRss>http://www.sanainside.com/2009/06/08/torrentflux-um-cliente-web-para-bittorrent/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Non-blocking asynchronous requests usando curl_multi e php</title>
		<link>http://www.sanainside.com/2009/05/23/non-blocking-asynchronous-requests-usando-curl_multi-e-php/</link>
		<comments>http://www.sanainside.com/2009/05/23/non-blocking-asynchronous-requests-usando-curl_multi-e-php/#comments</comments>
		<pubDate>Sat, 23 May 2009 21:13:45 +0000</pubDate>
		<dc:creator>Diego Sana</dc:creator>
				<category><![CDATA[Desenvolvimento Web]]></category>
		<category><![CDATA[Metadata]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.sanainside.com/?p=1663</guid>
		<description><![CDATA[Nesta semana eu precisei implementar um script que, ao receber alguns dados enviados por POST pelos usuários do site, faz uma requisição http a uma api externa usando parte desses dados postados. Como as informações que essa api retorna não precisam ser exibidas para o usuário, e como essa api geralmente leva cerca de 2 segundos, para não deixar o usuário "pendurado" esperando, resolvi que faria uma requisição assíncrona não-bloqueante para um outro script que por sua vez acessaria a api e iria tratar/salvar os dados que eu necessitava.

Como o php não tem suporte a threads, a minha solução foi implementada com a biblioteca curl, mais especificamente com a função curl_multi_*(), que permite fazer requisições paralelas e assíncronas. Porém, os exemplos que encontrei tanto na documentação no php.net quanto em classes disponibilizadas por terceiros não funcionavam exatamente do jeito que eu queria, e acabei quebrando a cabeça por algumas horas para encontrar a solução, que gostaria de compartilhar aqui.]]></description>
		<wfw:commentRss>http://www.sanainside.com/2009/05/23/non-blocking-asynchronous-requests-usando-curl_multi-e-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Php, Java, Python, Ruby, Asp: Qual é a linguagem de programação mais popular?</title>
		<link>http://www.sanainside.com/2009/01/19/php-java-python-ruby-asp-qual-e-a-linguagem-de-programacao-mais-popular/</link>
		<comments>http://www.sanainside.com/2009/01/19/php-java-python-ruby-asp-qual-e-a-linguagem-de-programacao-mais-popular/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 16:08:29 +0000</pubDate>
		<dc:creator>Diego Sana</dc:creator>
				<category><![CDATA[Desenvolvimento Web]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.sanainside.com/?p=1505</guid>
		<description><![CDATA[Provavelmente você já deve ter uma ideia da resposta, mas hoje num breve momento de ócio resolvi saciar minha curiosidade perguntando ao Oráculo quão populares são as linguagens de programação mais utilizadas na web atual. As candidatas pesquisadas foram as cinco linguagens listadas no título do post (Php, Java, Python, Ruby, Asp), que acredito serem as mais faladas quanto o assunto é desenvolvimento web. O "método" (se é que dá pra chamar assim) que utilizei para verificar a popularidade das escolhidas foi o de pesquisar o número de menções à cada linguagem e o número de pesquisas feitas usando o nome da linguagem como palavra-chave.]]></description>
		<wfw:commentRss>http://www.sanainside.com/2009/01/19/php-java-python-ruby-asp-qual-e-a-linguagem-de-programacao-mais-popular/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

