Você usa `print` do #python para depurar durante o desenvolvimento?
Mesmo com vários tipos de debuggers disponíveis e o novo `breakpoint` do Python 3.7, na maioria das vezes um simples `print` é mais fácil para inspecionar uma variavél no Python.
Dá para deixar isso melhor 🧵
Primeiro um exemplo do uso do print nativo do python para debugar objetos complexos.
Como dá para perceber o output não é tão amigável de inspecionar.
Dá para deixar isso melhor usando `debug` no lugar de `print`
Porém Python não tem essa função debug nativa, você vai precisar **hackear** seu Python local para adicionar a função debug.
1. Execute
pip install -U devtools[pygments]
O -U vai dizer para isso ser instalado no seu espaço de usuário do sistema.
2. Descubra onde fica o `site` do seu Python, `site` é o diretório onde o interpretador é inicializado.
`python -m site`e é sempre o terceiro item desta lista.
3. Altere seu Python adicionando a Função `debug` como se fosse uma função nativa, desta forma você não vai precisar ficar importando sempre que precisar usar.
Use com moderação, lembre-se que `debug` só existe no seu Python local e nas virtualenvs locais que tenham acesso ao mesmo `site`.
Qualquer objeto que for adicionado a `__builtins__` no sitecustomize .py ficará disponível sem precisar importar, lembre-se que isso é APENAS para ferramentas de desenvolvimento, no ambiente de produção isso não estará disponível.
correção (notado pelo @luzfcb) aqui é para ser `--user` e não `-U` :)
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Decidi pesquisar meu nome no Google, e então descobri uma empresa, que tem funding da @ycombinator fazendo Bad Patterns (marketing feio) de SEO usando meu nome e o nome de muito criador de conteúdo educacional e escola.
🧵
E usam essa estratégia bem ruim com várias outras pessoas e empresas que criam treinamentos.
Eles enchem o site deles de texto para simular relevância e aparecer nas buscas, em Agosto de 23 as keywords "Python Bruno Rocha LINUXtips" estavam em alta pois fizemos a Python week..
Então eles aproveitaram esse tráfego que não é direcionado ao conteúdo deles para ENGANAR e vender os cursos deles.
Veja só como funciona essa prática bem ruim da @awari_brasil
Eu não sei de onde surgiu essa "crença" de que conteúdo educacional tem que ser de graça, é algo muito frequente na nossa comunidade este tipo de questionamento.
Devemos incentivar conteúdo grátis, acessível (e fazemos MUITO) mas isso não anula a existência de conteúdo pago.
Existe uma linha tênue nesse assunto, eu acredito que todo o conhecimento deve ser livre e acessível, não deve existir copyright e patentes etc.. por isso todo o material dos meus treinamentos estão abertos lá no meu github, e sempre priorizo tecnologias livres.
Quando cobro pelo curso não é copyright, o material está aí livre, e sempre que posso vou publicar conteúdo grátis.
Mas cobrar é apenas o pagamento pelo meu tempo dedicado em explicar as coisas com a melhor didática que posso.
Percebi que grande parte dos projetos que usa versões x.y.z não segue de verdade o versionamento semântico.
Dá trabalho sim, mas é possível fazer múltiplos releases e em ordem cronológicas completamente distintas, e o mais importante: manter a compatibilidade reversa.
🧵
Versão inicial 0.1.0
Na branch main:
- Nova feature super legal
- Outra feature nova que ainda precisa de mais testes
- Bugfix que não influencia na experiência de uso
- Bugfix que altera parametros de função
- Security patch
- Disable a magic function
+ backlog enorme.
🧵
Não precisa ficar esperando o backlog estar todo resolvido ou a branch main estar toda estável para fazer um release 0.2.0.