More Related Content
PDF
PDF
PPTX
What is Library Carpentry? PDF
PDF
企業におけるSpring@日本springユーザー会20090624 PDF
「エンジニアはハードウェアビジネスをどうやって立ち上げればよいですか」問題 PDF
Techlion vol8 yusuke #techlion PPTX
小さいカイゼンをまぁまぁうまく回しているチームとツールの紹介 What's hot
PDF
マイクロサービスに至る歴史とこれから - XP祭り2021 PPTX
kintoneの開発プロセスとプロジェクト管理ツール PPTX
PPTX
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!... PDF
遅いクエリと向き合う仕組み #CybozuMeetup PDF
PDF
PDF
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall PDF
PDF
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018 PDF
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会 PDF
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423 PDF
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP PDF
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏 PDF
PDF
年間数千のプロジェクトといろいろなクライアントの狭間で~WebSig会議 vol.34「Webディレクター必見!プロジェクトを成功に導く、オンラインツール... PDF
6製品1サービスの開発にPortfolio for JIRAを使ってみた PDF
ITトレンドに見る日本のエンタープライズITについて PDF
PDF
デブサミ2010 これからのアーキテクチャを見通す Similar to オンライン授業における目録検索システム構築演習
PPTX
Python による 「スクレイピング & 自然言語処理」入門 PDF
設計/コンポーネント設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第21回】 PDF
『Pythonによる ai・機械学習・深層学習アプリのつくり方』をGoogleColabで動く限り動かしてみた PPTX
東京電機大学 ポータルサイトUNIPAからの情報抽出と再利用 PDF
PDF
PDF
PDF
PDF
PFI Christmas seminar 2009 DOCX
プログラミング未経験者を対象としたインタラクティブシステムの演習授業の開発 PPTX
PDF
【WEB公開版】ロボ連2021プログラミング教育展望 PDF
Code4Lib 2011 参加報告会 ONO Haruki PPTX
Code4Lib Conference 2012 : 参加報告 ( 常川真央 ) PDF
PDF
PDF
PDF
萩野服部研究室 スキー合宿 2012 自己紹介(酒井) PDF
Data-Intensive Text Processing with MapReduce ch4 PDF
Introduction to programming competition [revised][PDF] オンライン授業における目録検索システム構築演習
- 1.
- 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
- 8.
- 9.
- 10.
- 11.
- 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
- 13.
- 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