Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions locale/en/about/resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,19 @@ title: Logos and Graphics

<table border="0" cellspacing="0" cellpadding="10" class="logos">
<tr>
<td bgcolor="#FFFFFF">[![Node.js on light background](/static/images/logos/nodejs-new-pantone-black.png)](/static/images/logos/nodejs-new-pantone-black.ai)</td>
<td bgcolor="#333333">[![Node.js on dark background](/static/images/logos/nodejs-new-pantone-white.png)](/static/images/logos/nodejs-new-pantone-white.ai)</td>
<td bgcolor="#FFFFFF"><a href="/static/images/logos/nodejs-new-pantone-black.ai"><img src="/static/images/logos/nodejs-new-pantone-black.png" alt="Node.js on light background"></a></td>
<td bgcolor="#333333"><a href="/static/images/logos/nodejs-new-pantone-white.ai"><img src="/static/images/logos/nodejs-new-pantone-white.png" alt="Node.js on dark background"></a></td>
</tr>
<tr>
<td>[Node.js standard AI](/static/images/logos/nodejs-new-pantone-black.ai)</td>
<td>[Node.js reversed AI](/static/images/logos/nodejs-new-pantone-white.ai)</td>
<td><a href="/static/images/logos/nodejs-new-pantone-black.ai">Node.js standard AI</a></td>
<td><a href="/static/images/logos/nodejs-new-pantone-white.ai">Node.js reversed AI</a></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">[![Node.js on light background](/static/images/logos/nodejs-new-black.png)](/static/images/logos/nodejs-new-black.ai)</td>
<td bgcolor="#333333">[![Node.js on dark background](/static/images/logos/nodejs-new-white.png)](/static/images/logos/nodejs-new-white.ai)</td>
<td bgcolor="#FFFFFF"><a href="/static/images/logos/nodejs-new-black.ai"><img src="/static/images/logos/nodejs-new-black.png" alt="Node.js on light background"></a></td>
<td bgcolor="#333333"><a href="/static/images/logos/nodejs-new-white.ai"><img src="/static/images/logos/nodejs-new-white.png" alt="Node.js on dark background"></a></td>
</tr>
<tr>
<td>[Node.js standard with less color AI](/static/images/logos/nodejs-new-black.ai)</td>
<td>[Node.js reversed with less color AI](/static/images/logos/nodejs-new-white.ai)</td>
<td><a href="/static/images/logos/nodejs-new-black.ai">Node.js standard with less color AI</a></td>
<td><a href="/static/images/logos/nodejs-new-white.ai">Node.js reversed with less color AI</a></td>
</tr>
</table>
25 changes: 13 additions & 12 deletions locale/en/blog/npm/2013-outage-postmortem.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ There are two distinct components that make up npmjs.org operated by different p

Here is a high-level summary of the _old architecture:_

<img width=600 src="https://i.cloudup.com/bapm3fk8Ve-3000x3000.png" alt="old npm architecture">
<div style="text-align:center">
_Diagram 1. Old npm architecture_
</div>
<figure>
<img src="https://i.cloudup.com/bapm3fk8Ve-3000x3000.png" alt="old npm architecture">
<figcaption>Diagram 1. Old npm architecture</figcaption>
</figure>

## What went wrong and how was it fixed?

Expand All @@ -44,10 +44,10 @@ The incident on November 4th was ultimately resolved by a reboot and resize of t

When neither of these yielded a solution Jason Smith and I decided to move to a multi-master architecture with continuous replication illustrated below:

<img width=600 src="https://i.cloudup.com/xu1faVCq8p-3000x3000.png" alt="current npm architecture">
<div style="text-align:center">
_Diagram 2. Current npm architecture -- Red-lines denote continuous replication_
</div>
<figure>
<img src="https://i.cloudup.com/xu1faVCq8p-3000x3000.png" alt="current npm architecture">
<figcaption>Diagram 2. Current npm architecture -- Red-lines denote continuous replication</figcaption>
</figure>

This _should_ have been the end of our story but unfortunately our supervision logic did not function properly to restart the secondary master on the morning of November 15th. During this time we [moved briefly][ops-single-server] back to a single master architecture. Since then the secondary master has been closely monitored by the entire Nodejitsu operations team to ensure it's continued stability.

Expand All @@ -62,10 +62,11 @@ The public npm registry simply cannot go down. **Ever.** We gained a lot of oper

When these new infrastructure components are in-place The npm Registry will look like this:

<img width=600 src="https://i.cloudup.com/XwrpFNICJ2-3000x3000.png" alt="planned npm architecture">
<div style="text-align:center">
_Diagram 3. Planned npm architecture -- Red-lines denote continuous replication_
</div>
<figure>
<img src="https://i.cloudup.com/XwrpFNICJ2-3000x3000.png" alt="planned npm architecture">
<figcaption>
Diagram 3. Planned npm architecture -- Red-lines denote continuous replication</figcaption>
</figure>

## You are npm! And we need your help!

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,20 @@ Photo by Luc Viatour (flickr)</p>
<p>That brings us to <a href="https://npmjs.com/doc/shrinkwrap.html">npm shrinkwrap</a><a href="#note1-note" name="note1-top">[1]</a>:

</p>
<pre><code>NAME

```
NAME
npm-shrinkwrap -- Lock down dependency versions

SYNOPSIS
npm shrinkwrap

DESCRIPTION
This command locks down the versions of a package&#039;s dependencies so
This command locks down the versions of a package's dependencies so
that you can control exactly which versions of each dependency will
be used when your package is installed.</code></pre>
be used when your package is installed.
```

<p>Let&#039;s consider package A:

</p>
Expand Down
8 changes: 4 additions & 4 deletions locale/en/docs/guides/simple-profiling.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,15 +196,15 @@ Parsing this section takes a little more work than the raw tick counts above.
Within each of the "call stacks" above, the percentage in the parent column
tells you the percentage of samples for which the function in the row above was
called by the function in the current row. For example, in the middle "call
stack" above for _sha1_block_data_order, we see that _sha1_block_data_order occurred
stack" above for _sha1_block_data_order, we see that `_sha1_block_data_order` occurred
in 11.9% of samples, which we knew from the raw counts above. However, here, we
can also tell that it was always called by the pbkdf2 function inside the
Node.js crypto module. We see that similarly, _malloc_zone_malloc was called
Node.js crypto module. We see that similarly, `_malloc_zone_malloc` was called
almost exclusively by the same pbkdf2 function. Thus, using the information in
this view, we can tell that our hash computation from the user's password
accounts not only for the 51.8% from above but also for all CPU time in the top
3 most sampled functions since the calls to _sha1_block_data_order and
_malloc_zone_malloc were made on behalf of the pbkdf2 function.
3 most sampled functions since the calls to `_sha1_block_data_order` and
`_malloc_zone_malloc` were made on behalf of the pbkdf2 function.

At this point, it is very clear that the password based hash generation should
be the target of our optimization. Thankfully, you've fully internalized the
Expand Down
40 changes: 20 additions & 20 deletions locale/ko/about/resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,58 +8,58 @@ title: 로고와 그래픽

## Logo Downloads

Please review the [trademark policy](/about/trademark/) for information about permissible use of Node.js&reg; logos and marks.
Please review the <a href="/about/trademark/">trademark policy></a> for information about permissible use of Node.js&reg; logos and marks.

Guidelines for the visual display of the Node.js mark are described in
the [Visual Guidelines](/static/documents/foundation-visual-guidelines.pdf).
the <a href="/static/documents/foundation-visual-guidelines.pdf">Visual Guidelines></a>.
-->

# 관련 자료

## 로고 다운로드

Node.js&reg; 로고와 마크를 사용할 수 있는 경우에 대한 정보는 [상표 정책](/about/trademark/)
Node.js&reg; 로고와 마크를 사용할 수 있는 경우에 대한 정보는 <a href="/about/trademark/">상표 정책></a>
확인해보기 바랍니다.

Node.js의 시각적인 가이드라인은
[시각적 가이드라인](/static/documents/foundation-visual-guidelines.pdf)에 나와 있습니다.
<a href="/static/documents/foundation-visual-guidelines.pdf">시각적 가이드라인></a>에 나와 있습니다.

<!--
<table border="0" cellspacing="0" cellpadding="10" class="logos">
<tr>
<td bgcolor="#FFFFFF">[![Node.js on light background](/static/images/logos/nodejs-new-pantone-black.png)](/static/images/logos/nodejs-new-pantone-black.ai)</td>
<td bgcolor="#333333">[![Node.js on dark background](/static/images/logos/nodejs-new-pantone-white.png)](/static/images/logos/nodejs-new-pantone-white.ai)</td>
<td bgcolor="#FFFFFF"><a href="/static/images/logos/nodejs-new-pantone-black.ai"><img src="/static/images/logos/nodejs-new-pantone-black.png" alt="Node.js on light background"></a></td>
<td bgcolor="#333333"><a href="/static/images/logos/nodejs-new-pantone-white.ai"><img src="/static/images/logos/nodejs-new-pantone-white.png" alt="Node.js on dark background"></a></td>
</tr>
<tr>
<td>[Node.js standard AI](/static/images/logos/nodejs-new-pantone-black.ai)</td>
<td>[Node.js reversed AI](/static/images/logos/nodejs-new-pantone-white.ai)</td>
<td><a href="/static/images/logos/nodejs-new-pantone-black.ai">Node.js standard AI</a></td>
<td><a href="/static/images/logos/nodejs-new-pantone-white.ai">Node.js reversed AI</a></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">[![Node.js on light background](/static/images/logos/nodejs-new-black.png)](/static/images/logos/nodejs-new-black.ai)</td>
<td bgcolor="#333333">[![Node.js on dark background](/static/images/logos/nodejs-new-white.png)](/static/images/logos/nodejs-new-white.ai)</td>
<td bgcolor="#FFFFFF"><a href="/static/images/logos/nodejs-new-black.ai"><img src="/static/images/logos/nodejs-new-black.png" alt="Node.js on light background"></a></td>
<td bgcolor="#333333"><a href="/static/images/logos/nodejs-new-white.ai"><img src="/static/images/logos/nodejs-new-white.png" alt="Node.js on dark background"></a></td>
</tr>
<tr>
<td>[Node.js standard with less color AI](/static/images/logos/nodejs-new-black.ai)</td>
<td>[Node.js reversed with less color AI](/static/images/logos/nodejs-new-white.ai)</td>
<td><a href="/static/images/logos/nodejs-new-black.ai">Node.js standard with less color AI</a></td>
<td><a href="/static/images/logos/nodejs-new-white.ai">Node.js reversed with less color AI</a></td>
</tr>
</table>
-->

<table border="0" cellspacing="0" cellpadding="10" class="logos">
<tr>
<td bgcolor="#FFFFFF">[![밝은 배경의 Node.js](/static/images/logos/nodejs-new-pantone-black.png)](/static/images/logos/nodejs-new-pantone-black.ai)</td>
<td bgcolor="#333333">[![어두운 배경의 Node.js](/static/images/logos/nodejs-new-pantone-white.png)](/static/images/logos/nodejs-new-pantone-white.ai)</td>
<td bgcolor="#FFFFFF"><a href="/static/images/logos/nodejs-new-pantone-black.ai"><img src="/static/images/logos/nodejs-new-pantone-black.png" alt="밝은 배경의 Node.js"></a></td>
<td bgcolor="#333333"><a href="/static/images/logos/nodejs-new-pantone-white.ai"><img src="/static/images/logos/nodejs-new-pantone-white.png" alt="어두운 배경의 Node.js"></a></td>
</tr>
<tr>
<td>[Node.js 표준 AI](/static/images/logos/nodejs-new-pantone-black.ai)</td>
<td>[Node.js 반전 AI](/static/images/logos/nodejs-new-pantone-white.ai)</td>
<td><a href="/static/images/logos/nodejs-new-pantone-black.ai">Node.js 표준 AI</a></td>
<td><a href="/static/images/logos/nodejs-new-pantone-white.ai">Node.js 반전 AI</a></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">[![밝은 배경의 Node.js](/static/images/logos/nodejs-new-black.png)](/static/images/logos/nodejs-new-black.ai)</td>
<td bgcolor="#333333">[![어두운 배경의 Node.js](/static/images/logos/nodejs-new-white.png)](/static/images/logos/nodejs-new-white.ai)</td>
<td bgcolor="#FFFFFF"><a href="/static/images/logos/nodejs-new-black.ai"><img src="/static/images/logos/nodejs-new-black.png" alt="밝은 배경의 Node.js"></a></td>
<td bgcolor="#333333"><a href="/static/images/logos/nodejs-new-white.ai"><img src="/static/images/logos/nodejs-new-white.png" alt="어두운 배경의 Node.js"></a></td>
</tr>
<tr>
<td>[적은 색상을 가진 Node.js 표준 AI](/static/images/logos/nodejs-new-black.ai)</td>
<td>[적은 색상을 가진 Node.js 반전 AI](/static/images/logos/nodejs-new-white.ai)</td>
<td><a href="/static/images/logos/nodejs-new-black.ai">적은 색상을 가진 Node.js 표준 AI</a></td>
<td><a href="/static/images/logos/nodejs-new-white.ai">적은 색상을 가진 Node.js 반전 AI</a></td>
</tr>
</table>
8 changes: 4 additions & 4 deletions locale/ko/docs/guides/simple-profiling.md
Original file line number Diff line number Diff line change
Expand Up @@ -391,15 +391,15 @@ Parsing this section takes a little more work than the raw tick counts above.
Within each of the "call stacks" above, the percentage in the parent column
tells you the percentage of samples for which the function in the row above was
called by the function in the current row. For example, in the middle "call
stack" above for _sha1_block_data_order, we see that _sha1_block_data_order occurred
stack" above for _sha1_block_data_order, we see that `_sha1_block_data_order` occurred
in 11.9% of samples, which we knew from the raw counts above. However, here, we
can also tell that it was always called by the pbkdf2 function inside the
Node.js crypto module. We see that similarly, _malloc_zone_malloc was called
Node.js crypto module. We see that similarly, `_malloc_zone_malloc` was called
almost exclusively by the same pbkdf2 function. Thus, using the information in
this view, we can tell that our hash computation from the user's password
accounts not only for the 51.8% from above but also for all CPU time in the top
3 most sampled functions since the calls to _sha1_block_data_order and
_malloc_zone_malloc were made on behalf of the pbkdf2 function.
3 most sampled functions since the calls to `_sha1_block_data_order` and
`_malloc_zone_malloc` were made on behalf of the pbkdf2 function.

At this point, it is very clear that the password based hash generation should
be the target of our optimization. Thankfully, you've fully internalized the
Expand Down
16 changes: 8 additions & 8 deletions locale/uk/about/resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,19 @@ title: Лого та графіка

<table border="0" cellspacing="0" cellpadding="10" class="logos">
<tr>
<td bgcolor="#FFFFFF">[![Node.js на світлому фоні](/static/images/logos/nodejs-new-pantone-black.png)](/static/images/logos/nodejs-new-pantone-black.ai)</td>
<td bgcolor="#333333">[![Node.js на темному фоні](/static/images/logos/nodejs-new-pantone-white.png)](/static/images/logos/nodejs-new-pantone-white.ai)</td>
<td bgcolor="#FFFFFF"><a href="/static/images/logos/nodejs-new-pantone-black.ai"><img src="/static/images/logos/nodejs-new-pantone-black.png" alt="Node.js на світлому фоні"></a></td>
<td bgcolor="#333333"><a href="/static/images/logos/nodejs-new-pantone-white.ai"><img src="/static/images/logos/nodejs-new-pantone-white.png" alt="Node.js на темному фоні"></a></td>
</tr>
<tr>
<td>[Node.js звичайний AI](/static/images/logos/nodejs-new-pantone-black.ai)</td>
<td>[Node.js інвертований AI](/static/images/logos/nodejs-new-pantone-white.ai)</td>
<td><a href="/static/images/logos/nodejs-new-pantone-black.ai">Node.js звичайний AI</a></td>
<td><a href="/static/images/logos/nodejs-new-pantone-white.ai">Node.js інвертований AI</a></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">[![Node.js на світлому фоні](/static/images/logos/nodejs-new-black.png)](/static/images/logos/nodejs-new-black.ai)</td>
<td bgcolor="#333333">[![Node.js на темному фоні](/static/images/logos/nodejs-new-white.png)](/static/images/logos/nodejs-new-white.ai)</td>
<td bgcolor="#FFFFFF"><a href="/static/images/logos/nodejs-new-black.ai"><img src="/static/images/logos/nodejs-new-black.png" alt="Node.js на світлому фоні"></a></td>
<td bgcolor="#333333"><a href="/static/images/logos/nodejs-new-white.ai"><img src="/static/images/logos/nodejs-new-white.png" alt="Node.js на темному фоні"></a></td>
</tr>
<tr>
<td>[Node.js звичайний з меншою кількістю кольорів AI](/static/images/logos/nodejs-new-black.ai)</td>
<td>[Node.js інвертований з меншою кількістю кольорів AI](/static/images/logos/nodejs-new-white.ai)</td>
<td><a href="/static/images/logos/nodejs-new-black.ai">Node.js звичайний з меншою кількістю кольорів AI</a></td>
<td><a href="/static/images/logos/nodejs-new-white.ai">Node.js інвертований з меншою кількістю кольорів AI</a></td>
</tr>
</table>
8 changes: 4 additions & 4 deletions locale/uk/docs/guides/simple-profiling.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,15 +196,15 @@ Parsing this section takes a little more work than the raw tick counts above.
Within each of the "call stacks" above, the percentage in the parent column
tells you the percentage of samples for which the function in the row above was
called by the function in the current row. For example, in the middle "call
stack" above for _sha1_block_data_order, we see that _sha1_block_data_order occurred
stack" above for _sha1_block_data_order, we see that `_sha1_block_data_order` occurred
in 11.9% of samples, which we knew from the raw counts above. However, here, we
can also tell that it was always called by the pbkdf2 function inside the
Node.js crypto module. We see that similarly, _malloc_zone_malloc was called
Node.js crypto module. We see that similarly, `_malloc_zone_malloc` was called
almost exclusively by the same pbkdf2 function. Thus, using the information in
this view, we can tell that our hash computation from the user's password
accounts not only for the 51.8% from above but also for all CPU time in the top
3 most sampled functions since the calls to _sha1_block_data_order and
_malloc_zone_malloc were made on behalf of the pbkdf2 function.
3 most sampled functions since the calls to `_sha1_block_data_order` and
`_malloc_zone_malloc` were made on behalf of the pbkdf2 function.

At this point, it is very clear that the password based hash generation should
be the target of our optimization. Thankfully, you've fully internalized the
Expand Down
Loading