SlideShare uma empresa Scribd logo
1 de 67
日本の図書館はどのように Ruby を使っているか How libraries in Japan use Ruby? 〜 Next-L Enju と国立国会図書館サーチ〜 Next-L Enju and NDL Search 田辺浩介  Kosuke Tanabe @nabeta
“Library”? ,[object Object]
In this presentation, “collection of sources” does not mean “software”
It is about “books”!
自己紹介 Self introduction ,[object Object]
合同会社次世代図書館システム 代表社員
「図書館システム」 “Library system”
図書館システムとは What is “library system”? ,[object Object]
蔵書検索( OPAC ) search (including Online Public Access Catalog)
貸出・返却・予約管理 circulation and reservation
上記に関わるメール送信や帳票印刷 sending email and printing reciepts
いろいろな図書館システム There are a lot of library systems ,[object Object]
Java, C, COBOL, Visual Basic, PHP,  … ,[object Object]
Ruby で作った図書館システム Library system written in Ruby ,[object Object]
Next-L Enju ,[object Object],[object Object]
What is Project Next-L? ,[object Object]
http://next-l.slis.keio.ac.jp/wiki/wiki.cgi
What is Project Next-L? ,[object Object]
Next-L Enju ,[object Object]
MIT ライセンスで公開 released under MIT license ,[object Object],[object Object],[object Object]
なぜ作ろうと思ったか? Why did I started developing Next-L Enju?
2007 年 ... In 2007... ,[object Object]
じゃあ 自分で作りたい! I want to develop my own system!
Rails の本を見つける found a book about Ruby on Rails ,[object Object]
 
 
全文検索の例が! Fulltext search example! ,[object Object]
図書館システムと検索 library system and search ,[object Object]
図書館員の検索式 librarian's query ,[object Object]
練馬区立図書館 http://www.lib.nerima.tokyo.jp/search2.html
 
利用者の検索式 patron's query ,[object Object]
It is not cool...
全文検索 fulltext search ,[object Object]
サンプルが期待する動作だったので、そのまま Ruby on Rails で製作を始めることに The sample application   just fit, so I started developing with Ruby on  Rails from that time
世の中には人生を変えるサンプルコードがある There is a code that changes someone's life
Ruby の好きなところ things I like about Ruby ,[object Object]
Array#map
Object.const_get(“Bookmark”) ,[object Object]
Railsのよかったところ the best thing about Rails ,[object Object]
苦戦したところ problems ,[object Object]
フラグメントキャッシュで回避 fragment cache solved the problem
自分のテンプレートの設計が無計画だったため、 キャッシュの削除忘れが多発 I had a lot of trouble in expiring fragment cache because my template files were badly designed
Authors and publishers Holding information Reservation Bookmark Circulation information JOIN
苦戦したところ problems ,[object Object]
ajax 化、過剰な validation を削除 ajaxify, removed excessive validations
苦戦したところ problems ,[object Object]
HyperEstraier の属性インデックスでは機能が不足 “attribute index” in HyperEstraier is not enough
海外の図書館システムで Apache Solr を知る I've learned that many library systems developed abroad use Apache Solr
acts_as_solr,  次いで   sunspot  を使用 use acts_as_solr, then sunspot
Next-L Enju の導入館 libraries introduced Next-L Enju ,[object Object]
笹川スポーツ財団 Sasakawa Sports Foundation
環境省図書館 Ministry of Environment
国立国会図書館サーチ NDL Search http://iss.ndl.go.jp/
「国立国会図書館サーチ」で Next-L Enju を使用することに National Diet Library chose Next-L Enju as one of the components of  “NDL Search”
National Diet Library ,[object Object]
国立国会図書館サーチとは What is NDL Search? ,[object Object]
国立国会図書館の所蔵する資料と、 他機関の資料データベースを一度に検索 search databases in NDL and other organizations at once
2010 年 8 月 17 日に最初の β 版公開 First beta version released on August 17, 2010
収録件数は約 5800 万件 about 58 millions records
国立国会図書館サーチとは What is NDL Search? ,[object Object]
資料への入手経路を案内 navigation to resources ,[object Object]
 
なぜNext-L Enjuを選んだか? Why NDL chose Next-L Enju? ,[object Object]
改修費が高額で機能追加が容易ではない not easy to add a new feature, it costs much
なぜNext-L Enjuを選んだか? Why NDL chose Next-L Enju? ,[object Object]
Next-L Enjuの利用部分 Next-L Enju in NDL Search ,[object Object]

Mais conteúdo relacionado

Mais procurados

Ksws3rd nagao keynote(20101218)
Ksws3rd nagao keynote(20101218)Ksws3rd nagao keynote(20101218)
Ksws3rd nagao keynote(20101218)真 岡本
 
Caffeのデータレイヤで夢が広がる話
Caffeのデータレイヤで夢が広がる話Caffeのデータレイヤで夢が広がる話
Caffeのデータレイヤで夢が広がる話Masaki Saito
 
SensorBeeでChainerをプラグインとして使う
SensorBeeでChainerをプラグインとして使うSensorBeeでChainerをプラグインとして使う
SensorBeeでChainerをプラグインとして使うDaisuke Tanaka
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門Hironori Sekine
 
トピックモデルの話
トピックモデルの話トピックモデルの話
トピックモデルの話kogecoo
 
Datalogからsqlへの トランスレータを書いた話
Datalogからsqlへの トランスレータを書いた話Datalogからsqlへの トランスレータを書いた話
Datalogからsqlへの トランスレータを書いた話Yuki Takeichi
 
Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるnobu_k
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Yuya Unno
 
自然言語処理分野の最前線(ステアラボ人工知能シンポジウム2017)
自然言語処理分野の最前線(ステアラボ人工知能シンポジウム2017)自然言語処理分野の最前線(ステアラボ人工知能シンポジウム2017)
自然言語処理分野の最前線(ステアラボ人工知能シンポジウム2017)STAIR Lab, Chiba Institute of Technology
 
Rubyと機械学習の現状
Rubyと機械学習の現状Rubyと機械学習の現状
Rubyと機械学習の現状Aki Ariga
 
Jubatusにおける機械学習のテスト@MLCT
Jubatusにおける機械学習のテスト@MLCTJubatusにおける機械学習のテスト@MLCT
Jubatusにおける機械学習のテスト@MLCTYuya Unno
 
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?Takayuki Shimizukawa
 
Chainerで学ぶdeep learning
Chainerで学ぶdeep learningChainerで学ぶdeep learning
Chainerで学ぶdeep learningRetrieva inc.
 
知って得するWebで便利なpostgre sqlの3つの機能
知って得するWebで便利なpostgre sqlの3つの機能知って得するWebで便利なpostgre sqlの3つの機能
知って得するWebで便利なpostgre sqlの3つの機能Soudai Sone
 
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Etsuji Nakai
 

Mais procurados (16)

Ksws3rd nagao keynote(20101218)
Ksws3rd nagao keynote(20101218)Ksws3rd nagao keynote(20101218)
Ksws3rd nagao keynote(20101218)
 
Caffeのデータレイヤで夢が広がる話
Caffeのデータレイヤで夢が広がる話Caffeのデータレイヤで夢が広がる話
Caffeのデータレイヤで夢が広がる話
 
SensorBeeでChainerをプラグインとして使う
SensorBeeでChainerをプラグインとして使うSensorBeeでChainerをプラグインとして使う
SensorBeeでChainerをプラグインとして使う
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
 
トピックモデルの話
トピックモデルの話トピックモデルの話
トピックモデルの話
 
bigdata2012nlp okanohara
bigdata2012nlp okanoharabigdata2012nlp okanohara
bigdata2012nlp okanohara
 
Datalogからsqlへの トランスレータを書いた話
Datalogからsqlへの トランスレータを書いた話Datalogからsqlへの トランスレータを書いた話
Datalogからsqlへの トランスレータを書いた話
 
Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させる
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
 
自然言語処理分野の最前線(ステアラボ人工知能シンポジウム2017)
自然言語処理分野の最前線(ステアラボ人工知能シンポジウム2017)自然言語処理分野の最前線(ステアラボ人工知能シンポジウム2017)
自然言語処理分野の最前線(ステアラボ人工知能シンポジウム2017)
 
Rubyと機械学習の現状
Rubyと機械学習の現状Rubyと機械学習の現状
Rubyと機械学習の現状
 
Jubatusにおける機械学習のテスト@MLCT
Jubatusにおける機械学習のテスト@MLCTJubatusにおける機械学習のテスト@MLCT
Jubatusにおける機械学習のテスト@MLCT
 
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
 
Chainerで学ぶdeep learning
Chainerで学ぶdeep learningChainerで学ぶdeep learning
Chainerで学ぶdeep learning
 
知って得するWebで便利なpostgre sqlの3つの機能
知って得するWebで便利なpostgre sqlの3つの機能知って得するWebで便利なpostgre sqlの3つの機能
知って得するWebで便利なpostgre sqlの3つの機能
 
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編
 

Destaque

公共図書館に行ってみよう!
公共図書館に行ってみよう!公共図書館に行ってみよう!
公共図書館に行ってみよう!Yuko Miyazawa
 
2015.11.12 図書館総合展フォーラム 図書館パートナーズ-2-スライド-v5-公開用縮約版-1117
2015.11.12 図書館総合展フォーラム 図書館パートナーズ-2-スライド-v5-公開用縮約版-11172015.11.12 図書館総合展フォーラム 図書館パートナーズ-2-スライド-v5-公開用縮約版-1117
2015.11.12 図書館総合展フォーラム 図書館パートナーズ-2-スライド-v5-公開用縮約版-1117志麻 北村
 
卒業論文 公共図書館における市民ボランティア導入の効果と継続的協働に関する研究
卒業論文 公共図書館における市民ボランティア導入の効果と継続的協働に関する研究卒業論文 公共図書館における市民ボランティア導入の効果と継続的協働に関する研究
卒業論文 公共図書館における市民ボランティア導入の効果と継続的協働に関する研究志麻 北村
 
学校図書館と著作権
学校図書館と著作権学校図書館と著作権
学校図書館と著作権Ryoichi Minami
 
図書館総合展フォーラム資料 ライブラリー・ファシリテーター体験講座
図書館総合展フォーラム資料 ライブラリー・ファシリテーター体験講座図書館総合展フォーラム資料 ライブラリー・ファシリテーター体験講座
図書館総合展フォーラム資料 ライブラリー・ファシリテーター体験講座志麻 北村
 
福島県図書館研究集会/未来に向けた図書館を目指して~さまざまな図書館づくりをとおして
福島県図書館研究集会/未来に向けた図書館を目指して~さまざまな図書館づくりをとおして福島県図書館研究集会/未来に向けた図書館を目指して~さまざまな図書館づくりをとおして
福島県図書館研究集会/未来に向けた図書館を目指して~さまざまな図書館づくりをとおしてMia Nohara
 
20160914兵庫県図書館協会ソーシャルメディア研修(公開用)【最終版】
20160914兵庫県図書館協会ソーシャルメディア研修(公開用)【最終版】20160914兵庫県図書館協会ソーシャルメディア研修(公開用)【最終版】
20160914兵庫県図書館協会ソーシャルメディア研修(公開用)【最終版】Masahiko Inoue
 
【公開用】20160630某市立図書館館内研修(講演+ws)
【公開用】20160630某市立図書館館内研修(講演+ws)【公開用】20160630某市立図書館館内研修(講演+ws)
【公開用】20160630某市立図書館館内研修(講演+ws)Masahiko Inoue
 
20160526 ku-librarians勉強会 #202 :海外研修報告 : パンケーキとシガールと図書館
20160526 ku-librarians勉強会 #202 :海外研修報告 : パンケーキとシガールと図書館20160526 ku-librarians勉強会 #202 :海外研修報告 : パンケーキとシガールと図書館
20160526 ku-librarians勉強会 #202 :海外研修報告 : パンケーキとシガールと図書館kulibrarians
 
10 Ways Your Boss Kills Employee Motivation
10 Ways Your Boss Kills Employee Motivation10 Ways Your Boss Kills Employee Motivation
10 Ways Your Boss Kills Employee MotivationOfficevibe
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesNed Potter
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Destaque (13)

公共図書館に行ってみよう!
公共図書館に行ってみよう!公共図書館に行ってみよう!
公共図書館に行ってみよう!
 
2015.11.12 図書館総合展フォーラム 図書館パートナーズ-2-スライド-v5-公開用縮約版-1117
2015.11.12 図書館総合展フォーラム 図書館パートナーズ-2-スライド-v5-公開用縮約版-11172015.11.12 図書館総合展フォーラム 図書館パートナーズ-2-スライド-v5-公開用縮約版-1117
2015.11.12 図書館総合展フォーラム 図書館パートナーズ-2-スライド-v5-公開用縮約版-1117
 
卒業論文 公共図書館における市民ボランティア導入の効果と継続的協働に関する研究
卒業論文 公共図書館における市民ボランティア導入の効果と継続的協働に関する研究卒業論文 公共図書館における市民ボランティア導入の効果と継続的協働に関する研究
卒業論文 公共図書館における市民ボランティア導入の効果と継続的協働に関する研究
 
学校図書館と著作権
学校図書館と著作権学校図書館と著作権
学校図書館と著作権
 
図書館総合展フォーラム資料 ライブラリー・ファシリテーター体験講座
図書館総合展フォーラム資料 ライブラリー・ファシリテーター体験講座図書館総合展フォーラム資料 ライブラリー・ファシリテーター体験講座
図書館総合展フォーラム資料 ライブラリー・ファシリテーター体験講座
 
福島県図書館研究集会/未来に向けた図書館を目指して~さまざまな図書館づくりをとおして
福島県図書館研究集会/未来に向けた図書館を目指して~さまざまな図書館づくりをとおして福島県図書館研究集会/未来に向けた図書館を目指して~さまざまな図書館づくりをとおして
福島県図書館研究集会/未来に向けた図書館を目指して~さまざまな図書館づくりをとおして
 
20160914兵庫県図書館協会ソーシャルメディア研修(公開用)【最終版】
20160914兵庫県図書館協会ソーシャルメディア研修(公開用)【最終版】20160914兵庫県図書館協会ソーシャルメディア研修(公開用)【最終版】
20160914兵庫県図書館協会ソーシャルメディア研修(公開用)【最終版】
 
【公開用】20160630某市立図書館館内研修(講演+ws)
【公開用】20160630某市立図書館館内研修(講演+ws)【公開用】20160630某市立図書館館内研修(講演+ws)
【公開用】20160630某市立図書館館内研修(講演+ws)
 
20160526 ku-librarians勉強会 #202 :海外研修報告 : パンケーキとシガールと図書館
20160526 ku-librarians勉強会 #202 :海外研修報告 : パンケーキとシガールと図書館20160526 ku-librarians勉強会 #202 :海外研修報告 : パンケーキとシガールと図書館
20160526 ku-librarians勉強会 #202 :海外研修報告 : パンケーキとシガールと図書館
 
10 Ways Your Boss Kills Employee Motivation
10 Ways Your Boss Kills Employee Motivation10 Ways Your Boss Kills Employee Motivation
10 Ways Your Boss Kills Employee Motivation
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and Archives
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Semelhante a RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」

図書館でのSolrの使い方
図書館でのSolrの使い方図書館でのSolrの使い方
図書館でのSolrの使い方Kosuke Tanabe
 
NDL LabSearch Clientのご紹介
NDL LabSearch Clientのご紹介NDL LabSearch Clientのご紹介
NDL LabSearch Clientのご紹介Tsunekawa Mao
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニングMunenori Sugimura
 
物質・材料研究機構におけるNext-L Enjuの採用,導入と今後
物質・材料研究機構におけるNext-L Enjuの採用,導入と今後物質・材料研究機構におけるNext-L Enjuの採用,導入と今後
物質・材料研究機構におけるNext-L Enjuの採用,導入と今後Masao Takaku
 
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhiosXcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhiosTomohiro Kumagai
 
物質・材料研究機構におけるNext-L Enjuの導入事例
物質・材料研究機構におけるNext-L Enjuの導入事例物質・材料研究機構におけるNext-L Enjuの導入事例
物質・材料研究機構におけるNext-L Enjuの導入事例Masao Takaku
 
Next-L Enju 開発ワークショップ #5
Next-L Enju 開発ワークショップ #5Next-L Enju 開発ワークショップ #5
Next-L Enju 開発ワークショップ #5Kosuke Tanabe
 
Code4Lib 2013参加報告
Code4Lib 2013参加報告Code4Lib 2013参加報告
Code4Lib 2013参加報告Masao Takaku
 
つながる目録、つながるサービス@図書館総合展(2015.11.12)
つながる目録、つながるサービス@図書館総合展(2015.11.12)つながる目録、つながるサービス@図書館総合展(2015.11.12)
つながる目録、つながるサービス@図書館総合展(2015.11.12)Ikki Ohmukai
 
MojiHimoji(20110218)
MojiHimoji(20110218)MojiHimoji(20110218)
MojiHimoji(20110218)真 岡本
 
リテラシー研修 Amano 201210_ss
リテラシー研修 Amano 201210_ssリテラシー研修 Amano 201210_ss
リテラシー研修 Amano 201210_ssEriko Amano
 
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)kulibrarians
 
実はとても面白い...Documentation library
実はとても面白い...Documentation library実はとても面白い...Documentation library
実はとても面白い...Documentation libraryKouta Shiobara
 
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告Code4Lib JAPAN
 
ポータル研修 201208 天野_発表用
ポータル研修 201208 天野_発表用ポータル研修 201208 天野_発表用
ポータル研修 201208 天野_発表用Eriko Amano
 
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby BookRuby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby BookTadashi Saito
 
100622 学術情報セミナー
100622 学術情報セミナー100622 学術情報セミナー
100622 学術情報セミナーShuhei Otani
 
100618 学術情報セミナー
100618 学術情報セミナー100618 学術情報セミナー
100618 学術情報セミナーShuhei Otani
 
Code4Lib 2010報告会・発表ダイジェスト
Code4Lib 2010報告会・発表ダイジェストCode4Lib 2010報告会・発表ダイジェスト
Code4Lib 2010報告会・発表ダイジェストMasao Takaku
 

Semelhante a RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」 (20)

図書館でのSolrの使い方
図書館でのSolrの使い方図書館でのSolrの使い方
図書館でのSolrの使い方
 
NDL LabSearch Clientのご紹介
NDL LabSearch Clientのご紹介NDL LabSearch Clientのご紹介
NDL LabSearch Clientのご紹介
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニング
 
物質・材料研究機構におけるNext-L Enjuの採用,導入と今後
物質・材料研究機構におけるNext-L Enjuの採用,導入と今後物質・材料研究機構におけるNext-L Enjuの採用,導入と今後
物質・材料研究機構におけるNext-L Enjuの採用,導入と今後
 
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhiosXcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhios
 
物質・材料研究機構におけるNext-L Enjuの導入事例
物質・材料研究機構におけるNext-L Enjuの導入事例物質・材料研究機構におけるNext-L Enjuの導入事例
物質・材料研究機構におけるNext-L Enjuの導入事例
 
Next-L Enju 開発ワークショップ #5
Next-L Enju 開発ワークショップ #5Next-L Enju 開発ワークショップ #5
Next-L Enju 開発ワークショップ #5
 
Code4Lib 2013参加報告
Code4Lib 2013参加報告Code4Lib 2013参加報告
Code4Lib 2013参加報告
 
全文検索入門
全文検索入門全文検索入門
全文検索入門
 
つながる目録、つながるサービス@図書館総合展(2015.11.12)
つながる目録、つながるサービス@図書館総合展(2015.11.12)つながる目録、つながるサービス@図書館総合展(2015.11.12)
つながる目録、つながるサービス@図書館総合展(2015.11.12)
 
MojiHimoji(20110218)
MojiHimoji(20110218)MojiHimoji(20110218)
MojiHimoji(20110218)
 
リテラシー研修 Amano 201210_ss
リテラシー研修 Amano 201210_ssリテラシー研修 Amano 201210_ss
リテラシー研修 Amano 201210_ss
 
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
 
実はとても面白い...Documentation library
実はとても面白い...Documentation library実はとても面白い...Documentation library
実はとても面白い...Documentation library
 
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
 
ポータル研修 201208 天野_発表用
ポータル研修 201208 天野_発表用ポータル研修 201208 天野_発表用
ポータル研修 201208 天野_発表用
 
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby BookRuby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
 
100622 学術情報セミナー
100622 学術情報セミナー100622 学術情報セミナー
100622 学術情報セミナー
 
100618 学術情報セミナー
100618 学術情報セミナー100618 学術情報セミナー
100618 学術情報セミナー
 
Code4Lib 2010報告会・発表ダイジェスト
Code4Lib 2010報告会・発表ダイジェストCode4Lib 2010報告会・発表ダイジェスト
Code4Lib 2010報告会・発表ダイジェスト
 

Mais de Kosuke Tanabe

Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #91Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #91Kosuke Tanabe
 
Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #90Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #90Kosuke Tanabe
 
Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #89Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #89Kosuke Tanabe
 
Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #88Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #88Kosuke Tanabe
 
Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86Kosuke Tanabe
 
Next-L Enju ワークショップ #78
Next-L Enju ワークショップ #78Next-L Enju ワークショップ #78
Next-L Enju ワークショップ #78Kosuke Tanabe
 
オープンソースの図書館システムNext-L Enjuのいまとこれから
オープンソースの図書館システムNext-L Enjuのいまとこれからオープンソースの図書館システムNext-L Enjuのいまとこれから
オープンソースの図書館システムNext-L EnjuのいまとこれからKosuke Tanabe
 
Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #75Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #75Kosuke Tanabe
 
Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #76Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #76Kosuke Tanabe
 
Next-L Enju ワークショップ #74
Next-L Enju ワークショップ #74Next-L Enju ワークショップ #74
Next-L Enju ワークショップ #74Kosuke Tanabe
 
Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)Kosuke Tanabe
 
Next-L Enju ワークショップ #65
Next-L Enju ワークショップ #65Next-L Enju ワークショップ #65
Next-L Enju ワークショップ #65Kosuke Tanabe
 
Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #64Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #64Kosuke Tanabe
 
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Kosuke Tanabe
 
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Kosuke Tanabe
 
Next-L Enju 開発ワークショップ #59
Next-L Enju 開発ワークショップ #59Next-L Enju 開発ワークショップ #59
Next-L Enju 開発ワークショップ #59Kosuke Tanabe
 

Mais de Kosuke Tanabe (20)

Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #91Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #91
 
Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #90Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #90
 
Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #89Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #89
 
Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #88Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #88
 
Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86
 
Next-L Enju ワークショップ #78
Next-L Enju ワークショップ #78Next-L Enju ワークショップ #78
Next-L Enju ワークショップ #78
 
オープンソースの図書館システムNext-L Enjuのいまとこれから
オープンソースの図書館システムNext-L Enjuのいまとこれからオープンソースの図書館システムNext-L Enjuのいまとこれから
オープンソースの図書館システムNext-L Enjuのいまとこれから
 
Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #75Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #75
 
Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #76Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #76
 
Next-L Enju ワークショップ #74
Next-L Enju ワークショップ #74Next-L Enju ワークショップ #74
Next-L Enju ワークショップ #74
 
nextlenju73
nextlenju73nextlenju73
nextlenju73
 
Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)
 
Next-L Enju ワークショップ #65
Next-L Enju ワークショップ #65Next-L Enju ワークショップ #65
Next-L Enju ワークショップ #65
 
enju_ws_65
enju_ws_65enju_ws_65
enju_ws_65
 
Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #64Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #64
 
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62
 
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62
 
Next-L Enju LRM
Next-L Enju LRMNext-L Enju LRM
Next-L Enju LRM
 
Enju ws 60
Enju ws 60Enju ws 60
Enju ws 60
 
Next-L Enju 開発ワークショップ #59
Next-L Enju 開発ワークショップ #59Next-L Enju 開発ワークショップ #59
Next-L Enju 開発ワークショップ #59
 

Último

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 

Último (9)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 

RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」

Notas do Editor

  1. In this presentation, “library” does not mean a collection of software. It means a collection of books!
  2. 自己紹介をさせていただきます。Project Next-Lという図書館システム開発プロジェクトのメンバーです。以前は大学の図書館で働いていました。
  3. さて、今日は図書館システムのお話をさせていただきます。
  4. 「図書館システム」というのはなにかと申しますと、図書館の業務管理システムのことです。 英語では integrated library system とか、 library management system といいます。
  5. この図書館システムですが、さまざまな企業が作っています。日本でしたら、たとえば富士通さん、NECさん、三菱さん、リコーさんなど、日本を代表する大きな会社が図書館システムを作っています。 これらはいろいろな言語で作られています。Java、COBOL、VB、PHPなどなど… 今日はRubyKaigiですので、ではRubyはどうかというと…
  6. おそらく有名なのはまちづくり三鷹さんの開発された「Ruby図書館システム」だと思います。これはメディアでも何度か紹介されていますし、実際に長野県の塩尻市図書館で導入されています。 あと、今日説明させていただきます、ぼくたちのシステムである Next-L Enju があります。
  7. Project Next-Lというのは、ベンダーではなく図書館関係者で新しい図書館システムを作ろうとするプロジェクトです。
  8. 2006 年 11 月に、当時慶應義塾大学、現在は同 志社大学にいらっしゃいます原田隆史准教授によって始められました。
  9. そこでできあがった成果物が、Next-L Enjuです。Ruby on RailsとPostgreSQL, MySQL, Solrと、すべてOSSで作られており、Enju自体もMITライセンスで公開しています。実際の開発は私が行っています。
  10. で、最初はPHPで書いていたんですけどめんどくさくなって挫折しました。調べたところ、世の中には「Webアプリケーションフレームワーク」なる便利なものがあって、その中でもRuby on Railsというのが流行だと聞きました。
  11. とりあえず「ライド・オン・Rails」という本を見つけました。手にとって読んでみます
  12. ここで全文検索の例を見つけたんですね。acts_as_searchableを使っている。
  13. なんで全文検索が大事かというと、図書館システムというのは司書だけが使うシステムではないからです。一般の利用者の方も使うシステムです。 で、一般の利用者の方は簡単な検索インターフェースを、司書の方は複雑な検索インターフェースを使用したいという要望があります。 図書館システムはこれらを両立させなければならないのですが、それができていないシステムがほとんどです。
  14. これは練馬区立図書館の例です。 昔はまだこれでもよかったんですが、今の利用者は、
  15. こういうシンプルなインターフェースに慣れきってしまっています。これからすると、図書館システムというのは利用者にはどうにも敷居が高いわけです。
  16. でもこんな感じで LIKE 文を続けるのはかっこわるいですよね。それで全文検索の仕組みをいろいろ試していました。
  17. PostgreSQLやMySQLで全文検索を実現するよい方法はないものかなと探していました。SennaやLudiaも試してみましたが、どうも自分の環境では不安定でした。 それでこのサンプルを試してみたところ、よい感じで動いたので、そのままRuby on Railsで開発を始めることにしました。 それ以来4年間、私はほとんど毎日、Next-L Enjuの製作を行っています。今にして私は思います。
  18. 世の中には人生を変えるサンプルコードがある、と。
  19. Rubyで便利だと思ったのは、なんといってもirbの存在です。RubyをPHPと比較した場合、Rubyの最も便利なところだと思います、というかPHPになんでないんでしょうね。ライブラリをrequireしてメソッドを試して、という試行錯誤が簡単にできるのは、初心者にはほんとうに助かりました。 あとは配列をいっぺんに処理できるArray#mapとか、あとオブジェクト指向を勉強するところで、文字列からクラスを作るのが簡単にできるところが楽しかったです。
  20. Railsのよいところはいろいろありますが、図書館システムの製作という点からみたRailsのよい点は、RESTfulであるということです。現在、多くの図書館システムが、RESTAPIを備えつつあります。単純なものでいえば新着資料のRSSフィードですが、そのほかにも蔵書の検索や登録など、さまざまなWebAPIが存在します。RailsのRestfulな方向性は、これらの図書館システムの方向性と合致していてました。
  21. 苦戦したところですが、ほんとに動作が遅かったです。キャッシュなんてのは大規模サービスのためにあるもので、うちには関係ないと思っていたのですが、たちまち苦しくなりました。著者名・出版社名・所蔵情報・貸出状況などで大量のJOINが走るんですね。 というわけで、フラグメントキャッシュでしのぐことになるんですが、テンプレートの設計やマークアップが無計画だったため、キャッシュの削除忘れが多発することになりました。
  22. システムのレスポンスでいちばん要求がシビアなのが、カウンターでの貸出と返却業務です。これが遅いと、カウンターが混雑して、利用者を待たせてしまうからです。これは貸出データの作成処理であり、キャッシュでは対応できないので、ajax化とvalidationの省略で対応しました。
  23. あと、先ほど触れた検索部分です。 acts_as_searchableはなかなかよい感じで動いていました。しかし、図書館は検索対象とする項目が多く、対象を増やしていくとacts_as_searchable、というよりもHyperEstraierでは力不足な点が出てきました。 ほかの図書館システムはどうしているんだろうと思って調べたところ、Apache Solrを使っていることがわかりました。 RubyとRailsにはacts_as_solrとSunspotというライブラリやプラグインがあったので、それを使うことにしました。Solr自体については、すでに館野さんが今日のセッションでお話されているので詳細は触れませんが、セッション内で触れられていたように、検索フィールドを柔軟に設定できるのは大きな利点でした。
  24. 国立国会図書館サーチ、通称NDLサーチは、国立国会図書館の所蔵する資料と、他機関の資料データベースを一度に検索する、新しい情報検索サービスです。2010年8月17日に、最初のβ版が公開されました。
  25. いくつかのプロジェクトでOSSを利用していました。 また、国内の商用図書館システムでは機能が不足、特に、国際的に利用されているWebAPIの不備が指摘されました。
  26. また、書誌データをDCNDLというXMLで持つように変更しています。DCNDLは国会図書館の決めた、RDFによる書誌情報で、これをXMLで表現しています。このXMLをPostgreSQLのTEXTフィールドに保存し、表示するときにそれをパースしているのですが、これに時間がかかることが判明します。たとえば、検索結果一覧で10件表示されると、10回パースをしなければなりません。
  27. オリジナルのEnjuでは、書誌情報はPostgreSQLに保存し、Solrには書誌情報のIDのみを保存していました。つまり、一度Solrに検索クエリを送って書誌IDを取得し、次にその書誌IDをキーにしてActiveRecordで書誌情報を取得する、という流れです。
  28. インデックスの量が膨大なので、Next-L Enju内部で使用しているsunspotではなく、JavaとHadoopによる外部コンポーネントによってSolrのインデックスを作成するように変更しました。
  29. NDLサーチの今後の予定ですが、2012年1月に正式公開が予定されています。また、NDLサーチ向けに行われた新規開発・変更部分のソースコードも公開予定です。こちらは時期や方法は未定ですが、期待して待ちましょう。
  30. というわけで、これまでのお話では、日本の図書館と図書館システムにおけるRubyの歴史は今まさに始まった…となりそうなのですが、実はそうではありません。
  31. 実は、10年前からRubyで書いた図書館システムを使っている図書館が日本にあります。どこかと言いますと、
  32. 神戸市図書館情報ネットワークというのは、神戸市内の公共図書館と大学図書館のネットワークです。共同でひとつの図書館システムを使っています。
  33. 2001年のシステムリプレース時に、Rubyでシステムを構築しています。2001年というと、Ruby1.6とか、第1回RubyConfが開催された年だそうですね。
  34. では、実際に動いているところを見てみましょう。
  35. なぜRubyを選んだかという点については、いくつか理由がったのですが、 図書館の司書の中にプログラミングが好きな方がいて、その方が 「多少の改修であれば図書館司書が自分で行えるように」ということで選んだそうです。あと、日本語のサポートが得やすいというので、PerlではなくRubyを選んだそうです。
  36. 全体の90%がRuby、残りがEmacs Lisp、ごくわずかにCだそうです。Cで書いてある部分は職員の認証処理を行っているのですが、性能・機能面での問題でそうなっているわけではなく、Rubyでじゅうぶん対応できるだろうとのことでした。 Emacs Lispってなんじゃいと思った方もいらっしゃると思いますが、実は神戸市では目録作成をEmacsでやっているんです。
  37. というわけで、図書館もRubyを使って、なかなかおもしろそうなことをしているんだな。ということを知って頂ければ幸いです。