Jubatus Casual Talks #2 Jubatus開発者入門

12,312 views

Published on

http://connpass.com/event/3968/

Published in: Technology

Jubatus Casual Talks #2 Jubatus開発者入門

  1. 1. Jubatus Casual Talk #4 2013年年12⽉月14⽇日 Jubatus開発者⼊入⾨門 株式会社Preferred Infrastructure 柏原秀蔵
  2. 2. 最近よい単語を知った 2
  3. 3. オポ l  Opportunity略略してオポ  (Job Opportunityからきてるらしい) l  オポの事例例 l  l  l  タダ飯オポ SSDオポ その他 l  オポ⼒力力 l  ⽤用例例「OSSはオポ⼒力力を⾼高める」 3
  4. 4. ⾃自⼰己紹介 l  柏原秀蔵 (Preferred Infrastructure) l  Jubatus team (2012年年5⽉月頃から〜~現在) l  リリースマネージャ l  サーバ周辺のメンテナンス l  l  タスクを作るために案を洗い出したり… 単体ライブラリもしくはフレームワークとして 使えるようなJubatus⽬目指して開発に参加 4 @suma90h github: suma
  5. 5. Contributors (jubatus/jubatus) 5
  6. 6. Contributors (jubatus/website) 6
  7. 7. Contributors (jubatus/website) 7
  8. 8. Jubatus 0.5.0 のおさらい l  新アルゴリズムと新機能 l  l  l  バイナリデータの⼊入⼒力力に対応 jubadumpコマンド 機能改善 l  l  保存モデルのデータフォーマットを策定 l  l  クライアントライブラリ jubakeeperからjubaproxyへ改名 リファクタリング(依存ライブラリの整理理) l  正規表現ライブラリをre2から⻤⿁鬼⾞車車へ l  pficommonを内包(移植) Debianパッケージ化への道…!(詳しくはGoogle Groupsのログ) 8
  9. 9. 本⽇日のお話 l  Jubatus公開情報の紹介 l  l  github l  l  website github wiki Jubatus開発スタイルの紹介 9
  10. 10. Jubatus公開情報の紹介 l  皆さん、ウェブサイトとgithubはどれくらい⾒見見てますか? l  公式ウェブサイト l  l  Google Groups(ML) l  l  http://jubat.us/ http://groups.google.com/group/jubatus Github l  l  l  https://github.com/jubatus/jubatus https://github.com/jubatus Github Wiki l  https://github.com/jubatus/jubatus/wiki 10
  11. 11. Jubatus website l  だいたいの情報は載っている l  l  各アルゴリズムの使い⽅方(チュートリアル・example) l  開発者情報 l  l  インストール⼿手順 RPCクライアントのバッドノウハウ 載ってない情報もある(オポが期待される領領域) l  アルゴリズムを実アプリへ応⽤用する事例例 l  お⾦金金儲けする話 l  機械学習のデザインパターンのような話 11
  12. 12. Github l  l  Jubatus本体プログラムの他にも、website・exampleなどリポジ トリ多数 Watchを登録すると通知が受け取れる! l  (もしくはリポジトリの開発者・管理理者メンバーに⼊入ると⾃自動登録) 12
  13. 13. 13
  14. 14. Github wiki l  https://github.com/jubatus/jubatus/wiki 14
  15. 15. Github wiki(続) 15
  16. 16. Github wiki(続) 16
  17. 17. 開発スタイルの紹介 17
  18. 18. Jubatus開発スタイルの紹介 l  定例例 l  OSS定例例会議  毎週1回(1時間) l  l  l  前回からのTODO・チケット(issue)の差分確認 issueの仕様相談・担当者割り当て リリース作業(⽉月1回程度度を⽬目指す) l  l  ⼿手分けしてパッケージの⽣生成、ウェブサイト更更新などを実⾏行行 l  l  リリース2⽇日前にjubatusリポジトリはコードフリーズ なぜか⾦金金曜⽇日リリースが多い 毎⽇日 l  個⼈人もしくは共同で作業 l  github issue, gistやチャットを使って仕様の議論論 l  twitter/Google Groups チェック → 返信 18
  19. 19. あまり表に出てこない話題 l  ⼤大規模リリース(次のメジャーバージョンアップの内容) l  l  分散時(MIXやZooKeeper利利⽤用)の耐障害性の向上 l  l  RPCの意味論論に限界を感じる話(タイムアウト等) 1プロセスで複数モデル(インスタンス)扱えるようにしたい話 困難さ l  開発チームのリソースは有限 l  項⽬目のインパクトがわかりやすいものもあれば、未知のもの多数 l  外部からのPull Requestは歓迎したいが、メンテナンスできない ものはマージできない 19
  20. 20. Jubatus 開発の課題 l  オポ(開発チーム外からのフィードバック)と対応リソースの不不⾜足 l  新機能追加は、仕様や選択肢を洗い出すなど、議論論・設計する作業 が多い l  l  アイディアはあっても、メンテ不不能なコードを築くわけにはいかない バグ登録オポ・フィードバックの事例例 l  l  l  バグ修正Pull Request・issue (準備中)Perl版 クライアントの作成 by @overlast さん Jubatus team側でも受け⽌止めきれる体制・コードを構築したい l  「前回のカジュアルトークでいただいたご要望に対する進捗状況」 20
  21. 21. まとめ l  Jubatus開発情報の紹介 l  l  開発スタイルの紹介 l  l  Jubatus公開情報: github, ウェブ 開発の課題 Github PRオポ・貢献お待ちしています l  MLやgithubで相談というのもOK l  ユースケース・事例例があれば公開・紹介をお願いしたい l  機能要望は実装提案がない限り、多くの要望と共に埋もれがちです l  多⼤大な貢献をすると(例例:バグ修正を送る)、Tシャツのプレゼ ントという事例例が過去に 21

×