
아이를 키우기 시작한 이후로 모든 영화가 육아와 연관된다. 딸바보 아빠 이야기인 인터스텔라 이후에 감동적인 아빠 이야기이다.
영어 제목보다 한글이름이 마음에 드는 애니이다. 세 아이를 입양함으로써 사람 사이의 정을 깨달아가는 그루의 성장 이야기이다.
아이를 키우기 시작한 이후로 모든 영화가 육아와 연관된다. 딸바보 아빠 이야기인 인터스텔라 이후에 감동적인 아빠 이야기이다.
영어 제목보다 한글이름이 마음에 드는 애니이다. 세 아이를 입양함으로써 사람 사이의 정을 깨달아가는 그루의 성장 이야기이다.
output$x2 = renderPlot({
dat = get_data()
if (input$para == "rr"){
p = ggplot(data=dd) + ...
if (input$trend == "y") {p = p + geom_smooth()}
plot(p)
}
})
조금만 shiny를 쓸 수 있으면 바로 알게 되는 것 중의 하나일 것이다. 별다른 조건이 없다면 renderPlot에서 ggplot을 그냥 입력해도 그래프가 출력이 된다. 그런데 이상하게도 조건을 붙이면 빈 화면이 출력된다. 우연하게도 해결한 방법은 전통적인 ggplot 코딩 안내문처럼 ggplot을 특정 변수(이 경우에는 p)에 받고, 이를 출력하도록 하는 것이다.
사람마다 시리얼 통신을 하는 이유는 다를테니 문제 해결 방법도 다를 것이다. 일단 내가 연결하고자 하는 장비는 가끔씩 결과를 수신 받을 수 있다. 그래서 이게 동작을 하는 중인지 문제가 있는 건지 알 수가 없었다.
timeout = 1 옵션을 주니까 몇 분 후에 결과가 나오기 시작했다. 그래서 timeout=0 을 해봤는데, CPU 점유율이 매우 높아지기 시작했다. 이러면 장비가 버티지 못할테니 다시 timeout=1로 바꾸어 보았다. timeout 설정을 검색을 통해서 좀 살펴 보았는데, 와닿지가 않는다. 책을 좀 살펴봐야 하나 싶다.
왠지 모르지만 프로그램 실행 이후 첫 번째 결과가 제대로 읽어지지 않는다. 이것은 해결해야 할 문제이다. 제대로 동작하기 시작하면 끄지 않을 장비이기 때문에 상관은 없을 것이다. 하지만, 이런 문제가 쌓이고 쌓이면 잘못된 결과를 유발할 수도 있을 것 같다.
결과 분석된 텍스트 내용을 DB에 넣는 것은 쉬운데 업무용 DB로 넣는 것은 꽤 난감한 상황이다. 그럴 것이라고 예상했기 때문에 Web에서 긁어서 붙일 수 있는 포맷으로 우선 진행하기로 하였고, Shiny를 이용하기로 하였다.
기본적으로 Docker를 이용할 것이기 때문에, Docker 에서 Shiny Server를 설치하였다. Docker는 root가 기본 계정이라서 shiny-server.conf 파일을 수정해야 하는 줄 알고 한참을 진행하여 보았는데, connection 오류가 해결이 안되었다.
Docker 에서 Shiny Server를 설치하는 과정에서 shiny 계정으로 shiny-server 프로그램이 동작한다. 따라서 설정 파일에서 run_as 부분은 shiny로 그대로 두어야 올바르게 동작한다.
Nginx 에서 reverse proxy 설정은 역시 열심히 여러 설정을 따라 해봤는데, 효과는 없었다. 나의 경우에는 ‘/’를 붙여주는게 간단하고도 유일한 효과를 발휘한 방법이었다.
location /shiny/ {
proxy_pass http://shiny.private:3838/;
}