Proxy를 통해야만 인터넷이 되는 환경에서 RStudio를 사용하기 위해서는 R 설정에서 Proxy 정보를 추가해야 한다.

 

RStudio Server는 R_HOME/etc/Renviron.site 에 추가하면 되고, RStudio Desktop은 ~/.Renviron 에 추가하면 된다. 

(R_HOME의 경로는 R.home() 명령으로 확인할 수 있다.)

 

RStudio에서 다음 명령어로 쉽게 수정할 수 있다.

file.edit('~/.Renviron')

위 명령어로 스크립트 창이 열리면 아래 내용을 추가한다.

http_proxy=http://proxy.dom.com/
http_proxy_user=user:passwd

https_proxy=https://proxy.dom.com/
https_proxy_user=user:passwd

http_proxy_user 또는 https_proxy_user 는 Proxy에서 계정을 통해 인증을 해야 하는 경우에만 추가하면 된다.

 

적용 후 RStudio를 재시작하면 인터넷 연결이 가능하다.

 

참조: https://support.rstudio.com/hc/en-us/articles/200488488-Configuring-R-to-Use-an-HTTP-or-HTTPS-Proxy

'데이터분석 > R' 카테고리의 다른 글

RStudio에서 Proxy 설정하기  (0) 2020.05.16

Windows 8 이상에서는 '전체 종료(full shutdown)', '빠른 부팅 종료(fast startup)', '절전모드(hybernate)' 세 가지로 시스템을 종료할 수 있다.

시스템 종료 방법 설명
full shutdown 시스템을 완전히 종료한다. 장기간 PC를 사용하지 않을 경우 전체 종료를 권장한다.
fast startup 빠른 부팅이 가능한 종료를 진행한다. hybernate보다 부팅이 빠르다.
hybernate laptop 환경을 고려하여 디자인 되었으며, 적은 전력을 사용하도록 sleep 상태로 들어간다.

언뜻 생각하기에 '시스템 종료' 버튼을 누를 경우 시스템 전체가 종료(full shutdown)될 것 같지만,

Windows 8 이상에서는 기본적으로 fast startup으로 종료된다. 제어판 '전원 옵션'에서 '빠른 시작 켜기'를 체크 해제해야 full shutdown을 한다.

 

fast startup으로 재부팅할 경우 서비스가 종료하지 않고 멈추었다가 부팅 후 동작을 이어가게 되는 등 시스템 종료 방법에 따라 일부 동작의 차이가 발생할 수 있다.

 

만약 마지막 부팅이 fast startup으로 부팅이 되었는지를 확인하고 싶다면 PowerShell에서 아래 명령을 실행하면 된다.

Get-WinEvent -ProviderName Microsoft-Windows-Kernel-boot -MaxEvents 10 | Where-Object {$_.id -like “27”}

위 명령을 실행하면 부팅 유형 값이 출력되는데 각 값은 아래와 같다.

부팅 유형 설명
0x0 cold boot from full shutdown
0x1 hybrid boot(fast startup)
0x2 resume from hibernate

 

상황에 따라, 환경에 따라 여러가지 형태의 path 존재할  있다.

C:\Windows\System32
/usr/bin
https://www.naver.com

여러 형태의 path  유독 윈도우만 디렉토리 구분자로 백슬래시(backslashs, ‘\’) 사용하고   다른 모든 환경에서는 슬래시(forward slashs, ‘/‘) 사용한다.  Windows에서만 백슬래시를 사용하는 것일까.

 

Windows에서 백슬래시를 사용하게  배경

1970년경, Unix 슬래시를 디렉토리 구분자로 소개했다.  슬래시를 선택했는지는 모른다.

그리고 1981, Windows MS-DOS 1.0 발표하였다. MS-DOS 1.0 나도 경험한 적이 없기에  모르지만 놀랍게도 디렉토리 개념이 없었다고 한다. 그리고 슬래시를 옵션값 설정용으로 사용을 했다. 이러한 기능은 현재도 유효하다. CMD에서 dir/w 입력하면 가로 목록 형식으로 출력되는 것을 확인할  있다.('help dir'을 입력하면 슬래시를 이용한 여러 옵션 값들을 확인할 수 있다.)

도스에서 '/'의 기능

이후 MS-DOS 2.0에서 디렉토리를 지원하기 시작하였고, 디렉토리 구분자가 필요하게 되었다. 그러나 Unix에서와 같이 슬래시를 디렉토리 구분자로 사용하면 MS-DOS 1.0 옵션 구분자와 충돌이 발생하여 사용할  없었다. 그때라도 옵션 구분자를 다른 문자로 변경했다면 문제가 없었겠지만 MS 디렉토리 구분자를 다른 문자로 바꾸어 사용하기 시작했다. 그  변경한 디렉토리 구분자가 백슬래시이다.

 

OS 따라 디렉토리 구분자를 정확히 써야만 하는가?

최근의 많은 소프트웨어들은  가지 모두를 호환하고 있다. 

Windows 탐색기에서 C:/Windows/System32 입력하면 슬래시가 백슬래시로 변경되어 검색된다.

Chrome 브라우저에서 백슬래시로 URL 입력해도 슬래시로 변경되어 검색된다.

이렇듯 많은 소프트웨어가 디렉토리 구분자로 슬래시와 백슬래시를 모두 지원하고 있다. (테스트 결과 Unix계열에서는 백슬래시를 호환하지 않았다.)

 

하지만 정확한 디렉토리 구분자를 쓰는 것을 권장한다.

많은 소프트웨어가  가지 모두를 호환하지만 그렇지 않는 프로그램도 많기 때문이다. 상황에 맞게 경로를 입력하는 것이 바람직하다.

 

주의 - 보안적 이슈

시스템 API 또한 슬래시와 백슬래시를 모두 지원하는 경우가 있다. 예를 들어 win32 api의 CopyFile 함수의 파라메터에 슬래시가 포함 된 경로를 입력할 경우 백슬래시로 변경하여 인식하게 된다. 이 때문에 사용자로부터 경로를 입력받아 처리하는 경우, 입력 값에 슬래시가 포함되어 있는 상황을 고려해야 한다. 

예를 들어 사용자로부터 입력받은 경로가 C:\Windows\System32  경우 에러가 발생하도록 프로그램을 개발한다고 가정해보자.

입력받은 파라메터를 “C:\Windows\System32” 단순비교 한다면, 사용자가 경로를 “C:/Windows/System32” 입력 할 경우 이를 찾아내지 못할 것이다. 하지만 시스템 API “C:/Windows/System32”에도 정상 동작하므로 프로그램은 해당 경로로 접근할 것이다.

그렇기에 경로를 입력받을  디렉토리 구분자를 통일시키는 작업을 선행하는 것이 바람직하다.

 

[참고]

https://www.howtogeek.com/181774/why-windows-uses-backslashes-and-everything-else-uses-forward-slashes/

+ Recent posts