name: index class: compact # <small> おしながき - 第5回 www.pyのAPIサーバ化(2) - </small> <small> 1. [おしらせ](#info) ... シリーズ構成の変更について 1. おさらい - [UnixとUnixセキュリティモデル](../../review/unix/) ; Unix, クラウド, CLIが使えるべき理由,キャリアパス - [SSHと非対称鍵暗号(公開鍵暗号)](../../review/ssh/) ; 必須コマンドssh, 非対称鍵暗号(公開鍵暗号)の応用の代表例 1. **グループワーク with TA/SAさん** 1. 休憩 1. ジャンケンAPIサーバの作成(www.py)の残作業のある人 - **次回は、口頭試問なので、今週中に目処がついていないと大変マズいです** - 周回遅れのひとは**大学でH101のメディコンさん**に相談してください (営業時間を要確認) 次回予告 - www.pyの解説 その1 (答え合わせよりも最終課題の準備として解説編がスタート) - 口頭試問 - 予備(不測の事態、ねんのため) - (口頭試問(任意, 自由/発展課題のアピールを聞く)) 次次回予告 ... 冒頭で www.pyの解説 その2だけを予定 </small> --- name: info class: col-2, compact # おしらせ | 回数 | 内容 | 備考 | |------- |------------ |------ | | 01-06 | インフラ編 | | | 07-08 | 機械学習編 | | | 09-12 | linebot編 | | | 13-15 | 最終課題 | | <small> <wbr> - 順番を変更しました - 機械学習編もAWSのサービスを利用して、 画像認識や自然言語処理を行うという方向性なので、 このままPythonでAWSを使う演習を続けます - 線形代数とか出てこない機械学習編(のはず) - www.pyの解説その2を予定しているので、第7回の冒頭までインフラ編です - 最初の30分くらい?そのあと機械学習チームへバトンタッチ </small> --- class: title, smokescreen, shelf, no-footer # 自由課題(任意) <div class=footnote> <small><small> 必須ではありません。 任意課題。 必須課題が終わってしまった人はチャレンジしてみよう!(という紹介) </small></small> </div> --- class: compact,center # 自由課題(全体像) ![height560px](../../review/images/www-internal-cgi-openbd.png) --- class: compact # 自由課題 <small> 1. 課題1: www.pyを改造して書誌情報検索ができるようにしてください。仕様は次のとおり <small> - 処理依頼をHTTPでリレーしていくイメージです(`ユーザ ---> EC2 ---> openbd`) - テキストは[こちら](https://sysbuild-entrance.fml.org/ja/300_web-api/370_openbd-api/)を、 詳細手順はワークシート(portal)を参照してください - 自分のホームページに新しく書誌情報検索(のFORM文)を追加してください。 API先のサーバ(ACTIONに指定するURI)は次のようにし、 サーバにFORM文で渡す検索文字列のキーはisbnにしてください <br> (注: もちろん10.20.30.40の部分は各自のEC2のPublic IPに変更する必要があります) ``` [ホームページに追加するFORM文の例] <FORM METHOD="POST" ACTION="http://10.20.30.40/api/openbd/v1"> ...略... </FORM> ``` - ユーザがCGI経由でISBNを送ってくるので、 www.pyの中で[openBD](https://openbd.jp/)に(HTTPで)問い合わせ、 そのopenbdからの答え(JSON formatでOK)を返してください (つまりwww.pyで問い合わせのリレーをしています) </small> 1. 課題2: openBDの返す生JSONは情報過多で見づらいので(課題1の)見栄えを改良してください。 <small> - 例: タイトル,著者,ISBN,出版社,発行年などの必須情報だけを(HTMLで)表示 (ヒント: www.pyでdictの中身を厳選) </small> </small> --- class: title, smokescreen, shelf, no-footer # 付録 --- class: compact # <small> おしながき - 第5回 www.pyのAPIサーバ化(2)(原案) - </small> <div class=footnote> <small><small> </small></small> </div> <small> 1. [HTMLとCGI](../../review/html-form/) (復習,少しだけ) - 今日はwww.pyをAPI gatewayにするぞ(ネットワークごしに下請け=他のWeb APIを呼び出します) 1. 演習: ファイルアップロード体験 (一緒に手を動かす(だけ)) - HTML FORM文の復習をかねて - これを機械学習編で使うかもしれない(?) ([画像認識じゃんけんデモ](http://api.fml.org/awsrkg/)の最初の一歩です) 1. 課題1(必須): www.pyを改造して書誌情報検索ができるようにしてください。仕様は次のとおり - ユーザがCGI経由でISBNを送ってくるので、 www.pyの中でopenBD(https://openbd.jp/)に問い合わせ、 答え(JSON formatでOK)を返してください。 www.py改造手順はワークシートを参照 - 自分のホームページに新しく書誌情報検索(のFORM文)を追加してください ``` 例: <FORM METHOD="POST" ACTION="http://10.20.30.40/api/openbd/v1"> ...略... </FORM> ``` 注: もちろん10.20.30.40の部分は各自のEC2のPublic IPに変更する必要があります 1. 課題2(チャレンジ): openBDの返す生JSONは情報過多で見づらいので(課題1の)見栄えを改良しよう;-) </small>