📝 Update Korean docs as upstream

[ci skip]
This commit is contained in:
Plusb Preco 2016-06-03 17:47:21 +09:00
parent d234467682
commit 41f99187e7
5 changed files with 105 additions and 56 deletions

View file

@ -280,6 +280,32 @@ GPU가 작동하던 중 크래시가 일어났을 때 발생하는 이벤트입
모든 윈도우는 사용자의 동의 여부에 상관없이 즉시 종료되며 `before-quit` 이벤트와
`will-quit` 이벤트가 발생하지 않습니다.
### `app.relaunch([options])`
* `options` Object (optional)
* `args` Array (optional)
* `execPath` String (optional)
현재 인스턴스가 종료되면 어플리케이션을 재시작합니다.
기본적으로 새 인스턴스는 같은 작업 디렉토리의 것과 함께 현재 인스턴스의 명령줄 인수를
사용합니다. 만약 `args`가 지정되면, `args`가 기본 명령줄 인수 대신에 전달됩니다.
`execPath`가 지정되면, 현재 어플리케이션 대신 `execPath`가 실행됩니다.
참고로 이 메서드는 어플리케이션을 종료하지 않으며, 어플리케이션을 다시 시작시키려면
`app.relaunch`를 호출한 후 `app.quit` 또는 `app.exit`를 실행해주어야 합니다.
`app.relaunch`가 여러 번 호출되면, 현재 인스턴스가 종료된 후 여러 인스턴스가
시작됩니다.
다음은 현재 인스턴스를 즉시 종료시킨 후 새로운 명령줄 인수를 추가하여 새
인스턴스의 어플리케이션을 실행하는 예시입니다:
```javascript
app.relaunch({args: process.argv.slice(1) + ['--relaunch']})
app.exit(0)
```
### `app.focus()`
Linux에선, 첫 번째로 보여지는 윈도우가 포커스됩니다. OS X에선, 어플리케이션을 활성화
@ -445,16 +471,6 @@ Windows에서 사용할 수 있는 JumpList의 [Tasks][tasks] 카테고리에 `t
아이콘을 가지고 있을 경우, 사용할 아이콘의 인덱스를 이 옵션으로 지정해 주어야 합니다.
단, 아이콘을 하나만 포함하고 있는 경우 0을 지정하면 됩니다.
### `app.allowNTLMCredentialsForAllDomains()`
항상 동적으로 HTTP NTLM 또는 Negotiate 인증에 자격 증명을 보낼 것인지 설정합니다.
기본적으로 Electron은 "로컬 인터넷" 사이트 URL에서 NTLM/Kerberos 자격 증명만을
보냅니다. (같은 도메인 내에서) 그러나 기업 네트워크가 잘못 구성된 경우 종종 작업에
실패할 수 있습니다. 이때 이 메서드를 통해 모든 URL을 허용할 수 있습니다.
**참고:** 이 메서드는 `ready` 이벤트가 발생하기 전에 호출해야 합니다.
### `app.makeSingleInstance(callback)`
* `callback` Function

View file

@ -8,6 +8,8 @@
다음 프로젝트 중 하나를 선택하여, 어플리케이션을 배포하기 위한 멀티-플랫폼 릴리즈
서버를 손쉽게 구축할 수 있습니다:
- [nuts][nuts]: *어플리케이션을 위한 똑똑한 릴리즈 서버이며 GitHub를 백엔드로
사용합니다. Squirrel을 통해 자동 업데이트를 지원합니다. (Mac & Windows)*
- [electron-release-server][electron-release-server]: *완벽하게 모든 기능을
지원하는 electron 어플리케이션을 위한 자가 호스트 릴리즈 서버입니다. auto-updater와
호환됩니다*
@ -117,3 +119,4 @@ Returns:
[app-user-model-id]: https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx
[electron-release-server]: https://github.com/ArekSredzki/electron-release-server
[squirrel-updates-server]: https://github.com/Aluxian/squirrel-updates-server
[nuts]: https://github.com/GitbookIO/nuts

View file

@ -95,6 +95,24 @@ resolver, http 프록시 연결의 `CONNECT`, `SOCKS` 프록시 연결의 endpoi
`--host-rules` 플래그와 비슷하지만 이 플래그는 host resolver에만 적용됩니다.
## --auth-server-whitelist=`url`
통합 인증을 사용하도록 설정할 쉼표로 구분된 서버의 리스트.
예를 들어:
```
--auth-server-whitelist='*example.com, *foobar.com, *baz'
```
그리고 모든 `example.com`, `foobar.com`, `baz`로 끝나는 `url`은 통합 인증을
사용하도록 설정됩니다. `*` 접두어가 없다면 url은 정확히 일치해야 합니다.
## --auth-negotiate-delegate-whitelist=`url`
필수적인 사용자 자격 증명을 보내야 할 쉼표로 구분된 서버의 리스트.
`*` 접두어가 없다면 url은 정확히 일치해야 합니다.
## --ignore-certificate-errors
인증서 에러를 무시합니다.

View file

@ -323,6 +323,22 @@ session.fromPartition(partition).setPermissionRequestHandler((webContents, permi
호스트 리소버(resolver) 캐시를 지웁니다.
#### `ses.allowNTLMCredentialsForDomains(domains)`
* `domains` String - 통합 인증을 사용하도록 설정할 쉼표로 구분된 서버의 리스트.
동적으로 HTTP NTML 또는 Negotiate 인증을 위해 언제나 자격 증명을 보낼지 여부를
설정합니다.
```javascript
// 통합 인증을 위해 `example.com`, `foobar.com`, `baz`로 끝나는
// 모든 url을 지정합니다.
session.defaultSession.allowNTLMCredentialsForDomains('*example.com, *foobar.com, *baz')
// 통합 인증을 위해 모든 url을 지정합니다.
session.defaultSession.allowNTLMCredentialsForDomains('*')
```
#### `ses.webRequest`
`webRequest` API는 생명주기의 다양한 단계에 맞춰 요청 콘텐츠를 가로채거나 변경할 수

View file

@ -1,63 +1,59 @@
# 개발자 도구 확장 기능
# 개발자 도구 확장 기능
어플리케이션의 디버깅을 쉽게 하기 위해 Electron은 기본적으로
[Chrome DevTools Extension][devtools-extension]을 지원합니다.
개발자 도구 확장 기능은 간단하게 사용할 확장 기능 플러그인의 소스 코드를 다운로드한 후
`BrowserWindow.addDevToolsExtension` API를 통해 어플리케이션 내에 로드할 수 있습니다.
한가지 주의할 점은 확장 기능 사용시 창이 생성될 때 마다 일일이 해당 API를 호출할 필요는
없습니다.
Electron은 유명한 웹 프레임워크를 디버깅하기 위해 사용할 수 있는 개발자 도구 확장
기능을 사용할 수 있도록 [Chrome 개발자 도구 확장 기능][devtools-extension]을
지원합니다.
**주의: 현재 React DevTools은 작동하지 않습니다. https://github.com/electron/electron/issues/915 이슈를 참고하세요!**
## 개발자 도구는 어떻게 로드하나요
다음 예시는 [React DevTools Extension](https://github.com/facebook/react-devtools)을
사용합니다.
Electron에 확장 기능을 로드하려면, Chrome 브라우저에서 다운로드 해야 하며, 파일 시스템 경로를 지정해야 합니다. 그리고 `BrowserWindow.addDevToolsExtension(extension)`를 호출함으로써 기능을 로드할 수 있습니다.
먼저 소스 코드를 다운로드 받습니다:
예시로 [React Developer Tools][react-devtools]를 사용한다면:
```bash
$ cd /some-directory
$ git clone --recursive https://github.com/facebook/react-devtools.git
```
1. Chrome 브라우저를 설치합니다.
2. `chrome://extensions`로 이동한 후 해시된 `fmkadmapgofadopljbjfkapdkoienihi`
같이 생긴 확장 기능의 ID를 찾습니다.
3. Chrome에서 사용하는 확장 기능을 저장해둔 파일 시스템 경로를 찾습니다:
* Windows에선 `%LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions`;
* Linux에선:
* `~/.config/google-chrome/Default/Extensions/`
* `~/.config/google-chrome-beta/Default/Extensions/`
* `~/.config/google-chrome-canary/Default/Extensions/`
* `~/.config/chromium/Default/Extensions/`
* OS X에선 `~/Library/Application Support/Google/Chrome/Default/Extensions`.
4. 확장 기능의 경로를 `BrowserWindow.addDevToolsExtension` API로 전달합니다.
React Developer Tools의 경우 다음과 비슷해야 합니다:
`~/Library/Application Support/Google/Chrome/Default/Extensions/fmkadmapgofadopljbjfkapdkoienihi/0.14.10_0`
[`react-devtools/shells/chrome/Readme.md`](https://github.com/facebook/react-devtools/blob/master/shells/chrome/Readme.md)를
통해 확장 기능을 개발하는 방법을 알아볼 수 있습니다.
확장 기능의 이름은 `BrowserWindow.addDevToolsExtension`에서 반환되며, 이 이름을
`BrowserWindow.removeDevToolsExtension` API로 전달함으로써 해당하는 확장 기능을
언로드할 수 있습니다.
그리고 개발자 도구에서 다음 코드를 입력하면 확장 기능을 로드할 수 있습니다:
## 지원하는 개발자 도구 확장 기능
```javascript
const BrowserWindow = require('electron').remote.BrowserWindow;
BrowserWindow.addDevToolsExtension('/some-directory/react-devtools/shells/chrome');
```
Electron은 아주 제한적인 `chrome.*` API만을 지원하므로 확장 기능이 지원하지 않는
`chrome.*` API를 사용한다면 해당 기능은 작동하지 않을 것입니다. 다음 개발자 도구들은
Electron에서 정상적으로 작동하는 것을 확인했으며 작동 여부를 보장할 수 있는 확장
기능입니다:
확장 기능을 언로드 하고 콘솔을 다시 열 때 해당 확장 기능이 로드되지 않도록 하려면
`BrowserWindow.removeDevToolsExtension` API를 사용하면 됩니다:
* [Ember Inspector](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi)
* [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi)
* [Backbone Debugger](https://chrome.google.com/webstore/detail/backbone-debugger/bhljhndlimiafopmmhjlgfpnnchjjbhd)
* [jQuery Debugger](https://chrome.google.com/webstore/detail/jquery-debugger/dbhhnnnpaeobfddmlalhnehgclcmjimi)
* [AngularJS Batarang](https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk)
* [Vue.js devtools](https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd)
```javascript
BrowserWindow.removeDevToolsExtension('React Developer Tools');
```
### 개발자 도구가 작동하지 않을 때 어떻게 해야 하나요?
## 개발자 도구 확장 기능의 구성 형식
먼저 해당 확장 기능이 확실히 계속 유지되고 있는지를 확인하세요. 몇몇 확장 기능들은
최신 버전의 Chrome 브라우저에서도 작동하지 않습니다. 그리고 이러한 확장 기능에 대해선
Electron 개발팀에 해줄 수 있는 것이 아무것도 없습니다.
모든 개발자 도구 확장은 완벽히 Chrome 브라우저를 위해 작성되었기 때문에 Electron에서도
로드할 수 있습니다. 하지만 반드시 확장 기능은 소스 코드 디렉터리(폴더) 형태여야 합니다.
그래서 `crx` 등의 포맷으로 패키징된 확장 기능의 경우 사용자가 직접 해당 패키지의 압축을
풀어서 로드하지 않는 이상 Electron에서 해당 확장 기능의 압축을 풀 방법이 없습니다.
## 백그라운드 페이지
현재 Electron은 Chrome에서 지원하는 백그라운드 페이지(background pages)를 지원하지
않습니다. 몇몇 확장 기능은 이 기능에 의존하는 경우가 있는데, 이 때 해당 확장 기능은
Electron에서 작동하지 않을 수 있습니다.
## `chrome.*` API
몇몇 Chrome 확장 기능은 특정 기능을 사용하기 위해 `chrome.*` API를 사용하는데, 이
API들을 구현하기 위해 노력했지만 안타깝게도 아직 모든 API가 구현되지는 않았습니다.
아직 모든 API가 구현되지 않았기 때문에 확장 기능에서 `chrome.devtools.*` 대신
`chrome.*` API를 사용할 경우 확장 기능이 제대로 작동하지 않을 수 있음을 감안해야 합니다.
만약 문제가 발생할 경우 Electron의 GitHub 저장소에 관련 이슈를 올리면 해당 API를
추가하는데 많은 도움이 됩니다.
위와 같은 상황이 아니라면 Electron의 이슈 리스트에 버그 보고를 추가한 후 예상한 것과
달리 확장 기능의 어떤 부분의 정상적으로 작동하지 않았는지 설명하세요.
[devtools-extension]: https://developer.chrome.com/extensions/devtools
[react-devtools]: https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi