Skip to content

Commit d000ebf

Browse files
committed
Merge remote-tracking branch 'upstream/master'
* upstream/master: outreachy: add myles' project add good first contributions to the outreachy page precede email addresses with mailto (nodejs#935) Translate "docs" menu as Korean (nodejs#904) nodejs-ja: Add about/index.md (nodejs#933) Revert "Blog: fix CVE ID for writeHead() bug / CVE-2016-5326" Blog: fix CVE ID for writeHead() bug / CVE-2016-5326 Add Education initiatives and Outreachy to Foundation section of website (nodejs#929)
2 parents ef47d12 + 10c25a6 commit d000ebf

File tree

12 files changed

+2961
-12
lines changed

12 files changed

+2961
-12
lines changed

locale/en/foundation/outreachy.md

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Participation is open internationally to all women (cis and trans), trans men, a
1515
**Quick links**
1616

1717
- [The Node.js project on GitHub](https://github.com/nodejs/node)
18+
- [Good first contributions in the Node.js issue tracker](https://github.com/nodejs/node/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+contribution%22)
1819
- [Getting started for applicants](https://wiki.gnome.org/Outreachy#Introduction)
1920
- [Mentor prep](https://wiki.gnome.org/Outreachy/Admin/InfoForMentors)
2021

@@ -67,18 +68,21 @@ For information about expectations for mentors and to volunteer to be a mentor,
6768
The volunteer mentors are:
6869

6970
- [Franziska Hinkelmann](https://plus.google.com/u/1/116713283748910059509?prsrc=4)
70-
- [Rich Trott]([email protected]), IRC: Trott
71-
- [Dan Shaw]([email protected]), IRC: dshaw
72-
- [Myles Borins]([email protected].com ), IRC: thealphanerd
73-
- [Priyanka Sulugodua Prakash Murthy]([email protected])
71+
- [Rich Trott](mailto:[email protected]), IRC: Trott
72+
- [Dan Shaw](mailto:[email protected]), IRC: dshaw
73+
- [Myles Borins](mailto:myles.borins@gmail.com), IRC: thealphanerd
74+
- [Priyanka Sulugodua Prakash Murthy](mailto:[email protected])
7475

7576
**Project administrator**
7677

7778
- Tracy Hinds, Education Community Manager at the Node.js Foundation Reach her at [[email protected]]([email protected]) or on IRC: hackygolucky
7879

7980
**PROJECTS**
80-
**Improve the vm module in Node.js core**
81-
*Mentor:* [Franziska Hinkelmann](https://plus.google.com/u/1/116713283748910059509?prsrc=4)
81+
82+
**Improve the vm module in Node.js core**
83+
84+
*Mentor:* [Franziska Hinkelmann](https://plus.google.com/u/1/116713283748910059509?prsrc=4)
85+
8286
The vm module is used in the Node.js command line and in DOM implementations, such as jsdom. Sadly, there are many open issues related to the module and it needs some love. Recent changes in V8, Node's JS engine, now make it possible to fix several of the issues and improve the vm code base significantly.
8387

8488
This project includes learning how to build and debug Node.js core, how the vm module is implemented, some Node internals about the global proxy, and how to use the V8 API. You will be coding in C++ and write tests in JavaScript. No worries if you're not too familiar with these languages, a desire to learn and curiosity are much more important than a fixed skill set.
@@ -88,13 +92,32 @@ https://github.com/nodejs/node/issues/6283
8892

8993

9094
**Project TBD**
91-
[Rich Trott]([email protected])
95+
[Rich Trott](mailto:[email protected])
9296

9397
**Project TBD**
94-
[Dan Shaw]([email protected])
98+
[Dan Shaw](mailto:[email protected])
9599

96-
**Project TBD**
97-
[Myles Borins]([email protected] )
100+
**Improving Serial Communication in Node.js by diving into libuv**
101+
102+
*Mentor:* [Myles Borins](mailto:[email protected]@gmail.com )
103+
104+
One of the strengths of Node.js is the ability to run on various different operating systems. One of the ways in which this is accomplished is via [libuv](https://github.com/libuv/libuv), a library for cross platform asynchronous I/O. Currently, doing serial communication in Node.js requires installing a module such as [node-serialport](https://github.com/EmergingTechnologyAdvisors/node-serialport) which relies on natively compiled components. Having natively compiled components in a node module make it more difficult for individuals to install, and has been a blocker for new developers interested in getting involved with node-bots.
105+
106+
In this project you will collaborate with members of the Node.js project, and members of the libuv project, to define and implement the necessary apis to remove the need for natively compiled components to support serial communication in Node.js. This will involve planning, implementation across code bases, and a certain level of open source politics to ensure that the work being done will fit the needs of the consumers in the Node.js ecosystem.
107+
108+
The project will be broken down into a number of stages including:
109+
110+
* Getting familliar with the Node.js code base
111+
* Getting your first commits into Node.js core
112+
- A list of good first contributions can be found [here](https://github.com/nodejs/node/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+contribution%22)
113+
* Getting familliar with the libuv code base
114+
* Getting your first commits into libuv
115+
- A list of future milstones can be found [here](https://github.com/libuv/libuv/milestone/5)
116+
* Defining and implementing the interfaces needed in libuv for implementing Serial communication
117+
* Defining and implementing the interfaces needed in Node.js to expose the libuv api's needed for implementing Serial communication
118+
* Collaborating with community projects to define and support an upgrade path.
119+
120+
Mentor in United States (NYC)
98121

99122
**Project TBD**
100-
[Priyanka Sulugodua Prakash Murthy]([email protected])
123+
[Priyanka Sulugodua Prakash Murthy](mailto:[email protected])

locale/ja/about/index.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
---
2+
layout: about.hbs
3+
title: Node.js とは
4+
trademark: Trademark
5+
---
6+
# <!-- About Node.js&reg; -->Node.js&reg; とは
7+
8+
<!--
9+
As an asynchronous event driven JavaScript runtime, Node is designed to build
10+
scalable network applications. In the following "hello world" example, many
11+
connections can be handled concurrently. Upon each connection the callback is
12+
fired, but if there is no work to be done Node is sleeping.
13+
-->
14+
15+
Node はスケーラブルなネットワークアプリケーションを構築するために設計された非同期型のイベント駆動の JavaScript 環境です。
16+
以下の「Hello World」の例では、たくさんの接続を同時に処理することができます。
17+
各接続ごとにコールバックは発火され、何もすることがない場合、Node はスリープします。
18+
19+
```javascript
20+
const http = require('http');
21+
22+
const hostname = '127.0.0.1';
23+
const port = 3000;
24+
25+
const server = http.createServer((req, res) => {
26+
res.statusCode = 200;
27+
res.setHeader('Content-Type', 'text/plain');
28+
res.end('Hello World\n');
29+
});
30+
31+
server.listen(port, hostname, () => {
32+
console.log(`Server running at http://${hostname}:${port}/`);
33+
});
34+
```
35+
36+
<!--
37+
This is in contrast to today's more common concurrency model where OS threads
38+
are employed. Thread-based networking is relatively inefficient and very
39+
difficult to use. Furthermore, users of Node are free from worries of
40+
dead-locking the process, since there are no locks. Almost no function in Node
41+
directly performs I/O, so the process never blocks. Because nothing blocks,
42+
scalable systems are very reasonable to develop in Node.
43+
-->
44+
45+
これは OS のスレッドが採用されている一般的な同時実行モデルとは対象的です。
46+
スレッドベースのネットワーキングは比較的非効率であり、使うのはとても困難です。
47+
さらに Node にはロックがないので Node ユーザーはプロセスのデッドロックの悩みから開放されます。
48+
ほとんどの Node の関数は I/O を直接実行しないため、プロセスをブロックしません。
49+
ブロックしないのでスケーラブルなシステムを開発するのに Node はとても最適です。
50+
51+
<!--
52+
If some of this language is unfamiliar, there is a full article on
53+
[Blocking vs Non-Blocking][].
54+
-->
55+
56+
この言葉だけでは不慣れな部分がいくつかあるかもしれません。
57+
[Blocking vs Non-Blocking][] にもう少し詳しい記事があります。
58+
59+
---
60+
61+
<!--
62+
Node is similar in design to, and influenced by, systems like Ruby's
63+
[Event Machine][] or Python's [Twisted][]. Node takes the event model a bit
64+
further, it presents an [event loop][] as a runtime construct instead of as a library. In other systems there is always a blocking call to start the
65+
event-loop.
66+
Typically behavior is defined through callbacks at the beginning of a script
67+
and at the end starts a server through a blocking call like
68+
`EventMachine::run()`. In Node there is no such start-the-event-loop call. Node
69+
simply enters the event loop after executing the input script. Node exits the
70+
event loop when there are no more callbacks to perform. This behavior is like
71+
browser JavaScript — the event loop is hidden from the user.
72+
-->
73+
74+
Node は Ruby の [Event Machine][] や Python の [Twisted][] のシステムに影響を受けていて、同様の設計です。
75+
Node はランタイムコンストラクタの替わりにライブラリとして[イベントループ][]を提供し、さらに小さなイベントモデルを持ちます。
76+
ほかのシステムではイベントループの開始時にブロッキングコールが常にあります。
77+
典型的な例ではスクリプトの先頭で動作をコールバックを用いて定義し、
78+
最後に `EventMachine::run()` のようなブロッキングコールでサーバを起動します。
79+
Node ではそのようなイベントループを開始する呼び出しはありません。
80+
Node は単純にスクリプトを実行した直後にイベントループが開始されます。
81+
実行するコールバックがこれ以上ない場合に Node はイベントループから抜けます。
82+
この動作はブラウザ上の JavaScript と似ています — イベントループはユーザからは隠されます。
83+
84+
<!--
85+
HTTP is a first class citizen in Node, designed with streaming and low latency
86+
in mind. This makes Node well suited for the foundation of a web library or
87+
framework.
88+
-->
89+
90+
HTTP はストリーミングと低遅延を念頭に置いて設計された Node の第一級オブジェクトです。
91+
これは Node で Web ライブラリやフレームワークの基礎を作るために適しています。
92+
93+
<!--
94+
Just because Node is designed without threads, doesn't mean you cannot take
95+
advantage of multiple cores in your environment. Child processes can be spawned
96+
by using our [`child_process.fork()`][] API, and are designed to be easy to
97+
communicate with. Built upon that same interface is the [`cluster`][] module,
98+
which allows you to share sockets between processes to enable load balancing
99+
over your cores.
100+
-->
101+
102+
Node はスレッドがない設計をしているという理由だけで、複数コアの利点が得られないわけではありません。
103+
通信しやすく設計された子プロセスは [`child_process.fork()`][] API を使って生成できます。
104+
コア上でロードバランシングを有効にするためにプロセス間でソケットを共有することを可能にする [`cluster`][] モジュールが同じインターフェース上に内蔵されています。
105+
106+
[Blocking vs Non-Blocking]: https://github.com/nodejs/node/blob/master/doc/topics/blocking-vs-non-blocking.md
107+
[`child_process.fork()`]: https://nodejs.org/api/child_process.html#child_process_child_process_fork_modulepath_args_options
108+
[`cluster`]: https://nodejs.org/api/cluster.html
109+
[イベントループ]: https://github.com/nodejs/node/blob/master/doc/topics/the-event-loop-timers-and-nexttick.md
110+
[Event Machine]: http://rubyeventmachine.com/
111+
[Twisted]: http://twistedmatrix.com/

locale/ja/site.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"home": { "text": "ホーム" },
3232
"about": {
3333
"link": "about",
34-
"text": "アバウト",
34+
"text": "Node.js とは",
3535
"governance": {
3636
"link": "about/governance",
3737
"text": "委員会"

locale/ko/docs/es6.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
title: ECMAScript 2015(ES6)와 그 다음
3+
layout: docs.hbs
4+
---
5+
6+
<!--
7+
# ECMAScript 2015 (ES6) and beyond
8+
9+
Node.js is built against modern versions of [V8](https://developers.google.com/v8/). By keeping up-to-date with the latest releases of this engine, we ensure new features from the [JavaScript ECMA-262 specification](http://www.ecma-international.org/publications/standards/Ecma-262.htm) are brought to Node.js developers in a timely manner, as well as continued performance and stability improvements.
10+
11+
All ECMAScript 2015 (ES6) features are split into three groups for **shipping**, **staged**, and **in progress** features:
12+
13+
* All **shipping** features, which V8 considers stable, are turned **on by default on Node.js** and do **NOT** require any kind of runtime flag.
14+
* **Staged** features, which are almost-completed features that are not considered stable by the V8 team, require a runtime flag: `--harmony`.
15+
* **In progress** features can be activated individually by their respective harmony flag, although this is highly discouraged unless for testing purposes. Note: these flags are exposed by V8 and will potentially change without any deprecation notice.
16+
-->
17+
18+
# ECMAScript 2015(ES6)와 그 다음
19+
20+
Node.js는 [V8](https://developers.google.com/v8/)의 최신 버전으로 만들었습니다.
21+
V8을 최신 릴리스로 유지하기 때문에 Node.js 개발자에게
22+
[JavaScript ECMA-262 명세](http://www.ecma-international.org/publications/standards/Ecma-262.htm)
23+
새로운 기능을 제때에 지원하면서 성능과 안정성 개선도 할 수 있습니다.
24+
25+
모든 ECMAScript 2015(ES6) 기능은 **shipping**, **staged**, **in progress** 기능의
26+
세 가지 그룹으로 나뉩니다.
27+
28+
* 모든 **shipping** 기능은 V8이 안정적이라고 간주한 것으로
29+
**Node.js에서는 기본적으로 켜져 있으므로** 런타임 플래그가 전혀 **필요 없습니다**.
30+
* **Staged** 기능은 거의 완성되었지만, V8 팀이 안정적이라고 간주하지 않은 기능으로
31+
`--harmony` 런타임 플래그가 필요합니다.
32+
* **In progress** 기능은 각 하모니 플래그로 개별적으로 활성화할 수 있습니다. 테스트 목적이
33+
아니라면 활성화하지 않기를 강력하게 권장합니다. 주의: 이 플래그는 V8에서 제공한 것으로
34+
폐기 공지 없이 변경될 수 있습니다.
35+
36+
<!--
37+
## Which features ship with which Node.js version by default?
38+
39+
The website [node.green](http://node.green) provides an excellent overview over supported ECMAScript features in various versions of Node.js, based on kangax's compat-table.
40+
-->
41+
42+
## Node.js 버전에 어떤 기능이 기본적으로 포함되나요?
43+
44+
[node.green](http://node.green) 웹사이트에서 어떤 Node.js가 어떤 ECMAScript 기능을
45+
지원하는지 파악할 수 있습니다. 이는 kangax의 호환성 표를 기반으로 만들어졌습니다.
46+
47+
<!--
48+
## Which features are in progress?
49+
50+
New features are constantly being added to the V8 engine. Generally speaking, expect them to land on a future Node.js release, although timing is unknown.
51+
52+
You may list all the *in progress* features available on each Node.js release by grepping through the `--v8-options` argument. Please note that these are incomplete and possibly broken features of V8, so use them at your own risk:
53+
54+
```bash
55+
node --v8-options | grep "in progress"
56+
```
57+
-->
58+
59+
## 어떤 기능이 진행 중입니까?
60+
61+
V8 엔진에 계속해서 새로운 기능이 추가되고 있습니다. 정확한 시기는 알 수 없겠지만
62+
앞으로 릴리스 할 Node.js에는 V8에 추가된 새 기능이 대체로 포함될 것입니다.
63+
64+
`--v8-options` 인자로 각 Node.js 릴리스에서 모든 *in progress* 기능의 리스트를 볼 수
65+
있습니다. 이 기능들은 완성되지 않았고 V8에서 제대로 돌아가지 않을 수도 있으므로 이 기능을 사용할 때는
66+
위험을 감수해야 함을 명심하세요.
67+
68+
```bash
69+
node --v8-options | grep "in progress"
70+
```
71+
72+
<!--
73+
## I have my infrastructure set up to leverage the --harmony flag. Should I remove it?
74+
75+
The current behaviour of the `--harmony` flag on Node.js is to enable **staged** features only. After all, it is now a synonym of `--es_staging`. As mentioned above, these are completed features that have not been considered stable yet. If you want to play safe, especially on production environments, consider removing this runtime flag until it ships by default on V8 and, consequently, on Node.js. If you keep this enabled, you should be prepared for further Node.js upgrades to break your code if V8 changes their semantics to more closely follow the standard.
76+
-->
77+
78+
## --harmony 플래그를 사용하는 환경이 있습니다. 이를 제거해야 하나요?
79+
80+
Node.js에서 `--harmony` 플래그의 현재 동작은 **staged** 기능만 활성화하는 것입니다. 결국,
81+
이는 `--es_staging`과 같은 의미입니다. 앞에서 말했듯이 이 기능은 완성되었지만, 아직 안정적이라고
82+
볼 수는 없습니다. 프로덕션 환경 등에서 안전하게 운영하고 싶다면 V8과 Node.js에서 기본적으로
83+
제공할 때까지 이 런타임 플래그를 제거하는 것을 고려해 보세요. 이 기능을 활성화한다면 차후 Node.js를
84+
업그레이드 할 때 V8이 이 기능의 의미를 표준에 더 가깝게 변경한 경우 코드가 깨질 수 있으므로
85+
대비해야 합니다.
86+
87+
<!--
88+
## How do I find which version of V8 ships with a particular version of Node.js?
89+
90+
Node.js provides a simple way to list all dependencies and respective versions that ship with a specific binary through the `process` global object. In case of the V8 engine, type the following in your terminal to retrieve its version:
91+
92+
```bash
93+
node -p process.versions.v8
94+
```
95+
-->
96+
97+
## Node.js의 특정 버전에 포함된 V8의 버전을 어떻게 알 수 있나요?
98+
99+
Node.js에서는 `process` 전역 객체를 통해 특정 바이너리에 포함된 모든 의존성과 각 버전의 목록을
100+
쉽게 볼 수 있습니다. V8 엔진의 경우 터미널에서 다음 명령어를 실행하면 V8 버전을 볼 수 있습니다.
101+
102+
```bash
103+
node -p process.versions.v8
104+
```

0 commit comments

Comments
 (0)