요구사항을 수집하여 이를 UI 프로토타이핑(와이어프레밍) 이후 개발을 거친다. 개발과정에서 중요한 의존성 관리를 제품의 일부로 녹여내고 최종 제품 배포과정을 거쳐 제품을 마무리한다.
골름은 Shiny 앱 제품화를 염두에 두고 개발된 팩키지
golem
팩키지를 설치하게 되면 제품 수준 R Shiny 웹앱을
개발할 수 있는 기본이 갖춰진다.
golem::create_golem("프로젝트명")
명령어를 사용해서
프로젝트 즉 R 패키지를 개발할 수 있다. 혹은, RStudio 메뉴를 따라 FILE
–> New Project … 골름 프로젝트를 생성하면 된다.
install.packages("golem")
::create_golem("localElection") golem
골름 프로젝트 생성하게 되면 Shiny 앱 제품 개발에 필요한 기본적인 사항을 생성시켜두고 필요한 사항 채워넣으면 된다.
localElection
├── localElection.Rproj
├── DESCRIPTION
├── LICENSE
├── LICENSE.md
├── NAMESPACE
├── R
│ ├── app_server.R
│ ├── app_ui.R
│ └── run_app.R
├── dev
│ ├── 01_start.R
│ ├── 02_dev.R
│ ├── 03_deploy.R
│ └── run_dev.R
├── inst
│ └── app
│ └── www
│ └── favicon.ico
└── man └── run_app.Rd
골름은 기본적으로 R 패키지이기 때문에 패키지 빌드 과정을 거쳐
컴파일하게 된다. CTRL+SHIFT+B
단축어로 컴파일 시키게 되면
localElection
팩키지가 개발된다. localElection
패키지 run_app()
명령어를 사용하게 되면 Shiny 앱 제품을
실행시킬 수 있다.
==> Rcmd.exe INSTALL --no-multiarch --with-keep.source localElection
* installing to library 'C:/Users/statkclee/Documents/R/win-library/4.1'
* installing *source* package 'localElection' ...
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
for package 'localElection'
converting help
run_app html finding HTML links ... done
** building package indices
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (localElection)
git
을 사용해서 개발한 코드 버전제어 기능을 추가한다.
::use_git() usethis
GitHub
저장소를 사용해서 공유와 협업이 가능토록 원격
저장소를 연결시킨다.
usethis::use_github()
명령어로 원격 GitHub 저장소에
연결작업을 실행한다.
> usethis::use_github()
'https' Git protocol
i Defaulting to 'C:/swc/localElection'
√ Setting active project to 'statkclee/localElection'
√ Creating GitHub repository 'origin' to 'https://github.com/statkclee/localElection.git'
√ Setting remote in DESCRIPTION to 'https://github.com/statkclee/localElection'
√ Setting URL field in DESCRIPTION to 'https://github.com/statkclee/localElection/issues'
√ Setting BugReports field 1 uncommitted file:
There is * 'DESCRIPTION'
Is it ok to commit it?
1: No way
2: Absolutely not
3: I agree
: 3
Selection
√ Adding files'Add GitHub links to DESCRIPTION'
√ Making a commit with message 'master' branch to GitHub and setting 'origin/master' as upstream branch
√ Pushing 'https://github.com/statkclee/localElection' √ Opening URL
개발한 Shiny 제품을 다양하게 배포하여 활용할 수 있으나 먼저, shinyapps.io by RStudio에 올려보고 후속 작업을 정교화한다.
::deployApp() rsconnect
데이터 과학자 이광춘 저작
kwangchun.lee.7@gmail.com