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


Considerações finais (?)