Tldr

TLDR: Gerando Secret Key para o Django

Publicado em

TLDR: Gerando Secret Key para o Django
Levante a mão quem nunca versionou a SECRET_KEY do Django no início de um projeto e precisou gerar uma nova na hora de subir pra produção. Este TLDR é um lembrete rápido de como você pode regerar uma secret key localmente, sem recorrer a sites na internet para gera-la para você. Como o Django gera a secret key no início de um projeto, já existe esta função implementada em seu código e você pode acessá-la desta forma:

TLDR: Leitura e escrita de Unicode em arquivos com Python 2 e 3

Publicado em

TLDR: Leitura e escrita de Unicode em arquivos com Python 2 e 3
Conversando no Telegram com o Mário Sérgio sobre problemas que surgem ao migrar código entre versões do Python me veio a ideia de escrever este tldr para ajudar quem precisa fazer leitura ou escrita de arquivos que contenham texto com caracteres Unicode que não estão presentes na tabela ASCII como caracteres acentuados, alfabetos diferentes do romano e emoji, através de um código que funcione em ambas versões. No Python 2 não existe uma distinção entre byte e string, o que faz com que códigos que lidam com entrada e saída sem o devido cuidado com codificação e decodificação funcionem sem nenhum erro aparente.

TLDR: Dependências Dev Python no Ubuntu

Publicado em

TLDR: Dependências Dev Python no Ubuntu
Algumas bibliotecas do python como a que usamos para conversar um banco SQLite são na prática um encapsulamento de um binário externo. Nestes casos precisamos que eles estejam instalados em nosso sistema operacional para que determinado pacote python funcione. Quando isso acontece, recebemos erros como este: ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3 Para resolver estes problemas basta instalar esta dependência externa que normalmente o sistema já reconfigura tudo para você, mas para quem trabalha múltiplas versões do python e com pyenv é preciso recompilar todas as versões do python toda vez que lembra de uma dependência externa.

TLDR: Configurando corretamente o default de um Model Field do Django

Publicado em

TLDR: Configurando corretamente o default de um Model Field do Django
Esta postagem é o resultado de um bug que me assombrou por uns três meses até conseguir isolar totalmente o erro e, por acontecer em condições muito específicas de temperatura e pressão, tomou muito tempo quebrando cabeça até perceber que o problema era este. Disclaimer: essa informação existe na documentação do Django, porém reforçá-la pode lhe poupar um belo tempo de debugging. Um dos atributos básicos de um Model field do Django é o default que determina o valor padrão de um campo quando criamos uma instância do Model.

TLDR: Publicando no PyPI

Publicado em

TLDR: Publicando no PyPI
Já se perguntou como publicar seu próprio pacote Python para instalá-lo com o pip? É menos complicado que parece, e qualquer pessoa pode fazer. Basta acessar o Python Package Index (PyPI) e criar uma conta na qual irá registrar seus pacotes. Em seguida crie um arquivo python chamado setup.py alterando os valores que forem necessários: #!/usr/bin/env python # -*- coding: utf-8 -*- from setuptools import find_packages, setup setup( name='meu-pacote-python', packages=find_packages(), version='1.

TLDR: Executando comandos em multiplos hosts com Fabric

Publicado em

TLDR: Executando comandos em multiplos hosts com Fabric
Me perguntaram como realizar uma conexão ssh em um servidor para rodar o comando df -h que mostra o uso de disco da máquina. Logo depois descobri que a dúvida se estendia a como fazer isso em vários servidores. A resposta me veio rápido na mente, e junto com ela a ideia de documentar estas coisas, o que me trouxe ao começo desta série de postagens curtas carinhosamente batizada de TLDR, que é a abreviação de Too Long Didn`t Read ou, em português, Muito longo, não li.