Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
電算部ネットワーク講座Ⅴ 
Node.js で Web アプリケーション開発
今回の内容 
・Web Application 開発 
・実装とテスト
Web Application 開発 
今回は、実際に簡単なアプリケーションを 
一から開発してもらいます。
詳細は後ほど
テスト 
プログラムの挙動をテストし、正しさを証明 
するもの。 
複数のテストケースによって構成され、全ての 
テストケースを通過した時、そのプログラムは 
仕様通りの正しいプログラムと証明される。
課題
課題 
与えられた仕様を全て満たす 
Web Application を実装する。
仕様 
以下の3つのページで構成される 
・トップページ 
・ログインページ (Google アカウント認証) 
・閲覧、投稿ページ 
ページのデザインは問わない。 
凝る必要はない。
仕様 
また、以下の3つの API で構成される 
・投稿 API 
・閲覧 API 
・削除 API 
送信データは formdata (application/x-www-form-urlencoded) 
、レスポンスは JSON でやり...
仕様 - 投稿 API 
Route: /message 
Method: POST 
RequestBody: 
data: 投稿文字列
仕様 - 投稿 API 
正常系 
Status: 200 
ResponseBody: 
{ 
“status”: “ok”, 
“id”: 投稿 ID 
}
仕様 - 投稿 API 
異常系 
RequestBody に誤りがある場合のエラー 
例: data が存在しない、 data の中身が空文字の場合 
Status: 400 
ResponseBody: 
{ 
“status”: “ng”...
仕様 - 閲覧 API 
Route: /message 
Method: GET
仕様 - 閲覧 API 
正常系 
Status: 200 
ResponseBody: 
{ 
“status”: “ok”, 
“posts”: [{ 
“id”: 投稿 ID, 
“data”: 投稿文字列, 
“timestamp”: ...
仕様 - 閲覧 API 
異常系 
異常系なし。 
投稿が一件も無い場合は 
ResponseBody: 
{ 
“status”: “ok”, 
“posts”: [] 
} 
を返す。
仕様 - 削除 API 
Route: /message/:id 
Method: DELETE
仕様 - 投稿 API 
正常系 
Status: 200 
ResponseBody: 
{ 
“status”: “ok” 
“id”: 投稿 ID 
}
仕様 - 閲覧 API 
異常系 
他人の投稿を消そうとした場合のエラー 
Status: 403 
ResponseBody: 
{ 
“status”: “ng”, 
“message”: “権限がありません。” 
} 
消そうとした投稿が...
実装とテスト
実装方法 
後ほどスケルトンを用意する。 
https://github.com/densan/webapp 
実装は、スケルトンを元に行う。
テストの実行方法 
スケルトンの README.md にも記載。 
npm test を叩くと、テストが実行される。 
全てのテストケースに通り、ページが全て揃い API 
が叩ける状態を、課題の達成とする。
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
2013 04-29 american art collaborative lod meeting - washington dc - web
Next
Download to read offline and view in fullscreen.

0

Share

Download to read offline

後期05

Download to read offline

Web Application

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

後期05

  1. 1. 電算部ネットワーク講座Ⅴ Node.js で Web アプリケーション開発
  2. 2. 今回の内容 ・Web Application 開発 ・実装とテスト
  3. 3. Web Application 開発 今回は、実際に簡単なアプリケーションを 一から開発してもらいます。
  4. 4. 詳細は後ほど
  5. 5. テスト プログラムの挙動をテストし、正しさを証明 するもの。 複数のテストケースによって構成され、全ての テストケースを通過した時、そのプログラムは 仕様通りの正しいプログラムと証明される。
  6. 6. 課題
  7. 7. 課題 与えられた仕様を全て満たす Web Application を実装する。
  8. 8. 仕様 以下の3つのページで構成される ・トップページ ・ログインページ (Google アカウント認証) ・閲覧、投稿ページ ページのデザインは問わない。 凝る必要はない。
  9. 9. 仕様 また、以下の3つの API で構成される ・投稿 API ・閲覧 API ・削除 API 送信データは formdata (application/x-www-form-urlencoded) 、レスポンスは JSON でやりとりする。 それぞれの API 仕様を次に示す。
  10. 10. 仕様 - 投稿 API Route: /message Method: POST RequestBody: data: 投稿文字列
  11. 11. 仕様 - 投稿 API 正常系 Status: 200 ResponseBody: { “status”: “ok”, “id”: 投稿 ID }
  12. 12. 仕様 - 投稿 API 異常系 RequestBody に誤りがある場合のエラー 例: data が存在しない、 data の中身が空文字の場合 Status: 400 ResponseBody: { “status”: “ng”, “message”: “不正なリクエストです。” }
  13. 13. 仕様 - 閲覧 API Route: /message Method: GET
  14. 14. 仕様 - 閲覧 API 正常系 Status: 200 ResponseBody: { “status”: “ok”, “posts”: [{ “id”: 投稿 ID, “data”: 投稿文字列, “timestamp”: 投稿日時 (UNIX Time 単位はミリ秒), “user”: { “name”: ユーザ名 } }, { … }] }
  15. 15. 仕様 - 閲覧 API 異常系 異常系なし。 投稿が一件も無い場合は ResponseBody: { “status”: “ok”, “posts”: [] } を返す。
  16. 16. 仕様 - 削除 API Route: /message/:id Method: DELETE
  17. 17. 仕様 - 投稿 API 正常系 Status: 200 ResponseBody: { “status”: “ok” “id”: 投稿 ID }
  18. 18. 仕様 - 閲覧 API 異常系 他人の投稿を消そうとした場合のエラー Status: 403 ResponseBody: { “status”: “ng”, “message”: “権限がありません。” } 消そうとした投稿が既に存在しない場合は、正常系と同じレスポンスを返 す。
  19. 19. 実装とテスト
  20. 20. 実装方法 後ほどスケルトンを用意する。 https://github.com/densan/webapp 実装は、スケルトンを元に行う。
  21. 21. テストの実行方法 スケルトンの README.md にも記載。 npm test を叩くと、テストが実行される。 全てのテストケースに通り、ページが全て揃い API が叩ける状態を、課題の達成とする。

Web Application

Views

Total views

431

On Slideshare

0

From embeds

0

Number of embeds

5

Actions

Downloads

4

Shares

0

Comments

0

Likes

0

×