<?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#"
>

<channel>
	<title>Rafael Dohms</title>
	<atom:link href="http://blog.doh.ms/feed/?lang=pt-br" rel="self" type="application/rss+xml" />
	<link>http://blog.doh.ms?lang=pt-br</link>
	<description>Web Engineer</description>
	<lastBuildDate>Tue, 08 Nov 2011 20:31:40 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.2.1</generator>
<site xmlns="com-wordpress:feed-additions:1">26219089</site>	<item>
		<title>De volta ao Velho Continente</title>
		<link>http://blog.doh.ms/2011/11/08/de-volta-ao-velho-continente/?lang=pt-br</link>
				<comments>http://blog.doh.ms/2011/11/08/de-volta-ao-velho-continente/?lang=pt-br#comments</comments>
				<pubDate>Tue, 08 Nov 2011 19:13:32 +0000</pubDate>
		<dc:creator><![CDATA[Rafael Dohms]]></dc:creator>
				<category><![CDATA[Carreira]]></category>
		<category><![CDATA[Pessoal/Off-topic @pt-br]]></category>
		<category><![CDATA[PHP @pt-br]]></category>
		<category><![CDATA[amsterdam]]></category>
		<category><![CDATA[mudança]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[swat]]></category>

		<guid isPermaLink="false">http://blog.rafaeldohms.com.br/?p=897</guid>
				<description><![CDATA[&#8220;Your life begins where your comfort zone ends&#8221; (@elizabethN&#8217;s mother) Próximo de completar 4 anos trabalhando na SWATminha jornada chega a um final. Neste tempo posso garantir que esta foi a melhor e mais incrível experiência profissional que já tive. Comecei a trabalhar na SWAT como um líder de um pequeno grupo e usuários e [&#8230;]]]></description>
								<content:encoded><![CDATA[<div style="text-align: center;"><em>&#8220;Your life begins where your comfort zone ends&#8221; (<a href="http://twitter.com/#!/ElizabethN/status/131029849417592832">@elizabethN&#8217;s mother</a>)</em></div>
<p>Próximo de completar 4 anos trabalhando na <a href="http://www.mihswat.com/">SWAT</a>minha jornada chega a um final. Neste tempo posso garantir que esta foi a melhor e mais incrível experiência profissional que já tive. Comecei a trabalhar na SWAT como um líder de um pequeno grupo e usuários e saio como um palestrante internacional, contribuidor de projetos Open Source e lider de um incrível grupo de usuários.Chegou a hora de mudança, os anos estão se acumulando sobre mim e esta na hora de botar o meu plano de vida de volta nos trilhos. Neste tempo da SWAT as oportunidade que me foram oferecidas me permitiram expandir minha rede de contatos desde os EUA até as Filipinas.</p>
<p>Tive a oportunidade de trabalhar com pessoas incríveis durante meu tempo na SWAT, e aprender com pessoas como o CEO da SWAT, Jacques van Niekerk. Dentro e fora do trabalho conheci pessoas de todas comunidades como a galera da WebCo e as incriveis cabeças do time SWAT Brasil, que me mantiveram acordado e aprendendo.Ao final deste ano, assumo uma nova posição na WEBClusive em Amsterdam, Holanda. Vai ser uma mudança radical, mas uma que eu e minha esposa planejamos e pensamos cuidadosamente antes de decidir. Muito tempo atrás eu e minha esposa decidimos que iríamos passar um tempo fora do Brasil, aproveitar novas culturas, viajar, aprender e expandir nossas vidas profissionais e pessoais, e agora a oportunidade bateu na porta. Este é um momento para mim profissionalmente, de voltar a ser um peixe pequeno e um grande lago, e aprender de novos grandes profissionais. Aproveitar o momento do PHP na Europa onde grandes mudanças do PHP e dos Frameworks estão começando.</p>
<p>Além disso tenho a oportunidade de encontrar e interagir mais com meus colegas da Europa e EUA, aproveitar esta rede de contatos que construi nestes anos. Eu agradeço muito a todos com quem interagi neste tempo em São Paulo, a SWAT pelos incríveis anos de trabalho e a Comunidade PHP do Brasil, que vi crescer e pude contribuir com este crescimento, e é hoje uma comunidade de respeito muito bem conhecida fora do país.</p>
<p>Aos que interessar estarei vendendo muita coisa para a mudança, fiquem de olho por aqui e no meu twitter para novidades. Farei de novembro e inicio de Dezembro meu mês de despedidas, então fique de olho nisso também.</p>
<p><em>Nota: Porque &#8220;de volta ao velho continente&#8221;? Fato pouco conhecido, sou cidadão Alemão (por direito não nascimento) e morei 3 anos durante minha infância na Alemanha.</em></p>
<div class="plus-one-wrap"><g:plusone href="http://blog.doh.ms/2011/11/08/de-volta-ao-velho-continente/?lang=pt-br"></g:plusone></div>]]></content:encoded>
							<wfw:commentRss>http://blog.doh.ms/2011/11/08/de-volta-ao-velho-continente/feed/?lang=pt-br</wfw:commentRss>
		<slash:comments>1</slash:comments>
						<post-id xmlns="com-wordpress:feed-additions:1">897</post-id>	</item>
		<item>
		<title>Como escrever artigos técnicos (melhores) em 10 passos</title>
		<link>http://blog.doh.ms/2011/09/27/como-escrever-artigos-tecnicos-melhores-em-10-passos/?lang=pt-br</link>
				<pubDate>Tue, 27 Sep 2011 17:36:38 +0000</pubDate>
		<dc:creator><![CDATA[Rafael Dohms]]></dc:creator>
				<category><![CDATA[Dicas e Truques]]></category>
		<category><![CDATA[PHP @pt-br]]></category>
		<category><![CDATA[Tecnologia e Internet]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[escrevendo artigos]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.rafaeldohms.com.br/?p=883</guid>
				<description><![CDATA[Blogs. A internet nos últimos anos tem visto o crescimento disparado destes sites, desde o desenvolvedor que escreve no finais de semana até o colunista que ganha para fazer isso. E não é por menos, eles são sim uma ótima ferramenta para divulgar seu trabalho e agregar valor ao seu nome no mercado, porém apenas [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>Blogs. A internet nos últimos anos tem visto o crescimento disparado destes sites, desde o desenvolvedor que escreve no finais de semana até o colunista que ganha para fazer isso. E não é por menos, eles são sim uma ótima ferramenta para divulgar seu trabalho e agregar valor ao seu nome no mercado, porém apenas se utilizado de forma correta. Vou me restringir obviamente a falar de blogs sobre tecnologia e desenvolvimento, embora outras áreas tenham muitas historias de sucesso desta plataforma também. Eu realmente não saberia como comentar por exemplo o mercado de esmaltes e como escrever artigos sobre eles.</p>
<p>Recentemente tenho esbarrado com alguns artigos que me deixam na dúvida se seus autores realmente entendem o que é o papel de um blog e de artigos técnicos, ou se o foco deles seria menos honrado e apenas uma forma de atrair mais visitas. Sim, falo do que já conhecemos hoje na internet como ‘flame-baits’ ou seja, iscas para discussões (negativas). São geralmente posts polêmicos, sem embasamento, movidos por uma opinião pessoal e carregados de termos clichê e piadinhas. Menos mal se estes posts fossem apenas ferramentas de autores de blogs pessoais, muito pior quando aparecem em grandes “veículos” de comunicação ou sites especializados.</p>
<p>Dois exemplos me passaram pelo browser recentemente, um artigo gringo sobre PHP x Python, cujo embasamento completo era um tirinha XKCD, um pato e um pedaço de código ilegível. O segundo, brazuca, intitulado <a href="http://imasters.com.br/artigo/21865/php/phpog-uma-questao-de-design">PHPog, uma questão de design</a>, publicado recentemente na iMasters. O grande centro do artigo é uma comparação entre PHP OO e Java OO, como as coisas deveriam ser feitas no PHP, e a grande reação dos leitores foi a de que certas coisas no PHP são diferentes e isso não é negativo (tem mais, mas vamos resumir assim). O questionamento é válido, e as discussões sobre a implementação de OO do PHP também, porém o artigo vai além disso, usando temos como o POG (programação orientada a gambiarras) para descrever a implementação e outras formas pejorativas de tratar a linguagem e seus programadores.</p>
<p>Neste ponto mora o problema. Ao agredir a linguagem com piadinhas o resultado esperado pelo post não é mais uma discussão séria sobre o assunto, e sim atrair milhares de fãs sedentos por sangue para defender sua linguagem e retribuir palavras não carinhosas ao autor do artigo. Este foi exatamente o resultado de ambos artigos, sim eles tiveram muitas visitas, sim tiveram muitos comentários, mas isso realmente é bom? Compare 1000 visitas de xiitas revoltados com 200 visitas de pessoas querendo mostrar um ponto de vista diferente sobre um assunto, com qual você aprenderá mais? E a imagem de sua empresa/sua pessoa, como ela vai ficar após esse barulho todo? Pra mim os resultados de ambos artigos poderiam ser muito mais instrutivo, foco na discussões técnicas e menos barulho de “extremistas” e “ativistas” além de exaltarem a imagem dos sites envolvidos por iniciarem discussões de alto nível.</p>
<p>Por isso, uso este meu espaço para ponderar sobre o assunto, e tentar mostrar minha opinião sobre o que seria um artigo técnico bem escrito.</p>
<h2 id="como_escrever_artigos_tcnicos_melhores">Como escrever artigos técnicos melhores?</h2>
<p><strong>1. Evite usar tirinhas cômicas.</strong> Sim é divertido, e vai “quebrar o gelo”, mas se você precisa quebrar algum gelo, repense suas intenções com o artigo, elas podem já estar erradas.</p>
<p><strong>2. Fuja de palavras polemicas e pejorativas.</strong> Evite usar termos como o POG citado acima, se o artigo fosse chamado “Aplicando Design Patterns usando PHP: qual a melhor forma?” a discussão final teria se focado muito mais em discutir as implementações de OO do PHP do que comentários como “Como se POG existisse só no PHP”, ou “&lt; ?php print “Calma galera” ?&gt;” e até “Nunca vi tanta ignorância incorporada em um único texto.”. Você pode discordar da linguagem e de como algo foi implementado, deve!, porém faça isso com o devido respeito e seriedade.</p>
<p><strong>3. Expresse sua opinião, mas deixe isso claro.</strong> Cal Evans uma vez falou que um desenvolvedor só pode ser considerado Sênior, se o mesmo souber se expressar, ou seja, escrever artigos e mostrar seu trabalho e seu raciocínio através disso. Porém ele deve saber também defender suas ideias e mais importante ainda, saber quando admitir o erro. Lembre-se disso, sempre ˜haverá opiniões contrárias, as vezes todas corretas em sua forma, mas as vezes você realmente estará errado, saiba aceitar isso. Atualize o post se for o caso.</p>
<p><strong>4. Pesquise. Estude. Pesquise. Escreva.</strong> Mesmo que sempre que você for falar de um assunto o artigo não passe de sua interpretação sobre o mesmo, é sempre uma boa ideia se precaver. Portanto pesquise muito sobre o assunto, procure opiniões contrárias e analise de outros pontos de vista. Caso esteja aberto a admitir o erro depois lembre-se das regras acima, elas irão potencializar uma resposta positiva e o aprendizado.</p>
<p><strong>5. Referências == credibilidade.</strong> Se o que você quer explicar se baseia em algum material que leu, faça sempre referências ao material, aponte de onde ele veio, isso trará para o seu conteúdo mais relevância e agregará os argumentos do outro autor aos seus.</p>
<p><strong>6. Quantidade não significa Qualidade.</strong> Ter 1001 visitas não significa que seu artigo é bom, ou ruim. Artigos polêmicos, ou sem embasamento e agressivos acabam atraindo muitas visitas, pessoas que querem ver pra acreditar, ou deixar um comentário agressivo. Se o seu objetivo é ter muitas visitas isso realmente funciona, porém qual foi a impressão que as pessoas tiveram de você ao sair de lá? Agora um artigo que deveria divulgar seu trabalho e te projetar como profissional, acabou de mudar a opinião de pessoas para não mais te considerar para uma possível vaga.</p>
<p><strong>7. Não critique, compare. Respeite.</strong> Muitas vezes vejo artigos escritos apenas para debochar ou ridicularizar algo, ou a forma como alguém fez algo. Quer fazer algo construtivo? Faça uma comparação sobre como o artigo foi escrito e como ele poderia ser escrito, talvez até de umas dicas de como melhorar. Além de tudo, respeite o profissional que escreveu ou criou aquilo que é alvo de seu artigo, nem todos concordamos em tudo, mas isso não é motivo para chacota e desrespeito.</p>
<p><strong>8. Exemplos práticos.</strong> Nem todo tema é passível de um exemplo prático, mas em se falar de tecnologia e desenvolvimento isso geralmente é possível, então faça! Anexe um código, aponte um repositório, um diagrama de classes ou um ERM. Ilustre seu artigo com exemplos e gráficos, a leitura fica mais agradável e coerente.</p>
<p><strong>9. Começo, meio e fim.</strong> Pense e planeje seu artigo. Todo artigo tem um objetivo. Para chegar nele o artigo precisa de um começo ou uma introdução, um meio ou o desenvolvimento do tema, e um fim, a conclusão. Isso se aplica a todos artigos, mas também vale pra artigos técnicos. Por exemplo: Descreva o problema que vai resolver, mostre como resolver e conclua se foi ou não uma boa escolha. Garanto que se o seu artigo passa 5 parágrafos contanto a historia do John Armless e no final não explica onde ele se encaixa no tema nem porque, seus leitores vão ficar confusos, e indignados.</p>
<p><strong>10. Don’t be a douchebag.</strong> Eu gosto desta frase em inglês por ela ser a forma mais ofensiva sem ser ofensiva de se dizer, não seja um chato. Acalme o ego, baixe a crista, seja sério e respeitoso, receba comentários bem, mesmo os mal educados.</p>
<p>Bem, seguindo minha própria receita, esta é minha opinião, assim são construídos os artigos que eu respeito e gosto de comentar e discutir. Posso estar errado, então por favor comente sua visão do assunto nos comentários, faltou alguma regra? Espero que este artigo possa inspirar artigos melhores de valor técnico e que discussões possam brotar destes.</p>
<div class="plus-one-wrap"><g:plusone href="http://blog.doh.ms/2011/09/27/como-escrever-artigos-tecnicos-melhores-em-10-passos/?lang=pt-br"></g:plusone></div>]]></content:encoded>
									<post-id xmlns="com-wordpress:feed-additions:1">883</post-id>	</item>
		<item>
		<title>Desinformação na mídia: PHP rotulado como vírus</title>
		<link>http://blog.doh.ms/2011/07/29/desinformacao-na-midia-php-rotulado-como-virus/?lang=pt-br</link>
				<comments>http://blog.doh.ms/2011/07/29/desinformacao-na-midia-php-rotulado-como-virus/?lang=pt-br#comments</comments>
				<pubDate>Fri, 29 Jul 2011 18:21:59 +0000</pubDate>
		<dc:creator><![CDATA[Rafael Dohms]]></dc:creator>
				<category><![CDATA[erros da midia]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[segurança]]></category>

		<guid isPermaLink="false">http://blog.rafaeldohms.com.br/?p=847</guid>
				<description><![CDATA[Recebi hoje pelo twitter (do colega @leoviena) um link para uma matéria da do Jornal Hoje na Rede Globo, ao assitir a matéria fiquei abismado com as informações dadas na matéria. (UPDATE: matéria em texto) A matéria sobre segurança procurava informar o usuário da internet como evitar problemas de segurança e emails de &#8220;phishing&#8221;. O [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>Recebi hoje pelo twitter (do colega <a href="http://www.twitter.com/leoviena">@leoviena</a>) um link para uma matéria da do Jornal Hoje na Rede Globo, ao assitir a matéria fiquei abismado com as informações dadas na <a href="http://g1.globo.com/videos/jornal-hoje/v/veja-dicas-para-nao-cair-na-armadilha-de-mensagens-eletronicas-falsas/1580356/">matéria</a>. (UPDATE: <a href="http://g1.globo.com/jornal-hoje/noticia/2011/07/saiba-como-nao-cair-na-armadilha-de-mensagens-eletronicas-falsas.html">matéria em texto</a>)</p>
<p>A matéria sobre segurança procurava informar o usuário da internet como evitar problemas de segurança e emails de &#8220;phishing&#8221;. O termo descreve ações onde usuários mal intencionados enviam email falsos, com links para sites que imitam, com intuito de roubar informações da vítima.</p>
<p>As dicas foram bem simplórias e de forma geral corretas, porém aos 2:15 da matéria o Sr. Jeferson D&#8217;Addario (<a href="http://twitter.com/#!/jefebrasil">@jefebrasil</a>), especialista em segurança convidado pelo jornal comete um grave deslize, a frase:</p>
<p>&#8220;&#8230; quando for .php, pode ser em grande maioria, um virus &#8230;&#8221;</p>
<p>Esta informação, especialmente no contexto que foi dada é extremamente incorreta, e causa alarde desnecessário.</p>
<p>O <a href="http://www.php.net">PHP</a> se trata de uma linguagem de computação utilizada para criar sites na internet, linguagem na qual trabalho a 12 anos já. Estima-se que mais de 26 milhões de dominios na internet sejam feitos com PHP (<a href="http://trends.builtwith.com/framework/PHP">fonte</a>, <a href="http://php.net/usage.php">fonte 2007</a>), dentre esses grande sites como o Facebook e a maior parte dos blogs, que utilizam a plataforma WordPress, escrita em PHP.</p>
<p>Com isso a afirmação do Sr. Jeferson de que podemos identificar um virus pela extensão .php é absurda e pode causar danos a muitos sites.</p>
<div id="attachment_848" style="width: 432px" class="wp-caption aligncenter"><a href="https://i0.wp.com/blog.rafaeldohms.com.br/wp-content/uploads/Screen-shot-2011-07-29-at-3.05.51-PM.png"><img aria-describedby="caption-attachment-848" class="size-full wp-image-848" title="Video Globo" src="https://i0.wp.com/blog.rafaeldohms.com.br/wp-content/uploads/Screen-shot-2011-07-29-at-3.05.51-PM.png?resize=422%2C167" alt="" width="422" height="167" srcset="https://i0.wp.com/blog.doh.ms/wp-content/uploads/Screen-shot-2011-07-29-at-3.05.51-PM.png?w=422 422w, https://i0.wp.com/blog.doh.ms/wp-content/uploads/Screen-shot-2011-07-29-at-3.05.51-PM.png?resize=300%2C118 300w" sizes="(max-width: 422px) 100vw, 422px" data-recalc-dims="1" /></a><p id="caption-attachment-848" class="wp-caption-text">Exemplo usado na matéria</p></div>
<p>No exemplo dado, que aparece acima a verificação da URL fraudolenta pode ser feita pelp dominio apresentado <em>&#8220;nyamphande.com&#8221;</em> que não pertence ao Serasa. Este mesmo ataque pode ser feito com arquivos de extensão .asp, .py até .html ou se o ataquende desejar, .css, .js .globo, .qualquercoisa . Pois esta extensão é configurada no servidor.</p>
<p>É pratica comum no PHP utilizar configurações para ocultar este suffixo &#8220;.php&#8221;, porém muitos sites não utilizam esta pratica e nem por isso são sites de Phishing. Muito menos a &#8220;maioria&#8221; destes sites é malicioso.</p>
<p>Espero que este artigo rápido esclareça a dúvida criada pelo profiossional, e que a <strong>extensão .php</strong> que pode ser usada pelo seu site favorito <strong>não seja motivo de alarde</strong>.</p>
<p><strong>UPDATE:</strong></p>
<p>Após publicação deste artigo pude acompanhar a repercursão do assunto na internet, inclusive em sites como o Twitter onde a hashtag #phpvirus foi para os Trending Topics rapidamente. Programadores PHP e de diveras linguagems demonstraram indignação pela desinformação prestada na matéria. Foi possivel também ver tirinhas como <a href="http://vidadeprogramador.com.br/2011/07/29/phpvirus/">esta do ProgramadorReal</a>.</p>
<p>Poucas horas depois estava no ar um <a href="http://www.peticaopublica.com.br/PeticaoVer.aspx?pi=PHPJHOJE">abaixo assinado</a> feito pela <a href="http://www.php.org.br">comunidade de programadores PHP</a> pedindo uma retratação. Faça sua parte, aguardaremos a Rede Globo se manifestar.</p>
<p><strong>UPDATE 2:</strong></p>
<p>Neste sábado o jornal hoje apresentou nota corrigindo a citação acima e deixando claro que páginas terminadas em .php não são geralmente ameaças e sim parte comum da internet. Aproveito para agradecer o jornal hoje por corrigir a matéria e por soltar esta nota hoje. <a href="http://g1.globo.com/videos/jornal-hoje/v/veja-como-paginas-de-internet-programadas-em-php-nao-oferecem-risco/1581419/">Veja o video</a></p>
<div class="plus-one-wrap"><g:plusone href="http://blog.doh.ms/2011/07/29/desinformacao-na-midia-php-rotulado-como-virus/?lang=pt-br"></g:plusone></div>]]></content:encoded>
							<wfw:commentRss>http://blog.doh.ms/2011/07/29/desinformacao-na-midia-php-rotulado-como-virus/feed/?lang=pt-br</wfw:commentRss>
		<slash:comments>1</slash:comments>
						<post-id xmlns="com-wordpress:feed-additions:1">847</post-id>	</item>
		<item>
		<title>Como foi palestrar na Campus Party 2011</title>
		<link>http://blog.doh.ms/2011/03/14/como-foi-palestrar-na-campus-party-2011/?lang=pt-br</link>
				<pubDate>Mon, 14 Mar 2011 14:42:04 +0000</pubDate>
		<dc:creator><![CDATA[Rafael Dohms]]></dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[PHP @pt-br]]></category>
		<category><![CDATA[cparty2011]]></category>
		<category><![CDATA[cpbr4]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[trilhando o caminho php]]></category>

		<guid isPermaLink="false">http://blog.rafaeldohms.com.br/?p=810</guid>
				<description><![CDATA[Este ano tive a oportunidade de voltar a Campus Party e mais uma vez palestrar na área de Desenvolvimento. Antes de mais nada, obrigado ao David Ruiz e ao Ricardo Martins pela oportunidade novamente. No ano anterior minha palestra foi uma introdução ao PHP, este ano tive o prazer de apresentar a palestra “Trilhando o [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>Este ano tive a oportunidade de voltar a Campus Party e mais uma vez palestrar na área de Desenvolvimento. Antes de mais nada, obrigado ao <a href="http://twitter.com/#!/wupsbr">David Ruiz</a> e ao <a href="http://twitter.com/#!/r_martins">Ricardo Martins</a> pela oportunidade novamente.</p>
<p>No ano anterior minha palestra foi uma introdução ao PHP, este ano tive o prazer de apresentar a palestra <a href="http://www.slideshare.net/rdohms/trilhando-o-caminho-php-20-campus-party-2011">“Trilhando o caminho PHP”</a>, de longe minha palestra favorita. Eu gosto dela pois não é uma palestra técnica e embora todos exemplos sejam geralmente voltados ao PHP ela é uma palestra que pode se aplicar a todo profissional da área de TI e até mesmo de outras áreas. Nela eu procuro apresentar ideias e sugestões de caminhos a serem tomados para o crescimento e sucesso profissional, como aumentar seu conhecimento, divulgar seu nome, conhecer as pessoas certas e eventualmente empregos melhores. Ela nasceu inspirada em minha carreira, mas foi se transformando  ao longo do tempo com inputs de diversos profissionais da área e da comunidade, trazendo novas dicas e historias de sucesso.</p>
<p>Por esses motivos foi um prazer palestrar no evento, ver a platéia cheia e a presença de não-phpzeiros e especialmente o feedback pós-palestras, as perguntas e as conversas que se seguiram foram muito legais e eu senti que refletiram a mensagem passada na palestra. Mas a Campus Party me trouxe algo diferente este ano, além da presença de minha esposa e meu irmão na platéia, por ser um ambiente de extrema produtividade social ou sei lá como descrever isso acabei por poder assistir um video que comentava minha palestra. A <a href="http://twitter.com/#!/JulyRowvlock">Juliana Santos Flor Moreira</a> estava na platéia conferindo a palestra e no dia seguinte postou um <a href="http://makestokyo.blogspot.com/2011/01/2-dia-na-campus-party-brasil_20.html">video</a> onde fazia sua considerações sobre a palestra, o feedback foi excelente para mim, enquanto tentava explicar para outros o conteúdo da minha palestra foi possível ver exatamente quais pontos marcaram ela durante a palestra e já me deram ideias de como melhorar ela e fazer com que a mensagem fique mais clara.</p>
<p>Se ainda não participou de uma Campus Party, não deixe de participar no futuro, é um evento incrível e maluco ao mesmo tempo, com um pouco de maturidade e foco é possível dar um bom gás em sua vida profissional e aprender muito.</p>
<p>Please specify a Flickr ID for this gallery</p>
<div class="plus-one-wrap"><g:plusone href="http://blog.doh.ms/2011/03/14/como-foi-palestrar-na-campus-party-2011/?lang=pt-br"></g:plusone></div>]]></content:encoded>
									<post-id xmlns="com-wordpress:feed-additions:1">810</post-id>	</item>
		<item>
		<title>Usando o PHP-SDK para rodar FQL na API do Facebook</title>
		<link>http://blog.doh.ms/2011/02/15/usando-o-php-sdk-para-rodar-fql-na-api-do-facebook/?lang=pt-br</link>
				<pubDate>Tue, 15 Feb 2011 12:21:57 +0000</pubDate>
		<dc:creator><![CDATA[Rafael Dohms]]></dc:creator>
				<category><![CDATA[Dicas e Truques]]></category>
		<category><![CDATA[PHP @pt-br]]></category>
		<category><![CDATA[contribute]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[graph api]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.rafaeldohms.com.br/?p=799</guid>
				<description><![CDATA[Desde a migração do Facebook para a nova Graph API e o protocolo OAuth 2.0, sua documentação para desenvolvedores virou uma grande confusão, sem eira nem beira, de artigos depreciados, e isso se eu for otimista. O problema é que muitos artigos antigos ainda apontam para práticas não mais recomendadas e muitos deles não possuem [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>Desde a migração do Facebook para a nova Graph API e o protocolo OAuth 2.0, sua documentação para desenvolvedores virou uma grande confusão, sem eira nem beira, de artigos depreciados, e isso se eu for otimista. O problema é que muitos artigos antigos ainda apontam para práticas não mais recomendadas e muitos deles não possuem alertas sobre estas mudanças, em casos extremos funções que em breve serão removidas da API ainda não possuem equivalentes nas novas APIs.</p>
<p>As novas bibliotecas, ou SDKs, seguem o velho ditado do &#8220;filho de peixe, peixinho é&#8221;. Embora estejam novas e com cheirinho de carro novo, a documentação de como utlizar elas eficientemente está vaga, ausente ou espalhada em diversos blogs, como este, em posts de usuários que querem compartilhar a informação com futuros <del datetime="2011-02-15T11:10:28+00:00">sofredores</del> desenvolvedores ou apenas ter a anotação para uso posterior.</p>
<p>Então isto se trata de um exemplo desta situação, tenho usado os novos recursos e as novas bibliotecas e tenho tido diversas dificuldades, portanto decidi começar a colocar algumas destas coisas em meu blog, por dois motivos: espalhar a informação, e ter anotações pra eu me lembrar depois.</p>
<p><strong>Como posso executar queries em FQL usando a nova SDK?</strong></p>
<p>FQL é a alternativa do Facebook para o SQL, permitindo que você busque dados como se estivesse acessando um banco de dados gigante, <a href="http://developers.facebook.com/docs/reference/fql/">esta documentação</a> felizmente ainda esta atualizada e você pode ver uma lista de &#8220;tabelas&#8221; de onde pode buscar informações, o restante dos truques você vi aprendendo enquanto usa.</p>
<p>Na biblioteca antiga, baseada na API REST, era bem simple rodar uma FQL:</p>
<pre class="brush: php; title: ; notranslate">
$facebook-&gt;api_client-&gt;fql_query(&quot;SELECT uid, pic, pic_square, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = 111111111)&quot;);
</pre>
<p>Porém isto (e muitos outros métodos) não está mais disponivel na nova <a href="https://github.com/facebook/php-sdk">PHP SDK</a> então eu demorei um bucado de tempo para descobrir como poder enviar uma requisição de execução de uma FQL, já que o único método disponível era o <em>api(), </em>um método polimorfíco e não-documentado. Eu finalmente achei a resposta em um <a href="http://www.wickedbrilliant.com/2010/08/using-the-php-sdk-to-run-fql-queries-using-the-facebook-graph-api/">blog semelhante ao meu</a>, com alguém que teve a mesma experiência. A requisição é feita assim:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
	//Get Facebook SDK Object
	$config = array(
	  'appId'  =&gt; APP_ID,
	  'secret' =&gt; API_SECRET,
	  'cookie' =&gt; true,
	);

	$facebook = new Facebook($config);

	//Create Query
	$params = array(
	    'method' =&gt; 'fql.query',
	    'query' =&gt; &quot;SELECT uid, pic, pic_square, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = 111111111)&quot;,
	);

	//Run Query
	$result = $facebook-&gt;api($params);
?&gt;
</pre>
<p>Uma vez que você finalmente descobre que deve passar o parametro &#8220;method&#8221; para definir o método da API que pode ser executado, e ai descobre que deve passar sua busca em um parametro chamado &#8220;query&#8221;, você tem a faca e o queijo na mão. Não preciso nem dizer que isso pode demorar um pouco mais do que esperado.</p>
<p>No meu ponto de vista este pedaço de código porém é horrivel, não gosto de criar arrays para poder passar parametros para uma função, cada vez que for rodar ela. Então decidi que para usar essa SDK corretamente eu ia precisar extender ela e implementar algumas correções, neste caso um <strong>Helper Method para FQL</strong>. Veja como ficou:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

namespace App\Facebook;

include_once \ROOT_PATH . 'library/vendor/facebook/facebook.php';

class Client extends \Facebook
{
    private $config;
    private $reqPerms;

    /**
     * Runs a FQL query agains the API
     *
     * @param string $query
     * @return array
     */
    public function fql($query)
    {
        $params = array(
            'method' =&gt; 'fql.query',
            'query' =&gt;$query,
        );

        return $this-&gt;api($params);
    }

}
$config = array(/* insert config here */);

//Using client
$fb = new App\Facebook\Client($config);

$query = &quot;SELECT uid, pic, pic_square, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = 111111111)&quot;;
$result = $fb-&gt;fql($query);

?&gt;
</pre>
<p>Isso faz chamar uma FQL rápido e simples, além de te dar a vantagem de ter a SDK embrulhada dentro do seu próprio namespace e, de bonus, ter uma forma mais simples de mockar e testar código relacionado, isso porque temos agora um método para mockar e não mais nos preocupar com paramentros passados.</p>
<p>Eu dei um passo além e aproveitando que o SDK esta no GitHub, comitei esta alteração em um <a href="https://github.com/facebook/php-sdk/pull/295">pull request</a>. Ele ainda não foi aceito, mas espero que ele seja em breve e que mais pessoas possam se beneficiar com ele.</p>
<p>Espero que gostem e que isso lhe dê mais ideias de como melhorar o uso da nova SDK e eu voltarei em breve com mais dicas.</p>
<div class="plus-one-wrap"><g:plusone href="http://blog.doh.ms/2011/02/15/usando-o-php-sdk-para-rodar-fql-na-api-do-facebook/?lang=pt-br"></g:plusone></div>]]></content:encoded>
									<post-id xmlns="com-wordpress:feed-additions:1">799</post-id>	</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.w3-edge.com/products/


Served from: blog.doh.ms @ 2019-06-02 17:23:02 by W3 Total Cache
-->