아직은 표준을 지향하고 있지만, R과 관련된 표준 환경을 만들어 가려 합니다. Docker 기술을 이용해서 한국어 기반으로 R 데이터 분석과 프로그램에서 시스템 환경적 문제로 인해서 어려움을 겪는 것을 해결하고자 합니다.
- 데이터 분석을 위한 환경 구축 리소스 최소화
- "패키지가 설치 되지 않아요, 왜 자꾸 에러가 나지요?"
- "분석 환경 구축이 어렵고, 시간도 많이 걸려요"
- 누구나 동일한 환경에서의 데이터 분석
- "왜 나는 이런 결과가 나오죠? 비슷하지만 조금 다른 것 같아요."
- "에러가 난다구요? 내 PC에서는 정상적으로 작동했는데, 패키지 버전이 다른가요?"
- Client/Server 환경에서의 데이터 분석
- "Server 환경에서는 유용한 기능이 더 있다고 들었어요"
- "Windows에서는 작동하지 않는다고 하는데, Linux 설치가 어려워요"
- R 기반의 데이터 분석 및 프로그래밍
- RStudio
- Shiny
- R Packages
- Reproducible Research 기반의 저작
- R Markdown
- Quarto
- 분석 리소스 관리 및 저작물 퍼블리싱
- Git
- RStudio Server
- 서버에 접속하여 R 분석
- Shiny Server
- 개발한 Shiny 앱 배포
- 퍼블리싱 관련 작업
- tex
- Quarto
- 한글 NLP
- bitNLP 패키지
- 은전한닢 형태소분석기
- Web Server
- Apache 2
- 정적 웹 페이지 퍼블리싱
- google chrome
- pagedown을 이용한 문서의 pdf 출력
- 한글 폰트 설치
- 나눔 폰트 시리즈
사용자 환경에 git과 docker가 설치되었음을 전제로 합니다.
터미널을 실행하고 다음의 명령어를 실행합니다. Windows 환경에서는 git 명령어에 반드시 --config core.autocrlf=input 옵션을 추가해야 합니다.
이 작업은 표준 R 서버를 위한 Docker 이미지 리파지토리의 파일들을 여러분의 PC로 가져오는 작업입니다.
git clone https://github.com/choonghyunryu/docker_rserver.git --config core.autocrlf=input
명령어를 실행하면, docker 이미지 생성을 위한 여러 파일들을 다운로드합니다.
다음의 script를 실행하여 docker 이미지를 생성합니다.
cd docker_rserver
./create_image.cmd
이 스크립트는 제법 오랫동안 수행됩니다. 여러 유틸리티와 패키지를 설치하는 작업이라서 만들어진 Docker 이미지의 용량도 6GB가 넘습니다. 명령어를 수행한 후 인내심을 가지고 기다리기 바랍니다. Docker 이미지에 설치되는 프로그램들의 설치 로그들이 터미널에 출력되므로, 어떤 프로그램들이 설치되는 지 살펴보는 것도 좋은 방법입니다.
create_container.cmd 스크립트가 Docker 이미지에서 컨테이너를 생성하는 스크립트입니다. 다음과 같이 create_container.cmd를 실행하여, 컨테이너를 생성합니다.
./create_container.cmd
터미널을 실행하고 다음의 명령어를 실행합니다.
$ git clone https://github.com/choonghyunryu/docker_rserver.git
다음의 script를 실행하여 docker 이미지를 생성합니다.
$ cd docker_rserver
$ ./create_image.sh
create_container.sh 스크립트가 Docker 이미지에서 컨테이너를 생성하는 스크립트입니다. 다음과 같이 create_container.sh를 실행하여, 컨테이너를 생성합니다.
$ create_container.sh
RStudio 서버에 접속하기 위한 URL은 다음과 같습니다.
해당 URL로 접속하면 다음처럼 사용자의 아이디와 패스워드를 묻는 다이얼로그가 나타납니다.
로그인을 위한 어카운트는 다음과 같습니다.
- 아이디
- ruser
- 패스워드
- rworld
표준 R 서버를 위한 Docker 이미지 리파지토리에는 다음처럼 샘플 Shiny 앱 파일이 포함되어 있습니다.
shiny-server/app/scrap_news/global.R
shiny-server/app/scrap_news/server.R
shiny-server/app/scrap_news/ui.R
그리고 create_container.sh이나 create_container.cmd로 컨테이너를 생성했다면 샘플 앱인 scrap_news이 구동됩니다.
이 앱에 접속하기 위해서는 다음의 URL을 이용합니다.
이 앱은 네이버 Open API를 이용해서 뉴스를 스크랩합니다. 그래서 Open API의 ID와 Secret을 입력해야 합니다. 이 정보는 개인 정보이므로, 여러분이 네이버로부터 Open API ID와 Secret를 발급받아야 합니다.