Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

後期05

Web Application

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

後期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 が叩ける状態を、課題の達成とする。

×