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.

YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

3,553 views

Published on

YAPC::Asia 2013 向けのトーク資料です

Published in: Technology

YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う

  1. 1. CPAN Testers Report の情報を上手に使う Hachioji.pm @moznion
  2. 2. CPAN Testers Report の情報を上手に使う Hachioji.pm @moznion
  3. 3. CPAN Testers Report の情報を上手に使う Hachioji.pm @moznion 全般の話
  4. 4. @moznion 普段は働いて 暇な時に学生してます 今年の末あたりから 就活が始まります
  5. 5. 本日は寝坊して 関係者各位にご迷惑 をおかけしました
  6. 6. 本日は寝坊して 関係者各位にご迷惑 をおかけしました
  7. 7. 本当に 申し訳ございません
  8. 8. 宣伝
  9. 9. はてなブログが AtomPub API の提供を開始しました http://staff.hatenablog.com/entry/ 2013/09/04/125926
  10. 10. API を介したCRUD 処理が ひと通り実現可能
  11. 11. それに伴って、 いくつか クライアントを実装 (プロトタイプ的ですが)
  12. 12. 1
  13. 13. Hateblo.vim
  14. 14. Vim からはてなブログへの 投稿などが出来る
  15. 15. API が提供している機能は (一応) ひと通り サポートしています
  16. 16. 2
  17. 17. hatenablog-post
  18. 18. はてなブログへの投稿が できる Chrome 拡張
  19. 19. こんな感じ
  20. 20. クライアントの フィードバックやパッチ等 お待ちしております https://github.com/moznion/hateblo.vim https://github.com/moznion/google-chrome- hatena-blog-post
  21. 21. 大変便利なAPIですので 皆様、どうぞご利用ください
  22. 22. 宣伝ここまで
  23. 23. 本題
  24. 24. < Hello
  25. 25. CPAN Testers Reports
  26. 26. Perl の世界観
  27. 27. テスト大事
  28. 28. ぶっ壊れてるモジュール 必要なし http://livedoor.blogimg.jp/u0840153/imgs/a/3/a36ee17e.jpg
  29. 29. デフォルトだとテストに コケるモジュールは インストールできない (ですよね?)
  30. 30. なので、テスト結果に関する 情報は非常に重要
  31. 31. CPAN Testers Reports そのモジュールが どれくらいテストに通って どれくらいテストにコケているかを 可視化してくれているサイト
  32. 32. CPAN Testers Reports あと、そのモジュールが どの環境で動いて どの環境で動かないかも 確認できるので る
  33. 33. CPAN Testers Reports 有志の Tester の人がローカルの環境で テストして、その結果を送ってくれる 事によって成り立っている。
  34. 34. よく「Perl/CPANは枯れている」といいますが、 それを支えているのはPerlの歴史とか Perlerの性格といった形のないものではなく、 この CPAN Testers なのです。 これがすごくいいんですよ。 [出典] CPAN Testersの紹介 - Islands in the byte stream http://d.hatena.ne.jp/gfx/20130309/1362823135
  35. 35. CPAN Testers Reports を使うと るシーン
  36. 36. 1
  37. 37. モジュール選定時
  38. 38. - そのモジュールは安全か - 今もメンテが継続中か - 対象環境でも動作するか
  39. 39. - そのモジュールは安全か - 今もメンテが継続中か - 対象環境でも動作するか ここらへんがわかる
  40. 40. 2
  41. 41. モジュールのメンテ時
  42. 42. - どの環境でコケてるのか判 るから手元に再現環境作れる - ログが参照できるからトラ ブルシュートしやすい
  43. 43. - どの環境でコケてるのか判 るから手元に再現環境作れる - ログが参照できるからトラ ブルシュートしやすい モジュールの質が上がる
  44. 44. 後で紹介するTestament は 2 にフォーカス
  45. 45. Report の読み方
  46. 46. モジュールを利用する場合
  47. 47. ここらへんは 普通に読むと良い
  48. 48. 便利
  49. 49. モジュールをメンテする場合
  50. 50. 無愛想なテキストを読む 必要性があって難関
  51. 51. とはいえ、読めば良い所は 絞ることが可能
  52. 52. とはいえ、読めば良い所は 絞ることが可能
  53. 53. とはいえ、読めば良い所は 絞ることが可能 どのテストがコケてるか 確認出来る
  54. 54. 依存モジュールの インストール状況を 確認できる
  55. 55. ここが問題になっている ケース、割と多い印象
  56. 56. とはいえ、読めば良い所は 絞ることが可能
  57. 57. とはいえ、読めば良い所は 絞ることが可能 色々わかる
  58. 58. “LANG” と “PERL5LIB”、 “PERL5OPT” あたりを 見ると良い感じ
  59. 59. その他は適宜
  60. 60. ここら辺をよしなに 引っ張ってこれる君を 書いた
  61. 61. Testament
  62. 62. CPAN Testers Reports の 結果に基いて テストにコケている環境を 再現してくれるツール
  63. 63. @ytnobody さんと共同開発
  64. 64. モジュールのメンテする時、 テスト失敗している環境を 再現する事がままある
  65. 65. そこら辺を自動化したい というモチベーション
  66. 66. こういう環境を仮想マシン として再現してくれる
  67. 67. - OS の構築 - 該当するバージョンの Perl をビルド
  68. 68. - OS の構築 - 該当するバージョンの Perl をビルド ここまでやる
  69. 69. 現状、OS は - OpenBSD - NetBSD - FreeBSD に対応
  70. 70. バックエンドは QEMU と Vagrant (VirtualBox) に対応
  71. 71. ちょっとデモ
  72. 72. Patches Welcome! https://github.com/ytnobody/testament
  73. 73. CPAN Testers Reports 便利!
  74. 74. CPAN Testers Reports 有志の Tester の人がローカルの環境で テストして、その結果を送ってくれる 事によって成り立っている。
  75. 75. CPAN Testers Reports 有志の Tester の人がローカルの環境で テストして、その結果を送ってくれる 事によって成り立っている。
  76. 76. 恩返しをしよう!
  77. 77. CPAN Testers Reports に レポートを送る
  78. 78. cpanm を利用している場合
  79. 79. cpanm を利用している場合 $ cpanm App::cpanminus::reporter $ cpanm-reporter --setup $ cpanm [--test-only] Foo::Bar $ cpanm-reporter
  80. 80. これだけ!
  81. 81. やってみる
  82. 82. ね、簡単でしょ?
  83. 83. こんな感じで CPAN Testers Reports は 素晴らしいシステムなのです
  84. 84. 是非便利に使いたいですね!
  85. 85. Thank you “Birmingham.pm”!!
  86. 86. 他にも 「こんな便利な使い方があるよ」 とかあったら教えて下さい!
  87. 87. 番外編
  88. 88. Ukigumo を使った CPAN Testers Reports 風仕立て
  89. 89. Ukigumo の説明
  90. 90.
  91. 91. まー、CIサーバッス
  92. 92. とにかく出来そう
  93. 93. 雰囲気としてはこんな感じ
  94. 94. 課題
  95. 95. レポートをパーズして よしなにパラメータとして セットする部分
  96. 96. あと、文言が色々とおかしい のでマッチさせる必要有り
  97. 97. 上手く行けば Perl 以外の 言語にもエクスポート できるのではないか
  98. 98. という感じです
  99. 99. Ukigumo の域を超えて いるのでは
  100. 100.
  101. 101. という感じです

×