Contenu connexe
Similaire à オンライン授業における目録検索システム構築演習 (20)
オンライン授業における目録検索システム構築演習
- 2. 本日の発表アウトライン
• 背景 – 授業「知識情報演習I」
• 演習の目標 – 開発するシステム
• 2019年度までの演習環境 – 実習室で対面
• 大学側で整備した開発環境
• 2020年度春学期 – 全面オンライン授業に
• 受講者の自宅環境の制約
• クラウドサービスの開発環境を選択
• 2020年度からの演習環境
• デモ
• まとめ – 2年間実施してみて
2021/9/12 Code4Lib JAPANカンファレンス2021 2
- 3. 背景 – 授業「知識情報演習I」
• 筑波大学 情報学群 知識情報・図書館学類
2年次必修授業 (定員上は110名) [1]
• 75分×2コマ×10週
• 実習室の制約で2つのクラスに分けて実施
• 前半5週は目録・メタデータ作成等の演習
• 後半5週で目録検索システムを構築 [2]
• 前提: プログラミング入門編は1年次必修
• 目録規則や(リレーショナル)データベース等の講義
は同時並行で履修
• 担当分担: 火曜クラス=阪口、水曜クラス=鈴木
2021/9/12 Code4Lib JAPANカンファレンス2021 3
- 4. 演習の目標 – 開発するシステム
• 目録検索システムの設計
• デザインや機能は各自で考える
• OPACリスト等を参考資料として提示
• 必須仕様と加点仕様はレポート課題として明示
• 全国書誌データをデータベース化
• 現実のデータを扱う
• データ件数: 千から万単位のサブセット
• Webブラウザから使用できる検索システムを
構築
• システムの動作確認+レポートで評価
2021/9/12 Code4Lib JAPANカンファレンス2021 4
- 5. 2019年度までの演習環境
• 実習室で対面授業
• 筑波大学春日エリア 7C102実習室 – 端末76台
• 本学学術情報メディアセンターが環境整備
• 端末
• Windows / Linuxのデュアルブート
• Linux環境で使用 (GUIも使える:-)
• プログラミング言語: Ruby
• ライブラリ: cgi, sqlite3-ruby
• データベース管理: SQLite3
• Webサーバ: Linux+Apache httpd
• 全学生がCGI機能を利用可能
2021/9/12 Code4Lib JAPANカンファレンス2021 5
- 6. 2020年度春学期 – 全面オンライン授業に
• オンライン授業化以前の変化
• PythonをJupyter Notebookを使って演習
• コマンドラインも触れるがメインはWebブラウザで利用
• COVID-19 – 春学期は全面オンライン授業
• ×受講者各自のPC等に開発環境整備は無謀
• OSや搭載メモリその他が多様過ぎてサポートできない
• ×自宅などリモートからの利用は?
• 一応あるが、リソースが全く足りてない
• 全く馴染んでないLinuxのGUIやコマンドを使えるか?
• ×秋学期に移動 – 2年生の必修演習授業は秋学期にもあるので、学生
への負担から問題あり
• Jupyter Notebookのクラウド版とでもいうべきGoogle
Colaboratoryに気づき、検討の末、採用
• 本学類生は入学時に全員Google Workspace for Edu.のアカウント付与済
2021/9/12 Code4Lib JAPANカンファレンス2021 6
- 7. 2020年度からの演習環境 (1/3)
• プログラミング言語: Python [3]
• プログラミング環境: Google Colaboratory (Colab) – Webブラ
ウザがあれば開発できる [4]
• データベース管理: SQLite3 [5]
• Pythonの標準ライブラリにあり
• Colabではコマンドライン的使い方はできない。全てPythonプ
ログラムでデータベース操作する。
• Colab上のファイルは1日以内に消えるので、データはGoogle
Driveに保存してColabからマウントする
• 最大の課題はWebでアクセス可能にすること
• ColabのプログラムはGoogleの内部ネット内のサーバで実行する
ので、Webサーバ等のプログラムを実行してもInternet経由で
アクセスできない
2021/9/12 Code4Lib JAPANカンファレンス2021 7
- 12. まとめ – 2年間実施してみて
• 以前できたLinux環境に馴染むということは諦めている
• IEや旧Edgeではうまく動かないトラブル
• 1年目が主 (2年目はEdgeがChromium化してた)
• 全部Webブラウザなので、混乱してないか?
• プログラム編集・実行と検索システムとしてのアクセス
• 環境整備について
• 2019までの環境はCGI可能なWebサーバ等すでにセンターで整備済
• sqlite-rubyライブラリのみ担当教員から依頼で追加
• 現在はプログラミング上の約束事に主に引っかかっている印象
• ライブラリのインストールやマウントなど
• Colabのデフォルトインデント2文字の罠
• 2年目は環境設定の説明を追加
• CGIと違い、Pythonプロセスが同じことに依存した実装事例もちらほら
(CGI時代も色々ありましたが)
2021/9/12 Code4Lib JAPANカンファレンス2021 12
- 14. References
[1] 筑波大学 情報学群 知識情報・図書館学類 (シラバス等あり) https://klis.tsukuba.ac.jp/
[2] 阪口 哲男, 宇陀 則彦, 鈴木 伸崇. オンライン目録検索システム構築演習の4年間とこれから.
ディジタル図書館, No.42 (2012) https://www.dl.slis.tsukuba.ac.jp/DLjournal/No_42/
[3] Python. https://www.python.org/
[4] Google. Colaboratory へようこそ - Colaboratory
https://colab.research.google.com/notebooks/intro.ipynb
[5] SQLite. https://sqlite.org/index.html
[6] Flask. https://palletsprojects.com/p/flask/
[7] ngrok - secure introspectable tunnels to localhost. https://ngrok.com/
[8] GitHub - gstaff/flask-ngrok: A simple way to demo Flask apps from your machine.
https://github.com/gstaff/flask-ngrok
[9] 国立国会図書館. 全国書誌データ.
https://www.ndl.go.jp/jp/data/data_service/jnb/index.html
2021/9/12 Code4Lib JAPANカンファレンス2021 14