📝 Fix typos

[ci skip]
This commit is contained in:
Plusb Preco 2016-04-18 02:39:05 +09:00
parent 8d08c3241d
commit c8e77f47ab
20 changed files with 60 additions and 60 deletions

View file

@ -69,7 +69,7 @@ Electron에 대해 자주 묻는 질문이 있습니다. 이슈를 생성하기
* [webContents](api/web-contents.md)
* [Tray](api/tray.md)
### 더러 프로세스에서 사용할 수 있는 모듈 (웹 페이지):
### 더러 프로세스에서 사용할 수 있는 모듈 (웹 페이지):
* [desktopCapturer](api/desktop-capturer.md)
* [ipcRenderer](api/ipc-renderer.md)

View file

@ -8,7 +8,7 @@
// 메인 프로세스에서
const BrowserWindow = require('electron').BrowserWindow;
// 또는 더러 프로세스에서
// 또는 더러 프로세스에서
const BrowserWindow = require('electron').remote.BrowserWindow;
var win = new BrowserWindow({ width: 800, height: 600, show: false });
@ -159,7 +159,7 @@ win.show();
기본값은 `false`입니다.
* `experimentalCanvasFeatures` Boolean - Chrome의 실험적인 캔버스(canvas) 기능을
활성화합니다. 기본값은 `false`입니다.
* `directWrite` Boolean - Windows에서 폰트 더링을 위해 DirectWrite를
* `directWrite` Boolean - Windows에서 폰트 더링을 위해 DirectWrite를
사용하는지를 지정합니다. 기본값은 `true`입니다.
* `blinkFeatures` String - `CSSVariables,KeyboardEventKey`같은 `,`로 구분된
기능 문자열들의 리스트입니다. 지원하는 전체 기능 문자열들은

View file

@ -121,9 +121,9 @@ SSL 암호화를 비활성화할 대상 목록을 지정합니다. (`,`로 구
## --disable-renderer-backgrounding
Chromium이 더러 프로세스의 보이지 않는 페이지의 우선순위를 낮추는 것을 방지합니다.
Chromium이 더러 프로세스의 보이지 않는 페이지의 우선순위를 낮추는 것을 방지합니다.
이 플래그는 전역적이며 모든 더러 프로세스에 적용됩니다. 만약 하나의 윈도우창에만
이 플래그는 전역적이며 모든 더러 프로세스에 적용됩니다. 만약 하나의 윈도우창에만
스로틀링을 비활성화하고 싶다면 [조용한 오디오를 재생하는][play-silent-audio] 핵을 사용할
수 있습니다.

View file

@ -42,7 +42,7 @@ crashReporter.start({
**참고:** OS X에선 Windows와 Linux의 `breakpad`와 달리 새로운 `crashpad`
클라이언트를 사용합니다. 오류 수집 기능을 활성화 시키려면 오류를 수집하고 싶은 메인
프로세스나 더러 프로세스에서 `crashReporter.start` 메서드를 호출하여 `crashpad`
프로세스나 더러 프로세스에서 `crashReporter.start` 메서드를 호출하여 `crashpad`
초기화해야 합니다.
### `crashReporter.getLastCrashReport()`

View file

@ -12,7 +12,7 @@ const dialog = require('electron').dialog;
console.log(dialog.showOpenDialog({ properties: [ 'openFile', 'openDirectory', 'multiSelections' ]}));
```
대화 상자는 Electron의 메인 스레드에서 열립니다. 만약 더러 프로세스에서 대화 상자
대화 상자는 Electron의 메인 스레드에서 열립니다. 만약 더러 프로세스에서 대화 상자
객체를 사용하고 싶다면, `remote`를 통해 접근하는 방법을 고려해야 합니다:
```javascript

View file

@ -1,20 +1,20 @@
# ipcMain
`ipcMain` 모듈은 [EventEmitter](https://nodejs.org/api/events.html) 클래스의
인스턴스입니다. 메인 프로세스에서 사용하면, 더러 프로세스(웹 페이지)에서 전달된
동기, 비동기 메시지를 주고 받는 방법을 제공합니다. 더러 프로세스에서 메시지를 전달하면
인스턴스입니다. 메인 프로세스에서 사용하면, 더러 프로세스(웹 페이지)에서 전달된
동기, 비동기 메시지를 주고 받는 방법을 제공합니다. 더러 프로세스에서 메시지를 전달하면
이 모듈을 통해 메시지를 받을 수 있습니다.
## 메시지 전송
물론 메시지를 받는 것 말고도 메인 프로세스에서 더러 프로세스로 보내는 것도 가능합니다.
물론 메시지를 받는 것 말고도 메인 프로세스에서 더러 프로세스로 보내는 것도 가능합니다.
자세한 내용은 [webContents.send][web-contents-send]를 참고하세요.
* 메시지를 전송할 때 이벤트 이름은 `channel`이 됩니다.
* 메시지에 동기로 응답할 땐 반드시 `event.returnValue`를 설정해야 합니다.
* 메시지를 비동기로 응답할 땐 `event.sender.send(...)` 메서드를 사용할 수 있습니다.
다음 예제는 더러 프로세스와 메인 프로세스간에 메시지를 전달하고 받는 예제입니다:
다음 예제는 더러 프로세스와 메인 프로세스간에 메시지를 전달하고 받는 예제입니다:
```javascript
// 메인 프로세스
@ -31,7 +31,7 @@ ipcMain.on('synchronous-message', function(event, arg) {
```
```javascript
// 더러 프로세스 (웹 페이지)
// 더러 프로세스 (웹 페이지)
const ipcRenderer = require('electron').ipcRenderer;
console.log(ipc.sendSync('synchronous-message', 'ping')); // "pong" 출력

View file

@ -1,7 +1,7 @@
# ipcRenderer
`ipcRenderer` 모듈은 [EventEmitter](https://nodejs.org/api/events.html) 클래스의
인스턴스입니다. 더러 프로세스에서 메인 프로세스로 동기/비동기 메시지를 주고 받는
인스턴스입니다. 더러 프로세스에서 메인 프로세스로 동기/비동기 메시지를 주고 받는
방법을 제공합니다. 또한 메인 프로세스로부터 받은 메시지에 응답할 수도 있습니다.
[ipcMain](ipc-main.md)에서 코드 예제를 확인할 수 있습니다.
@ -71,7 +71,7 @@
메인 프로세스는 `ipcMain` 모듈을 통해 `channel` 이벤트를 리스닝 할 수 있고,
`event.returnValue`로 회신 할 수 있습니다.
**참고:** 동기 메서드는 모든 더러 프로세스의 작업을 일시 중단시킵니다. 사용 목적이
**참고:** 동기 메서드는 모든 더러 프로세스의 작업을 일시 중단시킵니다. 사용 목적이
확실하지 않다면 사용하지 않는 것이 좋습니다.
### `ipcRenderer.sendToHost(channel[, arg1][, arg2][, ...])`

View file

@ -1,7 +1,7 @@
# Menu
`menu` 클래스는 어플리케이션 메뉴와 [컨텍스트 메뉴](https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/PopupGuide/ContextMenus)를
만들 때 사용됩니다. 이 모듈은 메인 프로세스용 모듈이지만 `remote` 모듈을 통해 더러
만들 때 사용됩니다. 이 모듈은 메인 프로세스용 모듈이지만 `remote` 모듈을 통해 더러
프로세스에서도 사용할 수 있습니다.
각 메뉴는 여러 개의 [메뉴 아이템](menu-item.md)으로 구성되고 서브 메뉴를 가질 수도 있습니다.
@ -29,7 +29,7 @@ window.addEventListener('contextmenu', function (e) {
</script>
```
또 하나의 예를 들자면 다음 예제는 더러 프로세스에서 template API를 사용하여
또 하나의 예를 들자면 다음 예제는 더러 프로세스에서 template API를 사용하여
어플리케이션 메뉴를 만듭니다:
```javascript

View file

@ -1,15 +1,15 @@
# remote
`remote` 모듈은 메인 프로세스와 더러 프로세스(웹 페이지) 사이의 inter-process
`remote` 모듈은 메인 프로세스와 더러 프로세스(웹 페이지) 사이의 inter-process
(IPC) 통신을 간단하게 추상화 한 모듈입니다.
Electron의 메인 프로세스에선 GUI와 관련 있는(`dialog`, `menu`등) 모듈만 사용할 수
있습니다. 더러 프로세스에서 이러한 모듈들을 사용하려면 `ipc` 모듈을 통해 메인
있습니다. 더러 프로세스에서 이러한 모듈들을 사용하려면 `ipc` 모듈을 통해 메인
프로세스와 inter-process 통신을 해야 합니다. 또한, `remote` 모듈을 사용하면
inter-process 통신을 하지 않고도 간단한 API를 통해 직접 메인 프로세스의 모듈과
메서드를 사용할 수 있습니다. 이 개념은 Java의 [RMI][rmi]와 비슷합니다.
다음 예제는 더러 프로세스에서 브라우저 창을 만드는 예제입니다:
다음 예제는 더러 프로세스에서 브라우저 창을 만드는 예제입니다:
```javascript
const remote = require('electron').remote;
@ -19,7 +19,7 @@ var win = new BrowserWindow({ width: 800, height: 600 });
win.loadURL('https://github.com');
```
**참고:** 반대로 메인 프로세스에서 더러 프로세스에 접근 하려면 [webContents.executeJavascript](web-contents.md#webcontentsexecutejavascriptcode-usergesture)
**참고:** 반대로 메인 프로세스에서 더러 프로세스에 접근 하려면 [webContents.executeJavascript](web-contents.md#webcontentsexecutejavascriptcode-usergesture)
메서드를 사용하면 됩니다.
## Remote 객체
@ -30,8 +30,8 @@ win.loadURL('https://github.com');
동기형 inter-process 메시지를 보냅니다.
위의 예제에서 사용한 두 `BrowserWindow``win`은 remote 객체입니다. 그리고
`new BrowserWindow`이 생성하는 `BrowserWindow` 객체는 더러 프로세스에서 생성되지
않습니다. 대신에 이 `BrowserWindow` 객체는 메인 프로세스에서 생성되며 더러
`new BrowserWindow`이 생성하는 `BrowserWindow` 객체는 더러 프로세스에서 생성되지
않습니다. 대신에 이 `BrowserWindow` 객체는 메인 프로세스에서 생성되며 더러
프로세스에 `win` 객체와 같이 이에 대응하는 remote 객체를 반환합니다.
참고로 remote를 통해선 [enumerable 속성](https://developer.mozilla.org/ko/docs/Web/JavaScript/Enumerability_and_ownership_of_properties)을
@ -39,11 +39,11 @@ win.loadURL('https://github.com');
## Remote 객체의 생명 주기
Electron은 더러 프로세스의 remote 객체가 살아있는 한(다시 말해서 GC(garbage
Electron은 더러 프로세스의 remote 객체가 살아있는 한(다시 말해서 GC(garbage
collection)가 일어나지 않습니다) 대응하는 메인 프로세스의 객체는 릴리즈되지 않습니다.
Remote 객체가 GC 되려면 대응하는 메인 프로세스 내부 객체의 참조가 해제되어야만 합니다.
만약 remote 객체가 더러 프로세스에서 누수가 생겼다면 (예시: 맵에 저장하고 할당
만약 remote 객체가 더러 프로세스에서 누수가 생겼다면 (예시: 맵에 저장하고 할당
해제하지 않음) 대응하는 메인 프로세스의 객체도 누수가 생깁니다. 그래서 remote 객체를
사용할 땐 메모리 누수가 생기지 않도록 매우 주의해서 사용해야 합니다.
@ -51,14 +51,14 @@ Remote 객체가 GC 되려면 대응하는 메인 프로세스 내부 객체의
## 메인 프로세스로 콜백 넘기기
메인 프로세스의 코드는 `remote` 모듈을 통해 더러 프로세스가 전달하는 콜백 함수를
메인 프로세스의 코드는 `remote` 모듈을 통해 더러 프로세스가 전달하는 콜백 함수를
받을 수 있습니다. 하지만 이 작업은 반드시 주의를 기울여 사용해야 합니다.
첫째, 데드락을 피하기 위해 메인 프로세스로 전달된 콜백들은 비동기로 호출됩니다. 이러한
이유로 메인 프로세스로 전달된 콜백들의 반환 값을 내부 함수에서 언제나 정상적으로 받을
것이라고 예측해선 안됩니다.
예를 들어 메인 프로세스에서 `Array.map` 같은 메서드를 사용할 때 더러 프로세스에서
예를 들어 메인 프로세스에서 `Array.map` 같은 메서드를 사용할 때 더러 프로세스에서
전달된 함수를 사용해선 안됩니다:
```javascript
@ -75,7 +75,7 @@ exports.withLocalCallback = function() {
```
```javascript
// 더러 프로세스
// 더러 프로세스
var mapNumbers = require("remote").require("./mapNumbers");
var withRendererCb = mapNumbers.withRendererCallback(function(x) {
@ -87,7 +87,7 @@ var withLocalCb = mapNumbers.withLocalCallback()
console.log(withRendererCb, withLocalCb) // [true, true, true], [2, 3, 4]
```
보다시피 더러 콜백의 동기 반환 값은 예상되지 않은 처리입니다.
보다시피 더러 콜백의 동기 반환 값은 예상되지 않은 처리입니다.
그리고 메인 프로세스에서 처리한 함수의 반환 값과 일치하지 않습니다.
둘째, 콜백들은 메인 프로세스로 전달, 호출된 이후에도 자동으로 함수의 참조가 릴리즈 되지
@ -113,9 +113,9 @@ remote.getCurrentWindow().on('close', function() {
설상가상으로 이전에 설치된 콜백의 콘텍스트가 릴리즈 되고 난 후(예: 페이지 새로고침)
`close` 이벤트가 발생하면 예외가 발생하고 메인 프로세스가 작동 중지됩니다.
이러한 문제를 피하려면 더러 프로세스에서 메인 프로세스로 넘긴 함수의 참조를 사용 후
이러한 문제를 피하려면 더러 프로세스에서 메인 프로세스로 넘긴 함수의 참조를 사용 후
확실하게 제거해야 합니다. 작업 후 이벤트 콜백을 포함하여 책임 있게 함수의 참조를
제거하거나 메인 프로세스에서 더러 프로세스가 종료될 때 내부적으로 함수 참조를
제거하거나 메인 프로세스에서 더러 프로세스가 종료될 때 내부적으로 함수 참조를
제거하도록 설계해야 합니다.
## 메인 프로세스의 빌트인 모듈에 접근

View file

@ -6,7 +6,7 @@
`screen`은 [EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter)를
상속 받았습니다.
**참고:** 더러 / DevTools에선 이미 DOM 속성이 `window.screen`을 가지고 있으므로
**참고:** 더러 / DevTools에선 이미 DOM 속성이 `window.screen`을 가지고 있으므로
`screen = require('screen')` 형식으로 모듈을 사용할 수 없습니다. 아래의 예제와 같이
`electronScreen` 같은 이름으로 모듈 이름을 대체하여 사용해야 합니다.

View file

@ -5,12 +5,12 @@ node 모듈을 완벽하게 지원합니다. ([네이티브 모듈](../tutorial/
포함)
또한 Electron은 네이티브 데스크톱 어플리케이션을 개발 할 수 있도록 추가적인 built-in
모듈을 제공합니다. 몇몇 모듈은 메인 프로세스에서만 사용할 수 있고 어떤 모듈은 더러
모듈을 제공합니다. 몇몇 모듈은 메인 프로세스에서만 사용할 수 있고 어떤 모듈은 더러
프로세스(웹 페이지)에서만 사용할 수 있습니다. 또한 두 프로세스 모두 사용할 수 있는
모듈도 있습니다.
기본적인 규칙으로 [GUI][gui]와 저 수준 시스템에 관련된 모듈들은 오직 메인
프로세스에서만 사용할 수 있습니다. [메인 프로세스 vs. 더러 프로세스](../tutorial/quick-start.md#메인-프로세스)
프로세스에서만 사용할 수 있습니다. [메인 프로세스 vs. 더러 프로세스](../tutorial/quick-start.md#메인-프로세스)
컨셉에 익숙해야 모듈을 다루기 쉬우므로 관련 문서를 읽어 보는 것을 권장합니다.
메인 프로세스 스크립트는 일반 Node.js 스크립트와 비슷합니다:
@ -28,7 +28,7 @@ app.on('ready', function() {
});
```
더러 프로세스도 예외적인 node module들을 사용할 수 있다는 점을 제외하면 일반 웹
더러 프로세스도 예외적인 node module들을 사용할 수 있다는 점을 제외하면 일반 웹
페이지와 크게 다를게 없습니다:
```html

View file

@ -1,6 +1,6 @@
# webFrame
`web-frame` 모듈은 현재 웹 페이지의 더링 상태를 설정 할 수 있도록 관련 유틸리티를
`web-frame` 모듈은 현재 웹 페이지의 더링 상태를 설정 할 수 있도록 관련 유틸리티를
제공하는 모듈입니다.
다음 예제는 현재 페이지를 200% 줌 합니다:

View file

@ -149,7 +149,7 @@ API를 사용할 수 있습니다. 이를 지정하면 내부에서 로우레벨
동일한 세션을 공유할 수 있도록 할 수 있습니다. 만약 `partition`이 지정되지 않으면 앱의
기본 세션을 사용합니다.
이 값은 첫 탐색 이전에만 지정할 수 있습니다. 즉. 작동중인 더러 프로세스의 세션은
이 값은 첫 탐색 이전에만 지정할 수 있습니다. 즉. 작동중인 더러 프로세스의 세션은
변경할 수 없습니다. 이후 이 값을 바꾸려고 시도하면 DOM 예외를 발생시킵니다.
### `allowpopups`
@ -263,7 +263,7 @@ Webview에 웹 페이지 `url`을 로드합니다. `url`은 `http://`, `file://`
### `<webview>.isCrashed()`
더러 프로세스가 크래시 됬는지 확인합니다.
더러 프로세스가 크래시 됬는지 확인합니다.
### `<webview>.setUserAgent(userAgent)`
@ -423,8 +423,8 @@ Webview 페이지를 PDF 형식으로 인쇄합니다.
* `channel` String
* `args` (optional)
`channel`을 통해 더러 프로세스로 비동기 메시지를 보냅니다. 또한 `args`를 지정하여
임의의 인자를 보낼 수도 있습니다. 더러 프로세스는 `ipcRenderer` 모듈의 `channel`
`channel`을 통해 더러 프로세스로 비동기 메시지를 보냅니다. 또한 `args`를 지정하여
임의의 인자를 보낼 수도 있습니다. 더러 프로세스는 `ipcRenderer` 모듈의 `channel`
이벤트로 이 메시지를 받아 처리할 수 있습니다.
예제는 [webContents.send](web-contents.md#webcontentssendchannel-args)를 참고하세요.
@ -696,7 +696,7 @@ ipcRenderer.on('ping', function() {
### Event: 'crashed'
더러 프로세스가 크래시 되었을 때 발생하는 이벤트입니다.
더러 프로세스가 크래시 되었을 때 발생하는 이벤트입니다.
### Event: 'gpu-crashed'

View file

@ -13,7 +13,7 @@ Electron
├── atom - C++ 소스 코드.
| ├── app - 시스템 엔트리 코드.
| ├── browser - 주 윈도우를 포함한 프론트엔드, UI, 그리고 메인 프로세스에 관련된
| | 코드와 더러 및 웹 페이지 관리 관련 코드.
| | 코드와 더러 및 웹 페이지 관리 관련 코드.
| | ├── ui - 서로 다른 플랫폼에 대한 UI 관련 구현 코드.
| | | ├── cocoa - Cocoa 특정 소스 코드.
| | | ├── gtk - GTK+ 특정 소스 코드.
@ -22,9 +22,9 @@ Electron
| | ├── net - 네트워킹 관련 코드.
| | ├── mac - Mac 특정 Objective-C 소스 코드.
| | └── resources - 아이콘들, 플랫폼 종속성 파일들, 기타 등등..
| ├── renderer - 더러 프로세스에서 작동하는 코드.
| | └── api - 더러 프로세스 API의 구현.
| └── common - 메인과 더러 프로세스에서 모두 사용하는 코드, 몇가지 유틸리티
| ├── renderer - 더러 프로세스에서 작동하는 코드.
| | └── api - 더러 프로세스 API의 구현.
| └── common - 메인과 더러 프로세스에서 모두 사용하는 코드, 몇가지 유틸리티
| 함수들이 포함되어 있고 node의 메시지 루프와 Chromium의 메시지 루프를 통합.
| └── api - 공통 API 구현들, 기초 Electron 빌트-인 모듈들.
├── chromium_src - Chromium에서 복사하여 가져온 소스코드.
@ -33,9 +33,9 @@ Electron
├── lib - JavaScript 소스 코드.
| ├── browser - Javascript 메인 프로세스 초기화 코드.
| | └── api - Javascript API 구현 코드.
| ├── common - 메인과 더러 프로세스에서 모두 사용하는 JavaScript
| ├── common - 메인과 더러 프로세스에서 모두 사용하는 JavaScript
| | └── api - Javascript API 구현 코드.
| └── renderer - Javascript 더러 프로세스 초기화 코드.
| └── renderer - Javascript 더러 프로세스 초기화 코드.
| └── api - Javascript API 구현 코드.
├── spec - 자동화 테스트.
├── atom.gyp - Electron의 빌드 규칙.

View file

@ -20,13 +20,13 @@ Node.js의 새로운 기능은 보통 V8 업그레이드에서 가져옵니다.
## 어떻게 웹 페이지 간에 데이터를 공유할 수 있나요?
두 웹페이지 간에 (더러 프로세스) 데이터를 공유하려면 간단히 이미 모든 브라우저에서
두 웹페이지 간에 (더러 프로세스) 데이터를 공유하려면 간단히 이미 모든 브라우저에서
사용할 수 있는 HTML5 API들을 사용하면 됩니다. 가장 좋은 후보는
[Storage API][storage], [`localStorage`][local-storage],
[`sessionStorage`][session-storage], 그리고 [IndexedDB][indexed-db]가 있습니다.
또는 Electron에서만 사용할 수 있는 IPC 시스템을 사용하여 메인 프로세스의 global
변수에 데이터를 저장한 후 다음과 같이 더러 프로세스에서 `remote` 모듈을 사용하여
변수에 데이터를 저장한 후 다음과 같이 더러 프로세스에서 `remote` 모듈을 사용하여
접근할 수 있습니다:
```javascript
@ -141,7 +141,7 @@ npm uninstall -g electron
그런데 여전히 빌트인 모듈이 계속해서 문제를 발생시키는 경우, 아마 모듈을 잘못 사용하고
있을 가능성이 큽니다. 예를 들면 `electron.app`은 메인 프로세스에서만 사용할 수 있는
모듈이며, 반면 `electron.webFrame` 모듈은 더러 프로세스에서만 사용할 수 있는
모듈이며, 반면 `electron.webFrame` 모듈은 더러 프로세스에서만 사용할 수 있는
모듈입니다.
[memory-management]: https://developer.mozilla.org/ko/docs/Web/JavaScript/Memory_Management

View file

@ -18,7 +18,7 @@ Electron 문서를 작성하는 규칙은 다음과 같습니다.
추가합니다.
- 메서드 헤더는 `code backtick` 으로 표시합니다.
- 이벤트 헤더는 한 '따옴표'로 표시합니다.
- 리스트를 2 단계 이상 중첩하지 않습니다. (안타깝게도 markdown 더러가 이를 지원하지
- 리스트를 2 단계 이상 중첩하지 않습니다. (안타깝게도 markdown 더러가 이를 지원하지
않습니다)
- 섹션에 대한 제목을 추가합니다. Events, Class 메서드 그리고 인스턴스 메서드 등
- 어떤 '것'의 사용 결과를 설명할 때 '될 것입니다' 형식을 사용하여 설명합니다.

View file

@ -1,6 +1,6 @@
# 메인 프로세스 디버깅하기
브라우저 창의 개발자 도구는 웹 페이지 같은 더러 프로세스의 스크립트만 디버깅이
브라우저 창의 개발자 도구는 웹 페이지 같은 더러 프로세스의 스크립트만 디버깅이
가능합니다. 대신 Electron은 메인 프로세스의 디버깅을 위해 `--debug``--debug-brk`
스위치들을 제공합니다.

View file

@ -14,7 +14,7 @@ Windows, Linux, OS X 운영체제 모두 기본적으로 어플리케이션에
통해 개발자가 편리하게 데스크톱 알림을 사용할 수 있는 기능을 제공합니다. 데스크톱 알림은
운영체제의 네이티브 알림 API를 사용하여 표시합니다.
**참고:** 이 API는 HTML5 API이기 때문에 더러 프로세스에서만 사용할 수 있습니다.
**참고:** 이 API는 HTML5 API이기 때문에 더러 프로세스에서만 사용할 수 있습니다.
```javascript
var myNotification = new Notification('Title', {

View file

@ -1,6 +1,6 @@
# 온라인/오프라인 이벤트 감지
온라인/오프라인 이벤트는 다음 예제와 같이 더러 프로세스에서 표준 HTML5 API를 이용하여
온라인/오프라인 이벤트는 다음 예제와 같이 더러 프로세스에서 표준 HTML5 API를 이용하여
구현할 수 있습니다.
_main.js_

View file

@ -16,23 +16,23 @@ Electron은 실행될 때 __메인 프로세스__ 로 불리는 `package.json`
호출합니다. 이 스크립트는 메인 프로세스에서 작동합니다. GUI 컴포넌트를 조작하거나 웹
페이지 창을 생성할 수 있습니다.
### 더러 프로세스
### 더러 프로세스
Electron이 웹페이지를 보여줄 때 Chromium의 multi-processes 구조도 같이 사용됩니다.
Electron 프로세스 내에서 작동하는 웹 페이지를 __더러 프로세스__ 라고 불립니다.
Electron 프로세스 내에서 작동하는 웹 페이지를 __더러 프로세스__ 라고 불립니다.
보통 일반 브라우저의 웹 페이지들은 샌드박스가 적용된 환경에서 작동하며 네이티브
리소스에는 접근할 수 없도록 되어 있습니다. 하지만 Electron은 웹 페이지 내에서 Node.js
API를 사용하여 low-level 수준으로 운영체제와 상호작용할 수 있습니다.
### 메인 프로세스와 더러 프로세스의 차이점
### 메인 프로세스와 더러 프로세스의 차이점
메인 프로세스는 `BrowserWindow` Class를 사용하여 새로운 창을 만들 수 있습니다.
`BrowserWindow` 인스턴스는 따로 분리된 프로세스에서 랜더링 되며 이 프로세스를 랜더러
프로세스라고 합니다. `BrowserWindow` 인스턴스가 소멸할 때 그 창의 더러 프로세스도
`BrowserWindow` 인스턴스는 따로 분리된 프로세스에서 렌더링 되며 이 프로세스를 렌더러
프로세스라고 합니다. `BrowserWindow` 인스턴스가 소멸할 때 그 창의 더러 프로세스도
같이 소멸합니다.
메인 프로세스는 모든 웹 페이지와 랜더러 프로세스를 관리하며 랜더러 프로세스는 각각의
메인 프로세스는 모든 웹 페이지와 렌더러 프로세스를 관리하며 렌더러 프로세스는 각각의
프로세스에 고립되며 웹 페이지의 작동에만 영향을 끼칩니다.
웹 페이지 내에선 기본적으로 네이티브 GUI와 관련된 API를 호출할 수 없도록 설계 되어
@ -40,7 +40,7 @@ API를 사용하여 low-level 수준으로 운영체제와 상호작용할 수
리소스를 누수시킬 수 있기 때문입니다. 꼭 웹 페이지 내에서 API를 사용해야 한다면 메인
프로세스에서 그 작업을 처리할 수 있도록 메인 프로세스와 통신을 해야 합니다.
Electron에는 메인 프로세스와 더러 프로세스 사이에 통신을 할 수 있도록
Electron에는 메인 프로세스와 더러 프로세스 사이에 통신을 할 수 있도록
[ipc](../api/ipc-renderer.md) 모듈을 제공하고 있습니다.
또는 [remote](../api/remote.md) 모듈을 사용하여 RPC 스타일로 통신할 수도 있습니다.
또한 FAQ에서 [다양한 객체를 공유하는 방법](share-data)도 소개하고 있습니다.