From 741ae488d54fb6c960de29af2a0224d81582c496 Mon Sep 17 00:00:00 2001 From: tinydew4 Date: Fri, 14 Oct 2016 02:17:35 +0000 Subject: [PATCH] Apply the changes till the '9367c76' commit. --- .../ko-KR/api/chrome-command-line-switches.md | 45 +++++++---- .../ko-KR/api/environment-variables.md | 14 ++-- docs-translations/ko-KR/api/ipc-main.md | 24 +++--- docs-translations/ko-KR/api/ipc-renderer.md | 34 ++++---- docs-translations/ko-KR/api/remote.md | 81 ++++++++++--------- docs-translations/ko-KR/api/screen.md | 2 +- docs-translations/ko-KR/api/synopsis.md | 10 +-- docs-translations/ko-KR/api/tray.md | 2 +- docs-translations/ko-KR/api/web-contents.md | 2 +- .../ko-KR/tutorial/online-offline-events.md | 18 +++-- 10 files changed, 130 insertions(+), 102 deletions(-) diff --git a/docs-translations/ko-KR/api/chrome-command-line-switches.md b/docs-translations/ko-KR/api/chrome-command-line-switches.md index d1c4b7f2af26..3078a594c2c2 100644 --- a/docs-translations/ko-KR/api/chrome-command-line-switches.md +++ b/docs-translations/ko-KR/api/chrome-command-line-switches.md @@ -28,27 +28,36 @@ HTTP 요청 캐시를 비활성화합니다. HTTP/2와 SPDY/3.1 프로토콜을 비활성화합니다. +## --debug=`port` and --debug-brk=`port` + +디버깅관련 플래그입니다. 자세한 내용은 [메인프로세스 디버깅하기] +[debugging-main-process] 안내서를 보세요. + ## --remote-debugging-port=`port` 지정한 `port`에 HTTP 기반의 리모트 디버거를 활성화합니다. (개발자 도구) ## --js-flags=`flags` -JS 엔진에 지정한 플래그를 전달합니다. `flags`를 메인 프로세스에서 활성화하고자 한다면, -Electron이 시작되기 전에 스위치를 전달해야 합니다. +Node JS 엔진에 지정한 플래그를 전달합니다. `flags`를 메인 프로세스에서 +활성화하고자 한다면, Electron이 시작되기 전에 스위치를 전달해야 합니다. ```bash $ electron --js-flags="--harmony_proxies --harmony_collections" your-app ``` +가능한 플래그 목록은 [Node 문서][node-cli]를 보거나 터미널에서 `node --help` +명령을 실행하세요. 또한, 구체적으로 노드의 V8 자바스크립트 엔진과 관련있는 +플래그의 목록을 보려면 `node --v8-options` 를 실행하세요. + ## --proxy-server=`address:port` -시스템 설정의 프록시 서버를 무시하고 지정한 서버로 연결합니다. HTTP와 HTTPS 요청에만 -적용됩니다. +시스템 설정의 프록시 서버를 무시하고 지정한 서버로 연결합니다. HTTP와 HTTPS +요청에만 적용됩니다. -시스템 프록시 서버 설정을 무시하고 지정한 서버로 연결합니다. 이 스위치는 HTTP와 HTTPS -그리고 WebSocket 요청에만 적용됩니다. 그리고 모든 프록시 서버가 HTTPS가 WebSocket -요청을 지원하지 않고 있을 수 있으므로 사용시 주의해야 합니다. +시스템 프록시 서버 설정을 무시하고 지정한 서버로 연결합니다. 이 스위치는 HTTP와 +HTTPS 그리고 WebSocket 요청에만 적용됩니다. 그리고 모든 프록시 서버가 HTTPS가 +WebSocket 요청을 지원하지 않고 있을 수 있으므로 사용시 주의해야 합니다. ## --proxy-bypass-list=`hosts` @@ -71,8 +80,8 @@ app.commandLine.appendSwitch('proxy-bypass-list', ';*.google.com;*foo.com ## --no-proxy-server -프록시 서버를 사용하지 않습니다. 다른 프록시 서버 플래그 및 설정을 무시하고 언제나 직접 -연결을 사용합니다. +프록시 서버를 사용하지 않습니다. 다른 프록시 서버 플래그 및 설정을 무시하고 +언제나 직접 연결을 사용합니다. ## --host-rules=`rules` @@ -141,17 +150,17 @@ SSL 암호화를 비활성화할 대상 목록을 지정합니다. (`,`로 구 Chromium이 렌더러 프로세스의 보이지 않는 페이지의 우선순위를 낮추는 것을 방지합니다. -이 플래그는 전역적이며 모든 렌더러 프로세스에 적용됩니다. 만약 하나의 윈도우창에만 -스로틀링을 비활성화하고 싶다면 [조용한 오디오를 재생하는][play-silent-audio] 핵을 -사용할 수 있습니다. +이 플래그는 전역적이며 모든 렌더러 프로세스에 적용됩니다. 만약 하나의 윈도우 +창에만 스로틀링을 비활성화하고 싶다면 [조용한 오디오를 재생하는][play-silent-audio] +핵을 사용할 수 있습니다. ## --enable-logging Chromium의 로그를 콘솔에 출력합니다. 이 스위치는 애플리케이션이 로드되기 전에 분석 되므로 `app.commandLine.appendSwitch` -메서드에선 사용할 수 없습니다. 하지만 `ELECTRON_ENABLE_LOGGING` 환경 변수를 설정하면 -본 스위치를 지정한 것과 같은 효과를 낼 수 있습니다. +메서드에선 사용할 수 없습니다. 하지만 `ELECTRON_ENABLE_LOGGING` 환경 변수를 +설정하면 본 스위치를 지정한 것과 같은 효과를 낼 수 있습니다. ## --v=`log_level` @@ -166,9 +175,9 @@ Chromium의 로그를 콘솔에 출력합니다. 예를 들어 `my_module=2,foo*=3`는 `my_module.*`, `foo*.*`와 같은 파일 이름 패턴을 가진 모든 소스 코드들의 로깅 레벨을 각각 2와 3으로 설정합니다. -또한 슬래시(`/`) 또는 백슬래시(`\`)를 포함하는 패턴은 지정한 경로에 대해 패턴을 테스트 -합니다. 예를 들어 `*/foo/bar/*=2` 표현식은 `foo/bar` 디렉터리 안의 모든 소스 코드의 -로깅 레벨을 2로 지정합니다. +또한 슬래시(`/`) 또는 백슬래시(`\`)를 포함하는 패턴은 지정한 경로에 대해 패턴을 +테스트 합니다. 예를 들어 `*/foo/bar/*=2` 표현식은 `foo/bar` 디렉터리 안의 모든 +소스 코드의 로깅 레벨을 2로 지정합니다. 이 스위치는 `--enable-logging` 스위치를 같이 지정해야 작동합니다. @@ -176,3 +185,5 @@ Chromium의 로그를 콘솔에 출력합니다. [append-switch]: app.md#appcommandlineappendswitchswitch-value [ready]: app.md#event-ready [play-silent-audio]: https://github.com/atom/atom/pull/9485/files +[debugging-main-process]: ../tutorial/debugging-main-process.md +[node-cli]: https://nodejs.org/api/cli.html diff --git a/docs-translations/ko-KR/api/environment-variables.md b/docs-translations/ko-KR/api/environment-variables.md index e95027a2e5ec..e088ad64873c 100644 --- a/docs-translations/ko-KR/api/environment-variables.md +++ b/docs-translations/ko-KR/api/environment-variables.md @@ -35,12 +35,13 @@ Electron 은 하드코딩 된 구글의 위치정보 웹서비스 요청을 위 process.env.GOOGLE_API_KEY = 'YOUR_KEY_HERE' ``` -구글 API 키를 획득하는 방법은 다음 페이지를 참고하세요. -https://www.chromium.org/developers/how-tos/api-keys +구글 API 키를 획득하는 방법은 +[이 페이지](https://www.chromium.org/developers/how-tos/api-keys)를 참고하세요. 기본적으로, 새로 생성된 구글 API 키는 위치정보 요청이 허용되지 않습니다. -위치정보 요청을 사용하려면 다음 페이지를 방문하세요: -https://console.developers.google.com/apis/api/geolocation/overview +위치정보 요청을 사용하려면 +[이 페이지](https://console.developers.google.com/apis/api/geolocation/overview)를 +방문하세요. ### `ELECTRON_NO_ASAR` @@ -61,8 +62,9 @@ Chrome의 내부 로그를 콘솔에 출력합니다. ### `ELECTRON_LOG_ASAR_READS` -Electron이 ASAR 파일을 읽을 때, 읽기 오프셋의 로그를 남기고 시스템 `tmpdir`에 파일로 -저장합니다. 결과 파일은 ASAR 모듈의 파일 순서를 최적화 하는데 사용할 수 있습니다. +Electron이 ASAR 파일을 읽을 때, 읽기 오프셋의 로그를 남기고 시스템 `tmpdir`에 +파일로 저장합니다. 결과 파일은 ASAR 모듈의 파일 순서를 최적화 하는데 사용할 수 +있습니다. ### `ELECTRON_ENABLE_STACK_DUMPING` diff --git a/docs-translations/ko-KR/api/ipc-main.md b/docs-translations/ko-KR/api/ipc-main.md index c60a200bdb1a..d703360df894 100644 --- a/docs-translations/ko-KR/api/ipc-main.md +++ b/docs-translations/ko-KR/api/ipc-main.md @@ -2,15 +2,16 @@ > 메인 프로세스에서 렌더러 프로세스로 비동기 통신을 합니다. -`ipcMain` 모듈은 [EventEmitter](https://nodejs.org/api/events.html) 클래스의 -인스턴스입니다. 메인 프로세스에서 사용하면, 렌더러 프로세스(웹 페이지)에서 전달된 -동기, 비동기 메시지를 주고 받는 방법을 제공합니다. 렌더러 프로세스에서 메시지를 전달하면 -이 모듈을 통해 메시지를 받을 수 있습니다. +`ipcMain` 모듈은 [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) +클래스의 인스턴스입니다. 메인 프로세스에서 사용하면, 렌더러 +프로세스(웹 페이지)에서 전달된 동기, 비동기 메시지를 주고 받는 방법을 +제공합니다. 렌더러 프로세스에서 메시지를 전달하면 이 모듈을 통해 메시지를 받을 +수 있습니다. ## 메시지 전송 -물론 메시지를 받는 것 말고도 메인 프로세스에서 렌더러 프로세스로 보내는 것도 가능합니다. -자세한 내용은 [webContents.send][web-contents-send]를 참고하세요. +물론 메시지를 받는 것 말고도 메인 프로세스에서 렌더러 프로세스로 보내는 것도 +가능합니다. 자세한 내용은 [webContents.send][web-contents-send]를 참고하세요. * 메시지를 전송할 때 이벤트 이름은 `channel`이 됩니다. * 메시지에 동기로 응답할 땐 반드시 `event.returnValue`를 설정해야 합니다. @@ -60,17 +61,18 @@ ipcRenderer.send('asynchronous-message', 'ping') * `channel` String * `listener` Function -이벤트에 대해 한 번만 작동하는 `listener` 함수를 등록합니다. 이 `listener`는 등록된 -후 `channel`에 보내지는 메시지에 한해 호출됩니다. 호출된 이후엔 리스너가 삭제됩니다. +이벤트에 대해 한 번만 작동하는 `listener` 함수를 등록합니다. 이 `listener`는 +등록된 후 `channel`에 보내지는 메시지에 한해 호출됩니다. 호출된 이후엔 리스너가 +삭제됩니다. ### `ipcMain.removeListener(channel, listener)` * `channel` String * `listener` Function -메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 채널의 -메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 삭제할 수 -있습니다. +메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 +채널의 메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 +삭제할 수 있습니다. 지정한 `channel`에 대한 리스너를 저장하는 배열에서 지정한 `listener`를 삭제합니다. diff --git a/docs-translations/ko-KR/api/ipc-renderer.md b/docs-translations/ko-KR/api/ipc-renderer.md index ec3509a8a243..0f8e3ded1942 100644 --- a/docs-translations/ko-KR/api/ipc-renderer.md +++ b/docs-translations/ko-KR/api/ipc-renderer.md @@ -2,9 +2,10 @@ > 렌더러 프로세스에서 메인 프로세스로 비동기 통신을 합니다. -`ipcRenderer` 모듈은 [EventEmitter](https://nodejs.org/api/events.html) 클래스의 -인스턴스입니다. 렌더러 프로세스에서 메인 프로세스로 동기/비동기 메시지를 주고 받는 -방법을 제공합니다. 또한 메인 프로세스로부터 받은 메시지에 응답할 수도 있습니다. +`ipcRenderer` 모듈은 [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) +클래스의 인스턴스입니다. 렌더러 프로세스에서 메인 프로세스로 동기/비동기 +메시지를 주고 받는 방법을 제공합니다. 또한 메인 프로세스로부터 받은 메시지에 +응답할 수도 있습니다. [ipcMain](ipc-main.md)에서 코드 예시를 확인할 수 있습니다. @@ -25,17 +26,18 @@ * `channel` String * `listener` Function -이벤트에 대해 한 번만 작동하는 `listener` 함수를 등록합니다. 이 `listener`는 등록된 -후 `channel`에 보내지는 메시지에 한해 호출됩니다. 호출된 이후엔 리스너가 삭제됩니다. +이벤트에 대해 한 번만 작동하는 `listener` 함수를 등록합니다. 이 `listener`는 +등록된 후 `channel`에 보내지는 메시지에 한해 호출됩니다. 호출된 이후엔 리스너가 +삭제됩니다. ### `ipcRenderer.removeListener(channel, listener)` * `channel` String * `listener` Function -메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 채널의 -메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 삭제할 수 -있습니다. +메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 +채널의 메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 +삭제할 수 있습니다. 지정한 `channel`에 대한 리스너를 저장하는 배열에서 지정한 `listener`를 삭제합니다. @@ -54,9 +56,9 @@ * `channel` String * `arg` (optional) -`channel`을 통해 메인 프로세스에 비동기 메시지를 보냅니다. 그리고 필요에 따라 임의의 -인수를 사용할 수도 있습니다. 인수들은 내부적으로 JSON 포맷으로 직렬화 되며, 이후 함수와 -프로토타입 체인은 포함되지 않게 됩니다. +`channel`을 통해 메인 프로세스에 비동기 메시지를 보냅니다. 그리고 필요에 따라 +임의의 인수를 사용할 수도 있습니다. 인수들은 내부적으로 JSON 포맷으로 직렬화 +되며, 이후 함수와 프로토타입 체인은 포함되지 않게 됩니다. 메인 프로세스는 `ipcMain` 모듈의 `channel` 이벤트를 통해 이벤트를 리스닝 할 수 있습니다. @@ -66,15 +68,15 @@ * `channel` String * `arg` (optional) -`channel`을 통해 메인 프로세스에 동기 메시지를 보냅니다. 그리고 필요에 따라 임의의 -인수를 사용할 수도 있습니다. 인수들은 내부적으로 JSON 포맷으로 직렬화 되며, 이후 함수와 -프로토타입 체인은 포함되지 않게 됩니다. +`channel`을 통해 메인 프로세스에 동기 메시지를 보냅니다. 그리고 필요에 따라 +임의의 인수를 사용할 수도 있습니다. 인수들은 내부적으로 JSON 포맷으로 직렬화 +되며, 이후 함수와 프로토타입 체인은 포함되지 않게 됩니다. 메인 프로세스는 `ipcMain` 모듈을 통해 `channel` 이벤트를 리스닝 할 수 있고, `event.returnValue`로 회신 할 수 있습니다. -**참고:** 동기 메서드는 모든 렌더러 프로세스의 작업을 일시 중단시킵니다. 사용 목적이 -확실하지 않다면 사용하지 않는 것이 좋습니다. +**참고:** 동기 메서드는 모든 렌더러 프로세스의 작업을 일시 중단시킵니다. 사용 +목적이 확실하지 않다면 사용하지 않는 것이 좋습니다. ### `ipcRenderer.sendToHost(channel[, arg1][, arg2][, ...])` diff --git a/docs-translations/ko-KR/api/remote.md b/docs-translations/ko-KR/api/remote.md index 868158eca05b..316e8115b7a0 100644 --- a/docs-translations/ko-KR/api/remote.md +++ b/docs-translations/ko-KR/api/remote.md @@ -5,9 +5,9 @@ `remote` 모듈은 메인 프로세스와 렌더러 프로세스(웹 페이지) 사이의 inter-process (IPC) 통신을 간단하게 추상화 한 모듈입니다. -Electron의 메인 프로세스에선 GUI와 관련 있는(`dialog`, `menu`등) 모듈만 사용할 수 -있습니다. 렌더러 프로세스에서 이러한 모듈들을 사용하려면 `ipc` 모듈을 통해 메인 -프로세스와 inter-process 통신을 해야 합니다. 또한, `remote` 모듈을 사용하면 +Electron의 메인 프로세스에선 GUI와 관련 있는(`dialog`, `menu`등) 모듈만 사용할 +수 있습니다. 렌더러 프로세스에서 이러한 모듈들을 사용하려면 `ipc` 모듈을 통해 +메인 프로세스와 inter-process 통신을 해야 합니다. 또한, `remote` 모듈을 사용하면 inter-process 통신을 하지 않고도 간단한 API를 통해 직접 메인 프로세스의 모듈과 메서드를 사용할 수 있습니다. 이 개념은 Java의 [RMI][rmi]와 비슷합니다. @@ -20,20 +20,21 @@ let win = new BrowserWindow({width: 800, height: 600}) win.loadURL('https://github.com') ``` -**참고:** 반대로 메인 프로세스에서 렌더러 프로세스에 접근 하려면 [webContents.executeJavascript](web-contents.md#webcontentsexecutejavascriptcode-usergesture-callback) +**참고:** 반대로 메인 프로세스에서 렌더러 프로세스에 접근 하려면 +[webContents.executeJavascript](web-contents.md#contentsexecutejavascriptcode-usergesture-callback) 메서드를 사용하면 됩니다. ## Remote 객체 -`remote` 모듈로부터 반환된 각 객체(메서드 포함)는 메인 프로세스의 객체를 추상화 한 -객체입니다. (우리는 그것을 remote 객체 또는 remote 함수라고 부릅니다) Remote 모듈의 -메서드를 호출하거나, 객체에 접근하거나, 생성자로 객체를 생성하는 등의 작업은 실질적으로 -동기형 inter-process 메시지를 보냅니다. +`remote` 모듈로부터 반환된 각 객체(메서드 포함)는 메인 프로세스의 객체를 추상화 +한 객체입니다. (우리는 그것을 remote 객체 또는 remote 함수라고 부릅니다) Remote +모듈의 메서드를 호출하거나, 객체에 접근하거나, 생성자로 객체를 생성하는 등의 +작업은 실질적으로 동기형 inter-process 메시지를 보냅니다. 위의 예시에서 사용한 두 `BrowserWindow`와 `win`은 remote 객체입니다. 그리고 -`new BrowserWindow`이 생성하는 `BrowserWindow` 객체는 렌더러 프로세스에서 생성되지 -않습니다. 대신에 이 `BrowserWindow` 객체는 메인 프로세스에서 생성되며 렌더러 -프로세스에 `win` 객체와 같이 이에 대응하는 remote 객체를 반환합니다. +`new BrowserWindow`이 생성하는 `BrowserWindow` 객체는 렌더러 프로세스에서 +생성되지 않습니다. 대신에 이 `BrowserWindow` 객체는 메인 프로세스에서 생성되며 +렌더러 프로세스에 `win` 객체와 같이 이에 대응하는 remote 객체를 반환합니다. **참고:** remote 객체가 처음 참조될 때 표시되는 [enumerable 속성][enumerable-properties]은 remote를 통해서만 접근할 수 있습니다. @@ -45,26 +46,27 @@ win.loadURL('https://github.com') ## Remote 객체의 생명 주기 Electron은 렌더러 프로세스의 remote 객체가 살아있는 한(다시 말해서 GC(garbage -collection)가 일어나지 않습니다) 대응하는 메인 프로세스의 객체는 릴리즈되지 않습니다. -Remote 객체가 GC 되려면 대응하는 메인 프로세스 내부 객체의 참조가 해제되어야만 합니다. +collection)가 일어나지 않습니다) 대응하는 메인 프로세스의 객체는 릴리즈되지 +않습니다. Remote 객체가 GC 되려면 대응하는 메인 프로세스 내부 객체의 참조가 +해제되어야만 합니다. 만약 remote 객체가 렌더러 프로세스에서 누수가 생겼다면 (예시: 맵에 저장하고 할당 -해제하지 않음) 대응하는 메인 프로세스의 객체도 누수가 생깁니다. 그래서 remote 객체를 -사용할 땐 메모리 누수가 생기지 않도록 매우 주의해서 사용해야 합니다. +해제하지 않음) 대응하는 메인 프로세스의 객체도 누수가 생깁니다. 그래서 remote +객체를 사용할 땐 메모리 누수가 생기지 않도록 매우 주의해서 사용해야 합니다. 참고로 문자열, 숫자와 같은 원시 값 타입은 복사에 의한 참조로 전달됩니다. ## 메인 프로세스로 콜백 넘기기 -메인 프로세스의 코드는 `remote` 모듈을 통해 렌더러 프로세스가 전달하는 콜백 함수를 -받을 수 있습니다. 하지만 이 작업은 반드시 주의를 기울여 사용해야 합니다. +메인 프로세스의 코드는 `remote` 모듈을 통해 렌더러 프로세스가 전달하는 콜백 +함수를 받을 수 있습니다. 하지만 이 작업은 반드시 주의를 기울여 사용해야 합니다. -첫째, 데드락을 피하기 위해 메인 프로세스로 전달된 콜백들은 비동기로 호출됩니다. 이러한 -이유로 메인 프로세스에 전달된 콜백의 반환 값을 내부 함수에서 언제나 정상적으로 받을 -것이라고 예측해선 안됩니다. +첫째, 데드락을 피하기 위해 메인 프로세스로 전달된 콜백들은 비동기로 호출됩니다. +이러한 이유로 메인 프로세스에 전달된 콜백의 반환 값을 내부 함수에서 언제나 +정상적으로 받을 것이라고 예측해선 안됩니다. -예를 들어 메인 프로세스에서 `Array.map` 같은 메서드를 사용할 때 렌더러 프로세스에서 -전달된 함수를 사용해선 안됩니다: +예를 들어 메인 프로세스에서 `Array.map` 같은 메서드를 사용할 때 렌더러 +프로세스에서 전달된 함수를 사용해선 안됩니다: ```javascript // mapNumbers.js 메인 프로세스 @@ -88,15 +90,15 @@ const withLocalCb = mapNumbers.withLocalCallback() console.log(withRendererCb, withLocalCb) // [undefined, undefined, undefined], [2, 3, 4] ``` -보다시피 동기적인 렌더러 콜백 함수의 반환 값은 예상되지 않은 값입니다. 그리고 메인 -프로세스에서 처리한 함수의 반환 값과 일치하지 않습니다. +보다시피 동기적인 렌더러 콜백 함수의 반환 값은 예상되지 않은 값입니다. 그리고 +메인 프로세스에서 처리한 함수의 반환 값과 일치하지 않습니다. -둘째, 콜백들은 메인 프로세스로 전달, 호출된 이후에도 자동으로 함수의 참조가 릴리즈 되지 -않습니다. 함수 참조는 메인 프로세스에서 GC가 일어나기 전까지 계속 프로세스에 남아있게 -됩니다. +둘째, 콜백들은 메인 프로세스로 전달, 호출된 이후에도 자동으로 함수의 참조가 +릴리즈 되지 않습니다. 함수 참조는 메인 프로세스에서 GC가 일어나기 전까지 계속 +프로세스에 남아있게 됩니다. -다음 코드를 보면 느낌이 올 것입니다. 이 예시는 remote 객체에 `close` 이벤트 콜백을 -등록합니다: +다음 코드를 보면 느낌이 올 것입니다. 이 예시는 remote 객체에 `close` 이벤트 +콜백을 등록합니다: ```javascript const remote = require('remote') @@ -106,18 +108,19 @@ remote.getCurrentWindow().on('close', () => { }) ``` -하지만 이 코드와 같이 등록된 이벤트는 명시적으로 제거하지 않는 이상 콜백 함수의 참조가 -계속해서 메인 프로세스에 남아있게 됩니다. 만약 명시적으로 콜백을 제거하지 않으면 매 번 -창을 새로고침 할 때마다 콜백을 새로 설치합니다. 게다가 이전 콜백이 제거되지 않고 -계속해서 쌓이면서 메모리 누수가 발생합니다. +하지만 이 코드와 같이 등록된 이벤트는 명시적으로 제거하지 않는 이상 콜백 함수의 +참조가 계속해서 메인 프로세스에 남아있게 됩니다. 만약 명시적으로 콜백을 제거하지 +않으면 매 번 창을 새로고침 할 때마다 콜백을 새로 설치합니다. 게다가 이전 콜백이 +제거되지 않고 계속해서 쌓이면서 메모리 누수가 발생합니다. -설상가상으로 이전에 등록된 콜백의 컨텍스트가 릴리즈 되고 난 후 (e.g. 페이지 새로고침) -`close` 이벤트가 발생하면 예외가 발생하고 메인 프로세스가 작동 중지됩니다. +설상가상으로 이전에 등록된 콜백의 컨텍스트가 릴리즈 되고 난 후 (e.g. 페이지 +새로고침) `close` 이벤트가 발생하면 예외가 발생하고 메인 프로세스가 작동 +중지됩니다. -이러한 문제를 피하려면 렌더러 프로세스에서 메인 프로세스로 넘긴 함수의 참조를 사용 후 -확실하게 제거해야 합니다. 작업 후 이벤트 콜백을 포함하여 책임 있게 함수의 참조를 -제거하거나 메인 프로세스에서 렌더러 프로세스가 종료될 때 내부적으로 함수 참조를 -제거하도록 설계해야 합니다. +이러한 문제를 피하려면 렌더러 프로세스에서 메인 프로세스로 넘긴 함수의 참조를 +사용 후 확실하게 제거해야 합니다. 작업 후 이벤트 콜백을 포함하여 책임 있게 +함수의 참조를 제거하거나 메인 프로세스에서 렌더러 프로세스가 종료될 때 +내부적으로 함수 참조를 제거하도록 설계해야 합니다. ## 메인 프로세스의 빌트인 모듈에 접근 diff --git a/docs-translations/ko-KR/api/screen.md b/docs-translations/ko-KR/api/screen.md index 924babd7947f..c9b7ee1cd168 100644 --- a/docs-translations/ko-KR/api/screen.md +++ b/docs-translations/ko-KR/api/screen.md @@ -5,7 +5,7 @@ 이 모듈은 `app` 모듈의 `ready` 이벤트가 발생하기 전까지 포함하거나 사용할 수 없습니다. -`screen`은 [EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter)를 +`screen`은 [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter)를 상속 받았습니다. **참고:** 렌더러 / DevTools에선 이미 DOM 속성이 `window.screen`을 가지고 있으므로 diff --git a/docs-translations/ko-KR/api/synopsis.md b/docs-translations/ko-KR/api/synopsis.md index 66691698d560..2d24b32d4aa0 100644 --- a/docs-translations/ko-KR/api/synopsis.md +++ b/docs-translations/ko-KR/api/synopsis.md @@ -2,14 +2,14 @@ > Node.js와 Electron API를 사용하는 방법. -Electron은 모든 [Node.js의 built-in 모듈](http://nodejs.org/api/)과 third-party +Electron은 모든 [Node.js의 built-in 모듈](https://nodejs.org/api/)과 third-party node 모듈을 완벽하게 지원합니다. ([네이티브 모듈](../tutorial/using-native-node-modules.md) 포함) -또한 Electron은 네이티브 데스크톱 애플리케이션을 개발 할 수 있도록 추가적인 built-in -모듈을 제공합니다. 몇몇 모듈은 메인 프로세스에서만 사용할 수 있고 어떤 모듈은 렌더러 -프로세스(웹 페이지)에서만 사용할 수 있습니다. 또한 두 프로세스 모두 사용할 수 있는 -모듈도 있습니다. +또한 Electron은 네이티브 데스크톱 애플리케이션을 개발 할 수 있도록 추가적인 +built-in 모듈을 제공합니다. 몇몇 모듈은 메인 프로세스에서만 사용할 수 있고 어떤 +모듈은 렌더러 프로세스(웹 페이지)에서만 사용할 수 있습니다. 또한 두 프로세스 +모두 사용할 수 있는 모듈도 있습니다. 기본적인 규칙으로 [GUI][gui]와 저 수준 시스템에 관련된 모듈들은 오직 메인 프로세스에서만 사용할 수 있습니다. [메인 프로세스 vs. 렌더러 프로세스](../tutorial/quick-start.md#메인-프로세스) diff --git a/docs-translations/ko-KR/api/tray.md b/docs-translations/ko-KR/api/tray.md index a162b48f5d06..379c926b1bb5 100644 --- a/docs-translations/ko-KR/api/tray.md +++ b/docs-translations/ko-KR/api/tray.md @@ -228,4 +228,4 @@ Returns [`Rectangle`](structures/rectangle.md) Returns `Boolean` - 트레이 아이콘이 소멸되었는지 여부. -[event-emitter]: http://nodejs.org/api/events.html#events_class_events_eventemitter +[event-emitter]: https://nodejs.org/api/events.html#events_class_eventemitter diff --git a/docs-translations/ko-KR/api/web-contents.md b/docs-translations/ko-KR/api/web-contents.md index 6814f0717160..10af2a66c834 100644 --- a/docs-translations/ko-KR/api/web-contents.md +++ b/docs-translations/ko-KR/api/web-contents.md @@ -2,7 +2,7 @@ > 웹 페이지를 렌더링하고 제어합니다. -`webContents`는 [EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter)를 +`webContents`는 [EventEmitter](http://nodejs.org/api/events.html#events_class_eventemitter)를 상속받았습니다. 웹 페이지의 렌더링과 관리를 책임지며 [`BrowserWindow`](browser-window.md)의 속성입니다. 다음은 `webContents` 객체에 접근하는 예시입니다: diff --git a/docs-translations/ko-KR/tutorial/online-offline-events.md b/docs-translations/ko-KR/tutorial/online-offline-events.md index 653b11327095..d69e09ff46a7 100644 --- a/docs-translations/ko-KR/tutorial/online-offline-events.md +++ b/docs-translations/ko-KR/tutorial/online-offline-events.md @@ -1,7 +1,7 @@ # 온라인/오프라인 이벤트 감지 -온라인/오프라인 이벤트는 다음 예시와 같이 렌더러 프로세스에서 표준 HTML5 API를 이용하여 -구현할 수 있습니다. +온라인/오프라인 이벤트는 다음 예시와 같이 렌더러 프로세스에서 표준 HTML5 API를 +이용하여 구현할 수 있습니다. _main.js_ @@ -36,9 +36,9 @@ _online-status.html_ ``` -메인 프로세스에서 이 이벤트를 처리할 필요가 있는 경우 이벤트를 메인 프로세스로 보낼 수 -있습니다. 메인 프로세스는 `navigator` 객체를 가지고 있지 않기 때문에 이 이벤트를 직접 -사용할 수는 없습니다. +메인 프로세스에서 이 이벤트를 처리할 필요가 있는 경우 이벤트를 메인 프로세스로 +보낼 수 있습니다. 메인 프로세스는 `navigator` 객체를 가지고 있지 않기 때문에 이 +이벤트를 직접 사용할 수는 없습니다. 대신 다음 예시와 같이 Electron의 inter-process communication(ipc) 유틸리티를 사용하면 이벤트를 메인 프로세스로 전달할 수 있습니다. @@ -79,3 +79,11 @@ _online-status.html_ ``` + +**참고:** Electron 이 근거리 통신망 (LAN) 또는 라우터에 연결할 수 없는 경우, +오프라인으로 간주됩니다; 그 외의 경우는 `true` 를 반환합니다. 그래서 +`navigator.onLine` 이 `false` 값을 반환하면 Electron 이 오프라인이라고 가정할 수 +있습니다. 하지만 `true` 값은 Electron 이 인터넷에 접근할 수 있다고 가정할 수 +없습니다. 항상 "연결된" 가상 이더넷 어댑터를 가지고 있는 가상화 소프트웨어 +상에서 작동하는 경우 잘못된 반응을 얻을 수 있습니다. 그러므로, Electron 의 +인터넷 접근 상태를 확인하려면, 확인하기 위한 추가적인 개발을 해야합니다.