|
|
Dicas
|
|
|
=====
|
|
|
|
|
|
- preste atenção nas versões das ferramentas usadas no projeto
|
|
|
- o projeto tem várias versões antigas abandonadas, vale a pena procurar por elas no gitlab
|
|
|
- ative o `pipenv shell` antes de rodar o projeto
|
|
|
|
|
|
|
|
|
|
|
|
Python - versão 3.5
|
|
|
======
|
|
|
|
|
|
Python é a linguagem de programação usada no backend (parte de servidor) do projeto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Como começar
|
|
|
------------
|
|
|
|
|
|
- [PEP8] o padrão de estilo pra código Python (não, não precisa ler TUDO).
|
|
|
- [PEP8 in 5 minutes](https://pybit.es/pep8.html)
|
|
|
- e vejam as dicas de ferramentas
|
|
|
- Faça esses [exercícios](https://developers.google.com/edu/python/exercises/basic).
|
|
|
- Livro [Python para desenvolvedores](http://ricardoduarte.github.io/python-para-desenvolvedores/) bastante indicado pra quem vem de outra linguagem de programação. É um livro geral, então tem muito mais coisas do que a gente precisa.
|
|
|
|
|
|
|
|
|
Django - versão 1.11
|
|
|
======
|
|
|
|
|
|
|
|
|
Como começar
|
|
|
------------
|
|
|
|
|
|
- Faça o "my first app" do Django, agora chamado de [First steps](https://docs.djangoproject.com/en/1.11/#first-steps).
|
|
|
|
|
|
|
|
|
Pandas - versão 0.22
|
|
|
======
|
|
|
|
|
|
Existe um ecosistema de bibliotecas para análise de dados em Python chamado pydata. O pandas é uma dessas bibliotecas. Ele deve ser usado quando se tem dados em um formato colunar com colunas de diferentes tipos. É com ele que fazemos boa parte das análises de dados do sistema.
|
|
|
|
|
|
Como começar
|
|
|
------------
|
|
|
|
|
|
- [10 minutes to pandas](http://pandas.pydata.org/pandas-docs/stable/10min.html)
|
|
|
- Livro [Python for data analysis](https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1449319793). É meio antigo pra um projeto que evolui tanto, mas ainda dá uma boa ideia das coisas.
|
|
|
|
|
|
|
|
|
GIT
|
|
|
===
|
|
|
|
|
|
|
|
|
Fatos sobre o git
|
|
|
-----------------
|
|
|
|
|
|
1. O que você fez só está pronto se foi incorporado na master
|
|
|
|
|
|
|
|
|
Ferramentas e frameworks
|
|
|
===========
|
|
|
|
|
|
|
|
|
pipenv
|
|
|
------
|
|
|
|
|
|
O pipenv é a nova ferramenta de gerenciamento de pacotes do Python. Ela reune e facilita a experiência com o pip e com o virtualenv. O objetivo é isolar o projeto do ambiente externo e sincronizar o ambiente do projeto em todos os lugares em que ele for executado. Todos têm os mesmos pacotes e com as mesmas versões então evitamos o "na minha máquina funciona". Especialmente importante pra evitar surpresas na hora do deploy.
|
|
|
|
|
|
vantagens
|
|
|
---------
|
|
|
|
|
|
- controla versões melhor que o pip puro
|
|
|
- facilita o uso do virtualenv
|
|
|
- permite que você use diferentes versões da mesma biblioteca em projetos diferentes, se fosse tudo instalado no sistema elas seriam conflitantes
|
|
|
|
|
|
|
|
|
Dicas e ferramentas
|
|
|
===================
|
|
|
|
|
|
Essa seção fala de dicas e ferramentas especiais que não fazem realmente parte do projeto.
|
|
|
|
|
|
- [IPython] se você digitar `python` em um terminal vai receber um shell para executar comandos da linguagem Python, é ótimo para testar pequenos trechos de código. Mas faltam vários recursos de um shell, como autocomplete e ver o último comando usando seta pra cima. Pra isso é útil usar o `ipython` no terminal as mesmas vantagens de antes e mais algumas.
|
|
|
|
|
|
- [PyCharm] é uma IDE para desenvolvimento em python. Alguns recursos: ajuda no uso da pep8, mostra trechos de código e variáveis que não estão sendo usadas, autocomplete e spellcheck pra palavras em inglês.
|
|
|
|
|
|
- [Jupyter Notebook] anteriormente conhecido como IPython Notebook. É basicamente uma versão web do IPython, muito útil pra prototipar códigos um pouco maiores, como as análises.
|
|
|
|
|
|
- [Coalas] é um [linter](https://en.wikipedia.org/wiki/Lint_(software)). Pode simplesmente mostrar seus erros, interativamente te ajudar a corrigi-los ou até corrigir tudo pra você (essa opção não é recomendada pq as vezes ele faz cagada) |
|
|
\ No newline at end of file |