SlideShare a Scribd company logo
@moznion


なれる        CA
て rs
       し ne
     ま in
   め eg
 じ B
は rl      ! !
 e     です
P    加
 初 参
@moznion
大学生
アルバイトプログラマ
Cpan Authorになった

Perl 歴 1年半くらい
す求職中です求職中です求職中です求職中です求職中
です求職中です求職中です求職中です求職中です求職
中です求職中です求職中です求職中です求職中です求
職中です求職中です求職中です求職中です求職中です
求職中です求職中です求職中です求職中です求職中で
す求職中です求職中です求職中です求職中です求職中
です求職中です求職中です求職中です求職中です求職
中です求職中です求職中です求職中です求職中です求
職中です求職中です求職中です求職中です求職中です
求職中です求職中です求職中です求職中です求職中で
す求職中です求職中です求職中です求職中です求職中
CA?
NO!!
CA!!
You Can Be a...

Cpan Author
てじゅん
手順その1
E の
     S 取得
   U ト
 PA ン
   ウ
  カ 手順その1
ア
HENTAI

これ、マジ大変!!
全部英語!
ZEMBU EIGO !
しかも
1ヶ月くらい
余裕で放置される
だから早めに
申請しておきましょう
コツ
“どんなモジュールを
  書く予定か”
 という質問には
マジメ
に答えましょう
まかり間違って
“Acme”
と一言だけ
書こうものなら
1ヶ月放置コース
 (実体験に基づく)
大マジメに
“Integration of
obfuscation and
  optimization
    support”
 (Weblio 辞書の例文そのまま)
とか書いておくと
5分でアカウント
が発行されます
    (実体験に基づく)
手順その2
ら
     す く
    た 書
  ひ ル
 だ ー
た ュ
モジ 手順その2
まずは
モジュールのひな形
 を作成する
いま
Module::Build
 がアツい!!!
Module::Install
は諸般の事情から…
参考
tokuhirom’s blog.
   - Module::Install の功罪
TATSUHIKO MIYAGAWA’S BLOG
   - Do not ship modules with
Module::Install 1.04
WebService::Blog->new( user =>
‘hide_o_55’ )
   - Module::Build 期が来てる
ま、僕は
ExtUtils::ModuleMaker::
           PBP
   を使ったんですが!
あとは
テスト書く
モジュール書く
ドキュメント書いたり
 書かなかったり
テスト書く
モジュール書く
ドキュメント書いたり
 書かなかったり
ワックス塗る
ワックス拭き取る
テスト書く
モジュール書く
いい加減
ドキュメント書く!!
すると
モジュールが出来る
手順その3
に
    ス 務
   ー 雑
 リ る
リ わ
 つ
ま 手順その3
Makefile.PL
   を書く
ある程度は
 雛形作ってれば
書いてくれているので
あとは
依存モジュールとかを
あと、LICENSE を
 書いておかないと
Unknown になります
MIN_PERL_VERSION
なんかも指定すると吉
REPOSITORY
 が書いてあると
パッチがくるかも
MANIFEST.SKIP
   も書く
これを書かないと
必要ないファイルまで
アップロードされます
みんな大好き
正規↑表現↓
で書けます
Changes も書く
Changes 割とゆるい
“I’m really sorry.
     Ver 0.02 is
something wrong. So
      fixed it.”
とか書いても
怒られない!
手順その4
を る
        ル け
      ー つ
     ュ ぶ
 モ  ジ に
    N
   A 手順その4
C P
$ perl Makefile.PL
$ make && make manifest
$ make a && 
  make disttest
$ make dist
すると
tar ball 形式ファイル
          が
     出来るので
PAUSE から
アップロード
これで貴方も
 Cpan
Author!!!
結局
Acme Module
 じゃねーか!!
感想
•ドキュメント重要

• テスト超重要
• prove は神
モジュール作成は
すごく勉強になる
他人のモジュールを
積極的に読むように
  なるから
•
モジュール本体
• テストスクリプト
• ドキュメント
• 正規表現テクニック
              etc...
書こう!

Cpan Module!!
何を偉そうに!
Acmeしか無いくせ
   に!
そのとおり!
実世界の役に立って
こそのモジュールです
なので
Imager::GMT
鋭意製作中です
書こう!

Cpan Module!!

More Related Content

Similar to You Can Be a CPAN Auhor

もしアジャver2.0
もしアジャver2.0もしアジャver2.0
もしアジャver2.0
nekogeruge_987
 
卒業論文の下書きの書き方
卒業論文の下書きの書き方卒業論文の下書きの書き方
卒業論文の下書きの書き方Yosuke Uozumi
 
20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf
akiko_pusu
 
2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座
2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座 2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座
2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座 真乙 九龍
 
No more Legacy documents
No more Legacy documentsNo more Legacy documents
No more Legacy documents
bleis tift
 
プログラミングの基礎振り返りスライド1
プログラミングの基礎振り返りスライド1プログラミングの基礎振り返りスライド1
プログラミングの基礎振り返りスライド1
sunotora
 
実録『すぐわかるPerl』〜社内ツール悲喜こもごも〜
実録『すぐわかるPerl』〜社内ツール悲喜こもごも〜実録『すぐわかるPerl』〜社内ツール悲喜こもごも〜
実録『すぐわかるPerl』〜社内ツール悲喜こもごも〜
Chihiro Fukazawa
 
Pythonで始める競技プログラミング
Pythonで始める競技プログラミングPythonで始める競技プログラミング
Pythonで始める競技プログラミング
shunki fujiwara
 
“Septeni×Scala”勉強会#1資料_20150219_寺坂
“Septeni×Scala”勉強会#1資料_20150219_寺坂“Septeni×Scala”勉強会#1資料_20150219_寺坂
“Septeni×Scala”勉強会#1資料_20150219_寺坂
ikuyaterasaka
 
アクセシブルなブログ開発、 その後どうなったの
アクセシブルなブログ開発、 その後どうなったのアクセシブルなブログ開発、 その後どうなったの
アクセシブルなブログ開発、 その後どうなったの
真里奈 土岐
 
業務アプリにおける VB との付き合い方
業務アプリにおける VB との付き合い方業務アプリにおける VB との付き合い方
業務アプリにおける VB との付き合い方
s_earlgrey
 

Similar to You Can Be a CPAN Auhor (11)

もしアジャver2.0
もしアジャver2.0もしアジャver2.0
もしアジャver2.0
 
卒業論文の下書きの書き方
卒業論文の下書きの書き方卒業論文の下書きの書き方
卒業論文の下書きの書き方
 
20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf20121019-jenkins-akiko_pusu.pdf
20121019-jenkins-akiko_pusu.pdf
 
2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座
2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座 2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座
2012.11.03 #odstudy Excel方眼紙に魂を削られない為のoffice講座
 
No more Legacy documents
No more Legacy documentsNo more Legacy documents
No more Legacy documents
 
プログラミングの基礎振り返りスライド1
プログラミングの基礎振り返りスライド1プログラミングの基礎振り返りスライド1
プログラミングの基礎振り返りスライド1
 
実録『すぐわかるPerl』〜社内ツール悲喜こもごも〜
実録『すぐわかるPerl』〜社内ツール悲喜こもごも〜実録『すぐわかるPerl』〜社内ツール悲喜こもごも〜
実録『すぐわかるPerl』〜社内ツール悲喜こもごも〜
 
Pythonで始める競技プログラミング
Pythonで始める競技プログラミングPythonで始める競技プログラミング
Pythonで始める競技プログラミング
 
“Septeni×Scala”勉強会#1資料_20150219_寺坂
“Septeni×Scala”勉強会#1資料_20150219_寺坂“Septeni×Scala”勉強会#1資料_20150219_寺坂
“Septeni×Scala”勉強会#1資料_20150219_寺坂
 
アクセシブルなブログ開発、 その後どうなったの
アクセシブルなブログ開発、 その後どうなったのアクセシブルなブログ開発、 その後どうなったの
アクセシブルなブログ開発、 その後どうなったの
 
業務アプリにおける VB との付き合い方
業務アプリにおける VB との付き合い方業務アプリにおける VB との付き合い方
業務アプリにおける VB との付き合い方
 

More from moznion

Static analysis for perl
Static analysis for perlStatic analysis for perl
Static analysis for perl
moznion
 
Yet Another Perl Cooking
Yet Another Perl CookingYet Another Perl Cooking
Yet Another Perl Cooking
moznion
 
Jesque robust-worker-pool
Jesque robust-worker-poolJesque robust-worker-pool
Jesque robust-worker-pool
moznion
 
Hachioji persec
Hachioji persecHachioji persec
Hachioji persec
moznion
 
Inner world of Perl::Lint
Inner world of Perl::LintInner world of Perl::Lint
Inner world of Perl::Lint
moznion
 
命名の話
命名の話命名の話
命名の話
moznion
 
Hachiojipm 44
Hachiojipm 44Hachiojipm 44
Hachiojipm 44
moznion
 
Perl::Lint is over, for the present
Perl::Lint is over, for the presentPerl::Lint is over, for the present
Perl::Lint is over, for the present
moznion
 
Perl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code LinterPerl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code Linter
moznion
 
Hachioji pm 41
Hachioji pm 41Hachioji pm 41
Hachioji pm 41
moznion
 
Hachioji.pm 40
Hachioji.pm 40Hachioji.pm 40
Hachioji.pm 40
moznion
 
Hachioji.pm #39
Hachioji.pm #39Hachioji.pm #39
Hachioji.pm #39
moznion
 
Talking About Japanese Area Code of Phone
Talking About Japanese Area Code of PhoneTalking About Japanese Area Code of Phone
Talking About Japanese Area Code of Phone
moznion
 
Hachioji.pm 38
Hachioji.pm 38Hachioji.pm 38
Hachioji.pm 38moznion
 
Hokkaido.pm #11
Hokkaido.pm #11Hokkaido.pm #11
Hokkaido.pm #11
moznion
 
Hachiojipm 36
Hachiojipm 36Hachiojipm 36
Hachiojipm 36moznion
 
Plack::Request with Encoding
Plack::Request with EncodingPlack::Request with Encoding
Plack::Request with Encoding
moznion
 
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使うYAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
moznion
 
Net stalking with-lastfm
Net stalking with-lastfmNet stalking with-lastfm
Net stalking with-lastfmmoznion
 
Takao.mt 2013
Takao.mt 2013Takao.mt 2013
Takao.mt 2013
moznion
 

More from moznion (20)

Static analysis for perl
Static analysis for perlStatic analysis for perl
Static analysis for perl
 
Yet Another Perl Cooking
Yet Another Perl CookingYet Another Perl Cooking
Yet Another Perl Cooking
 
Jesque robust-worker-pool
Jesque robust-worker-poolJesque robust-worker-pool
Jesque robust-worker-pool
 
Hachioji persec
Hachioji persecHachioji persec
Hachioji persec
 
Inner world of Perl::Lint
Inner world of Perl::LintInner world of Perl::Lint
Inner world of Perl::Lint
 
命名の話
命名の話命名の話
命名の話
 
Hachiojipm 44
Hachiojipm 44Hachiojipm 44
Hachiojipm 44
 
Perl::Lint is over, for the present
Perl::Lint is over, for the presentPerl::Lint is over, for the present
Perl::Lint is over, for the present
 
Perl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code LinterPerl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code Linter
 
Hachioji pm 41
Hachioji pm 41Hachioji pm 41
Hachioji pm 41
 
Hachioji.pm 40
Hachioji.pm 40Hachioji.pm 40
Hachioji.pm 40
 
Hachioji.pm #39
Hachioji.pm #39Hachioji.pm #39
Hachioji.pm #39
 
Talking About Japanese Area Code of Phone
Talking About Japanese Area Code of PhoneTalking About Japanese Area Code of Phone
Talking About Japanese Area Code of Phone
 
Hachioji.pm 38
Hachioji.pm 38Hachioji.pm 38
Hachioji.pm 38
 
Hokkaido.pm #11
Hokkaido.pm #11Hokkaido.pm #11
Hokkaido.pm #11
 
Hachiojipm 36
Hachiojipm 36Hachiojipm 36
Hachiojipm 36
 
Plack::Request with Encoding
Plack::Request with EncodingPlack::Request with Encoding
Plack::Request with Encoding
 
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使うYAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
 
Net stalking with-lastfm
Net stalking with-lastfmNet stalking with-lastfm
Net stalking with-lastfm
 
Takao.mt 2013
Takao.mt 2013Takao.mt 2013
Takao.mt 2013
 

Recently uploaded

「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 

Recently uploaded (10)

「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 

You Can Be a CPAN Auhor

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n