Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Hack cpanm?
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shoichi Kaji
March 25, 2015
0
410
Hack cpanm?
Gotanda.pm Perl Technology Conference #4 2015.03.25
Shoichi Kaji
March 25, 2015
Tweet
Share
More Decks by Shoichi Kaji
See All by Shoichi Kaji
Parallel::Pipesの紹介
skaji
2
1k
宿泊予約サイトにおける検索と料金計算の両立
skaji
2
4.1k
昔のGo, 今のGo ~比較, ソート編~
skaji
0
270
Perl Quiz
skaji
0
160
cpm at PerlCon 2019
skaji
0
140
Perl5 Package Manager
skaji
0
770
Internal of cpm
skaji
0
640
How to execute external programs in Perl
skaji
3
720
Writing Perl with w0rp/ale
skaji
0
2.4k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
79
The Curse of the Amulet
leimatthew05
1
8.3k
Unsuck your backbone
ammeep
671
58k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
180
The SEO identity crisis: Don't let AI make you average
varn
0
64
A designer walks into a library…
pauljervisheath
210
24k
Writing Fast Ruby
sferik
630
62k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Transcript
Hack cpanm? Shoichi Kaji
About Me • Shoichi Kaji • id: skaji / shoichikaji
/ ks0608 • cpan modules: • App::RemoteCommand • App::FatPacker::Simple
࣍ • cpanm ͱ • cpanm ͷ͕͜͜͜͏ͳΔͱ͍͍ • YAPC::Asia 2013
miyagawa • What can i do? • ༨ஊ : ੲɺplugin system ͱ͍͏ͷ͕͋ͬͨΒ͍͠ • ·ͱΊ
cpanm ͱ • miyagawa ͞Μ͕࡞͍ͬͯΔ cpan client • Very Simple,
ALL IN ONE! • ͨͩ cpanm Plack ͱΕ Plack ͕͑Δɻ
cpanm ͷ͕͜͜͜͏ͳΔͱ͍ ͍ • cpanm ͷ ~ ͷػೳΛଞͷίʔυͰ͍͍ͨ • ྫɿmetadata
ݕࡧ • ྫɿmodule search • cpanm ͷ ~ ͷػೳΛ؆୯ʹม͑ΒΕΔΑ͏ʹͯ͠ཉ͍͠ • ྫɿmodule search • ྫɿґଘؔղܾͷͱ͜ΖͰ ~ ͢Δ
ྫɿmetadata ݕࡧ • cpanm Λ parent ʹͯ͠ίʔυΛॻ͍ͨΒ… • -> https://metacpan.org/pod/Distribution::Metadata
YAPC::Asia 2013 miyagawa • https://speakerdeck.com/miyagawa/whats- new-in-carton-and-cpanm-at-yapc-asia-2013 • cpanm 1.8, cpanfile
1.1, carton 1.1 ͚ͯ • miyagawa ͞ΜࣗਐԽͤ͞ΔͱݴͬͯΔʂ • ͚ͩͲ͍·͍ͪਐΜͰͳ͍ɻ
What can i do?
None
• cpanm module ͷ search ํ๏ͱͯ͠ɺݱ ঢ়Ͱ͍Ζ͍ΖͳͷʹରԠ͍ͯ͠Δɻ͕ɺ ͜ΕΛͬͱ൚༻తʹ͢ΔͨΊʹ CPAN::Common::Index
ʹ͢ΔͷͲ͏͔ɻ
Let’s use CPAN::Common::Index!
just a trial • https://github.com/shoichikaji/cpanminus/ tree/use-common-index • Extract search related
code from cpanm • CPAN::Common::Index::MetaCPAN • add experimental git distribution support
ੲɺplugin γεςϜͱ͍͏ͷ͕ ͋ͬͨΒ͍͠ • https://github.com/miyagawa/cpanminus/commit/ 62ec1f75 • perl Β͍͔͍͍ͬ͜͠ίʔυʂ •
͕ɺ෦ʹΞΫηε͞ΕΔͷͰ͍Ζ͍Ζେมͦ͏ • Changes ʹΑΔͱ2010/02~2010/04 ͷ 2ϲ݄ͷ໋…
·ͱΊ • cpanm ͍͢͝ɻ • ͰɺͻͱΓͰશ෦Γ͗͢ײ͕͋Δ • ػೳΛϥΠϒϥϦʹͯ͠ൈ͖ग़ͤΔͱ͍Ζ͍Ζ͍͍ • plugin
γεςϜʹظ • ·ͩ·ͩ hack Ͱ͖Δͱ͜Ζ͕ͨ͘͞Μ͋Δʂ