Date: Mon, 21 Oct 2019 15:24:46 +0900
Subject: [PATCH 34/42] Make the translation more fluent
---
README-ja.md | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/README-ja.md b/README-ja.md
index 293712a8..83133324 100644
--- a/README-ja.md
+++ b/README-ja.md
@@ -1481,17 +1481,17 @@ RESTはデータを公開することに焦点を当てています。RESTでは
* 入れ子になった階層構造を持つ、複雑なリソースを取得する場合、一つのビューを描画するだけでもクライアントとサーバーの間で複数回のやりとりが発生します。例えば、ブログのエントリーの内容と、それに対するコメントを取得する場合が該当します。様々なネットワーク環境で動作するようなモバイルアプリケーションにおいては、このようなやり取りが複数回発生するのは非常に好ましくありません。
* 時が経つにつれて、APIレスポンスにはより多くのフィールドが追加されていきます。この際、古くからあるクライアントは、追加されたフィールドを使いもしないのにすべて受け取ることになります。結果として、ペイロードも膨れますし、レイテンシーも拡大することになります。
-### RPCとREST比較
+### RPCとRESTの比較
-| Operation | RPC | REST |
+| 操作 | RPC | REST |
|---|---|---|
| サインアップ | **POST** /signup | **POST** /persons |
-| リザイン | **POST** /resign
{
"personid": "1234"
} | **DELETE** /persons/1234 |
-| Person読み込み | **GET** /readPerson?personid=1234 | **GET** /persons/1234 |
-| Personのアイテムリスト読み込み | **GET** /readUsersItemsList?personid=1234 | **GET** /persons/1234/items |
-| Personのアイテムへのアイテム追加 | **POST** /addItemToUsersItemsList
{
"personid": "1234";
"itemid": "456"
} | **POST** /persons/1234/items
{
"itemid": "456"
} |
-| アイテム更新 | **POST** /modifyItem
{
"itemid": "456";
"key": "value"
} | **PUT** /items/456
{
"key": "value"
} |
-| アイテム削除 | **POST** /removeItem
{
"itemid": "456"
} | **DELETE** /items/456 |
+| 退会 | **POST** /resign
{
"personid": "1234"
} | **DELETE** /persons/1234 |
+| 個人データの読み込み | **GET** /readPerson?personid=1234 | **GET** /persons/1234 |
+| 個人のアイテムリスト読み込み | **GET** /readUsersItemsList?personid=1234 | **GET** /persons/1234/items |
+| 個人のアイテムリストへアイテムを追加 | **POST** /addItemToUsersItemsList
{
"personid": "1234";
"itemid": "456"
} | **POST** /persons/1234/items
{
"itemid": "456"
} |
+| アイテムの更新 | **POST** /modifyItem
{
"itemid": "456";
"key": "value"
} | **PUT** /items/456
{
"key": "value"
} |
+| アイテムの削除 | **POST** /removeItem
{
"itemid": "456"
} | **DELETE** /items/456 |
Source: Do you really know why you prefer REST over RPC
From 1bc4182995a2257fc32a125897431bc27402a6ef Mon Sep 17 00:00:00 2001
From: SATO Yusuke
Date: Mon, 21 Oct 2019 15:30:25 +0900
Subject: [PATCH 35/42] Make translation more fluent
---
README-ja.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/README-ja.md b/README-ja.md
index 83133324..ec738805 100644
--- a/README-ja.md
+++ b/README-ja.md
@@ -1328,19 +1328,19 @@ def set_user(user_id, values):
### Hypertext transfer protocol (HTTP)
-HTTPはリクエスト・レスポンス型のプロトコルです。クライアントがリクエストを投げると、サーバーはそのリクエストに対応するコンテンツと完了ステータスの情報をレスポンスとして返します。HTTPは自己完結したプロトコルです。リクエストやレスポンスが数多くのサーバーやルーターを通過し、その間にロードバランシング、キャッシュ、暗号化、圧縮などが行われていても、問題なく動くようにできています。
+HTTPはリクエスト・レスポンス型のプロトコルです。クライアントがリクエストを投げると、サーバーはそのリクエストに対応するコンテンツと完了ステータスをレスポンスとして返します。HTTPは自己完結したプロトコルです。リクエストやレスポンスが数多くのサーバーやルーターを通過し、その間にロードバランシング、キャッシュ、暗号化、圧縮などが行われていても、問題なく動くようにできています。
-基本的なHTTPリクエストはHTTP動詞(メソッド)とリソース(エンドポイント)で成り立っています。以下がよくあるHTTP動詞です。:
+基本的なHTTPリクエストはHTTP動詞(メソッド)とリソース(エンドポイント)で成り立っています。よく使われるHTTP動詞としては以下のものが挙げられます:
| 動詞 | 詳細 | 冪等性* | セーフ | キャッシュできるか |
|---|---|---|---|---|
| GET | リソースを読み取る | Yes | Yes | Yes |
-| POST | リソースを作成するもしくはデータを処理するトリガー | No | No | Yes レスポンスが新しい情報を含む場合 |
+| POST | リソースを作成する、データを処理するプロセスをトリガーする | No | No | Yes レスポンスが新しい情報を含む場合 |
| PUT | リソースを作成もしくは入れ替える | Yes | No | No |
| PATCH | リソースを部分的に更新する | No | No | Yes レスポンスが新しい情報を含む場合 |
| DELETE | リソースを削除する | Yes | No | No |
-*何度呼んでも同じ結果が返ってくること*
+* 何度呼んでも同じ結果が返ってくること
HTTPはアプリケーション層のプロトコルで、**TCP** や **UDP** など下位のプロトコルの上で動作します。
From af99a7c9afe72a06b5f38a6e18b4144e0ce77134 Mon Sep 17 00:00:00 2001
From: SATO Yusuke
Date: Mon, 21 Oct 2019 15:31:03 +0900
Subject: [PATCH 36/42] Make translation more fluent
---
README-ja.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README-ja.md b/README-ja.md
index ec738805..1bfa36ba 100644
--- a/README-ja.md
+++ b/README-ja.md
@@ -1335,12 +1335,12 @@ HTTPはリクエスト・レスポンス型のプロトコルです。クライ
| 動詞 | 詳細 | 冪等性* | セーフ | キャッシュできるか |
|---|---|---|---|---|
| GET | リソースを読み取る | Yes | Yes | Yes |
-| POST | リソースを作成する、データを処理するプロセスをトリガーする | No | No | Yes レスポンスが新しい情報を含む場合 |
+| POST | リソースを作成する、またはデータを処理するプロセスをトリガーする | No | No | Yes レスポンスが新しい情報を含む場合 |
| PUT | リソースを作成もしくは入れ替える | Yes | No | No |
| PATCH | リソースを部分的に更新する | No | No | Yes レスポンスが新しい情報を含む場合 |
| DELETE | リソースを削除する | Yes | No | No |
-* 何度呼んでも同じ結果が返ってくること
+*何度呼んでも同じ結果が返ってくること
HTTPはアプリケーション層のプロトコルで、**TCP** や **UDP** など下位のプロトコルの上で動作します。
From 3f3f3c20a53e233f9a58b4273e58d5b0c8571955 Mon Sep 17 00:00:00 2001
From: SATO Yusuke
Date: Mon, 21 Oct 2019 15:33:54 +0900
Subject: [PATCH 37/42] Correct mistranslation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- "メムキャッシュ" is overtranslation of "memcache".
---
README-ja.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README-ja.md b/README-ja.md
index 1bfa36ba..eefebd1e 100644
--- a/README-ja.md
+++ b/README-ja.md
@@ -1401,7 +1401,7 @@ UDPは信頼性の面では劣りますが、VoIP、ビデオチャット、ス
* [TCP と UDPの違い](http://stackoverflow.com/questions/5970383/difference-between-tcp-and-udp)
* [Transmission control protocol](https://en.wikipedia.org/wiki/Transmission_Control_Protocol)
* [User datagram protocol](https://en.wikipedia.org/wiki/User_Datagram_Protocol)
-* [Facebookのメムキャッシュスケーリング](http://www.cs.bu.edu/~jappavoo/jappavoo.github.com/451/papers/memcache-fb.pdf)
+* [Facebookにおけるmemcacheのスケーリング](http://www.cs.bu.edu/~jappavoo/jappavoo.github.com/451/papers/memcache-fb.pdf)
### 遠隔手続呼出 (RPC)
From 5601b4b400b2618ca6d0e6b3cc6a016ee0475507 Mon Sep 17 00:00:00 2001
From: SATO Yusuke
Date: Mon, 21 Oct 2019 15:35:18 +0900
Subject: [PATCH 38/42] Fix typo
---
README-ja.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README-ja.md b/README-ja.md
index eefebd1e..e13a5599 100644
--- a/README-ja.md
+++ b/README-ja.md
@@ -1447,7 +1447,7 @@ RPCは振る舞いを公開することに焦点を当てています。RPCは
#### 欠点: RPC
-* RPCクライアントがサービスの実装に密結合してしまいます。。
+* RPCクライアントがサービスの実装に密結合してしまいます。
* 新しい操作やユースケースができるたびに、新しいAPIを定義しなければなりません。
* RPCをデバッグするのは難しい可能性があります。
* 既存のテクノロジーをそのまま活用することはできないかもしれません。例えば、[Squid](http://www.squid-cache.org/) などのサーバーに[RPCコールを正しくキャッシュさせる](http://etherealbits.com/2012/12/debunking-the-myths-of-rpc-rest/) には追加の作業が必要になるかもしれません。
From a8354e9040d8217175819693d29aa11713368f53 Mon Sep 17 00:00:00 2001
From: SATO Yusuke
Date: Sat, 8 Feb 2020 18:03:23 +0900
Subject: [PATCH 39/42] Update README-ja.md
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Change "動詞" to "メソッド" according to RFC
---
README-ja.md | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/README-ja.md b/README-ja.md
index e13a5599..c5d3c2c7 100644
--- a/README-ja.md
+++ b/README-ja.md
@@ -1330,9 +1330,9 @@ def set_user(user_id, values):
HTTPはリクエスト・レスポンス型のプロトコルです。クライアントがリクエストを投げると、サーバーはそのリクエストに対応するコンテンツと完了ステータスをレスポンスとして返します。HTTPは自己完結したプロトコルです。リクエストやレスポンスが数多くのサーバーやルーターを通過し、その間にロードバランシング、キャッシュ、暗号化、圧縮などが行われていても、問題なく動くようにできています。
-基本的なHTTPリクエストはHTTP動詞(メソッド)とリソース(エンドポイント)で成り立っています。よく使われるHTTP動詞としては以下のものが挙げられます:
+基本的なHTTPリクエストはHTTPメソッド(動詞)とリソース(エンドポイント)で成り立っています。よく使われるHTTPメソッドとしては以下のものが挙げられます:
-| 動詞 | 詳細 | 冪等性* | セーフ | キャッシュできるか |
+| メソッド | 詳細 | 冪等性* | セーフ | キャッシュできるか |
|---|---|---|---|---|
| GET | リソースを読み取る | Yes | Yes | Yes |
| POST | リソースを作成する、またはデータを処理するプロセスをトリガーする | No | No | Yes レスポンスが新しい情報を含む場合 |
@@ -1459,7 +1459,7 @@ RESTはアーキテクチャスタイルの一つで、クライアント・サ
RESTful なインターフェースには次の四つの特徴があります:
* **リソース(HTTPにおけるURI)によって識別される** - どのオペレーションであっても同じURIを使うこと。
-* **表現(HTTPにおける動詞)によって変化する** - 動詞、ヘッダー、ボディを使うこと。
+* **表現(HTTPにおけるメソッド)によって変化する** - メソッド、ヘッダー、ボディを使うこと。
* **自己説明的なエラーメッセージ (HTTPにおけるステータスレスポンス)** - ステータスコードを使うこと。車輪の再発明はしないこと。
* **[HATEOAS](http://restcookbook.com/Basics/hateoas/) (HTTPにおけるHTMLインタフェース)** - Webサービスがブラウザから完全にアクセスできること。
@@ -1472,12 +1472,12 @@ PUT /someresources/anId
{"anotherdata": "another value"}
```
-RESTはデータを公開することに焦点を当てています。RESTではクライアントとサーバーの結合度を最小にでき、公開APIなどによく用いられます。RESTでは、リソースの公開にはURI、リソースの[表現にはHTTPヘッダー](https://github.com/for-GET/know-your-http-well/blob/master/headers.md)、アクションにはHTTP動詞(GET, POST, PUT, DELETE, PATCH)といったように、そのそれぞれに対してより一般的で統一された方法を用います。RESTはステートレスなので、水平スケーリングやパーティショニングに最適です。
+RESTはデータを公開することに焦点を当てています。RESTではクライアントとサーバーの結合度を最小にでき、公開APIなどによく用いられます。RESTでは、リソースの公開にはURI、リソースの[表現にはHTTPヘッダー](https://github.com/for-GET/know-your-http-well/blob/master/headers.md)、アクションにはHTTPメソッド(GET, POST, PUT, DELETE, PATCH)といったように、そのそれぞれに対してより一般的で統一された方法を用います。RESTはステートレスなので、水平スケーリングやパーティショニングに最適です。
#### 欠点: REST
* RESTはデータ公開に焦点を当てているので、リソースが自然に整理されていなかったり、シンプルなヒエラルキーで表せられない時にはよい選択肢とは言えないかもしれません。例えば、ある複数のイベントで直近1時間に更新されたすべてのレコードを返すといった処理を、パスとして表現するのは簡単ではありません。RESTではこのような場合、URIパス、クエリパラメータ、そして場合によってはリクエストボディなどの組み合わせで実装することになるでしょう。
-* 一般的に、RESTでは限られたHTTP動詞のみ(GET、POST、PUT、DELETE、PATCH)を使いますが、これがユースケースに合わないことがあります。例えば、期限の切れたドキュメントをアーカイブに移したい場合などはこれらの動詞の中には綺麗にはフィットしません。
+* 一般的に、RESTでは限られたHTTPメソッドのみ(GET、POST、PUT、DELETE、PATCH)を使いますが、これがユースケースに合わないことがあります。例えば、期限の切れたドキュメントをアーカイブに移したい場合などはこれらのメソッドには綺麗にはフィットしません。
* 入れ子になった階層構造を持つ、複雑なリソースを取得する場合、一つのビューを描画するだけでもクライアントとサーバーの間で複数回のやりとりが発生します。例えば、ブログのエントリーの内容と、それに対するコメントを取得する場合が該当します。様々なネットワーク環境で動作するようなモバイルアプリケーションにおいては、このようなやり取りが複数回発生するのは非常に好ましくありません。
* 時が経つにつれて、APIレスポンスにはより多くのフィールドが追加されていきます。この際、古くからあるクライアントは、追加されたフィールドを使いもしないのにすべて受け取ることになります。結果として、ペイロードも膨れますし、レイテンシーも拡大することになります。
From 959ba53516c3d40dc99e14782d7b06398ce07706 Mon Sep 17 00:00:00 2001
From: SATO Yusuke
Date: Thu, 13 Feb 2020 02:14:09 +0900
Subject: [PATCH 40/42] Make translation more fluent
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Change "リソースによって識別される" to "リソースの一意性" according to comment
---
README-ja.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README-ja.md b/README-ja.md
index c5d3c2c7..c13f890e 100644
--- a/README-ja.md
+++ b/README-ja.md
@@ -1458,7 +1458,7 @@ RESTはアーキテクチャスタイルの一つで、クライアント・サ
RESTful なインターフェースには次の四つの特徴があります:
-* **リソース(HTTPにおけるURI)によって識別される** - どのオペレーションであっても同じURIを使うこと。
+* **リソースの一意性(HTTPにおけるURI)** - どのオペレーションであっても同じURIを使うこと。
* **表現(HTTPにおけるメソッド)によって変化する** - メソッド、ヘッダー、ボディを使うこと。
* **自己説明的なエラーメッセージ (HTTPにおけるステータスレスポンス)** - ステータスコードを使うこと。車輪の再発明はしないこと。
* **[HATEOAS](http://restcookbook.com/Basics/hateoas/) (HTTPにおけるHTMLインタフェース)** - Webサービスがブラウザから完全にアクセスできること。
From ca5fd9deff7e269ef24920b5ba822b63772c33be Mon Sep 17 00:00:00 2001
From: SATO Yusuke
Date: Thu, 13 Feb 2020 02:15:34 +0900
Subject: [PATCH 41/42] Make translation more fluent
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Change "ヒエラルキー" to "階層構造" according to comment
---
README-ja.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README-ja.md b/README-ja.md
index c13f890e..3ff0d5da 100644
--- a/README-ja.md
+++ b/README-ja.md
@@ -1476,7 +1476,7 @@ RESTはデータを公開することに焦点を当てています。RESTでは
#### 欠点: REST
-* RESTはデータ公開に焦点を当てているので、リソースが自然に整理されていなかったり、シンプルなヒエラルキーで表せられない時にはよい選択肢とは言えないかもしれません。例えば、ある複数のイベントで直近1時間に更新されたすべてのレコードを返すといった処理を、パスとして表現するのは簡単ではありません。RESTではこのような場合、URIパス、クエリパラメータ、そして場合によってはリクエストボディなどの組み合わせで実装することになるでしょう。
+* RESTはデータ公開に焦点を当てているので、リソースが自然に整理されていなかったり、シンプルな階層構造で表せない時にはよい選択肢とは言えないかもしれません。例えば、ある複数のイベントで直近1時間に更新されたすべてのレコードを返すといった処理を、パスとして表現するのは簡単ではありません。RESTではこのような場合、URIパス、クエリパラメータ、そして場合によってはリクエストボディなどの組み合わせで実装することになるでしょう。
* 一般的に、RESTでは限られたHTTPメソッドのみ(GET、POST、PUT、DELETE、PATCH)を使いますが、これがユースケースに合わないことがあります。例えば、期限の切れたドキュメントをアーカイブに移したい場合などはこれらのメソッドには綺麗にはフィットしません。
* 入れ子になった階層構造を持つ、複雑なリソースを取得する場合、一つのビューを描画するだけでもクライアントとサーバーの間で複数回のやりとりが発生します。例えば、ブログのエントリーの内容と、それに対するコメントを取得する場合が該当します。様々なネットワーク環境で動作するようなモバイルアプリケーションにおいては、このようなやり取りが複数回発生するのは非常に好ましくありません。
* 時が経つにつれて、APIレスポンスにはより多くのフィールドが追加されていきます。この際、古くからあるクライアントは、追加されたフィールドを使いもしないのにすべて受け取ることになります。結果として、ペイロードも膨れますし、レイテンシーも拡大することになります。
From fa199a68b8a02ad8b14bb28f2c402d707e04c1da Mon Sep 17 00:00:00 2001
From: SATO Yusuke
Date: Thu, 13 Feb 2020 02:19:47 +0900
Subject: [PATCH 42/42] Make translation more fluent
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Change "様々なネットワーク環境" to "ネットワークが変化する環境" according to comment
---
README-ja.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README-ja.md b/README-ja.md
index 3ff0d5da..ce9b447b 100644
--- a/README-ja.md
+++ b/README-ja.md
@@ -1478,7 +1478,7 @@ RESTはデータを公開することに焦点を当てています。RESTでは
* RESTはデータ公開に焦点を当てているので、リソースが自然に整理されていなかったり、シンプルな階層構造で表せない時にはよい選択肢とは言えないかもしれません。例えば、ある複数のイベントで直近1時間に更新されたすべてのレコードを返すといった処理を、パスとして表現するのは簡単ではありません。RESTではこのような場合、URIパス、クエリパラメータ、そして場合によってはリクエストボディなどの組み合わせで実装することになるでしょう。
* 一般的に、RESTでは限られたHTTPメソッドのみ(GET、POST、PUT、DELETE、PATCH)を使いますが、これがユースケースに合わないことがあります。例えば、期限の切れたドキュメントをアーカイブに移したい場合などはこれらのメソッドには綺麗にはフィットしません。
-* 入れ子になった階層構造を持つ、複雑なリソースを取得する場合、一つのビューを描画するだけでもクライアントとサーバーの間で複数回のやりとりが発生します。例えば、ブログのエントリーの内容と、それに対するコメントを取得する場合が該当します。様々なネットワーク環境で動作するようなモバイルアプリケーションにおいては、このようなやり取りが複数回発生するのは非常に好ましくありません。
+* 入れ子になった階層構造を持つ、複雑なリソースを取得する場合、一つのビューを描画するだけでもクライアントとサーバーの間で複数回のやりとりが発生します。例えば、ブログのエントリーの内容と、それに対するコメントを取得する場合が該当します。ネットワークが変化する環境で動くモバイルアプリケーションにおいては、このようなやり取りが複数回発生するのは非常に好ましくありません。
* 時が経つにつれて、APIレスポンスにはより多くのフィールドが追加されていきます。この際、古くからあるクライアントは、追加されたフィールドを使いもしないのにすべて受け取ることになります。結果として、ペイロードも膨れますし、レイテンシーも拡大することになります。
### RPCとRESTの比較