Submit Search
Upload
Analyze CPAN, Analyze Community
•
2 likes
•
1,547 views
C
charsbar
Follow
Fukuoka Perl Workshop #22
Read less
Read more
Report
Share
Report
Share
1 of 55
Download now
Download to read offline
Recommended
2013年のCPANモジュール作成事情
2013年のCPANモジュール作成事情
charsbar
JSON, JSON::PP, and more
JSON, JSON::PP, and more
charsbar
CPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したい
charsbar
2016年のPerl (Long version)
2016年のPerl (Long version)
charsbar
Json(::PP) is a-changing
Json(::PP) is a-changing
charsbar
2017年春のPerl
2017年春のPerl
charsbar
Common boolean class_for_perl5
Common boolean class_for_perl5
charsbar
2018年夏のPerl5
2018年夏のPerl5
charsbar
Recommended
2013年のCPANモジュール作成事情
2013年のCPANモジュール作成事情
charsbar
JSON, JSON::PP, and more
JSON, JSON::PP, and more
charsbar
CPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したい
charsbar
2016年のPerl (Long version)
2016年のPerl (Long version)
charsbar
Json(::PP) is a-changing
Json(::PP) is a-changing
charsbar
2017年春のPerl
2017年春のPerl
charsbar
Common boolean class_for_perl5
Common boolean class_for_perl5
charsbar
2018年夏のPerl5
2018年夏のPerl5
charsbar
萬國之津梁
萬國之津梁
charsbar
Better detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 code
charsbar
2017年夏のPerl
2017年夏のPerl
charsbar
perl language update
perl language update
charsbar
What you need to remember when you upload to CPAN
What you need to remember when you upload to CPAN
charsbar
On UnQLite
On UnQLite
charsbar
typemap in Perl/XS
typemap in Perl/XS
charsbar
Annual Report 2012
Annual Report 2012
charsbar
DBD::SQLite
DBD::SQLite
charsbar
CPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its tools
charsbar
CPANTS 2012
CPANTS 2012
charsbar
Revisiting ppm
Revisiting ppm
charsbar
Mojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみよう
charsbar
変数、リファレンス
変数、リファレンス
charsbar
關於perl的文件翻譯
關於perl的文件翻譯
charsbar
Practical Bug Reporting
Practical Bug Reporting
charsbar
Top Tens of 2008/2009
Top Tens of 2008/2009
charsbar
More Related Content
More from charsbar
萬國之津梁
萬國之津梁
charsbar
Better detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 code
charsbar
2017年夏のPerl
2017年夏のPerl
charsbar
perl language update
perl language update
charsbar
What you need to remember when you upload to CPAN
What you need to remember when you upload to CPAN
charsbar
On UnQLite
On UnQLite
charsbar
typemap in Perl/XS
typemap in Perl/XS
charsbar
Annual Report 2012
Annual Report 2012
charsbar
DBD::SQLite
DBD::SQLite
charsbar
CPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its tools
charsbar
CPANTS 2012
CPANTS 2012
charsbar
Revisiting ppm
Revisiting ppm
charsbar
Mojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみよう
charsbar
変数、リファレンス
変数、リファレンス
charsbar
關於perl的文件翻譯
關於perl的文件翻譯
charsbar
Practical Bug Reporting
Practical Bug Reporting
charsbar
Top Tens of 2008/2009
Top Tens of 2008/2009
charsbar
More from charsbar
(17)
萬國之津梁
萬國之津梁
Better detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 code
2017年夏のPerl
2017年夏のPerl
perl language update
perl language update
What you need to remember when you upload to CPAN
What you need to remember when you upload to CPAN
On UnQLite
On UnQLite
typemap in Perl/XS
typemap in Perl/XS
Annual Report 2012
Annual Report 2012
DBD::SQLite
DBD::SQLite
CPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its tools
CPANTS 2012
CPANTS 2012
Revisiting ppm
Revisiting ppm
Mojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみよう
変数、リファレンス
変数、リファレンス
關於perl的文件翻譯
關於perl的文件翻譯
Practical Bug Reporting
Practical Bug Reporting
Top Tens of 2008/2009
Top Tens of 2008/2009
Analyze CPAN, Analyze Community
1.
Analyze CPAN, Analyze Community
Kenichi Ishigaki (@charsbar) Fukuoka Perl Workshop #22 Oct 13, 2012
2.
5年間続けて きたLTの裏話
3.
発端
4.
機械的に抽出できるように Lingua::JA::Romaji::Valid Acme::CPANAuthors::Japanese
5.
5年間の軌跡
6.
YAPC::Asia 2008
1 LUSHE (2004-) 2 ISHIGAKI (2005-) 3 TAKERU (2007-) 4 TYPESTER (2005-) 5 ZIGOROU (2005-) 6 BOKUTIN (2007-) 7 HIO (2003-) 8 DMAKI (2003-) 9 NEKOKAK (2005-) 10 YAPPO (2005-)
7.
YAPC::Asia 2009
1 HIROSE (new) (2006-) 2 TOMITA (new) (2006-) 3 GJUJI (new) (2008-) 4 MIKI (new) (2007-) 5 LUSHE 6 ISHIGAKI 7 TYPESTER 8 TAKERU 9 MASAKI (new) (2006-) 10 BOKUTIN 10 DANJOU (new) (2005-)
8.
YAPC::Asia 2010
1 HIROSE 1 MORIYA (new) (2009-) 3 MIKI 4 SATOH (new) (2008-) 5 CHIBA (new) (2007-) 6 RINTARO (new) (2007-) 7 TOMITA 8 LUSHE 9 ISHIGAKI 10 TYPESTER
9.
YAPC::Asia 2011
1 XAICRON (new) (2009-) 2 BAYASHI (new) (2008-) 3 MORIYA 4 SATOH 5 TOMITA 6 CHIBA 7 TYPESTER 8 MIKI 9 LUSHE 10 KAZEBURO (new) (2005-)
10.
YAPC::Asia 2012
1 XAICRON 2 PAWAPAWA (new) (2011-) 3 BAYASHI 4 MORIYA 5 SATOH 6 MATTN (new) (2007-) 7 TOMITA 8 TYPESTER 9 CHIBA 10 YAMAMOTO (new) (2006-)
11.
10 YAMAMOTO
(new)
12.
毎年新しい方を 紹介できている
13.
コミュニティは 順調に成長… している?
14.
別の視点からも 確認してみる
15.
日本人のCPAN Authorは
増えている 2000: 17 2007: 193 2001: 25 2008: 222 2002: 30 2009: 249 2003: 44 2010: 274 2004: 58 2011: 294 2005: 101 2012: 311 2006: 152
16.
新しい地域pmも続々と
1999: Kyoto.pm 1999: Tokyo.pm 2000: Kansai.pm 2003: Shibuya.pm 2007: Fukuoka.pm 2008: Yokohama.pm 2009: Kushiro.pm 2010: Hokkaido.pm 2010: Nagoya.pm 2010: Kamakura.pm 2011: Sendai.pm 2011: Niigata.pm
17.
2009: Okayama.pm 2011: Hachioji.pm 2011:
Perl Beginners 2012: Perl 入学式 2012: Chiba.pm ????: Namba.pm ????: Nara.pm ????: Okinawa.pm ????: Tachikawa.pm ????: Kokusaitenjijoumae.pm
18.
一見順調
19.
もう少し細かく 見てみると…
20.
新規CPAN Authors数(日本) 60
51 50 43 41 40 30 29 27 25 20 20 17 14 14 11 10 8 6 5 0 ~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
21.
New CPAN Authors
(Worldwide) 1000 939 900 798 785 800 776 784 778 745 758 727 717 700 647 616 591 600 500 398 400 300 200 100 0 ~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
22.
日本人作者のリリース数 2500
2116 2041 2000 1841 1558 1500 1147 1020 1020 1000 569 500 295 291 245 173 41 47 0 ~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
23.
Num of Releases
(Worldwide) 25000 22033 21734 20987 20000 18464 16435 15000 14482 12716 12356 11272 10063 10000 7455 6961 5591 5000 3441 0 ~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
24.
アクティブな作者数 120
104 102 100 95 91 92 87 79 80 60 51 40 28 26 20 17 17 8 9 0 ~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
25.
Active Authors (Worldwide) 1800
1650 1667 1625 1600 1568 1501 1441 1400 1376 1298 1255 1201 1200 990 1000 800 755 625 590 600 400 200 0 ~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
26.
リリース数とCPAN Authorになった年の関係(国内版) 2500
78 2000 94 140 2012 (12/17) 64 2011 (14/20) 94 526 412 2010 (17/25) 122 2009 (19/27) 1500 2008 (25/29) 247 53 119 86 351 2007 (33/41) 2006 (35/51) 164 196 45 67 2005 (36/43) 106 201 2004 (8/14) 1000 54 163 843 2003 (12/14) 78 128 14 2002 (5/5) 674 74 339 639 782 2001 (8/8) 376 119 31 2000 (5/6) 80 500 ~2000 (8/11) 305 372 0 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
27.
アクティブな作者数とCPAN Authorになった年の関係(国内版) 120 100
19 16 2012 (12/17) 15 10 2011 (14/20) 12 2010 (17/25) 80 15 29 12 2009 (19/27) 22 10 9 2008 (25/29) 8 2007 (33/41) 15 11 5 32 60 2006 (35/51) 11 8 17 2005 (36/43) 16 10 8 2004 (8/14) 15 10 2003 (12/14) 13 7 40 2002 (5/5) 29 9 25 24 25 9 2001 (8/8) 23 2000 (5/6) 24 18 ~2000 (8/11) 20 16 0 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
28.
結論は評価の仕方次第
すでに十分成長しただけ? みんなが飛びつけるようなネタが枯渇? BabyFacebook? 言語成分の減少? そもそもCPAN Authorが増える必要は?
29.
このような分析が必要な理由
どこに注力すべきかのヒントになる イベントなどの見積もりがより正確に 外部への営業資料 求人・求職資料 モジュールの選定などのよすがにも
30.
Mooseがどのくらい 使われているかを
調べてみる
31.
CPANTSの
データベース を落としてくる http://cpants.charsbar.org/static/cpants_all.db.gz
32.
スキーマを調べる $ sqlite3 cpants_all.db sqlite>
select * from sqlite_master;
33.
データを見てみる sqlite> .mode line sqlite>
select * from prereq limit 1;
34.
カウントしてみる sqlite> select count(distinct(dist)) from prereq
where requires = 'Moose';
35.
ユーザ数を調べてみる sqlite> select count(distinct(d.author)) from
prereq as p, dist as d where p.requires = 'Moose' and p.dist = d.id;
36.
日本人のID一覧 $ perl -MAcme::CPANAuthors
-e 'print join ",", map {qq{"$_"}} Acme::CPANAuthors->new('Japanese')->id'
37.
日本人のユーザ数を 調べてみる sqlite>
select count(distinct(d.author)) from prereq as p, dist as d, author as a where p.requires = 'Moose' and p.dist = d.id and a.id = d.author and a.pauseid in (...);
38.
Distributions That Required
... 1000 918 900 854 800 703 700 614 600 Moose Mouse 500 Any::Moose Moo 400 Class::Accessor::Fast 283 294 300 260 236 188 200 164 154 111 116 103 100 103 87 100 67 65 74 54 52 58 18 24 4 0 2005 2006 2007 2008 2009 2010 2011 2012
39.
Authors Who Required
... 350 326 300 285 269 250 214 200 Moose Mouse 160 Any::Moose 147 Moo 150 127 129 Class::Accessor::Fast 121 96 100 100 68 62 63 53 52 4851 50 40 40 29 29 24 14 12 3 0 2005 2006 2007 2008 2009 2010 2011 2012
40.
依存ディストリビューション数(国内版) 90
83 80 70 65 60 50 50 Moose Mouse 42 39 38 Any::Moose 40 37 Class::Accessor::Fast 32 31 29 28 30 27 26 21 22 20 17 12 13 12 9 10 6 4 0 2005 2006 2007 2008 2009 2010 2011 2012
41.
依存作者数(国内版) 45
41 40 35 33 30 30 26 25 Moose Mouse 20 Any::Moose 20 Class::Accessor::Fast 17 15 15 15 14 13 12 10 10 10 9 9 9 8 8 7 5 5 3 3 0 2005 2006 2007 2008 2009 2010 2011 2012
42.
観測できること 海外ではすでに15%程度のモジュールが
Mooseを利用 海外ではアクティブユーザの2割がMoose を利用 Mooseの重さに耐えられなくなってきた ユーザはMooへ移行中 国内では完全に退潮、代替物への置き換 えもあまり進んでいない
43.
情報源
44.
CPAN http://cpanmetadb.org/ CPANDB
45.
BackPAN
46.
CPAN Testers http://devel.cpantesters.org/
47.
CPANTS http://cpants.perl.org/
48.
ORDB
ORDB::CPANUploads ORDB::CPANMeta ORDB::CPANRT ORDB::CPANTS
49.
metacpan API https://github.com/CPAN-API/cpan-api/wiki/Beta-API-docs
50.
Acme::CPANAuthors
51.
YAPC /
Act nntp.perl.org ATND
52.
実装例
http://stats.cpantesters.org/ http://deps.cpantesters.org/ http://matrix.cpantesters.org/ http://changes.cpanhq.org/ http://ali.as/top100/ http://acme.cpanauthors.org/ http://cpants.perl.org/
53.
注意すべきこと 個人情報の扱い 情報源の負荷
他言語との比較
54.
Questions?
55.
Thank you
Download now