Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
institution
みなさまの要望を
かなえる技術的な話
2013.8.31 c4ljp2013
株式会社ミライト情報システム 中村 晃史
@tmpz84
プラグイン化と継続的インテグレーション
13年8月31日土曜日
自己紹介
• 株式会社ミライト情報システム
• 中村晃史(なかむらあきふみ)
• システムエンジニア
• オープンソース図書館システムEnjuTrunk
の開発に従事
• 司書資格取得中(まだ8単位...)
13年8月31日土曜日
オープンソース
図書館システムを
開発するにあたっての
開発方法を
ご紹介します。
13年8月31日土曜日
おかげさまで!
• 環境省
• 気象庁
• 笹川スポーツ財団
• 三菱経済研究所 三菱史料館
ミライト版Enju導入実績
さらに続く...
13年8月31日土曜日
様々な要望
• 和暦を入力したい。
• 返却日を任意の日付を入力したい。
• あなたの書いた文言が気にくわない。
• 右に寄せて。左に寄せて。
• 請求記号のフォーマットチェック変えて。
13年8月31日土曜日
• 和暦を入力したい。
• 返却日を任意の日付を入力したい。
• あなたの書いた文言が気にくわない。
• 右に寄せて。左に寄せて。
• 請求記号のフォーマットチェック変えて。
大変な現実
http://www.flickr.com/photos/...
金太郎 じゃないよ
• 図書館によって想いが違うので重要視
する箇所が違う...
• もちろん図書館システム以外でも。
13年8月31日土曜日
館によって
システムが別物?
13年8月31日土曜日
解決?:プラグイン化!
• Enjuは、プログラミング言語Rubyで作成
している。
• 言語的に動的で柔軟に仕様を変更する
ことが可能!
13年8月31日土曜日
それぞれ開発
図書館システム コア部
目録 検索
貸出
返却
統計
13年8月31日土曜日
目録
それぞれ開発・カスタマイズ
検索
目録
貸出
返却
統計
図書館システム コア部
目録 蔵書点検
NACSIS
インター
フェイス
入力項目追加
独自のカスタマイズ
支部図書館向け
機能追加
それぞれ
独立して開発
13年8月31日土曜日
• プラグインごとに開発可能なので、比
較的素早く修正できる。
• 世界中で開発しているオープンソースソ
フトウェアもプラグイン化して組み込
む。
• 依存度を低くして柔軟に対応出来る。
組み合わせ自由!
13年8月31日土曜日
でもね!
• あっちが合わない。
• こっちも合わない。
• リリースしてから発覚 ...
• だってメンバー3人なんだもん(言い訳)
13年8月31日土曜日
テスト重要!
http://www.flickr.com/photos/cimmyt/4764098169/
13年8月31日土曜日
• 紙のテスト仕様書を使って人海戦術で
テストするの?
http://www.flickr.com/photos/31029865@N06/6553871055/
13年8月31日土曜日
継続的インテグレーション
継続的インテグレーション、CI(英: continuous integration)とは、主にプログラ
マーのアプリケーション作成時の品質改善や納期の短縮のための習慣のことであ
る。エクストリーム・プログラミング (X...
継続的インテグレーション
継続的インテグレーション、CI(英: continuous integration)とは、主にプログラ
マーのアプリケーション作成時の品質改善や納期の短縮のための習慣のことであ
る。エクストリーム・プログラミング (X...
テスト面倒!
http://www.flickr.com/photos/sawamur/2122182899/
いやじゃ
いやじゃ
13年8月31日土曜日
面倒なので自動テスト
• RSpec → 機能の自動テスト
• Turnip + Capybara + selenium
   → 画面の自動テスト
• Chef + Serverspec → サーバの自動テスト
自動で出来るテストは、PCにや...
Jenkins
• 日本発の CI サポートツール
• 様々なテストを継続的に実施。
• テストでエラーがある場合は、通知。
http://jenkins-ci.org/
13年8月31日土曜日
Jenkins
晴れマークは
テスト成功!
13年8月31日土曜日
素早く継続的に提供
• 素早く直して素早く自動テスト。
• 素早くお客様に確認。
• それを継続的に。
13年8月31日土曜日
システムの進化を持続
かわいいにしきアナゴちゃん
13年8月31日土曜日
まとめ
• 繰り返すこと。
• 修正は怖くない。
• はやく確実に届けたいなー。
13年8月31日土曜日
ご静聴ありがとうございました。
http://www.flickr.com/photos/ecstaticist/2589723846/
13年8月31日土曜日
提供
13年8月31日土曜日
Upcoming SlideShare
Loading in …5
×

みなさまの要望をかなえる技術的な話(プラグイン化と継続的インテグレーション)

436 views

Published on

オープンソース図書館システム enju を各館に導入するにあたり、様々な要望が出てくる。それらの要望に対応する技術的手法と jenkins を使った継続的インテグレーションを紹介する。

  • Be the first to comment

  • Be the first to like this

みなさまの要望をかなえる技術的な話(プラグイン化と継続的インテグレーション)

  1. 1. institution みなさまの要望を かなえる技術的な話 2013.8.31 c4ljp2013 株式会社ミライト情報システム 中村 晃史 @tmpz84 プラグイン化と継続的インテグレーション 13年8月31日土曜日
  2. 2. 自己紹介 • 株式会社ミライト情報システム • 中村晃史(なかむらあきふみ) • システムエンジニア • オープンソース図書館システムEnjuTrunk の開発に従事 • 司書資格取得中(まだ8単位...) 13年8月31日土曜日
  3. 3. オープンソース 図書館システムを 開発するにあたっての 開発方法を ご紹介します。 13年8月31日土曜日
  4. 4. おかげさまで! • 環境省 • 気象庁 • 笹川スポーツ財団 • 三菱経済研究所 三菱史料館 ミライト版Enju導入実績 さらに続く... 13年8月31日土曜日
  5. 5. 様々な要望 • 和暦を入力したい。 • 返却日を任意の日付を入力したい。 • あなたの書いた文言が気にくわない。 • 右に寄せて。左に寄せて。 • 請求記号のフォーマットチェック変えて。 13年8月31日土曜日
  6. 6. • 和暦を入力したい。 • 返却日を任意の日付を入力したい。 • あなたの書いた文言が気にくわない。 • 右に寄せて。左に寄せて。 • 請求記号のフォーマットチェック変えて。 大変な現実 http://www.flickr.com/photos/hcwoodward/220512694/ http://www.flickr.com/photos/safari_vacation/9188873971/ 13年8月31日土曜日
  7. 7. 金太郎 じゃないよ • 図書館によって想いが違うので重要視 する箇所が違う... • もちろん図書館システム以外でも。 13年8月31日土曜日
  8. 8. 館によって システムが別物? 13年8月31日土曜日
  9. 9. 解決?:プラグイン化! • Enjuは、プログラミング言語Rubyで作成 している。 • 言語的に動的で柔軟に仕様を変更する ことが可能! 13年8月31日土曜日
  10. 10. それぞれ開発 図書館システム コア部 目録 検索 貸出 返却 統計 13年8月31日土曜日
  11. 11. 目録 それぞれ開発・カスタマイズ 検索 目録 貸出 返却 統計 図書館システム コア部 目録 蔵書点検 NACSIS インター フェイス 入力項目追加 独自のカスタマイズ 支部図書館向け 機能追加 それぞれ 独立して開発 13年8月31日土曜日
  12. 12. • プラグインごとに開発可能なので、比 較的素早く修正できる。 • 世界中で開発しているオープンソースソ フトウェアもプラグイン化して組み込 む。 • 依存度を低くして柔軟に対応出来る。 組み合わせ自由! 13年8月31日土曜日
  13. 13. でもね! • あっちが合わない。 • こっちも合わない。 • リリースしてから発覚 ... • だってメンバー3人なんだもん(言い訳) 13年8月31日土曜日
  14. 14. テスト重要! http://www.flickr.com/photos/cimmyt/4764098169/ 13年8月31日土曜日
  15. 15. • 紙のテスト仕様書を使って人海戦術で テストするの? http://www.flickr.com/photos/31029865@N06/6553871055/ 13年8月31日土曜日
  16. 16. 継続的インテグレーション 継続的インテグレーション、CI(英: continuous integration)とは、主にプログラ マーのアプリケーション作成時の品質改善や納期の短縮のための習慣のことであ る。エクストリーム・プログラミング (XP) のプラクティスの一つで、狭義にはビ ルドやテスト、インスペクションなどを継続的に実行していくことを意味する[1]。 特に、1990年代後半以降の開発においては、継続的インテグレーションをサポート するソフトウェアの使用する傾向が強まってきた。 http://ja.wikipedia.org/wiki/%E7%B6%99%E7%B6%9A%E7%9A %84%E3%82%A4%E3%83%B3%E3%83%86%E3%82%B0%E3%83%AC%E3%83%BC %E3%82%B7%E3%83%A7%E3%83%B3 ここ数年でさらに重要視されてきた。 13年8月31日土曜日
  17. 17. 継続的インテグレーション 継続的インテグレーション、CI(英: continuous integration)とは、主にプログラ マーのアプリケーション作成時の品質改善や納期の短縮のための習慣のことであ る。エクストリーム・プログラミング (XP) のプラクティスの一つで、狭義にはビ ルドやテスト、インスペクションなどを継続的に実行していくことを意味する[1]。 特に、1990年代後半以降の開発においては、継続的インテグレーションをサポート するソフトウェアの使用する傾向が強まってきた。 http://ja.wikipedia.org/wiki/%E7%B6%99%E7%B6%9A%E7%9A %84%E3%82%A4%E3%83%B3%E3%83%86%E3%82%B0%E3%83%AC%E3%83%BC %E3%82%B7%E3%83%A7%E3%83%B3 重要なのは、テストの習慣! 13年8月31日土曜日
  18. 18. テスト面倒! http://www.flickr.com/photos/sawamur/2122182899/ いやじゃ いやじゃ 13年8月31日土曜日
  19. 19. 面倒なので自動テスト • RSpec → 機能の自動テスト • Turnip + Capybara + selenium    → 画面の自動テスト • Chef + Serverspec → サーバの自動テスト 自動で出来るテストは、PCにやってもらおう! PCの高速化で可能に。 13年8月31日土曜日
  20. 20. Jenkins • 日本発の CI サポートツール • 様々なテストを継続的に実施。 • テストでエラーがある場合は、通知。 http://jenkins-ci.org/ 13年8月31日土曜日
  21. 21. Jenkins 晴れマークは テスト成功! 13年8月31日土曜日
  22. 22. 素早く継続的に提供 • 素早く直して素早く自動テスト。 • 素早くお客様に確認。 • それを継続的に。 13年8月31日土曜日
  23. 23. システムの進化を持続 かわいいにしきアナゴちゃん 13年8月31日土曜日
  24. 24. まとめ • 繰り返すこと。 • 修正は怖くない。 • はやく確実に届けたいなー。 13年8月31日土曜日
  25. 25. ご静聴ありがとうございました。 http://www.flickr.com/photos/ecstaticist/2589723846/ 13年8月31日土曜日
  26. 26. 提供 13年8月31日土曜日

×