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

Resumo do 1º Encontro de Usuários Python de Sergipe

Resumo do 1º Encontro de Usuários Python de SergipeNo último dia 30 de abril, aproveitamos a realização da quarta edição do World Plone Day em Aracaju para realizar o primeiro Encontro de Usuários Python de Sergipe. O evento aconteceu na Universidade Tiradentes e contou com a expressiva participação de cerca de 40 pessoas, que aproveitaram a oportunidade para conhecer um pouco mais sobre Plone e Python, além de entrar em contato com outros interessados na plataforma.

Inicialmente, apresentei uma rápida palestra institucional sobre o Python User Group de Sergipe (PUG-SE), explicando a motivação por trás do uso de Python e suas tecnologias, e a importância de ter um grupo de usuários local atuante.

Em seguida, foi a vez da palestra do World Plone Day, ministrada por Davi Lima. Foi apresentada uma visão geral sobre o CMS Plone e seu ecossistema: características, vantagens competitivas, oportunidades de mercado, comunidade, perspectivas e etc. Os participantes aproveitaram para tirar várias dúvidas sobre aplicações do Plone, casos indicados de uso da plataforma, entre outras.

A terceira palestra da noite foi sobre o uso do Git para controle de versões, apresentada por Onezino Gabriel Moreira. Conversamos sobre o funcionamento do workflow do Git, boas práticas para gerenciamento de repositórios por parte de equipes em diversos cenários de uso, comandos úteis, etc.

A palestra seguinte foi uma rápida Introdução ao Django, ministrada por Matheus Lima. O grupo demonstrou muito interesse e participou bastante, tanto que decidimos, de comum acordo, deixar a palestra sobre Criação de plugins para Sublime Text que seria apresentada em seguida para o próximo encontro.

Por fim, realizamos um sorteio dos brindes gentilmente cedidos por nossos patrocinadores PyCursos e Treinamentos.mobi. Além deles, gostaríamos de agradecer à Universidade Tiradentes pela total disponibilidade e apoio ao evento, inclusive incentivando os alunos interessados a participar.

logo-pycursos

logo-treinamentos.mobi

Em breve teremos mais uma edição do Encontro do PUG-SE! Para ficar por dentro, assine a nossa lista de discussão.

Guia para os atalhos de teclado do Sublime Text

Guia para os atalhos de teclado do Sublime TextTodo mundo que usa o computador para trabalhar durante muitas horas por dia já deve ter notado que um dos segredos para ser mais produtivo é tirar as mãos do teclado o menos possível. Aprender a digitar direito, eliminando alguns vícios adquiridos ao longo dos anos, também ajuda bastante.

Quando falamos do Sublime Text, então, a importância de aprender a usar os atalhos de teclado, ao invés de perder tempo alcançando o mouse, fica ainda mais evidente. O Sublime Text tem atalhos de teclado para quase tudo mas, quando se está iniciando, às vezes é um pouco difícil descobri-los e memorizá-los. Para facilitar a tarefa, seguem algumas dicas:

Dedique alguns minutos para explorar os menus

Vasculhar os menus quando não se está procurando por nenhum comando específico é muito útil para descobrir novos recursos. Em muitos casos, os atalhos de teclado são mostrados ao lado de cada item. Algo que também costumo fazer quando quero aprender os atalhos de alguma ferramenta é me forçar a procurar pelo comando desejado no menu, usando o mouse – para me lembrar de quanto é inconveniente, e por isso tenho que aprender o atalho o quanto antes – ver qual é o atalho e depois fechar o menu e usar o teclado. Faço isso toda vez que preciso executar o comando, até memorizar.

Utilize a Command Palette

Após se familarizar com os menus, comece a usar a Command Palette (Ctrl+Shift+P) para tudo. Com ela você poderá ter acesso a quase todos os comandos sem precisar alcançar o mouse, mesmo se não lembrar o atalho. Ao chamar a Command Palette, aparecerá uma lista de seleção com o recurso de autocompletar. Depois é só começar a digitar algumas letras da descrição do comando até encontrá-lo e pressionar Enter. Lembrando que, em muitos casos, o atalho específico de cada comando também aparece na Command Palette.

Vasculhe os arquivos de configuração

Se ainda não achou o atalho que você queria, nem nos menus, nem na Command Palette, não se desespere. O pulo do gato nesse caso é “partir pra ignorância” e ir fuçar nos arquivos de configuração do Sublime Text:

  1. Clique no… (oops!) Ative a Command Palette e digite “keybindings default” para abrir o arquivo de configuração de atalhos padrão para seu sistema operacional. Lá são definidos todos os atalhos de teclado padrão.
  2. Procure por um trecho de alguma palavra que descreva o comando desejado. Como não existem descrições textuais de cada ação, pode não ser tão simples encontrar na primeira tentativa, mas se um atalho existe, ele estará lá.

Por exemplo, quando precisamos achar o atalho para duplicar uma linha, basta começar a procurar (Ctrl+F) no arquivo de configuração por “duplicate” e logo aparece a linha:

{ "keys": ["ctrl+shift+d"], "command": "duplicate_line" },

E eis aí nosso atalho: Ctrl+Shift+D.

E os atalhos para comandos dos plugins instalados?

Os comandos dos plugins muitas vezes não aparecem no menu nem na Command Palette. Descobri-los vai exigir um pouco do seu Sherlock Holmes interior, mas não é nenhum bicho de sete cabeças. Como todos os atalhos de teclados estão definidos em arquivos no formato JSON de fácil leitura, você vai precisar fazer o seguinte:

  1. Abrir a Command Palette.
  2. Digitar “Browse Packages”.
  3. Procurar e abrir a pasta com o nome do plugin cujo atalho para o comando você quer descobrir.
  4. Procurar e abrir o arquivo de configuração de atalhos, que possui a extensão sublime-keymap. Lá estão todos os atalhos do plugin, é só procurar pelo que você precisa.

Sublime Text Dicas - Artigos, tutoriais e dicas em português


Atualização: Para conhecer mais dicas em português sobre o Sublime Text, visite meu outro site Sublime Text Dicas!


Conhece alguma outra dica de atalho do Sublime Text? Compartilhe com a gente nos comentários.

Referência: dicas de Josh Earl, autor de Sublime Productivity.