<?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>Christiano Anderson &#187; python</title>
	<atom:link href="http://christiano.me/category/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://christiano.me</link>
	<description>Desenvolvimento, Padrões Web, NoSQL, MongoDB, Software Livre</description>
	<lastBuildDate>Fri, 27 Jan 2012 03:04:29 +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>Curso online de Python para quem sabe Python</title>
		<link>http://christiano.me/2011/11/16/curso-online-de-python-para-quem-sabe-python/</link>
		<comments>http://christiano.me/2011/11/16/curso-online-de-python-para-quem-sabe-python/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 12:33:39 +0000</pubDate>
		<dc:creator>Christiano Anderson</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[curso]]></category>
		<category><![CDATA[treinamento]]></category>

		<guid isPermaLink="false">http://christiano.me/?p=1866</guid>
		<description><![CDATA[      O Luciano Ramalho é uma das principais referências sobre Python no Brasil, além de ser um grande amigo. Já foi presidente da Associação Python Brasil, participa como palestrante de quase todos os eventos de software livre e suas palestras são bem didáticas, com conteúdo altamente capacitado. O Ramalho gosta de ensinar, tem uma [...]]]></description>
			<content:encoded><![CDATA[<script src="https://apis.google.com/js/plusone.js" type="text/javascript">
 {lang: 'pt-BR'}
</script>
<script type="text/javascript">gapi.plusone.go();</script>
<p><a href="http://christiano.me/wp-content/uploads/2011/11/Python.jpg"><img class="alignleft size-full wp-image-1867" title="Python" src="http://christiano.me/wp-content/uploads/2011/11/Python.jpg" alt="" width="156" height="156" /></a> <div class="woo-sc-twitter left"><a href="http://twitter.com/share" class="twitter-share-button" data-via="dump" data-count="vertical">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>  <div class="shortcode-google-plusone"><div class="g-plusone"  data-size="standard" data-language="Portuguese (Brazil)" data-annotation="none"></div></div><!--/.shortcode-google-plusone-->

   O <a href="http://blog.ramgarlic.com/" target="_blank">Luciano Ramalho</a> é uma das principais referências sobre Python no Brasil, além de ser um grande amigo. Já foi presidente da <a href="http://associacao.python.org.br/" target="_blank">Associação Python Brasil</a>, participa como palestrante de quase todos os eventos de software livre e suas palestras são bem didáticas, com conteúdo altamente capacitado.</p>
<p>O Ramalho gosta de ensinar, tem uma didática incrível uma grande experiência de mercado. Ele está lançando seu <strong>curso online de Python para quem já sabe Python</strong> e procura agregar um conhecimento ainda mais profundo sobre a linguagem, conhecendo técnicas mais avançadas e naturalmente, aprendendo com alguém que é referência no assunto.</p>
<p>Os principais tópicos desse mini curso são:</p>
<ul>
<li>pérolas sub-utilizadas da biblioteca padrão</li>
<li>sobrecarga de operadores: usos benéficos</li>
<li>iteráveis e iteradores, geradores</li>
<li>comando <code>with</code> e gerenciadores de contexto</li>
<li>programação funcional e decoradores de funções</li>
<li>acesso, criação, remoção dinâmica de atributos</li>
<li>propridades e descritores</li>
<li>tratamento de acessos não previstos (ex. como &#8220;method_missing&#8221; de Ruby)</li>
<li>criação dinâmica de classes e monkeypatching</li>
<li>metaclasses</li>
</ul>
<div>Como sei que tem muita gente querendo um treinamento mais avançado de Python, está aí uma ótima indicação.</div>
<div><div class="woo-sc-box note large rounded ">Mais informações e como se inscrever, acesse o <a href="http://blog.ramgarlic.com/2011/11/curso-online-python-para-quem-sabe.html" target="_blank">blog do Ramalho</a>.</div></div>
<div>
<div class="woo-fblike none">
<iframe src="http://www.facebook.com/plugins/like.php?href=http://christiano.me/2011/11/16/curso-online-de-python-para-quem-sabe-python/&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=arial" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:auto; height:25px;"></iframe>
</div>
	</div>
]]></content:encoded>
			<wfw:commentRss>http://christiano.me/2011/11/16/curso-online-de-python-para-quem-sabe-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>É amanhã &#8211; Maior encontro da comunidade brasileira de Python</title>
		<link>http://christiano.me/2011/09/28/e-amanha-maior-encontro-da-comunidade-brasileira-de-python/</link>
		<comments>http://christiano.me/2011/09/28/e-amanha-maior-encontro-da-comunidade-brasileira-de-python/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 08:12:56 +0000</pubDate>
		<dc:creator>Christiano Anderson</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[mongodb]]></category>

		<guid isPermaLink="false">http://christiano.me/?p=1802</guid>
		<description><![CDATA[      Amanhã é o dia do maior encontro da comunidade brasileira de Python. Estou bastante ansioso pelo evento, ótima oportunidade para encontrar a comunidade, conversar e trocar conhecimento. A grade do evento está muito boa, palestras abordando uma variedade enorme de temas para todos os níveis de conhecimento. Algumas pessoas me perguntaram se as [...]]]></description>
			<content:encoded><![CDATA[<script src="https://apis.google.com/js/plusone.js" type="text/javascript">
 {lang: 'pt-BR'}
</script>
<script type="text/javascript">gapi.plusone.go();</script>
<p><a href="http://christiano.me/wp-content/uploads/2011/09/python_logo.png"><img class="alignleft size-full wp-image-1803" title="Python" src="http://christiano.me/wp-content/uploads/2011/09/python_logo.png" alt="" width="170" height="170" /></a> <div class="woo-sc-twitter left"><a href="http://twitter.com/share" class="twitter-share-button" data-via="dump" data-count="vertical">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>  <div class="shortcode-google-plusone"><div class="g-plusone"  data-size="standard" data-language="Portuguese (Brazil)" data-annotation="none"></div></div><!--/.shortcode-google-plusone-->

   Amanhã é o dia do maior encontro da comunidade brasileira de Python. Estou bastante ansioso pelo evento, ótima oportunidade para encontrar a comunidade, conversar e trocar conhecimento.</p>
<p>A <a href="http://www.pythonbrasil.org.br/2011/programacao/grade-do-evento/talks" target="_blank">grade do evento</a> está muito boa, palestras abordando uma variedade enorme de temas para todos os níveis de conhecimento. Algumas pessoas me perguntaram se as palestras são muito avançadas, se é possível alguém iniciante ter bom aproveitamento do evento. A resposta é <strong>sim</strong>! Tem palestras para todos os níveis, se você está querendo <strong>aprender Python</strong>, essa é sua grande oportunidade. Se você já conhece e quer melhorar suas técnicas, também é o evento ideal. Para desenvolvedores experientes, também. Cada palestra tem sua classificação, se é <strong>iniciante</strong>, <strong>intermediária</strong> ou <strong>avançada</strong>, basta escolher de acordo com seu nível de conhecimento e interesse pelo tema.</p>
<p>Sem contar na oportunidade de conversar com quem utiliza Python profissionalmente, fazer networking e até gerar negócios. Portanto, se você tem interesse em Python, <strong>participe do evento</strong>, caso contrário, só terá outra oportunidade como esta no ano que vem.</p>
<p>Eu vou apresentar a palestra <strong>Django e MongoDB</strong> no sábado, dia 01, às 14h. Essa palestra tem um conteúdo mais avançado, vou falar um pouco da minha aventura em desenvolver projetos com Django utilizando um banco de dados não relacional, no caso, o MongoDB.</p>
<p>Espero encontrá-lo no evento! Até lá!</p>
<p><strong>Mais informações</strong>: <a href="http://www.pythonbrasil.org.br/2011/" target="_blank">http://www.pythonbrasil.org.br/2011/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://christiano.me/2011/09/28/e-amanha-maior-encontro-da-comunidade-brasileira-de-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django MongoDB Engine</title>
		<link>http://christiano.me/2011/08/06/django-mongodb-engine/</link>
		<comments>http://christiano.me/2011/08/06/django-mongodb-engine/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 16:13:12 +0000</pubDate>
		<dc:creator>Christiano Anderson</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[mongodb]]></category>

		<guid isPermaLink="false">http://christiano.me/?p=1733</guid>
		<description><![CDATA[      Estou testando o módulo Django MongoDB Engine, um backend para Django bastante completo. O grande diferencial desse módulo é permitir uma integração total e transparente do Django com o MongoDB, inclusive trabalhando no models da mesma forma que em um banco relacional. Além disso, o módulo também permite utilizar GridFS, Map Reduce, Agregadores [...]]]></description>
			<content:encoded><![CDATA[<script src="https://apis.google.com/js/plusone.js" type="text/javascript">
</script>
<script type="text/javascript">gapi.plusone.go();</script>
<p><a href="http://christiano.me/wp-content/uploads/2011/07/djangomongodb.png"><img class="alignleft size-full wp-image-1734" title="Django MongoDB Engine" src="http://christiano.me/wp-content/uploads/2011/07/djangomongodb.png" alt="" width="140" height="140" /></a> <div class="woo-sc-twitter left"><a href="http://twitter.com/share" class="twitter-share-button" data-via="dump" data-count="vertical">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>  <div class="shortcode-google-plusone"><div class="g-plusone"  data-size="standard" data-annotation="none"></div></div><!--/.shortcode-google-plusone-->

   Estou testando o módulo <a href="http://django-mongodb.org/" target="_blank">Django MongoDB Engine</a>, um backend para Django bastante completo.</p>
<p>O grande diferencial desse módulo é permitir uma integração total e transparente do Django com o MongoDB, inclusive trabalhando no <em>models</em> da mesma forma que em um banco relacional. Além disso, o módulo também permite utilizar <em>GridFS</em>, <em>Map Reduce</em>, Agregadores e <em>Atomic Updates</em> em apps do Django, mantendo total compatibilidade com Admin, Sessões e Autenticação padrão do Django.</p>
<p>Como ainda não existe uma solução <em>oficial</em> para trabalhar com NoSQL no Django, esse módulo &#8212; até agora &#8212; é o mais completo e parece bastante estável. Ainda não instalei em aplicações em produção, mas ao realizar testes em laboratório, o módulo promete ter um grande potencial.</p>
<h2>Instalação</h2>
<p>A recomendação inicial é <strong>utilizar</strong> <strong>virtualenv</strong>, pelo fato do módulo ser recente e estar em constante desenvolvimento. É necessário instalar algumas dependências, como Django-Nonrel e Djangotoolbox. Fiz a instalação seguindo o próprio manual do módulo, que sugere pegar esses módulos diretamente de seus repositórios, mas acredito que também funciona utilizando o pip install.</p>
<p>Com o ambiente virtualenv já criado e o Django já instalado, o primeiro passo é instalar o Django-Nonrel direto do repositório Mercurial:</p>
<pre class="brush: bash; title: ; notranslate">
$ hg clone http://bitbucket.org/wkornewald/django-nonrel
$ cd django-nonrel &amp;&amp; python setup.py install
</pre>
<p>Depois, instalamos o módulo Djangotoolbox:</p>
<pre class="brush: bash; title: ; notranslate">
$ hg clone http://bitbucket.org/wkornewald/djangotoolbox
$ cd djangotoolbox &amp;&amp; python setup.py install
</pre>
<p>E por último, vamos instalar o módulo Django MongoDB Engine, esse último, buscando do repositório Git:</p>
<pre class="brush: bash; title: ; notranslate">
$ git clone https://github.com/django-mongodb-engine/mongodb-engine
$ cd mongodb-engine &amp;&amp; python setup.py install
</pre>
<h2>Alterações no settings.py</h2>
<p>Depois de instalar os módulos acima, basta alterar o backend no <strong>settings.py</strong> para trabalhar com o MongoDB. O meu ficou da seguinte forma:</p>
<pre class="brush: python; highlight: [3]; title: ; notranslate">
DATABASES = {
    'default': {
        'ENGINE': 'django_mongodb_engine',
        'NAME': 'testedjango',
    }
}
</pre>
<p>Depois disso é só trabalhar normalmente! No caso acima, a base de dados será a &#8220;testedjango&#8221;, os parâmetros de host, user, password são opcionais.<br />
Em um teste simples, após seguir todos os procedimentos acima, rode um syncdb e depois entre no shell do Mongo. Poderá notar que o banco &#8220;testedjango&#8221; foi criado e as collections básicas para trabalhar com Django.<br />
Vou realizar testes mais pesados com o módulo e publicarei posts mais completos a respeito.</p>
<p>Para maiores informações, o site oficial do projeto é <a href="http://django-mongodb.org/" target="_blank">http://django-mongodb.org/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://christiano.me/2011/08/06/django-mongodb-engine/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Oportunidades de trabalho na Gonow</title>
		<link>http://christiano.me/2011/06/13/oportunidades-de-trabalho-na-gonow/</link>
		<comments>http://christiano.me/2011/06/13/oportunidades-de-trabalho-na-gonow/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 10:59:14 +0000</pubDate>
		<dc:creator>Christiano Anderson</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Negócios]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://christiano.me/?p=1645</guid>
		<description><![CDATA[Estou desde o começo deste ano na Gonow Tecnologia, uma empresa relativamente nova, mas em fase de crescimento bastante acelerado. Com escritórios em São Paulo (localizado na Vila Olímpia) e em Santiago, Chile, a Gonow conta com um time de aproximadamente 100 profissionais, muitos participam ativamente de projetos em software livre e eventos &#8212; e [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://christiano.me/wp-content/uploads/2011/06/gonow.png"><img class="alignleft size-full wp-image-1646" title="gonow" src="http://christiano.me/wp-content/uploads/2011/06/gonow.png" alt="gonow" width="200" height="200" /></a>Estou desde o começo deste ano na <a href="http://www.gonow.com.br" target="_blank">Gonow Tecnologia</a>, uma empresa relativamente nova, mas em fase de crescimento bastante acelerado. Com escritórios em São Paulo (localizado na Vila Olímpia) e em Santiago, Chile, a Gonow conta com um time de aproximadamente 100 profissionais, muitos participam ativamente de projetos em software livre e eventos &#8212; e são incentivados a fazer isso &#8212; o que faz parte da cultura da empresa.</p>
<p>A empresa possui um ótimo ambiente de trabalho, onde a produtividade, troca de conhecimento, crescimento profissional e descontração são itens que fazem parte do cotidiano dos <em>gonowers</em>. O escritório permite um horário bem flexível de trabalho, desde que o profissional se comprometa a cumprir suas metas com qualidade e dentro dos cronogramas propostos. O ambiente é bastante inspirador, você pode trabalhar à vontade (de bermuda e chinelo, por exemplo), possui máquina de café espresso, diversas guloseimas, refrigerantes, sucos e salgadinhos &#8212; tudo pago pela empresa &#8212; além de um Wii com diversos jogos onde várias competições acontecem com frequência.</p>
<p>Em troca desse ambiente único e inspirador, a Gonow espera um profissional motivado, comprometido, que tenha paixão pelo seu trabalho.</p>
<p>Estou com a difícil missão de trazer profissionais realmente bons para ampliar a equipe de campeões que já temos hoje na Gonow. Estamos com as seguintes vagas em aberto: <strong>Coordenador de Projetos</strong>, <strong>Desenvolvedor Python (Django)</strong>, <strong>Desenvolvedor de Interface</strong> e <strong>Desenvolvedor PHP/WordPress</strong>.</p>
<p><strong>Para todas as vagas</strong>: local de trabalho é <span class="shortcode-highlight">presencial na Vila Olímpia</span><!--/.shortcode-highlight-->, São Paulo e a forma de contratação é negociável. A remuneração varia de acordo com o nível do candidato.</p>
<p>Abaixo a descrição detalhada para cada vaga:</p>
<h2>Coordenador de Projetos</h2>
<p>Será responsável em manter o bom andamento do projeto, definindo cronogramas e trabalhando diretamente com a equipe de desenvolvimento. É necessário conhecer metodologias ágeis como SCRUM, precisa gostar de trabalhar em equipe, ter bom relacionamento com colegas, saber mediar conflitos e ter boa comunicação tanto na empresa como em clientes. É indispensável conhecimentos avançados de controle de versão (SVN, Git, Mercurial), integração contínua, ter desenvolvido projetos em Python ou PHP,  e será um  <em>plus</em> se o candidato participa de projetos da comunidade de software livre. Esse profissional precisa ser extremamente organizado e disciplinado, além de ser comprometido com prazos e muito pró-ativo.</p>
<h2>Desenvolvedor Python/Django</h2>
<p>O candidato precisa ter experiência de pelo menos 2 anos em criação e manutenção de sites em Django, conhecimentos avançados de Python e orientação a objetos, controle de versão (SVN, Git, Mercurial), ser crítico e se preocupar com performance, segurança e TDD (Test Driven Development), criação de módulos Python, banco de dados MySQL e será um <em>plus</em> se participa de projetos na comunidade de software livre e conhece banco de dados NoSQL (MongoDB).</p>
<h2>Desenvolvedor PHP/WordPress</h2>
<p>Necessário conhecer orientação a objetos e PHP avançado, dominar a estrutura do WordPress e BudyPress, ser capaz de criar plugins, módulos e integrações do WordPress com redes sociais e outros sistemas através de webservices, conhecer JavaScript, banco de dados MySQL (e a estrutura de tabelas do WordPress), segurança, dominar o functions.php, post types, taxonomia e customizações avançadas do Admin. Como nas vagas acima, se tiver envolvimento com a comunidade do WordPress, será considerado um grande diferencial.</p>
<h2>Desenvolvedor de Interface</h2>
<p>Dominar HTML, CSS e JavaScript, ser capaz de criar códigos limpos e validado nos principais navegadores, ser capaz de pegar um PSD e recortar todo o layout, transformando em HTML, CSS com perfeição, <span class="shortcode-highlight">queremos alguém <em>PixelPerfect</em></span><!--/.shortcode-highlight-->, dominar JavaScript e algum framework, preferencialmente jQuery. Dominar os padrões da W3C, ter conhecimentos de HTML5, usabilidade e acessibilidade. <strong>Ser comprometido com prazos</strong>. Estamos procurando um <em>jedi</em> em interface para esse cargo. Se conhecer templates Django e templates WordPress será um enorme diferencial!</p>
<h2>Como participar do processo seletivo</h2>
<p>Enviar seu curriculum, preferencialmente em PDF ou TXT puro para patricia.beldaΘgonow.com.br ou diretamente para mim: andersonΘgonow.com.br</p>
<p>A contratação é imediata, a remuneração varia de acordo com a experiência do candidato. Se você se encaixa em algum perfil e ainda está em dúvidas em relação a empresa, visite e veja alguns vídeos na página oficial do <a href="http://www.youtube.com/user/gonowtecnologia" target="_blank">Youtube</a> e veja também algumas fotos no <a href="http://www.flickr.com/photos/gonowtecnologia/" target="_blank">Flickr</a>.</p>
<p>Abaixo, um vídeo sobre o Dojo Python que realizamos no começo do ano:</p>
<p><a href="http://www.youtube.com/watch?v=-hZkXKqXCh8">Dojo Python na Gonow</a></p>
]]></content:encoded>
			<wfw:commentRss>http://christiano.me/2011/06/13/oportunidades-de-trabalho-na-gonow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oficina Django no Campus Party</title>
		<link>http://christiano.me/2011/01/13/oficina-django-no-campus-party/</link>
		<comments>http://christiano.me/2011/01/13/oficina-django-no-campus-party/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 20:37:39 +0000</pubDate>
		<dc:creator>Christiano Anderson</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://christiano.me/?p=1351</guid>
		<description><![CDATA[O Campus Party, maior evento de tecnologia do mundo, terá seu início na próxima semana em São Paulo. Segundo informações no site oficial, mais de 80 mil campuseiros já confirmaram presença. Não participei das edições anteriores, mas só de olhar a grade de programação, é possível imaginar o quanto se pode aprender com um evento [...]]]></description>
			<content:encoded><![CDATA[<p>O Campus Party, maior evento de tecnologia do mundo, terá seu início na próxima semana em São Paulo. Segundo informações no site oficial, mais de 80 mil campuseiros já confirmaram presença. Não participei das edições anteriores, mas só de olhar a grade de programação, é possível imaginar o quanto se pode aprender com um evento como esse.</p>
<p>Neste ano vou participar com uma <strong>oficina de Django</strong>, mostrando na prática o que se pode fazer com esse poderoso framework. Será uma oficina didática, mão na massa,  pretendo criar uma aplicação simples, do zero, passando pelos principais recursos e facilidades.</p>
<p>A oficina acontecerá no <strong>dia 21, sexta-feira, às 09:30h</strong> da manhã. Para mais informações, consulte a <a href="http://www.campus-party.com.br/2011/agenda-geral.html" target="_blank">Grade Oficial do Campus Party</a>.</p>
<p>Conto com sua participação! <img src='http://christiano.me/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://christiano.me/2011/01/13/oficina-django-no-campus-party/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Livro Python e Django &#8211; Resenha</title>
		<link>http://christiano.me/2010/11/13/livro-python-e-django-resenha/</link>
		<comments>http://christiano.me/2010/11/13/livro-python-e-django-resenha/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 14:09:28 +0000</pubDate>
		<dc:creator>Christiano Anderson</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[livros]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://christiano.me/?p=1315</guid>
		<description><![CDATA[Finalizei a leitura do livro Python e Django &#8212; Desenvolvimento ágil de aplicações web, escrito pelo Osvaldo Santana. Estamos carentes de bons livros sobre Python e Django em português e o Osvaldo soube preencher bem essa lacuna com um material de excelente qualidade, tanto para aqueles que querem aprender quanto para quem já trabalha com [...]]]></description>
			<content:encoded><![CDATA[<p>Finalizei a leitura do livro <a href="http://www.novatec.com.br/livros/pythonedjango/" target="_blank">Python e Django &#8212; Desenvolvimento ágil de aplicações web</a>, escrito pelo <a href="http://blog.triveos.com.br/" target="_blank">Osvaldo Santana</a>. Estamos carentes de bons livros sobre Python e Django em português e o Osvaldo soube preencher bem essa lacuna com um material de excelente qualidade, tanto para aqueles que querem aprender quanto para quem já trabalha com Python e Django. Recebi o livro a algumas semanas, mas fiz questão de ler com bastante atenção antes de escrever essa resenha.</p>
<p>Para quem está procurando um ótimo material em português, o livro começa explicando o básico de Python, funções, bultins, módulos, classes e orientação a objetos. As explicações de cada item são curtas e recheadas de exemplos, ideal para quem não quer perder tempo com muita teoria e quer aprender na prática, mas com as explicações teóricas na dose certa.</p>
<p>A partir do capítulo 5 o livro entra na parte de programação, com exemplos e dicas interessantes. O capítulo 6 explica sobre orientação a objetos, em uma linguagem didática e direta ao ponto.</p>
<p>No capítulo 8, o Django é apresentado, assim como uma boa explicação sobre o paradigma MVC. Logo em seguida vem a modelagem de dados, templates, formulários e segurança. Todo conteúdo teórico possui ótimos exemplos de código.</p>
<p>O capítulo 13 descrever a interface de administração do Django e o capítulo 14 mergulha mais a fundo no ORM, com exemplos de uso. A depuração ganha destaque no capítulo 16, com citações da Django Toolbar. O último capítulo é dedicado ao deploy de sua aplicação e dicas para criar um ambiente virtualenv em Python.</p>
<p>Nos apêndices temos o Python Debugger, como instalar Python em Windows e finaliza com uma referência do Django.</p>
<p>Meus comentários sobre o conteúdo: material de ótima qualidade, direto ao ponto, com a teoria na dose certa e bastante exemplos e dicas de implementação para evitar erros de programação comuns. Ótimo para quem está querendo aprender, mas também uma guia de referência para quem já trabalha e tem conhecimentos avançados. Senti falta de um capítulo sobre testes automatizados para Django, mas a proposta do livro é muito boa e didática.</p>
<p>Acompanho o trabalho do Osvaldo a bastante tempo, sempre gerenciou a lista Python Brasil com bastante dedicação, fez e continua fazendo diversas contribuições à comunidade Python. Fiquei bastante feliz quando soube que lançaria um livro e este preenche a falta de bons materiais de Python em português.</p>
<p>Se você está querendo aprender ou já sabe (nem que seja um pouco) de Python e Django, esse material poderá servir como ótimo guia de referência. Recomendo!</p>
<p>Você poderá comprar esse livro com 20% de desconto diretamente no site da Novatec usando o código promocional <span style="color: #ff0000;"><strong>CHRISTIANO</strong></span>. Saiba mais em <a href="http://christiano.me/2010/10/27/20-de-desconto-todo-site-da-novatec/" target="_blank">20% de desconto em todo site Novatec</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://christiano.me/2010/11/13/livro-python-e-django-resenha/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>PyCon Argentina &#8211; Segundo e último dia</title>
		<link>http://christiano.me/2010/10/23/pycon-argentina-segundo-e-ultimo-dia/</link>
		<comments>http://christiano.me/2010/10/23/pycon-argentina-segundo-e-ultimo-dia/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 20:04:42 +0000</pubDate>
		<dc:creator>Christiano Anderson</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://christiano.me/?p=1289</guid>
		<description><![CDATA[Como tudo que é bom, acaba rápido. Como prometido, compartilho um resumo do PyCon Argentina 2010, realizado na cidade de Córdoba. Não escrevi esse post antes devido a sérios problemas com a empresa aérea Lan, que atrasou minha volta a São Paulo em mais de 2 dias. O segundo dia de evento foi tão bom [...]]]></description>
			<content:encoded><![CDATA[<p>Como tudo que é bom, acaba rápido. Como prometido, compartilho um resumo do PyCon Argentina 2010, realizado na cidade de Córdoba. Não escrevi esse post antes devido a sérios problemas com a empresa aérea Lan, que atrasou minha volta a São Paulo em mais de 2 dias.</p>
<p>O segundo dia de evento foi tão bom quanto o primeiro, ótimas palestras, desenvolvedores animados e muito, mas muito networking. Conheci empresas locais que usam e apoiam Python, como a <a href="http://www.machinalis.com">Machinalis</a> e a cooperativa <a href="http://www.gcoop.coop/" target="_blank">Gcoop</a>. Conversei com muitas pessoas <em>buena onda</em>, trocamos muitas informações e ideias para novos projetos. Enfim, o evento valeu muito a pena!</p>
<p>Tive o grande privilégio de participar do keynote de encerramento, falando de <a href="http://www.slideshare.net/canderson/python-and-mongodb" target="_blank">Python com MongoDB</a>. A repercussão foi muito positiva, recebi muitos tweets e e-mails de desenvolvedores querendo saber mais sobre esse tema, o que mostra o grande interesse em soluções e implementações de NoSQL. A pedidos da organização, fiz minha palestra em portunhol (tinha planejado apresentá-la em inglês, já que não sou fluente em espanhol). Pelas conversas de corredor, acredito que o público entendeu bem o meu portunhol! <img src='http://christiano.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="attachment_1290" class="wp-caption aligncenter" style="width: 310px"><a href="http://christiano.me/wp-content/uploads/2010/10/palestra_mongodb.jpg"><img class="size-medium wp-image-1290" title="Python e MongoDB" src="http://christiano.me/wp-content/uploads/2010/10/palestra_mongodb-300x216.jpg" alt="Palestra Python e MongoDB" width="300" height="216" /></a><p class="wp-caption-text">Palestra Python e MongoDB</p></div>
<p>A <a href="http://www.leahculver.com" target="_blank">Leah Culver</a> (desenvolvedora Python e fundadora do Pownce) também esteve presente no evento, falando sobre startups e sua preferência em usar Python para desenvolvimento de soluções web.</p>
<div id="attachment_1291" class="wp-caption aligncenter" style="width: 310px"><a href="http://christiano.me/wp-content/uploads/2010/10/palestra_leah.jpg"><img class="size-medium wp-image-1291" title="Leah Culver" src="http://christiano.me/wp-content/uploads/2010/10/palestra_leah-300x225.jpg" alt="Leah Culver" width="300" height="225" /></a><p class="wp-caption-text">Leah Culver</p></div>
<p>No final fizemos um happy hour, trocamos muitas informações e tomamos as merecidas cervejas. O pessoal já estava na expectativa do próximo PyCon Argentina! O desenvolvedor argentino Facundo Batista (Canonical) estará presente na PyCon Brasil e, infelizmente, não poderei estar presente devido problemas de agenda! <img src='http://christiano.me/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<div id="attachment_1292" class="wp-caption aligncenter" style="width: 235px"><a href="http://christiano.me/wp-content/uploads/2010/10/pyconar_happy_hour.jpg"><img class="size-medium wp-image-1292" title="Happy Hour PyConAr2010" src="http://christiano.me/wp-content/uploads/2010/10/pyconar_happy_hour-225x300.jpg" alt="Happy Hour PyConAr2010" width="225" height="300" /></a><p class="wp-caption-text">Happy Hour PyConAr2010</p></div>
<p>Só tenho a agradecer toda atenção que recebi em Córdoba. Fui muito bem recebido, conheci pessoas fantástica e pude aprender muito assistindo as palestras e conhecendo pessoas muito interessantes. Aproveito para deixar meus parabéns a toda organização. É difícil citar nomes, todos foram sensacionais, mas quero deixar meus agradecimentos ao Horácio, John, Facundo, Sebastian e Constanza pelo apoio e paciência com meu péssimo portunhol! <img src='http://christiano.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A minha volta para o Brasil foi bastante complicada, acabei sendo obrigado a ficar dois dias em Buenos Aires (isso seria bom se estivesse em férias e não tivesse compromissos com clientes). A companhia aérea LAN cancelou o voo de volta alegando greve dos funcionários de manutenção. Com uma grande desorganização, falta de atenção aos clientes, nos deixaram jogados no aeroporto em Buenos Aires a espera de um posicionamento. Depois de mais de 6 horas, decidiram nos levar a hotéis da região central de Buenos Aires. Devido a falta de organização, fui obrigado a trocar de hotel duas vezes e minha volta para o Brasil foi uma grande incógnita. Só descobri que de fato voltaria para o Brasil poucas horas antes do voo, que saiu de Buenos Aires no dia 20/10 às 5 da manhã. Perdi reuniões e compromissos importantes, além de ter deixado todo meu cronograma atrasado. Mas enfim, o evento valeu muito a pena!</p>
<p>Crédito das fotos:</p>
<p><a href="http://picasaweb.google.com/copybin/Pycon2010Dia2#">http://picasaweb.google.com/copybin/Pycon2010Dia2#</a></p>
<p><a href="http://www.flickr.com/photos/54757453@N00/sets/72157625061739525/">http://www.flickr.com/photos/54757453@N00/sets/72157625061739525/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://christiano.me/2010/10/23/pycon-argentina-segundo-e-ultimo-dia/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Python Conference Argentina &#8211; Primeiro Dia</title>
		<link>http://christiano.me/2010/10/16/python-conference-argentina-primeiro-dia/</link>
		<comments>http://christiano.me/2010/10/16/python-conference-argentina-primeiro-dia/#comments</comments>
		<pubDate>Sat, 16 Oct 2010 03:56:38 +0000</pubDate>
		<dc:creator>Christiano Anderson</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://christiano.me/?p=1279</guid>
		<description><![CDATA[Escrevo o rascunho deste post diretamente da Python Conference Argentina, sendo realizado na bela cidade de Córdoba, nos dias 15 e 16 de Outubro. Fui convidado a palestrar, com a grande responsabilidade de representar bem a comunidade Python Brasil. O tema que escolhi foi Python e MongoDB, com exemplos de códigos, dicas de integração de [...]]]></description>
			<content:encoded><![CDATA[<p>Escrevo o rascunho deste post diretamente da <a href="http://ar.pycon.org/2010/about/" target="_blank">Python Conference Argentina</a>, sendo realizado na bela cidade de Córdoba, nos dias 15 e 16 de Outubro. Fui convidado a palestrar, com a grande responsabilidade de representar bem a comunidade Python Brasil. O tema que escolhi foi <em>Python e MongoDB</em>, com exemplos de códigos, dicas de integração de Django com MongoDB e uma passada rápida pelo MongoEngine. Espero que agrade! <img src='http://christiano.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>O primeiro dia foi excelente, a comunidade Python argentina estava animada e se dedicou muito para fazer um ótimo evento. Como em todos os eventos, aprendemos muito e compartilhamos muitas informações. Mesmo antes de minha palestra, as pessoas vieram me perguntar e tirar dúvidas sobre NoSQL e querem entender melhor o que é, o que fazer e quais são os casos onde um banco orientado a documentos é melhor que um relacional. Encontrei algumas pessoas que já utilizam MongoDB e querem trocar informações e estudos de caso. Os bancos NoSQL estão ficando muito populares.</p>
<p>Além das excelente palestras da comunidade Python Argentina, o evento convidou a <a href="http://leahculver.com/" target="_blank">Leah Culver</a>, desenvolvedora Python, especialista em OAuth e o <a href="http://chriswanstrath.com/" target="_blank">Chris Wanstrath</a>, fundador e CEO do <a href="http://github.com/" target="_blank">GitHub</a>.</p>
<p>Depois envio o relato do segundo dia e tentarei coletar algumas fotos do evento.</p>
<p>Aproveito para deixar os parabéns a toda organização da PyCon Argentina!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://christiano.me/2010/10/16/python-conference-argentina-primeiro-dia/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Conheça o Django Packages</title>
		<link>http://christiano.me/2010/09/05/conheca-o-django-packages/</link>
		<comments>http://christiano.me/2010/09/05/conheca-o-django-packages/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 00:41:12 +0000</pubDate>
		<dc:creator>Christiano Anderson</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://christiano.me/?p=1262</guid>
		<description><![CDATA[O Daniel Greenfeld publicou em seu blog o lançamento do Django Packages (Announcing Django Packages). O objetivo do site é listar todos os pacotes, CMS, plugins e aplicativos para deixar seus projetos em Django ainda mais completo e eficiente. Foi uma ideia sensacional, reunir em um único local tudo (ou quase tudo) que foi desenvolvido [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://pydanny.blogspot.com/" target="_blank">Daniel Greenfeld</a> publicou em seu blog o lançamento do Django Packages (<a href="http://pydanny.blogspot.com/2010/08/announcing-django-packages.html" target="_blank">Announcing Django Packages</a>). O objetivo do site é listar todos os pacotes, CMS, plugins e aplicativos para deixar seus projetos em Django ainda mais completo e eficiente. Foi uma ideia sensacional, reunir em um único local tudo (ou quase tudo) que foi desenvolvido pela comunidade Django.</p>
<p>O site está organizado em categorias (Apps, Frameworks, Projects, Utilites, etc) e a ordenação dos projetos é feita através de várias métricas, como número de downloads no Pypi, número de commits, número de seguidores, etc. Com isso é possível determinar se uma app tem seu desenvolvimento ativo, quantas pessoas contribuem, etc. Isso ajuda muito na busca e tomada de decisão.</p>
<p>Confira o Django Packages em <a href="http://djangopackages.com/">http://djangopackages.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://christiano.me/2010/09/05/conheca-o-django-packages/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>O Google em linha de comando</title>
		<link>http://christiano.me/2010/06/19/o-google-em-linha-de-comando/</link>
		<comments>http://christiano.me/2010/06/19/o-google-em-linha-de-comando/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 04:00:30 +0000</pubDate>
		<dc:creator>Christiano Anderson</dc:creator>
				<category><![CDATA[Produtividade]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://christiano.me/?p=1169</guid>
		<description><![CDATA[Quem gosta de shell já deve ter pensado algo do tipo: e se eu pudesse usar os serviços do Google via linha de comando? Pois é, isso agora é possível. O Google surpreendeu mais uma vez e lançou o GoogleCL,  uma coleção de  ferramentas feitas em Python para administrar via shell alguns serviços como Blogger, [...]]]></description>
			<content:encoded><![CDATA[<p>Quem gosta de shell já deve ter pensado algo do tipo:  <em>e se eu pudesse usar os serviços do Google via linha de comando?</em> Pois é, isso agora é possível. O Google surpreendeu mais uma vez e lançou o <a href="http://code.google.com/p/googlecl/" target="_blank">GoogleCL</a>,  uma coleção de  ferramentas feitas em Python para administrar via shell alguns serviços como Blogger,  Agenda, Contatos, Documentos, Picasa e Youtube.</p>
<p>Veja o que é possível fazer com essa ferramenta:</p>
<ol>
<li><strong>Criar um post no Blogger</strong>: $ google blogger post &#8211;title &#8220;Título&#8221; &#8220;Conteúdo do Post&#8221;</li>
<li><strong>Criar um compromisso no calendário</strong>: $ google calendar add &#8220;Almoço com a família at noon tomorrow&#8221; (a data e alguns parâmetros precisam ser em inglês)</li>
<li><strong>Exportar os contatos para um arquivo CSV</strong>: $ google contacts list name,email &gt; contatos.csv</li>
<li><strong>Criar um álbum no Picasa e adicionar todas as fotos de um diretório no HD</strong>: $ google picasa create &#8211;album &#8220;Viagem para Manaus&#8221; ~/photos/viagem_manaus/*.jpg</li>
<li><strong>Enviar um vídeo do seu HD diretamente para o Youtube</strong>: $ google youtube post &#8211;category Screencast aprenda_python.avi</li>
</ol>
<h2>Como instalar</h2>
<p>Na página <a href="http://code.google.com/p/googlecl/">http://code.google.com/p/googlecl/</a> é possível encontrar as versões .tar.gz e .deb (Debian/Ubuntu). É necessário instalar a dependência ﻿python-gdata para que a ferramenta funcione. No Ubuntu, um <strong>sudo apt-get install python-gdata</strong> resolve o problema.</p>
<h2>Como funciona</h2>
<p>A ferramenta faz o acesso via OAUTH. Na primeira vez que você digitar o comando apropriado, será solicitado um acesso pelo navegador para fazer a autorização. Você deverá copiar e colar aquela URL no navegador, fazer a autorização, depois voltar no shell e dar um enter para continuar. Só precisa fazer isso uma vez por aplicação (Blogger, Calendar, Youtube). Com o acesso feito via OAUTH, não é necessário digitar a senha no terminal, então a senha não ficará gravada em nenhum lugar.</p>
<p>A lista dos comandos e opções para cada serviço pode ser obtida em <a href="http://code.google.com/p/googlecl/wiki/ExampleScripts">http://code.google.com/p/googlecl/wiki/ExampleScripts</a></p>
<p>Gostei muito dessa ferramenta, permite inclusive a criação de diversos scripts para automatizar determinadas tarefas, como adicionar um lembrete na agenda, enviar um lote de fotos para o Picasa ou vídeos para o Youtube com poucas linhas de código. Fica a dica!</p>
]]></content:encoded>
			<wfw:commentRss>http://christiano.me/2010/06/19/o-google-em-linha-de-comando/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

