chore(i18n,learn): processed translations (#44851)

This commit is contained in:
camperbot
2022-01-21 01:00:18 +05:30
committed by GitHub
parent f866718a3d
commit 5c868af2b8
1696 changed files with 159426 additions and 69 deletions

View File

@ -0,0 +1,52 @@
---
id: 587d7fb3367417b2b2512bfc
title: package.json に説明を追加する
challengeType: 2
forumTopicId: 301522
dashedName: add-a-description-to-your-package-json
---
# --description--
正しい package.json ファイルを構成する次の部分は `description` フィールドです。ここにはプロジェクトに関する簡潔で有益な説明があります。
将来 npm にパッケージを公開する予定がある場合は、この文字列で自分のアイデアをユーザーに伝え、パッケージをインストールするかどうかを決める際の参考にしてもらうことができます。 しかし、説明の用法はそれだけではなく、プロジェクトが何をするものなのかをまとめておくのに最適な場所です。 どの Node.js プロジェクトでも、他の開発者や将来の保守作業者、あるいは今後皆さん自身が、プロジェクトについて素早く理解できるようにしておくことが重要です。
プロジェクトの内容に関わらず、説明を記述しておくことをぜひ推奨します。 例を次に示します。
```json
"description": "A project that does something awesome",
```
# --instructions--
プロジェクトの package.json ファイルに `description` を追加してください。
**注: ** フィールド名には二重引用符 (") を使用し、複数フィールドの区切りにはコンマ (,) を使用してください。
# --hints--
package.json で、有効な「description」キーを記述する必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert(packJson.description, '"description" is missing');
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
# --solutions--
```js
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/
```

View File

@ -0,0 +1,48 @@
---
id: 587d7fb4367417b2b2512bfe
title: package.json にライセンスを追加する
challengeType: 2
forumTopicId: 301523
dashedName: add-a-license-to-your-package-json
---
# --description--
`license` フィールドでは、プロジェクトに対して許可することをユーザーに知らせます。
オープンソース プロジェクトのライセンスは MIT や BSD などが一般的です。 ライセンス情報は必須ではありません。ほとんどの国の著作権法では、特に断りがない限り、著作者に所有権が与えられます。 しかし、ユーザーができることとできないことを常に明確に記述しておくことを推奨します。 ライセンスフィールドの例を次に示します。
```json
"license": "MIT",
```
# --instructions--
プロジェクトの package.json ファイル内の `license` フィールドを適切に記述してください。
# --hints--
package.json で、有効な「license」キーを記述する必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert(packJson.license, '"license" is missing');
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
# --solutions--
```js
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/
```

View File

@ -0,0 +1,46 @@
---
id: 587d7fb4367417b2b2512bff
title: package.json にバージョンを追加する
challengeType: 2
forumTopicId: 301525
dashedName: add-a-version-to-your-package-json
---
# --description--
`version` は、package.json ファイルの必須フィールドの 1 つです。 このフィールドには、プロジェクトの現在のバージョンを記述します。 例を次に示します。
```json
"version": "1.2.0",
```
# --instructions--
プロジェクトの package.json ファイルに `version` を追加してください。
# --hints--
package.json で、有効な「version」キーを記述する必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert(packJson.version, '"version" is missing');
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
# --solutions--
```js
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/
```

View File

@ -0,0 +1,84 @@
---
id: 587d7fb4367417b2b2512bfd
title: package.json にキーワードを追加する
challengeType: 2
forumTopicId: 301526
dashedName: add-keywords-to-your-package-json
---
# --description--
`keywords` フィールドでは、関連するキーワードを使用してプロジェクトを記述できます。 例を次に示します。
```json
"keywords": [ "descriptive", "related", "words" ],
```
ご覧のとおり、このフィールドは二重引用符で囲まれた文字列の配列として構成されています。
# --instructions--
プロジェクトの package.json ファイルの `keywords` フィールドに、適切な文字列の配列を追加してください。
キーワードの 1 つを「freecodecamp」にする必要があります。
# --hints--
package.json で、有効な 「keywords」キーを記述する必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert(packJson.keywords, '"keywords" is missing');
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
「keywords」フィールドは、配列である必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert.isArray(packJson.keywords, '"keywords" is not an array');
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
「keywords」に「freecodecamp」を含める必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert.include(
packJson.keywords,
'freecodecamp',
'"keywords" does not include "freecodecamp"'
);
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
# --solutions--
```js
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/
```

View File

@ -0,0 +1,77 @@
---
id: 587d7fb4367417b2b2512c00
title: npm から外部パッケージを使用してプロジェクトを拡張する
challengeType: 2
forumTopicId: 301527
dashedName: expand-your-project-with-external-packages-from-npm
---
# --description--
パッケージマネージャーを使用する最大の理由の 1 つは、強力な依存関係管理です。 新しいコンピューターでプロジェクトを準備する場合、そのたびにすべての依存関係を手動で確認する必要はなく、npm が自動的にすべてをインストールしてくれます。 しかし、npm はプロジェクトに必要なものをどのようにして正確に知ることができるのでしょうか? package.json ファイルの `dependencies` セクションを見てください。
このセクションには、プロジェクトが必要とするパッケージが次のような形式で保存されています。
```json
"dependencies": {
"package-name": "version",
"express": "4.14.0"
}
```
# --instructions--
Package.json ファイルの `dependencies` フィールドに、"moment" パッケージのバージョン "2.14.0" を追加してください。
** 注: ** moment は、時間と日付を扱う際に便利なライブラリです。
# --hints--
「dependencies」には、「moment」を含める必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert.property(
packJson.dependencies,
'moment',
'"dependencies" does not include "moment"'
);
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
「moment」のバージョンを「2.14.0」にする必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert.match(
packJson.dependencies.moment,
/^[\^\~]?2\.14\.0/,
'Wrong version of "moment" installed. It should be 2.14.0'
);
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
# --solutions--
```js
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/
```

View File

@ -0,0 +1,60 @@
---
id: 587d7fb3367417b2b2512bfb
title: 'Node.js プロジェクトまたは npm パッケージの中心となる package.json を使用する'
challengeType: 2
forumTopicId: 301528
dashedName: how-to-use-package-json-the-core-of-any-node-js-project-or-npm-package
---
# --description--
チャレンジに取り組むにあたり、以下の方法のうち 1 つを用いてコードを記述します。
- [GitHub レポジトリ](https://github.com/freeCodeCamp/boilerplate-npm/)をクローンし、ローカル環境でチャレンジを完了させる。
- [Replit 始動プロジェクト](https://replit.com/github/freeCodeCamp/boilerplate-npm)を使用してチャレンジを完了させる。
- 使い慣れたサイトビルダーを使用してプロジェクトを完了させる。 必ず GitHub リポジトリのすべてのファイルを取り込む。
完了したら、プロジェクトの動作デモをどこか公開の場にホストしてください。 そして、`Solution Link` フィールドでデモへの URL を送信してください。 必要に応じて、`GitHub Link` フィールドでプロジェクトのソースコードへのリンクを送信してください。
`package.json` ファイルは、Node.js プロジェクトまたは npm パッケージの中心となります。 HTML ドキュメントの <head> セクションでウェブページの内容を記述するのと同じように、このファイルにはプロジェクトに関する情報を保存します。 ファイルは単一の JSON オブジェクトで構成され、そこに情報がキーと値のペアで保存されます。 必須のフィールドは「name」と「version」の 2 つのみですが、将来のユーザーや保守作業者に役立つように、プロジェクトに関する追加情報を記述しておくことをお勧めします。
プロジェクトのファイルツリーを見ると、package.json ファイルはツリーの最上位のレベルにあります。 以降のチャレンジではこのファイルに改良を加えていきます。
このファイルで最も一般的な情報の 1 つは、 `author` フィールドです。 これはプロジェクトの作成者を指定するもので、連絡先などの詳細を記した文字列またはオブジェクトで構成できます。 より大きなプロジェクトではオブジェクトが推奨されますが、このプロジェクトでは次の例のような単純な文字列を使用します。
```json
"author": "Jane Doe",
```
# --instructions--
package.json ファイルで、プロジェクトの `author` の名前を追加してください。
**注: ** JSON を記述しているので、すべてのフィールド名で二重引用符 (") を使用し、コンマ (,) で区切る必要があります。
# --hints--
package.json で、有効な「author」キーを記述する必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert(packJson.author, '"author" is missing');
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
# --solutions--
```js
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/
```

View File

@ -0,0 +1,73 @@
---
id: 587d7fb5367417b2b2512c01
title: セマンティック バージョニングを理解して npm の依存関係を管理する
challengeType: 2
forumTopicId: 301529
dashedName: manage-npm-dependencies-by-understanding-semantic-versioning
---
# --description--
package.json ファイルの依存関係セクションにある npm パッケージの `Versions` は、いわゆるセンマティック バージョニング (SemVer) と呼ばれる決まりに従っています。SemVer とは、依存関係の管理を容易にすることを目的としたソフトウェアバージョン管理の業界標準です。 npm に公開されるライブラリ、フレームワークおよびその他のツールでは、プロジェクトを更新する場合にどのような変更がプロジェクトに加えられるのかを明確に伝えるために、SemVer を使用する必要があります。
SemVer を理解しておくと、外部の依存関係を使用するソフトウェアを開発する場合 (ほとんどの場合はそうです) に役立ちます。 将来、これらの数字を理解しておけば、昨日まで動いていたものが今日になって突然動かなくなった理由を理解できなくても、誤ってプロジェクトに破壊的な変更を加えることはなくなります。 公式ウェブサイトによれば、センマティック バージョニングの仕組みは以下のようになっています。
```json
"package": "MAJOR.MINOR.PATCH"
```
互換性のない API 変更を加える場合は、MAJOR バージョンをインクリメントする必要があります。 後方互換性のある方法で機能を追加する場合は、MINOR バージョンをインクリメントする必要があります。 後方互換性のあるバグ修正を行う場合は、PATCH バージョンをインクリメントする必要があります。 つまり、PATCH はバグ修正であり、MINOR は新機能の追加ですが、どちらも以前の機能を壊すことはありません。 最後に、MAJOR は、以前のバージョンでは動作しないような変更を追加します。
# --instructions--
package.json ファイルの依存関係セクションで、 moment の `version` を変更して、MAJOR バージョンを 2、MINOR バージョンを 10、PATCH バージョンを 2 にしてください。
# --hints--
「dependencies」に「moment」を含める必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert.property(
packJson.dependencies,
'moment',
'"dependencies" does not include "moment"'
);
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
「moment」のバージョンを「2.10.2」にする必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert.equal(
packJson.dependencies.moment,
'2.10.2',
'Wrong version of "moment". It should be 2.10.2'
);
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
# --solutions--
```js
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/
```

View File

@ -0,0 +1,52 @@
---
id: 587d7fb5367417b2b2512c04
title: 依存関係からパッケージを削除する
challengeType: 2
forumTopicId: 301530
dashedName: remove-a-package-from-your-dependencies
---
# --description--
package.json の依存関係セクションを使用して、いくつかの方法でプロジェクトの依存関係を管理できることがわかりました。 また、外部パッケージをファイルに追加する作業、チルダやキャレットなどの特殊文字を使用してどのバージョンが必要なのかを npm に指示する作業も行いました。
しかし、不要になった外部パッケージを削除したい場合はどうすればよいでしょうか? すでに推察している人もいるかもしれませんが、そのパッケージに対応するキーと値のペアを依存関係から削除するだけです。
この方法は、package.json 内の他のフィールドの削除にも適用されます。
# --instructions--
moment パッケージを依存関係から削除してください。
**注:** 削除した後にコンマの数が正しいことを確認してください。
# --hints--
「dependencies」に「moment」を含めないようにする必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert.notProperty(
packJson.dependencies,
'moment',
'"dependencies" still includes "moment"'
);
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
# --solutions--
```js
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/
```

View File

@ -0,0 +1,75 @@
---
id: 587d7fb5367417b2b2512c03
title: キャレット文字を使用して依存関係の最新の MINOR バージョンを使用する
challengeType: 2
forumTopicId: 301531
dashedName: use-the-caret-character-to-use-the-latest-minor-version-of-a-dependency
---
# --description--
前回のチャレンジで学んだチルダと同じように、npm では依存関係の最新の PATCH をインストールできます。npm でキャレット (`^`) を使用すると、将来のアップデートもインストールできます。 両者の違いは、キャレットでは MINOR アップデートと PATCH の両方が可能であることです。
moment の現在のバージョンを「~2.10.2」にすると、npm で最新の 2.10.x バージョンをインストールできます。 代わりにバージョン プレフィックスとしてキャレット (^) を使用すると、npm では任意の 2.x.x バージョンへ更新できます。
```json
"package": "^1.3.8"
```
この記述では、パッケージを任意の 1.x.x バージョンへ更新できます。
# --instructions--
依存関係内の moment のバージョンのプレフィックスとしてキャレット (`^`) を使用し、npm によって任意の新しい MINOR リリースへ更新できるようにしてください。
**注:** バージョン番号自体は変更しないでください。
# --hints--
「dependencies」に「moment」を含める必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert.property(
packJson.dependencies,
'moment',
'"dependencies" does not include "moment"'
);
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
「moment」バージョンは、「^2.x.x」と一致する必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert.match(
packJson.dependencies.moment,
/^\^2\./,
'Wrong version of "moment". It should be ^2.10.2'
);
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
# --solutions--
```js
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/
```

View File

@ -0,0 +1,75 @@
---
id: 587d7fb5367417b2b2512c02
title: チルダ文字を使用して常に依存関係の最新の PATCH バージョンを使用する
challengeType: 2
forumTopicId: 301532
dashedName: use-the-tilde-character-to-always-use-the-latest-patch-version-of-a-dependency
---
# --description--
前回のチャレンジでは、npm に特定のバージョンのパッケージのみを含めるよう指示しました。 この方法は、プロジェクトのさまざまな部分について互いの互換性を保つ必要がある場合に、依存関係を固定するのに便利です。 しかし、ほとんどのケースではバグ修正を省くのは好ましくありません。これは、 バグ修正には重要なセキュリティパッチが含まれていることが多く、適用しても現在の動作を壊すことはない (だろうと考える) からです。
依存関係のバージョンの前にプレフィックスとしてチルダ (`~`) 文字を付けると、npm の依存関係を最新の PATCH バージョンに更新することができます。 1.3.x バージョンへのアップデートを許可する方法の例を次に示します。
```json
"package": "~1.3.8"
```
# --instructions--
package.json ファイルに、npm に許可する moment のアップグレード方法が示されていますが、現在のルールでは特定のバージョン (2.10.2) が使用されます。 しかし、ここでは最新の 2.10.x バージョンを許可したいとします。
依存関係内の moment のバージョンの前にプレフィックスとしてチルダ (`~`) 文字を使用し、npm によって新しい PATCH リリースに更新されるようにしてください。
**注:** バージョン番号自体は変更しないでください。
# --hints--
「dependencies」に「moment」を含める必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert.property(
packJson.dependencies,
'moment',
'"dependencies" does not include "moment"'
);
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
「moment」のバージョンを「~2.10.2」にする必要があります。
```js
(getUserInput) =>
$.get(getUserInput('url') + '/_api/package.json').then(
(data) => {
var packJson = JSON.parse(data);
assert.match(
packJson.dependencies.moment,
/^\~2\.10\.2/,
'Wrong version of "moment". It should be ~2.10.2'
);
},
(xhr) => {
throw new Error(xhr.responseText);
}
);
```
# --solutions--
```js
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/
```