Arquivo da categoria: Python

Mini-curso prático sobre Google App Engine e Python

Durante a tarde do último sábado, tive a oportunidade de ser o facilitador de um mini-curso prático sobre Google App Engine e Python para o pessoal do Google Developer Group Aracaju. O evento foi bastante produtivo e certamente mais pessoas vão passar a acompanhar também as atividades do PUG-SE.

Meus agradecimentos a todos e compareceram e ao pessoal que viabilizou o encontro. Organização de primeira, parabéns!

Mais detalhes no post do blog do GDG Aracaju.

Abaixo os slides que usamos como roteiro da atividade prática:

 

Aplicações Web com Python e Google App Engine

No último dia 11/12 palestrei na Semana de Computação da UFS 2013, a convite do Google Developer Group Aracaju no espaço gentilmente aberto pela organização da SECOMP.

Na palestra, procurei passar uma visão geral do funcionamento e das principais características do ambiente de execução Python do Google App Engine. Como o tema do evento neste ano foi “Empreendedorismo e Inovação em TI”, nada melhor que apresentar uma das possíveis alternativas para quem deseja criar novos produtos para web com rapidez, agilidade e baixo custo inicial.

Seguem os slides que utilizei para guiar a conversa:

Python Day Sergipe vem aí!

Python Day Sergipe vem aí!

No dia 26 de outubro – daqui a pouco menos de um mês, portanto – acontecerá a primeira edição do Python Day Sergipe. Organizado pelo Python User Group Sergipe (PUG-SE) o evento dará continuidade a uma série de iniciativas de troca de conhecimento, trazendo palestrantes locais e de outros estados para compartilhar experiências sobre como a plataforma Python está ajudando programadores e empreendedores a serem mais produtivos e melhorar seus resultados.

Na programação teremos as palestras:

  • Python, a pílula azul da programação, por Marcel Caraciolo (PyCursos, PE)
  • Por quê o JusBrasil mudou para Python?, por Osvaldo Matos Jr. (JusBrasil, BA)
  • Ganhando tempo com Python, por Matheus Lima (PopCode, SE)

E os minicursos:

  • Workshop de Python, por Marcel Caraciolo
  • Iniciando um projeto com Django, por Matheus Lima

Além disso, todos os participantes receberão:

  • Uma camiseta exclusiva do evento
  • Um cupom de desconto especial na compra de livros da Novatec Editora
  • …e concorrerão a brindes!

O Python Day Sergipe só está sendo possível graças ao apoio dos nossos patrocinadores Neoworking, PyCursos, JusBrasilPopCodeHost 079Eventick e Novatec Editora.

Estamos muito felizes e surpresos com o interesse do público, que rapidamente comprou boa parte dos ingressos disponíveis. Ou seja, isso quer dizer que restam pouquíssimas vagas! Então, inscreva-se o quanto antes!

Tutorial: Criando sites estáticos com Python e Pelican

Tutorial: Criando sites estáticos com Python e Pelican

Índice

  1. Por que um site estático?
  2. O que é o Pelican?
  3. Instalação
  4. O comando pelican
  5. O comando pelican-quickstart
  6. Usando o Makefile
  7. Criando o conteúdo do seu site
  8. Conclusão

Por que um site estático?

Com as facilidades proporcionadas por serviços como Blogger, Tumblr, WordPress e similares, por que alguém deveria optar por um site estático? Alguns motivos:

  • Hospedagem mais barata e independente da continuidade de um serviço específico
  • Controle total sobre o layout e conteúdo
  • Portabilidade
  • Trabalhar com arquivos de texto puro é mais simples e mantém você focado no conteúdo
  • Você pode usar o editor de texto de sua preferência
  • Mais fácil de manter controle de versões, backup etc.
  • É mais divertido!

O que é o Pelican?

Pelican é um gerador de sites estáticos escrito em Python que permite criar conteúdo diretamente em arquivos de texto nos formatos RestructuredText (default), Markdown ou AsciiDoc. Além disso, inclui uma ferramenta de linha de comando que facilita a geração do site, convertendo os arquivos texto para HTML.

Com o Pelican, é possível gerar sites estáticos que, na prática, têm as mesmas funcionalidades de sites dinâmicos. Um blog feito com o Pelican, por exemplo, disponibiliza conteúdo em formato de artigos ou de páginas, comentários (via serviços externos), suporte a templates, publicação de artigos em mais de um idioma, feeds RSS do conteúdo, realce de sintaxe em trechos de código-fonte, geração de PDF dos artigos/páginas, integração com serviços externos como Twitter e Google Analytics, entre outros.

Abaixo, segue um breve tutorial sobre o uso do Pelican:

Continuar lendo

Nomeando fatias de sequências em Python

Nomeando fatias de sequências em PythonQuem já precisou escrever algum programa para obter valores dentro de uma string, lista ou outra sequência semelhante, certamente acabou envolvido em uma grande confusão de valores fixos (hardcoded) de índices ao longo do código. Para evitar isso, é bem provável que você tenha recorrido a algo como:

CAMPO_X_INICIO = 5
CAMPO_X_FIM = 10
CAMPO_Y_INICIO = 16
CAMPO_Y_FIM = 19

Mas Python é Python: sempre dá para melhorar seu código quando você aprende mais sobre os recursos da linguagem. Para tornar esse tipo de código ainda mais legível e fácil de manter, podemos usar a função built-in slice. Em seu uso mais comum, a função recebe os índices inicial e final de uma fatia e retorna um objeto do tipo slice, que representa uma porção de uma sequência.

Na prática, funciona assim: vamos supor que temos um arquivo texto no qual cada linha é um registro contendo o número de matrícula do aluno e as suas três notas em uma determinada disciplina:

>>> registro = "12345041009"

Os cinco primeiros caracteres correspondem sempre ao número de matrícula. Os dois caracteres seguintes são a primeira nota, os dois seguintes são a segunda e os dois restantes são a terceira.

Usando slice() para armazenar os intervalos correspondentes, temos:

>>> MATRICULA = slice(0, 5)
>>> NOTA_1 = slice(5, 7)
>>> NOTA_2 = slice(7, 9)
>>> NOTA_3 = slice(9, 11)

Com isso, temos uma forma muito mais legível de definir os limites de cada fatia que nos interessa na sequência, o que nos permite obter facilmente os valores que queremos:

>>> registro[MATRICULA]
'12345'
>>> registro[NOTA_1]
'04'
>>> registro[NOTA_2]
'10'
>>> registro[NOTA_3]
'09'

Referência: Python Cookbook, 3rd Edition (recomendo fortemente!)

Photo Credit: Jorge Quinteros via Compfight cc