自家用OPACの製作
Hamamatsu.rb / Xiao Project / Rowan Tools
小野田 晃久 (Langur)
Last update: 2024/12/07
ごめんなさい
Rubyの話はないです
What’s OPAC?
OPAC[1]
4
OPAC(オパック、オーパック、Online Public Access Catalog)とは利用者
に供されるオンライン蔵書目録のことである。インターネットからアク
セス・利用できるOPACを特にウェブOPAC、インターネットOPACなどと
呼ぶ。なお、利用者への利用に供さないオンラインの目録はただのオン
ライン目録 (Online Catalog) とし、OPACとは呼ばないこともあるが、現代
のオンライン目録のほとんどが利用者の操作を前提としているため、特
に区別されることはなく、本稿においても区別はしない。
[1] OPAC, Wikipedia, 2004, https://ja.wikipedia.org/wiki/OPAC
Introduction
すべてはあの日から始まった……
6
浜松ITコミュニティ忘年会2022[2]
蔵書管理アプリを作り直した[3]
[2] 浜松ITコミュニティ忘年会2022, 浜松IT合同勉強会, 2022, https://hamamatsu-it.connpass.com/event/264985/
[3] 蔵書管理アプリを作り直した, Tiny Mouse, 2022, https://speakerdeck.com/tinymouse/zang-shu-guan-li-apuriwozuo-rizhi-sita
• 浜松ITコミュニティ忘年会2022[2]でTiny Mouseさん
の発表[4]を聞き、感銘を受ける
• Langurも蔵書管理が課題
• 書籍を重複して購入してしまうことがある(通販と実店舗)
• 書籍以外の資料についても整理したい
• 論文やデータシート、マニュアルなど
• BibTeX形式で情報を出力できるとよい
• 書籍を探すのが大変
• 書棚やNASのどこに格納したかわからなくなる
• 蔵書管理とは?
コレクションの計画的および体系的な管理のこと。
蔵書管理の機能は以下がある。
1. 蔵書や書棚等の調達計画
2. 蔵書の維持、除籍
3. 蔵書の評価
課題
Solution
何をやるのか?やらないのか?
8
1. 蔵書の把握
1. 不必要に同じ書籍を購入しないようにすること
2. 行方不明の書籍を出さないようにすること
3. 蔵書(書籍)や資料(論文、データシートやマニュアルなど)を分類・整理すること
4. 蔵書や資料を登録・編集・削除できること
2. 蔵書管理情報の利用
1. 蔵書や資料の検索ができ、所在が分かること
2. 資料の参考文献情報の作成できること
1. BibTeXで出力できるとよい
3. 家族の所有する蔵書や資料は対象外
1. あくまで、自分が管理しているものみ対象とする
4. 書籍や資料以外は対象外
1. まずは、書籍や資料を対象とする
やること
やらないこと
技術要件の検討
9
• バックエンド
• LAMPやBAMP環境で動作すること(ローカルのサーバーで動作すること)
(1.1., 1.2., 1.4, 2.1, 2.2.)
• 自作軽量CMSのmacacaを使えばいいか
• 資料の管理情報を登録する (1.3., 2.1.)
• CiNii Books等から情報を収集する
• 分類・整理には、日本十進分類法[4]を使う(1.3)
• 図書館などで採用されている 614.8 などの記号
• 各桁に意味づけする
• フロントエンド
• 自分だけ使えればよいので見た目にこだわらない
• レスポンシブ対応はしないがスマホからの動作は確認する
• 自宅にVPN繋いで蔵書を検索できるようにする
やること
やらないこと
[4]国立国会図書館「日本十進分類法(NDC)新訂10版」分類基準, 国立国会図書館収集書誌部, 2022,
https://www.ndl.go.jp/jp/data/NDC10code202206.pdf
日本十進分類法(Nippon Decimal Classification)
10
[5] 日本十進分類法擬人化しました, 日本十進分類法擬人化普及委員会, 2014?,
https://bunruigijinka.wixsite.com/10advance/download
[6] 図書館お役立ちページ(青少年向け), はつかいち市民図書館, 2013?,
https://www.hiroshima-hatsukaichi-lib.jp/documents/pdf/shoukai-c.pdf
日本十進分類法[5][6]
メリット
• 図書館と同じ感覚で
使うことができる
デメリット
• 1資料当たり登録が1つ
複数割り当てたい
• 番号が偏る
• Langurの場合以下ばかり…
007…情報学、情報科学
ソフトウェアはここ
547…通信工学、電気通信
通信関係はここ
548…情報工学
ハードウェアはここ
• 使わない番号が
あり、再編したい
Langur十進分類法(Langur Decimal Classification)
11
• 以下のように分類することにした
• 形態: 論文、書籍、雑誌、電子データ
• 種別: 総記、自然、情報、電気、技術、産業、芸術、その他
• 情報:
• 言語、設計・構造、分析、OS、NW、セキュリティ、DB、UI、ML
• 言語: アセンブラ、C、C++、Python、Ruby、JavaScript
• 設計・構造: UML、フレームワーク、デザインパターン、OOP
• 分析: デバッグ、テスト、パケットキャプチャ
• OS: 古典OS 、自作OS、RTOS、WSNOS、車載OS、UNIX、SP、Windows
• ネットワーク: プロトコル、監視、インフラ
• セキュリティ: 暗号、認証、脆弱性、攻撃、仮想化、FW
• データベース: SQL、MySQL、PostgreSQL、SQLite、NoSQL
• UI: HTML、CSS、X、CUI、Qt
• ML: 教師なし学習、教師あり学習、強化学習、学習モデル
• 電気:
• 部品、電気・電子回路、電源、有線通信、無線通信、計測、音、工学
• 部品: CPU、メモリ、IF、RLC、半導体、センサ、電源、端子
• 電気・電子回路: 回路理論、線形回路、半導体、ボードコンピュータ
• 電源: 直流、交流、内蔵、ACアダプタ、PoE、電気工事
• 有線通信: Ethernet、RS-232C、I2C、SPI、1-wire、バス
• 無線通信: Wi-Fi、WSN、LPWA、Wi-SUN、アマチュア無線
• 計測: 計測器、オシロスコープ、ロジックアナライザ、ICE、センサ
:
BibTeX[7]
12
• 文献管理ツール
• TeX(主にLaTeX)と組み合わせて使う
• テキストで書けるので、VCSと合わせて使うと便利
• 参考文献の管理には手放せない
• 実はWebサイトもBibTeXに対応させている
• 出現順に自動的に文献番号を割り当ててくれる
@Book{
hicks2001,
author = "von Hicks, III, Michael",
title = "Design of a Carbon Fiber Composite Grid Structure for the GLAST Spacecraft Using a Novel Manufacturing Technique",
publisher = "Stanford Press",
year = 2001,
address = "Palo Alto",
edition = "1st,",
isbn = "0-69-697269-4“
}
[7] BibTeX, Oren Patashnik, 1985, https://www.ctan.org/pkg/bibtex
macaca[8]
13
• 軽量CMS
• ほぼPHPに標準バンドルされるライブラリしか使っていない
• バージョンアップ時に問題になりにくい
• プラグインも独自形式
• RDBMSと連携も可能
• RDBMSとの連携を考えなければ、レンタルサーバーでも動く
• MVCを意識して作った…つもり
• Web APIを作ることもできなくはない
[8] macaca, Langur, 2017, https://github.com/Langur/macaca
Results
つくってはみたものの…
15
• 登録が大変
• Tiny Mouseさんも話されていたが、登録が大変
• 書籍はTiny Mouseさんのようにバーコードベースで入力したほうがいいかも
• CiNiiの書籍情報も確認しながら登録中
• 版数がずれていたりするのでそのまま登録できない
• ため込んでいるPDFの整理が大変
• NASが壊れた
• 多分無事だが、電子データをすべては確認できていない
• やはり紙が最強だが、かさばるのが難点
• 仕事に追われてしまう
• セミナーテキストを書いたり受講したり
• 町内会のお仕事
• などなど
Conclusion
まとめ
17
• 自家用蔵書管理システムはできた
• データは鋭意登録中
• 今後の展望
• フロントエンドの拡充
• ソースコードの公開
• データの登録方法は考えないとなぁ…
• 他の情報管理への展開
Thank You!

自家用OPACの製作@浜松ITコミュニティ忘年会2024...(241207_OPAC.pdf)

  • 1.
    自家用OPACの製作 Hamamatsu.rb / XiaoProject / Rowan Tools 小野田 晃久 (Langur) Last update: 2024/12/07
  • 2.
  • 3.
  • 4.
    OPAC[1] 4 OPAC(オパック、オーパック、Online Public AccessCatalog)とは利用者 に供されるオンライン蔵書目録のことである。インターネットからアク セス・利用できるOPACを特にウェブOPAC、インターネットOPACなどと 呼ぶ。なお、利用者への利用に供さないオンラインの目録はただのオン ライン目録 (Online Catalog) とし、OPACとは呼ばないこともあるが、現代 のオンライン目録のほとんどが利用者の操作を前提としているため、特 に区別されることはなく、本稿においても区別はしない。 [1] OPAC, Wikipedia, 2004, https://ja.wikipedia.org/wiki/OPAC
  • 5.
  • 6.
    すべてはあの日から始まった…… 6 浜松ITコミュニティ忘年会2022[2] 蔵書管理アプリを作り直した[3] [2] 浜松ITコミュニティ忘年会2022, 浜松IT合同勉強会,2022, https://hamamatsu-it.connpass.com/event/264985/ [3] 蔵書管理アプリを作り直した, Tiny Mouse, 2022, https://speakerdeck.com/tinymouse/zang-shu-guan-li-apuriwozuo-rizhi-sita • 浜松ITコミュニティ忘年会2022[2]でTiny Mouseさん の発表[4]を聞き、感銘を受ける • Langurも蔵書管理が課題 • 書籍を重複して購入してしまうことがある(通販と実店舗) • 書籍以外の資料についても整理したい • 論文やデータシート、マニュアルなど • BibTeX形式で情報を出力できるとよい • 書籍を探すのが大変 • 書棚やNASのどこに格納したかわからなくなる • 蔵書管理とは? コレクションの計画的および体系的な管理のこと。 蔵書管理の機能は以下がある。 1. 蔵書や書棚等の調達計画 2. 蔵書の維持、除籍 3. 蔵書の評価 課題
  • 7.
  • 8.
    何をやるのか?やらないのか? 8 1. 蔵書の把握 1. 不必要に同じ書籍を購入しないようにすること 2.行方不明の書籍を出さないようにすること 3. 蔵書(書籍)や資料(論文、データシートやマニュアルなど)を分類・整理すること 4. 蔵書や資料を登録・編集・削除できること 2. 蔵書管理情報の利用 1. 蔵書や資料の検索ができ、所在が分かること 2. 資料の参考文献情報の作成できること 1. BibTeXで出力できるとよい 3. 家族の所有する蔵書や資料は対象外 1. あくまで、自分が管理しているものみ対象とする 4. 書籍や資料以外は対象外 1. まずは、書籍や資料を対象とする やること やらないこと
  • 9.
    技術要件の検討 9 • バックエンド • LAMPやBAMP環境で動作すること(ローカルのサーバーで動作すること) (1.1.,1.2., 1.4, 2.1, 2.2.) • 自作軽量CMSのmacacaを使えばいいか • 資料の管理情報を登録する (1.3., 2.1.) • CiNii Books等から情報を収集する • 分類・整理には、日本十進分類法[4]を使う(1.3) • 図書館などで採用されている 614.8 などの記号 • 各桁に意味づけする • フロントエンド • 自分だけ使えればよいので見た目にこだわらない • レスポンシブ対応はしないがスマホからの動作は確認する • 自宅にVPN繋いで蔵書を検索できるようにする やること やらないこと [4]国立国会図書館「日本十進分類法(NDC)新訂10版」分類基準, 国立国会図書館収集書誌部, 2022, https://www.ndl.go.jp/jp/data/NDC10code202206.pdf
  • 10.
    日本十進分類法(Nippon Decimal Classification) 10 [5]日本十進分類法擬人化しました, 日本十進分類法擬人化普及委員会, 2014?, https://bunruigijinka.wixsite.com/10advance/download [6] 図書館お役立ちページ(青少年向け), はつかいち市民図書館, 2013?, https://www.hiroshima-hatsukaichi-lib.jp/documents/pdf/shoukai-c.pdf 日本十進分類法[5][6] メリット • 図書館と同じ感覚で 使うことができる デメリット • 1資料当たり登録が1つ 複数割り当てたい • 番号が偏る • Langurの場合以下ばかり… 007…情報学、情報科学 ソフトウェアはここ 547…通信工学、電気通信 通信関係はここ 548…情報工学 ハードウェアはここ • 使わない番号が あり、再編したい
  • 11.
    Langur十進分類法(Langur Decimal Classification) 11 •以下のように分類することにした • 形態: 論文、書籍、雑誌、電子データ • 種別: 総記、自然、情報、電気、技術、産業、芸術、その他 • 情報: • 言語、設計・構造、分析、OS、NW、セキュリティ、DB、UI、ML • 言語: アセンブラ、C、C++、Python、Ruby、JavaScript • 設計・構造: UML、フレームワーク、デザインパターン、OOP • 分析: デバッグ、テスト、パケットキャプチャ • OS: 古典OS 、自作OS、RTOS、WSNOS、車載OS、UNIX、SP、Windows • ネットワーク: プロトコル、監視、インフラ • セキュリティ: 暗号、認証、脆弱性、攻撃、仮想化、FW • データベース: SQL、MySQL、PostgreSQL、SQLite、NoSQL • UI: HTML、CSS、X、CUI、Qt • ML: 教師なし学習、教師あり学習、強化学習、学習モデル • 電気: • 部品、電気・電子回路、電源、有線通信、無線通信、計測、音、工学 • 部品: CPU、メモリ、IF、RLC、半導体、センサ、電源、端子 • 電気・電子回路: 回路理論、線形回路、半導体、ボードコンピュータ • 電源: 直流、交流、内蔵、ACアダプタ、PoE、電気工事 • 有線通信: Ethernet、RS-232C、I2C、SPI、1-wire、バス • 無線通信: Wi-Fi、WSN、LPWA、Wi-SUN、アマチュア無線 • 計測: 計測器、オシロスコープ、ロジックアナライザ、ICE、センサ :
  • 12.
    BibTeX[7] 12 • 文献管理ツール • TeX(主にLaTeX)と組み合わせて使う •テキストで書けるので、VCSと合わせて使うと便利 • 参考文献の管理には手放せない • 実はWebサイトもBibTeXに対応させている • 出現順に自動的に文献番号を割り当ててくれる @Book{ hicks2001, author = "von Hicks, III, Michael", title = "Design of a Carbon Fiber Composite Grid Structure for the GLAST Spacecraft Using a Novel Manufacturing Technique", publisher = "Stanford Press", year = 2001, address = "Palo Alto", edition = "1st,", isbn = "0-69-697269-4“ } [7] BibTeX, Oren Patashnik, 1985, https://www.ctan.org/pkg/bibtex
  • 13.
    macaca[8] 13 • 軽量CMS • ほぼPHPに標準バンドルされるライブラリしか使っていない •バージョンアップ時に問題になりにくい • プラグインも独自形式 • RDBMSと連携も可能 • RDBMSとの連携を考えなければ、レンタルサーバーでも動く • MVCを意識して作った…つもり • Web APIを作ることもできなくはない [8] macaca, Langur, 2017, https://github.com/Langur/macaca
  • 14.
  • 15.
    つくってはみたものの… 15 • 登録が大変 • TinyMouseさんも話されていたが、登録が大変 • 書籍はTiny Mouseさんのようにバーコードベースで入力したほうがいいかも • CiNiiの書籍情報も確認しながら登録中 • 版数がずれていたりするのでそのまま登録できない • ため込んでいるPDFの整理が大変 • NASが壊れた • 多分無事だが、電子データをすべては確認できていない • やはり紙が最強だが、かさばるのが難点 • 仕事に追われてしまう • セミナーテキストを書いたり受講したり • 町内会のお仕事 • などなど
  • 16.
  • 17.
    まとめ 17 • 自家用蔵書管理システムはできた • データは鋭意登録中 •今後の展望 • フロントエンドの拡充 • ソースコードの公開 • データの登録方法は考えないとなぁ… • 他の情報管理への展開
  • 18.