Este é o primeiro post de uma série. Diferente de um tutorial, minha ideia é expor alguns pensamentos e pipelines que venho desenvolvendo para pôr em produção projetos que desenvolvo em R.
“R em produção”.
Já foram tantos os sentimentos que presenciei de alguém ouvindo essas três palavras…
Até hoje, minha opnião nunca mudou: R em produção, está mais relacionado à cultura da organização do que à barreiras técnicas.
O entendimento do que significa pôr algo em produção (deploy), por outro lado, não parou de crescer e mutacionar.
Parnasianismos a parte, neste primeiro post quero explorar a ideia de como desenvolver ciência de dados com R pensando no deploy mais a frente.
Vamos lá!
Sumário
-
O que significa “pôr em produção”?
-
Como desenvolver pensando em produção?
- Versionamento de código (git)
- Versionamento de dados e experimentos (dvc)
- Code as a package (usethis)
- Documentação continua (roxygen2)
- Containerização (docker)
- Controle de dependências (renv)
- Testes unitários (testthat, codecovr)
- Formatação de código (rlint)
O que significa “pôr em produção”?
Versionamento de código
Só não gosto desse git add -A
constante lucidez de @rpgmbicalho
Versionamento de dados e experimentos
Se for verdade é gol
@Lzda sobre o dvc
Code as a Package
Polimorfismo em ciência de dados é usar o notebook do colega com outro banco de dados
by @thiagorizuti
Documentação contínua
Podiamos ter um continuous documentation, heim?
@thalsin e sua arquitetura alvo
Containerização
(...) estou apaixonado por docker
@boreloide #gratiluz
Controle de dependências
Não aguento instalar mais dependências
@pyspark2 e seu raspberry pi2 com R
Testes unitários
Vou começar a criar testes unitários e tal, e chamarei isso de defesa contra as artes dos cientistas de dados
@AdelmoFIlho42 brigando com a API do kaggle
Formatação de código
Você curte os espaços entre linhas? Hahah
@dges julgando meus códigos