diff --git a/locale/ko/about/governance.md b/locale/ko/about/governance.md new file mode 100644 index 0000000000000..e297f9d5ab241 --- /dev/null +++ b/locale/ko/about/governance.md @@ -0,0 +1,247 @@ +--- +title: 프로젝트 거버넌스 +layout: about.hbs +--- +# 프로젝트 거버넌스 + +## 기술 결정 위원회(TSC, Technical Steering Committee) + + +프로젝트의 고수준 지침에 대한 책임이 있는 기술 결정 위원회(TSC)가 함께 프로젝트를 운영하고 있습니다. + +TSC는 다음을 포함해서 이 프로젝트의 최종 권한을 가집니다. + +* 기술적 방향 +* 프로젝트 거버넌스와 절차 (이 정책을 포함해서) +* 기여 정책 +* GitHub 저장소 호스팅 +* 행동 지침 +* 추가적인 협업자 목록의 관리 + + +최초의 TSC 멤버십 초대는 활발한 기여자나 프로젝트 관리에 충분한 경험을 가진 사람들에게 주어졌습니다. +멤버십은 프로젝트의 요구사항에 따라 발전될 것입니다. + +현재 TSC 회원 목록은 프로젝트 +[README.md](https://github.com/nodejs/node/blob/master/README.md#tsc-technical-steering-committee)에서 +볼 수 있습니다. + + +## 협업자 + +TSC와 TSC가 지속적으로 추가한 협업자들이 +[nodejs/node](https://github.com/nodejs/node) GitHub 저장소를 관리하고 있습니다. + +중요하고 가치 있는 기여를 하는 개인이 협업자가 되고 프로젝트의 커밋-접근 권한을 받습니다. 이러한 개인은 +TSC가 인정하고 주간 TSC 회의에서 협업자로 추가하는 것을 논의합니다. + + +_Note:_ 중요한 기여를 했음에도 커밋 접근 권한을 얻지 못한다면 이슈를 남기거나 TSC 멤버에게 +직접 연락을 취하면 다음 TSC 회의 때 다루게 될 것입니다. + +nodejs/node 저장소 내용의 수정은 협업을 통해서 이뤄집니다. GitHub 계정을 가진 누구나 풀 리퀘스트로 +수정을 제안할 수 있고 프로젝트 협업자가 이를 검토할 것입니다. 모든 풀 리퀘스트는 반드시 리뷰를 +받아야 하고 변경사항에 대한 전체 책임을 지고 상당한 전문성을 가진 협업자가 이를 받아들일 것입니다. +기존의 협업자가 제안한 풀 리퀘스트는 다른 협업자가 승인해야 합니다. 다른 협업자가 관여해서 +특정 수정 부분에 대해서 동의하지 않는다면 합의가 이루어져야 합니다. 거버넌스의 합의 모델에 관한 +더 자세한 내용은 아래의 _합의점을 찾는 과정_을 보기 바랍니다. + + +협업자는 TSC에서 논의하려고 풀 리퀘스트나 이슈에 ***tsc-agenda*** 태그를 할당함으로써 중요하거나 +논쟁이 되는 수정사항이나 합의점을 찾지 못한 수정사항을 개선하려고 할 수도 있습니다. +TSC는 필요한 경우 최종 중재자가 되어야 합니다. + +현재 협업자 목록은 프로젝트 +[README.md](https://github.com/nodejs/node/blob/master/README.md#current-project-team-members)에서 +볼 수 있습니다. + +협업자 가이드는 +[COLLABORATOR_GUIDE.md](https://github.com/nodejs/node/blob/master/COLLABORATOR_GUIDE.md)에서 +관리되어 있습니다. + + +## TSC 멤버십 + +TSC 멤버십은 기간 제한이 없고 TSC에 인원 제한도 없습니다. 하지만, 전문성과 균형을 가진 채 +효율적인 결정을 하면서 중요한 영역을 충분히 다룰 수 있도록 6 ~ 12명 정도가 적당하다고 생각합니다. + +이 규칙을 뛰어넘는 TSC 멤버십의 요구사항이나 자격에 대한 특정 조건은 없습니다. + +TSC는 표준 TSC 발의를 통해 새로운 회원을 TSC에 추가할 것입니다. + + +TSC 회원은 자발적인 사퇴나 표준 TSC 발의를 통해 TSC에서 제외될 수 있습니다. + +TSC 멤버십의 변경은 의제에 올라와야 하고 다른 의제로 제안될 수도 있습니다.(아래 "TSC 회의"를 보세요.) + +TSC 회원의 1/3 이상이 같은 고용주와 관련되면 안 됩니다. TSC 회원이 제외되거나 사퇴하거나 TSC 회원의 +고용상태가 바뀔 때 TSC 멤버십의 1/3 이상이 같은 고용주를 갖게 되는 상황이 만들어질 수 있습니다. +이 상황은 같은 고용주를 가진 1명 이상의 TSC 멤버가 사퇴하거나 제외됨으로써 즉시 해결되어야 합니다. + + +## TSC 회의 + +TSC는 구글 행아웃으로 매주 만납니다. TSC가 승인해서 선정한 중재자가 회의를 주최합니다. +각 회의는 YouTube로 발행되어야 합니다. + +논쟁이 필요하거나 거버넌스, 기여 정책, TSC 멤버십, 릴리스 절차의 수정에 대한 주제가 +TSC 의제에 추가됩니다. + +이 의제의 의도는 모든 패치를 승인하거나 리뷰하는 것이 아닙니다. 이러한 승인이라 리뷰는 +GitHub에서 계속해서 이루어지고 더 큰 협업자 그룹에서 다뤄집니다. + + +어떤 커뮤니티 회원이나 기여자도 GitHub에 이슈를 남김으로써 다음 미팅 일정에 무언가를 추가하도록 +요청할 수 있습니다. 어떤 협업자, TSC 회원, 중재자라도 이슈에 ***tsc-agenda*** 태그를 +추가해서 의제를 추가할 수 있습니다. + +각 TSC 회의 전에 중재자는 TSC 회원과 의제를 공유할 것입니다. TSC 회원은 각 회의를 시작할 때 +원하는 의제를 추가할 수 있습니다. 중재자와 TSC는 의제를 거부하거나 제거할 수 없습니다. + + +TSC는 특정 프로젝트의 사람들이나 대표자가 투표권 없이 회의에 참여하도록 초대할 수 있습니다. 현재 이렇게 초대된 사람은 다음과 같습니다. + +* [build](https://github.com/node-forward/build) 프로젝트에서 선택된 대표자 + +중재자는 각 의제를 논의한 내용을 요약하고 미팅 후에 풀 리퀘스트로 보낼 책임이 있습니다. + + +## 합의점을 찾는 과정 + +TSC는 [합의점 찾기](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making) 의사결정 모델을 따릅니다. + +의제가 합의점을 찾았을 때 중재자는 합의점에 대한 반대의견을 받기 위한 마지막 요청으로 "반대하는 사람 있습니까?"라고 물을 것입니다. + +의제가 합의점에 이르지 못한다면 TSC 멤버는 투표를 종료하거나 다음 회의에 이슈를 올리도록 하는 투표를 요청할 수 있습니다. 투표요청은 반드시 TSC의 과반수가 동의해야 하고 그렇지 않으면 논의를 계속할 것입니다. 간단히 과반수가 이깁니다. diff --git a/locale/ko/about/index.md b/locale/ko/about/index.md new file mode 100644 index 0000000000000..97ccd380942b6 --- /dev/null +++ b/locale/ko/about/index.md @@ -0,0 +1,115 @@ +--- +layout: about.hbs +title: About +trademark: 트레이드마크 +--- +# Node.js®에 대해서 + + + +비동기 이벤트 주도 JavaScript 런타임으로써 Node는 확장성 있는 네트워크 애플리케이션을 만들 수 있도록 +설계되었습니다. 다음 "hello world" 예제는 다수의 연결을 동시에 처리할 수 있습니다. +각 연결에서 콜백이 실행되는데 실행할 작업이 없다면 Node는 대기합니다. + +```javascript +const http = require('http'); + +const hostname = '127.0.0.1'; +const port = 3000; + +const server = http.createServer((req, res) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end('Hello World\n'); +}); + +server.listen(port, hostname, () => { + console.log(`Server running at http://${hostname}:${port}/`); +}); +``` + + +이는 오늘날 OS 스레드가 일반적으로 사용하는 동시성 모델과는 대조적입니다. 스레드 기반의 네트워크는 +상대적으로 비효율적이고 사용하기가 몹시 어렵습니다. 게다가 잠금이 없으므로 Node의 사용자는 프로세스의 +교착상태에 대해서 걱정할 필요가 없습니다. Node에서 I/O를 직접 수행하는 함수는 거의 없으므로 프로세스는 +결과 블로킹 되지 않습니다. 아무것도 블로킹 되지 않으므로 Node에서는 확장성 있는 시스템을 개발하는 게 +아주 자연스럽습니다. + + +여기서 나오는 용어가 익숙하지 않다면 [블로킹 대 논-블로킹][]에 대한 글을 읽어보세요. + +--- + + +Node는 Ruby의 [Event Machine][]이나 Python의 [Twisted][]같은 시스템과 설계상 유사하고 +영향을 받았습니다. Node는 좀 더 발전된 이벤트 모델을 선택해서 라이브러리가 아닌 런타임 생성자로 +[event loop][]를 제공합니다. 다른 시스템에서는 이벤트 루프를 시작하는 블럭킹 호출이 항상 존재합니다. + +보통은 스크립트의 시작 부분에서 콜백을 통해서 동작을 정의하고 마지막에서 `EventMachine::run()`같은 +블로킹 호출로 서버를 시작합니다. Node에서는 이와 같은 이벤트 루프를 시작하는 호출이 없습니다. Node는 +입력 스크립트를 실행한 후에 이벤트 루프에 바로 진입합니다. 더이상 실행할 콜백이 없다면 Node는 +이벤트 루프를 종료합니다. 이 동작은 브라우저 JavaScript과 같이 사용자에게서 이벤트 루프를 감춥니다. + + +Node에서 HTTP는 일급 시민(first class citizen)이고 스트리밍과 저지연은 염두에 두고 +설계되었습니다. 이는 Node가 웹 라이브러리나 프레임워크의 기반으로 아주 적합하게 하였습니다. + +Node는 스레드를 사용하지 않도록 설계되지만 멀티 코어 환경의 장점을 얻지 못한다는 의미는 아닙니다. +[`child_process.fork()`][] API를 사용해서 자식 프로세스를 생성할 수 있습니다. 같은 인터페이스로 +만들어진 [`cluster`][]을 사용하면 다수의 코어에 로드 밸런싱이 가능하도록 프로세스 간에 +소켓을 공유할 수 있습니다. + + + +[Blocking vs Non-Blocking]: https://github.com/nodejs/node/blob/master/doc/topics/blocking-vs-non-blocking.md +[`child_process.fork()`]: https://nodejs.org/api/child_process.html#child_process_child_process_fork_modulepath_args_options +[`cluster`]: https://nodejs.org/api/cluster.html +[event loop]: https://github.com/nodejs/node/blob/master/doc/topics/the-event-loop-timers-and-nexttick.md +[Event Machine]: http://rubyeventmachine.com/ +[Twisted]: http://twistedmatrix.com/ diff --git a/locale/ko/about/releases.md b/locale/ko/about/releases.md new file mode 100644 index 0000000000000..2b0d1070f6b8a --- /dev/null +++ b/locale/ko/about/releases.md @@ -0,0 +1,165 @@ +--- +layout: about.hbs +title: 릴리스 +--- + +# 릴리스 + +Node.js 커뮤니티가 알고 있듯이 코어 팀은 로드맵의 범위를 정의합니다. 필요하고 실용적이라면 최대한 +자주 릴리스를 하지만 작업이 완료되지 않으면 하지 않습니다. 버그는 보이지 않을 수 있지만, 릴리스에 대한 +압박은 소프트웨어가 제대로 되었다고 확신을 넘어설 수 없습니다. +소프트웨어의 질에 대한 책임은 Node.js 프로젝트의 핵심 신조입니다. + + + +## 패치 + +패치 릴리스는 + +- 버그, 성능, 보안 수정을 포함합니다. +- 공개 인터페이스를 추가하거나 변경하지 않습니다. +- 제공한 인터페이스에서 기대되는 동작을 변경하지 않습니다. +- 문서와 일치하지 않다면 제대로 동작하도록 할 수 있습니다. +- 자연스럽게 업그레이드할 수 없는 변경사항을 추가하지 않습니다. + + + +## 마이너 + +마이너 릴리스는 + +- API와 서브시스템의 추가나 개선을 포함합니다. +- 보통 API를 변경하지 않고 불가피하지 않은 경우를 제외하고는 하위호환성을 깨뜨리는 변경사항을 추가하지 않습니다. +- 대부분 부가적인 릴리스입니다. + + + +## 메이저 + +메이저 릴리스는 + +- 보통 하위호환성을 깨뜨리는 변경사항을 추가합니다. +- Node.js가 예견할 수 있는 미래를 준비할 수 있도록 API를 식별합니다. +- 코어 팀과 사용자들의 대화, 관심, 협업, 적당한 범위 설정이 필요합니다. + + + +## 기능의 범위 정하기 + +코어 팀은 다음에서 Node.js에 기능이나 API를 추가할 수 있습니다. + +- 요구사항이 확실할 때 +- API나 기능이 알려진 사용자를 가질 때 +- API가 깔끔하고 유용하면서 사용하기 쉬울 때 + + +예를 들어, [`EventEmitter`] 인터페이스를 생각해 보겠습니다. 코어 모듈에서 사용할 수 있는 +이벤트 구독 모델이 필요하다는 것은 했고 이 추상화는 Node.js 코어의 범위를 벗어나는 유틸리티를 가집니다. +이는 이 추상화의 인터페이스가 Node.js 외부에서 구현될 수 없는 경우가 아닙니다. 오히려 Node.js가 +직접 추상화할 필요가 있었고 Node.js 사용자가 사용할 수 있도록 이를 노출해야 했습니다. + +아니면 Node.js가 만족하게 하지 못하는 일반적인 요구사항을 해결하는 패턴을 커뮤니티의 다수가 도입할 +수도 있습니다. Node.js가 모든 Node.js 사용자를 위한 API나 기능을 기본적으로 제공하는 것이 +더 명확할 수도 있습니다. 여러 환경을 지원하기 어렵지만, 일반적으로 사용되는 에셋을 컴파일해서 제공하는 +것도 가능합니다. 이러한 상황을 고려하면 Node.js가 직접 이러한 변경사항을 받아들여야 할 수도 있습니다. + +코어 팀은 새로운 API를 Node.js에 추가할 때 가볍게 결정하지 않습니다. Node.js는 하위호환성을 +지원해야 하는 큰 의무가 있습니다. 그래서 코어 팀이 행동을 취하기 전에 커뮤니티의 요청이나 토론이 +반드시 먼저 일어나게 됩니다. API를 추가하는 것이 적합한 경우조차도 코어 팀은 잠재적인 사용자를 +확인해야 합니다. + + + +## 폐기 예정 + +때때로 코어 팀은 Node.js의 기능이나 API를 폐기해야 합니다. 최종 결정을 하기 전에 코어 팀은 API의 사용자와 이들이 그 API를 어떻게 사용하고 있는지를 반드시 확인해야 합니다. 이때 다음과 같은 질문을 해봐야 합니다. + +- 커뮤니티에서 이 API를 광범위하게 사용하고 있다면 폐기 예정으로 표시하는 데 필요한 일은 어떤 것인가? +- 대체 API가 있는가? 아니면 과도기적인 경로가 존재하는가? +- API를 제거하기 전에 폐기 예정을 얼마나 오랫동안 유지해야 하는가? +- 그 API의 사용자가 쉽게 대체할 수 있는 외부 모듈이 존재하는가? + +코어 팀은 Node.js API를 폐기할 때 API를 추가할 때와 마찬가지로 신중하게 고려합니다. diff --git a/locale/ko/about/resources.md b/locale/ko/about/resources.md new file mode 100644 index 0000000000000..9b93b204624fa --- /dev/null +++ b/locale/ko/about/resources.md @@ -0,0 +1,79 @@ +--- +layout: about.hbs +title: 로고와 그래픽 +--- + + + +# 관련 자료 + +## 로고 다운로드 + +Node.js® 로고와 마크를 사용할 수 있는 경우에 대한 정보는 [상표 정책](/about/trademark/)을 +확인해보기 바랍니다. + +Node.js의 시각적인 가이드라인은 +[시각적 가이드라인](/static/documents/foundation-visual-guidelines.pdf)에 나와 있습니다. + + + + + + + + + + + + + + + + + + + + +
[![밝은 배경의 Node.js](/static/images/logos/nodejs-new-pantone-black.png)](/static/images/logos/nodejs-new-pantone-black.ai)[![어두운 배경의 Node.js](/static/images/logos/nodejs-new-pantone-white.png)](/static/images/logos/nodejs-new-pantone-white.ai)
[Node.js 표준 AI](/static/images/logos/nodejs-new-pantone-black.ai)[Node.js 반전 AI](/static/images/logos/nodejs-new-pantone-white.ai)
[![밝은 배경의 Node.js](/static/images/logos/nodejs-new-black.png)](/static/images/logos/nodejs-new-black.ai)[![어두운 배경의 Node.js](/static/images/logos/nodejs-new-white.png)](/static/images/logos/nodejs-new-white.ai)
[적은 색상을 가진 Node.js 표준 AI](/static/images/logos/nodejs-new-black.ai)[적은 색상을 가진 Node.js 반전 AI](/static/images/logos/nodejs-new-white.ai)
+ + + +## 데스크톱 배경 + +![스크린세이버](/static/images/logos/monitor.png) + +원화는 화면 해상도를 선택하세요. [1024 x 768](/static/images/logos/nodejs-1024x768.png) | [1280 x 1024](/static/images/logos/nodejs-1280x1024.png) | [1440 x 900](/static/images/logos/nodejs-1440x900.png) | [1920 x 1200](/static/images/logos/nodejs-1920x1200.png) | [2560 x 1440](/static/images/logos/nodejs-2560x1440.png) diff --git a/locale/ko/about/trademark.md b/locale/ko/about/trademark.md new file mode 100644 index 0000000000000..21f9f4a94b922 --- /dev/null +++ b/locale/ko/about/trademark.md @@ -0,0 +1,51 @@ +--- +layout: about.hbs +title: 트레이드마크 정책 +--- + + +# 트레이드마크 정책 + + +Node.js 트레이트마크, 서비스마크, 그래픽 마크는 Node.js 소프트웨어와 프로젝트와 연관있는 사람들의 +품질, 성능, 쉬운 사용법을 상징합니다. Node.js 마크가 이러한 품질을 의미할 수 있게 사람들이 저품질의 +다른 소프트웨어를 Node.js와 혼동하지 않도록 하는 방법으로만 사용해야 합니다. 이러한 방법으로 마크를 +사용하지 않는다면 사용자가 혼란스러울 뿐만 아니라 미래에 악의적으로 마크를 사용하는 사람들한테서 마크를 +보호할 수도 없습니다. 이 정책의 주요 목적은 이러한 일이 Node.js 마크에서 일어나지 않도록 해서 +Node.js 커뮤니티와 사용자가 항상 보호받을 수 있게 하는 것입니다. + + + +동시에 커뮤니티 회원이 편안하게 Node.js라는 말을 퍼트리고 Node.js 커뮤니티에 참여하기를 원합니다. +이 목표를 유지한 채 법적으로 가능한 한 유연하고 이해하기 쉽게 정책을 만들고 있습니다. + +[전체 정책](/static/documents/trademark-policy.pdf)을 읽어보세요. +질문이 있다면 주저하지 말고 [이메일](mailto:trademark@nodejs.org)을 보내주세요. + +Node.js 마크에 대한 시각적 가이드라인은 +[시각적 가이드라인](/static/documents/foundation-visual-guidelines.pdf)에 잘 나와 있습니다. diff --git a/locale/ko/about/working-groups.md b/locale/ko/about/working-groups.md new file mode 100644 index 0000000000000..23d7dae77efc5 --- /dev/null +++ b/locale/ko/about/working-groups.md @@ -0,0 +1,653 @@ +--- +layout: about.hbs +title: 워킹 그룹 +--- + + +# 워킹 그룹 +2가지 종류의 워킹 그룹이 있습니다. +* [최상위 워킹 그룹](#top-level-working-groups) +* [핵심 워킹 그룹](#core-working-groups) + + + + +## 최상위 워킹 그룹 + + +최상위 워킹 그룹은 [기술 결정 위원회(TSC)](https://github.com/nodejs/TSC#top-level-wgs-and-tlps)에서 만듭니다. + + + +### 현재의 최상위 워킹 그룹 +* [Inclusivity](#inclusivity) + + + +#### [Inclusivity](https://github.com/nodejs/inclusivity) +Inclusivity 워킹 그룹은 Node.js 프로젝트의 포괄성과 다양성을 높이는 작업을 합니다. + + + +* 포괄성을 높인다는 것은 다양한 배경을 가진 사람들한테 Node.js 프로젝트를 안전하고 친숙한 곳으로 + 만든다는 것을 의미합니다. +* 다양성을 높인다는 것은 다양한 배경을 가진 사람들이 활발하게 Node.js 프로젝트에 합류하고 + 이들의 참여를 관리하는 것을 의미합니다. + + +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* [신분에 따른 관점](https://github.com/nodejs/inclusivity/#list-of-responsibilities)에 + 상관없이 참여의 가치를 인정하고 자신 있게 기여하고 논의에 참여할 수 있도록 환영하는 환경을 추구합니다. +* 프로젝트 포괄성을 키울 수 있는 확실한 방법을 적극적으로 찾고 제안합니다. +* 희롱이나 욕설에서 커뮤니티 멤버와 프로젝트를 보호하는 작업 흐름의 개발과 시행에 대한 리소스로서 + 제공합니다. +* 프로젝트 내에 다양성을 이룬 것을 인정하고 축하하면서 이 다양성 위에서 방법을 모색합니다. +* 프로젝트 내의 다양성과 포괄성을 평가하고 이를 정기적으로 보고하는 방법을 결정합니다. + + + + +# 핵심 워킹 그룹 + + +핵심 워킹 그룹은 +[핵심 기술 위원회 (CTC, Core Technical Committee)](https://github.com/nodejs/node/blob/master/GOVERNANCE.md#core-technical-committee)에서 +만듭니다. + + + +## 현재의 워킹 그룹 + +* [Website](#website) +* [Streams](#streams) +* [Build](#build) +* [Tracing](#tracing) +* [i18n](#i18n) +* [Evangelism](#evangelism) +* [Roadmap](#roadmap) +* [Docker](#docker) +* [Addon API](#addon-api) +* [Benchmarking](#benchmarking) +* [Post-mortem](#post-mortem) +* [Intl](#intl) +* [HTTP](#http) +* [Documentation](#documentation) +* [Testing](#testing) + + + +### [Website](https://github.com/nodejs/nodejs.org) + +웹사이트 워킹그룹의 목적은 `Node.js` 프로젝트의 공개 웹사이트를 만들고 관리하는 것입니다. + +이는 다음에 대한 책임이 있습니다. + +* `nodejs.org`의 빌드와 자동화 시스템을 개발하고 유지 보수합니다. +* 릴리스와 기능처럼 `Node.js`에 변경된 내용을 정기적으로 사이트에 갱신합니다. +* 번역 커뮤니티를 지원합니다. + + + +### [Streams](https://github.com/nodejs/readable-stream) + +스트림 워킹 그룹은 Node.js와 npm 생태계에서 사용하는 Streams API를 지원하고 개선합니다. +오랜 시간 동안 여러 번 나타나는 문제를 어렵지 않은 방법으로 해결하는 API를 조합 가능하게 만들고 +있습니다. 생태계에 요구사항에 따라 API를 개선할 것입니다. 다른 솔루션과의 상호운용성과 하위 호환성 및 +이전 버전이 가장 중요합니다. 이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* Node.js 이슈 트래커에서 스트림 관련 이슈를 처리합니다. +* Node.js 프로젝트 내 스트림 문서를 작성하고 수정합니다. +* Node.js 프로젝트 내 스트림 하위 클래스의 변경사항을 리뷰합니다. +* 스트림 변경사항을 Node.js 프로젝트에서 이 프로젝트로 리다이렉트합니다. +* Node.js 내 스트림 프로바이더의 구현체를 지원합니다. +* 읽기 가능한 스트림의 버전이 Node.js에 포함되도록 권장합니다. +* 차후 스트림의 변경사항을 커뮤니티에 알립니다. + + + +### [Build](https://github.com/nodejs/build) + +빌드 워킹 그룹의 목적은 분산 자동화 인프라스트럭처를 만들고 유지 보수하는 것입니다. + +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* 모든 대상 플랫폼에서 패키지를 만듭니다. +* 테스트를 수행합니다. +* 성능테스트를 수행하고 비교합니다. +* 빌드 컨테이너를 생성하고 관리합니다. + + + +### [Tracing](https://github.com/nodejs/tracing-wg) + +트레이싱 워킹 그룹의 목적은 Node.js로 작성된 소프트웨어의 투명성을 증가시키는 것입니다. + +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* `trace_event`를 통합하기 위해 V8과 협업합니다. +* AsyncWrap을 유지보수하고 반복합니다. +* 시스템의 추적 도구를 관리하고 개선합니다.(DTrace, LTTng 등) +* 추적과 디버깅 기법을 문서로 만듭니다. +* 추적 및 디버깅 생태계를 육성합니다. + + + +### i18n + +i18n 워킹 그룹은 단순 번역 이상의 작업을 수행합니다. 이 워킹 그룹은 커뮤니티 회원들이 각자의 언어로 +협업할 수 있도록 하는 종점입니다. + +각 팀은 공통으로 말하는 언어를 중심으로 조직되어 있습니다. 각 언어 커뮤니티는 +다양한 프로젝트의 자원을 지역화할 것입니다. + + + +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* 커뮤니티와 연관있는 Node.js 자료를 모두 번역합니다. +* 높은 품질로 번역하고 번역된 내용이 최신화되도록 번역 과정을 검토합니다. +* 언어별 소셜 미디어 채널을 관리합니다. +* 언어별 밋업 및 콘퍼런스의 node.js 발표자를 추천합니다. + + + +i18n 워킹 그룹은 [Intl](#Intl) 워킹 그룹과는 다릅니다. + +언어별 커뮤니티는 개별 권한을 가지고 운영되고 있습니다. + +* [nodejs-ar - Arabic (اللغة العربية)](https://github.com/nodejs/nodejs-ar) +* [nodejs-bg - Bulgarian (български език)](https://github.com/nodejs/nodejs-bg) +* [nodejs-bn - Bengali (বাংলা)](https://github.com/nodejs/nodejs-bn) +* [nodejs-zh-CN - Chinese (中文)](https://github.com/nodejs/nodejs-zh-CN) +* [nodejs-cs - Czech (Český Jazyk)](https://github.com/nodejs/nodejs-cs) +* [nodejs-da - Danish (Dansk)](https://github.com/nodejs/nodejs-da) +* [nodejs-de - German (Deutsch)](https://github.com/nodejs/nodejs-de) +* [nodejs-el - Greek (Ελληνικά)](https://github.com/nodejs/nodejs-el) +* [nodejs-es - Spanish (Español)](https://github.com/nodejs/nodejs-es) +* [nodejs-fa - Persian (فارسی)](https://github.com/nodejs/nodejs-fa) +* [nodejs-fi - Finnish (Suomi)](https://github.com/nodejs/nodejs-fi) +* [nodejs-fr - French (Français)](https://github.com/nodejs/nodejs-fr) +* [nodejs-he - Hebrew (עברית)](https://github.com/nodejs/nodejs-he) +* [nodejs-hi - Hindi (फिजी बात)](https://github.com/nodejs/nodejs-hi) +* [nodejs-hu - Hungarian (Magyar)](https://github.com/nodejs/nodejs-hu) +* [nodejs-id - Indonesian (Bahasa Indonesia)](https://github.com/nodejs/nodejs-id) +* [nodejs-it - Italian (Italiano)](https://github.com/nodejs/nodejs-it) +* [nodejs-ja - Japanese (日本語)](https://github.com/nodejs/nodejs-ja) +* [nodejs-ka - Georgian (ქართული)](https://github.com/nodejs/nodejs-ka) +* [nodejs-ko - Korean (한국어)](https://github.com/nodejs/nodejs-ko) +* [nodejs-mk - Macedonian (Mакедонски)](https://github.com/nodejs/nodejs-mk) +* [nodejs-ms - Malay (بهاس ملايو)](https://github.com/nodejs/nodejs-ms) +* [nodejs-nl - Dutch (Nederlands)](https://github.com/nodejs/nodejs-nl) +* [nodejs-no - Norwegian (Norsk)](https://github.com/nodejs/nodejs-no) +* [nodejs-pl - Polish (Język Polski)](https://github.com/nodejs/nodejs-pl) +* [nodejs-pt - Portuguese (Português)](https://github.com/nodejs/nodejs-pt) +* [nodejs-ro - Romanian (Română)](https://github.com/nodejs/nodejs-ro) +* [nodejs-ru - Russian (Русский)](https://github.com/nodejs/nodejs-ru) +* [nodejs-sv - Swedish (Svenska)](https://github.com/nodejs/nodejs-sv) +* [nodejs-ta - Tamil (தமிழ்)](https://github.com/nodejs/nodejs-ta) +* [nodejs-tr - Turkish (Türkçe)](https://github.com/nodejs/nodejs-tr) +* [nodejs-zh-TW - Taiwanese (Hō-ló)](https://github.com/nodejs/nodejs-zh-TW) +* [nodejs-uk - Ukrainian (Українська)](https://github.com/nodejs/nodejs-uk) +* [nodejs-vi - Vietnamese (Tiếng Việtnam)](https://github.com/nodejs/nodejs-vi) + + + +### [Intl](https://github.com/nodejs/Intl) + +Intl 워킹 그룹은 Node의 국제화(i18n)와 지역화(l10n)을 지원하고 개선합니다. +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +1. 모든 기능과 표준 준수 (표준: ECMA, 유니코드...) +2. 트래커에 올라온 세계화(Globalization)와 국제화(Internationalization) 이슈를 지원합니다. +3. 가이드라인과 권장 사례를 만듭니다. +4. 기존의 `Intl` 구현체를 정체합니다. + + + +### [Evangelism](https://github.com/nodejs/evangelism) + +에반젤리즘 워킹 그룹은 Node.js의 성과를 홍보하고 커뮤니티가 참여하는 방법을 알립니다. + +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* 프로젝트 메시징 +* 공식 프로젝트 소셜 미디어 +* 밋업과 콘퍼런스의 발표자 추천 +* 커뮤니티 이벤트의 홍보 +* 정기적인 수정사항 요약과 다른 홍보 내용의 발행 + + + +### [HTTP](https://github.com/nodejs/http) + +HTTP 워킹 그룹은 Node의 HTTP 구현체를 지원하고 개선하는 권한을 가집니다. +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* Node.js 이슈 트래커에 올라온 HTTP 이슈를 처리합니다. +* Node.js 프로젝트의 HTTP 문서를 작성하고 수정합니다. +* Node.js 프로젝트의 HTTP 기능 변경을 검토합니다. +* 코어의 HTTP 구현체와 API가 발전하도록 HTTP 생태계와 관련된 모듈 개발자들과 협업합니다. +* HTTP와 관련된 모든 이슈와 토론을 핵심 기술 위원회(CTC)에 알립니다. +* 차후 HTTP의 변경사항을 커뮤니티에 알립니다. + + + +### [Roadmap](https://github.com/nodejs/roadmap) + +로드맵 워킹 그룹은 사용자 커뮤니티의 활동과 관심사가 Node.js의 수행 계획에 포함되도록 하는 책임을 +집니다. + +최종 [로드맵](https://github.com/nodejs/node/blob/master/ROADMAP.md) 문서는 아직 +TC가 관리하고 있고 다른 프로젝트 자산과 마찬가지로 변경할 때 같은 승인절차가 필요합니다. + +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* 사용자 커뮤니티의 요구사항과 피드백을 받아서 요약합니다. +* 더 넓은 참여가 가능한 도구를 찾거나 만들 수도 있습니다. +* [ROADMAP.md](https://github.com/nodejs/node/blob/master/ROADMAP.md) + 관련 변경사항에 대한 풀 리퀘스트를 올립니다. + + + +### [Docker](https://github.com/nodejs/docker-node) + +Docker 워킹 그룹은 `Node.js` 프로젝트의 공식 Docker 이미지를 만들고 관리하고 개선합니다. + +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* 새로운 `Node.js` 릴리스로 공식 Docker 이미지를 갱신합니다. +* 이미지의 개선이나 수정사항 구현을 결정합니다. +* 이미지 문서를 관리하고 개선합니다. + + + +### [Addon API](https://github.com/nodejs/nan) + +애드온 API 워킹 그룹은 NAN 프로젝트와 npm에서 _nan_ 패키지를 유지 보수하는 책임을 집니다. +NAN 프로젝트는 네이티브 애드온 작성자가 다수가 사용하는 Node.js, V8, libuv 버전과 호환성 있는 +코드를 작성할 수 있도록 추상화 계층을 제공한다. + +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* [NAN](https://github.com/nodejs/nan) GitHub 저장소에서 코드, 이슈, 문서를 관리합니다. +* [addon-examples](https://github.com/nodejs/node-addon-examples) + GitHub 저장에서 코드, 이슈, 문서를 관리합니다. +* Node.js CTC 하에 Node.js 프로젝트의 C++ Addon API를 관리합니다. +* Node.js CTC 하에 Node.js 프로젝트의 Addon 문서를 관리합니다. +* npm의 _nan_ 패키지를 관리하고 절절하게 새로운 버전을 릴리스합니다. +* 차후 Node.js와 NAN 인터페이스의 변경사항을 커뮤니티에 알립니다. + +현재 회원은 nan의 [README](https://github.com/nodejs/nan#collaborators)에서 +볼 수 있습니다. + + + +### [Benchmarking](https://github.com/nodejs/benchmarking) + +벤치마킹 워킹 그룹의 목적은 벤치마크 세트가 동의하에 사용될 수 있도록 합의점을 찾는 것입니다. + ++ Node 릴리스 간의 성능 차이를 추적하고 알립니다. ++ 릴리즈 간의 성능 저하를 피합니다. + +이 워킹 그룹은 다음에 대한 책임이 있습니다. + ++ 사용자 용도를 반역하는 하나 이상의 벤치마크를 확인합니다. 지연이 낮고 높은 동시성을 가지는 것을 포함해서 일반적인 Node 사용 사례를 다루는 하나 이상의 벤치마크가 필요합니다. ++ 선택한 벤치마크 목록에서 커뮤니티의 합의를 합니다. ++ Node 빌드에 선정한 벤치마크를 정기적으로 실행합니다. ++ 빌드/릴리스 간에 성능을 추적하고 알립니다. + + + +### [Post-mortem](https://github.com/nodejs/post-mortem) + +포스트모템 진단 워킹 그룹은 Node.js 포스트모템 디버깅을 지원하고 개선합니다. 이 워킹 그룹은 Node에서 +포스트모템 디버깅의 역할을 향상시켜서 기술과 도구개발을 돕고 Node.js 사용자가 알고 있고 사용하는 +기술과 도구를 만드는 것입니다. + +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* 필요할 때 덤프를 생성할 수 있도록 인터페이스/API를 정의하고 추가합니다. +* 이러한 덤프를 분석하는 도구를 지원하기 위해 생성된 덤프의 공통 구조를 정의하고 추가합니다. + + + +### [Documentation](https://github.com/nodejs/docs) + +문서화 워킹 그룹은 코어 API 문서와 Node.js 웹사이트 같은 문서를 포함한 모든 Node.js 문서를 개선합니다. 모두가 뛰어난 문서를 사용할 수 있도록 Evangelism, Website, Intl 워킹 그룹과 밀접하게 작업합니다. + +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* 문서 형식과 콘텐츠 표준을 정의하고 관리합니다. +* Website 워킹그룹이 받아들일 수 있는 형식으로 문서를 작성합니다. +* Node의 문서가 다양한 사용자를 지원할 수 있도록 합니다. +* 핵심 작업 절차를 방해하지 않고 질 좋은 문서를 만들기 위해 문서 리뷰과정을 만들고 운영합니다. + + + +### [Testing](https://github.com/nodejs/testing) + +Node.js 테스팅 워킹 그룹은 Node.js 소스 코드의 테스트를 확장하고 개선합니다. + +이 워킹 그룹은 다음에 대한 책임이 있습니다. + +* 테스트를 개선하는 전반적인 전략을 조정합니다. +* 테스트와 관련된 가이드라인을 문서로 만듭니다. +* 지속적인 통합을 개선하기 위해 Build 워킹 그룹과 협업합니다. +* 테스트 도구를 개선합니다. diff --git a/locale/ko/security.md b/locale/ko/security.md new file mode 100644 index 0000000000000..6af03d88ef98c --- /dev/null +++ b/locale/ko/security.md @@ -0,0 +1,123 @@ +--- +layout: security.hbs +title: 보안 +--- + + +# 보안 + +# 버그 보고 + +Node.js의 모든 보안 버그는 심각한 문제이므로 +[security@nodejs.org](mailto:security@nodejs.org) 이메일로 보고해야 합니다. +이 이메일은 보안 이슈를 처리하는 코어 팀 내의 사람들에게 보내질 것입니다. + +보고된 내용은 24시간 이내에 승인하고 48시간 이내에 다음 처리 단계를 안내하는 +자세한 내용을 응답할 것입니다. + + +보고한 내용에 첫 답변을 한 후 보안 팀은 수정사항과 전체 공지를 만드는 과정을 보고자에게 계속 알려주려고 +노력할 것입니다. 보고된 이슈에 대한 추가 정보나 안내를 물어볼 수도 있습니다. 이러한 진행사항은 +최소 5일마다 계속 알려줄 것입니다만 실제로는 24~48시간 마다 알려줄 가능성이 큽니다. + +서드파티 모듈의 보안 버그는 각 메인테이너에게 보고해야 하고 +[Node 보안 프로젝트](https://nodesecurity.io)를 통해 조정할 수도 있습니다. + +Node.js의 보안을 개선하게 해 준 것에 감사드립니다. 당신이 들인 노력과 책임 있는 공개에 아주 +감사드리고 이는 인정받을 것입니다. + + + +## 공개 정책 + +다음은 Node.js의 보안 공개 정책입니다. + +- 보안 보고를 받으면 주요 처리자에게 할당됩니다. 이 사람은 수정사항과 릴리스 정차를 책임질 것입니다. + 해당 문제를 확인하고 영향을 받는 버전 목록을 결정합니다. 잠재적으로 비슷한 문제를 일으킬 수 있는 + 코드를 점검합니다. 관리 중인 모든 릴리스 버전에 대한 수정사항을 준비합니다. 이 수정사항은 + 공개 저장소에 커밋하지 않고 공지할 때까지 로컬에 보관해 둡니다. + +- 해당 취약점에 대한 공개 금지 날짜를 결정하고 + CVE(Common Vulnerabilities and Exposures (CVE®))를 요청합니다. + +- 공개 금지 날짜가 끝나면 Node.js 보안 메일링 리스트로 공지의 복사본을 보냅니다. 수정사항을 공개 + 저장소에 올리고 새로운 빌드를 nodejs.org에 배포합니다. 메일링 리스트에 공지하고 6시간 이내에 + 권고안의 복사본을 Node.js 블로그에 발행합니다. + +- 보통 공개 금지 날짜는 CVE가 발급된 후 72시간으로 정하지만, 버그의 심각도나 수정의 어려움에 따라 + 달라질 수 있습니다. + +- 이 절차는 시간이 걸릴 수 있고 다른 프로젝트의 메인테이너들과의 협업이 필요한 경우에는 더 오랜 시간이 + 걸릴 수 있습니다. 가능한 최적의 시기에 버그를 처리하려고 노력할 것이지만 정보 공개를 일관되게 하려고 + 위에서 설명한 릴리스 절차를 따르는 것이 중요합니다. + + + +## 보안 업데이트 받기 + +다음 방법으로 보안 공지를 합니다. + +- [https://groups.google.com/group/nodejs-sec](https://groups.google.com/group/nodejs-sec) +- [https://nodejs.org/en/blog](https://nodejs.org/en/blog) + + + +## 이 정책에 대한 의견 + +이 절차를 개선하기 위한 의견이 있다면 논의를 위해 [풀 리퀘스트](https://github.com/nodejs/nodejs.org)를 올리거나 +[security@nodejs.org](mailto:security@nodejs.org)로 이메일을 보내주시기 바랍니다. diff --git a/locale/ko/site.json b/locale/ko/site.json index 18e1cd7712556..4eeec36368e66 100644 --- a/locale/ko/site.json +++ b/locale/ko/site.json @@ -48,6 +48,14 @@ "link": "about/resources", "text": "관련 자료" }, + "foundation": { + "link": "foundation", + "text": "재단" + }, + "security": { + "link": "security", + "text": "보안" + }, "trademark": { "link": "about/trademark", "text": "트레이드마크" @@ -63,6 +71,10 @@ "package-manager": { "link": "download/package-manager", "text": "패키지 관리자를 통한 Node.js 설치" + }, + "shasums":{ + "link": "SHASUMS256.txt.asc", + "text": "릴리스 파일에 서명된 SHASUMS" } }, "docs": { @@ -88,10 +100,6 @@ "guides": { "link": "docs/guides", "text": "안내" - }, - "knowledge": { - "link": "knowledge", - "text": "지식 베이스" } }, "foundation": { @@ -125,6 +133,10 @@ "getinvolved": { "link": "get-involved", "text": "참여하기", + "code-and-learn": { + "link": "get-involved/code-and-learn", + "text": "코딩 + 배우기" + }, "contribute": { "link": "get-involved/contribute", "text": "기여하기" @@ -133,16 +145,13 @@ "link": "get-involved/development", "text": "개발하기" }, - "code-and-learn": { - "link": "get-involved/code-and-learn", - "text": "코딩 + 배우기" - }, "events": { "link": "get-involved/events", "text": "이벤트" }, "conduct": { - "text": "Conduct" + "link": "https://github.com/nodejs/node/blob/master/CONTRIBUTING.md#code-of-conduct", + "text": "행동강령" } }, "security" : { "link": "security", "text": "보안" },