yapc::asia 2012 cpanに恩返ししよう
DESCRIPTION
YAPC::Asia 2012 で発表したときのスライドです。TRANSCRIPT
![Page 1: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/1.jpg)
CPANに恩返ししよう*** Giving back to CPAN ***
YAPC::Asia 2012
Satoshi Azuma
![Page 2: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/2.jpg)
Who?● 東 聡志
● Satoshi Azuma● @ytnobody● Born in Hakodate,
Hokkaido, Japan● Perl: about 10 years● Linux: about 11 years● Love motorbike!● Love perl!
![Page 3: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/3.jpg)
まさか、皆が皆
Perl Hacker じゃないよね?
![Page 4: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/4.jpg)
専らCPANモジュールを使っている人
主な対象
![Page 5: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/5.jpg)
真新しい話はありません
![Page 6: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/6.jpg)
ある程度Perlを弄ってきた人なら
ほぼやっている事ばかり
![Page 7: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/7.jpg)
恩返しとは?
![Page 8: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/8.jpg)
おん‐がえし〔‐がへし〕【恩返し】 [名](スル)受けた恩に報いること。報恩。
「世話になった人に―する」
By goo国語辞書
恩返しとは
![Page 9: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/9.jpg)
なぜ恩返しするのか?
![Page 10: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/10.jpg)
まず考えてほしい
![Page 11: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/11.jpg)
CPANモジュールは
本当にいつも完璧か?
![Page 12: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/12.jpg)
モジュールのインストール時
CPANモジュールは本当にいつも完璧か
![Page 13: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/13.jpg)
テストに失敗する
CPANモジュールは本当にいつも完璧か
![Page 14: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/14.jpg)
CPANモジュールは本当にいつも完璧か
● CPAN Dependencies● CPANからリンク
● 環境を指定– 依存性一覧– インストール成功率
![Page 15: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/15.jpg)
CPANモジュールは本当にいつも完璧か
「あまり意味は無い(チョウ訳)」とはあるが
「テスト完全成功率(チョウ訳)」があって、しかもそれが100%ではない物が存在する。
![Page 16: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/16.jpg)
CPANモジュールは本当にいつも完璧か
CPANは「いつも完璧」などではないし
使う側がCPANにそれを求めるのもお門違い
![Page 17: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/17.jpg)
ドキュメント通りに動作しない
CPANモジュールは本当にいつも完璧か
![Page 18: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/18.jpg)
CPANモジュールは本当にいつも完璧か
SYNOPSISが無い
![Page 19: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/19.jpg)
などなど・・・
CPANモジュールは本当にいつも完璧か
![Page 20: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/20.jpg)
CPANモジュールはいつも完璧なんかじゃない
CPAN Authorも人の子。
過ちに気づかない事もあれば
怠惰に負けることもしばしば
![Page 21: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/21.jpg)
CPANモジュールはいつも完璧なんかじゃない
「これだからPerlは」
と切り捨てるのは簡単
だがそれはちっとも建設的ではない
![Page 22: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/22.jpg)
プログラマたる者、常に建設的であれ。
じゃあどうする
![Page 23: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/23.jpg)
ここはひとつ、こう考えてみてはどうか。
考え方を変えよう
![Page 24: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/24.jpg)
俺が困ることは
他の誰かが困るはず
考え方を変えよう
![Page 25: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/25.jpg)
普段はお世話になっているのだから
ここで恩を返しておくか
考え方を変えよう
![Page 26: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/26.jpg)
結果的に「恩返し」することは
他の誰か(と未来の自分)の手助けをするということ
どんな小さなことでもいい
![Page 27: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/27.jpg)
じゃあ、CPANに
“恩返し”
した方がいいよね?
考え方、変わった?
![Page 28: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/28.jpg)
恩返しのための準備
![Page 29: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/29.jpg)
E-Mail● 様々なサービスのアカウントをとるために必須
● CPAN Author やPAUSE Adminへの*最後*のコンタクト手段
![Page 30: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/30.jpg)
Twitter● メールと並び必須。● タイムリーなやりとりに便利。
● 不具合らしきものにぶち当たったときに#perl あたりでぼやいてると、時折ヒントや解決策を教えてもらえたりするかも。
![Page 31: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/31.jpg)
Blog● ユースケースや問題解決方法の共有に。
● 広く問題解決方法を募る用途に。
● Google先生が拾ってくれるので、検索キーワードを意図して記事を書くと効果が高い。
![Page 32: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/32.jpg)
Github● 開発版のソースが置いてあるケースが度々ある。
● Issue(チケット)の発行を行うためにも、ぜひ登録しよう。
![Page 33: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/33.jpg)
PAUSE● CPAN Author になるためのアカウントだと思えば大体合ってる。
– CPANにモジュールを登録したり、CPANRTでIssueを登録したりするのに使う。
– アカウントを取得するのに外人さんとメールのやり取りする必要があったりする。
![Page 34: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/34.jpg)
恩返しするための方法
![Page 35: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/35.jpg)
ブログに記録を残す
● ありのままを書く● 現象● 処置● 結果● 周辺状況
– アップデート状況– 環境
![Page 36: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/36.jpg)
テストの失敗を報告する
● CPANRTやGithubにIssueを書く。● タイトルを簡潔に● 現象を明確に● ターミナルログを貼り付ける
● 大抵は英語。– 中学英語でもまあそれなりに意味を汲んでもらえる。英語への恐れが最大の敵。
![Page 37: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/37.jpg)
モジュールの使い方を書く
● どこに書くか● ブログ
– 自分の権限で書くことができる。
– 後々POD形式にできるように考慮を。
● Github– モジュールにPOD形式のドキュメントを追加する
– README.podを置いておくと、webページとして表示される。
● POD形式になれておく
![Page 38: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/38.jpg)
改善要望を出す
● CPANRTまたはGithubでIssueを書く● 改善してほしい項目を明らかに
● できればPatchかpullreqのほうが望ましい– でもコード書けないのなら、要望だけでも書いておこう。
● コードが書けないからという理由で黙る必要はない
![Page 39: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/39.jpg)
デザインの手助けをする
● デザインの心得があるなら。● ロゴ● ページデザイン● イメージキャラ
● Hackerと呼ばれる人たちは、意外とデザイン面に疎かったりすることが結構ある
↓このロゴ作った
![Page 40: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/40.jpg)
盃を交わす
● 勉強会(小さくてもOK)● Hachioji.pm● Niigata.pm● Perl入学式● Hokkaido.pm Casual● Perl Beginners
– ↑主宰をやっております
● お気に入りのモジュールを宣伝してこよう● 誰かのお気に入りモジュールを使ってみよう
![Page 41: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/41.jpg)
恩返しの次は
“恩送り”
![Page 42: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/42.jpg)
Githubに
モジュールをアップする
![Page 43: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/43.jpg)
CPANに
モジュールを公開する
![Page 44: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/44.jpg)
これであなたも
CPANに恩返し・恩送りできるかも
![Page 45: YAPC::Asia 2012 CPANに恩返ししよう](https://reader033.vdocuments.site/reader033/viewer/2022052907/559386121a28ab8a058b46ea/html5/thumbnails/45.jpg)
ありがとうございました。