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
Perlハッカーは息をするようにCPANモジュールを書く
Search
typester
September 29, 2012
Programming
5
7.3k
Perlハッカーは息をするようにCPANモジュールを書く
YAPC::Asia 2012
typester
September 29, 2012
Tweet
Share
More Decks by typester
See All by typester
サーバーサイドエンジニアのためのiOSアプリ開発入門
typester
0
4.7k
Emacs実践入門 Perl編
typester
0
2.7k
XSにまつわる話
typester
4
2.1k
UV - libuv binding for Perl
typester
1
6.1k
Hacking Mac OS X Cocoa API from Perl
typester
2
410
Other Decks in Programming
See All in Programming
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
99
37k
型で語るカタ
irof
0
700
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
12k
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
140
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
200
レトロゲームから学ぶ通信技術の歴史
kimkim0106
0
110
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
1
7.3k
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
6
800
20250708_JAWS_opscdk
takuyay0ne
2
130
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
180
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
240
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
3
410
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
It's Worth the Effort
3n
185
28k
Optimizing for Happiness
mojombo
379
70k
Building Applications with DynamoDB
mza
95
6.5k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Navigating Team Friction
lara
187
15k
How to Ace a Technical Interview
jacobian
278
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Transcript
1FSMϋοΧʔଉΛ͢ΔΑ͏ʹ $1"/ϞδϡʔϧΛॻ͘ !UZQFTUFS ,":"$*OD
ࠓͿΓʹࣄͰ1FSMΛΓ Γ͔͓ͭͬͯΓɺ
ຊʹଉΛ͢ΔΑ͏ʹ1FSMϞδϡʔϧΛ ॻ͍͍ͯͨͳʔɺͱ͍͏͜ͱͰɺ
·ͣɺࠓॻ͍ͨϞδϡʔϧΛ հ͠·͢
%BUB"QQMF1SJDF5JFS
%BUB"QQMF1SJDF5JFS w"QQ4UPSFͷQSJDFUJFS UJFS͕ຊͩͱˇɺͱ͍͏ͷΛม͢ ΔϞδϡʔϧ
%BUB"QQMF1SJDF5JFS w"QQ4UPSFͷQSJDFUJFS UJFS͕ຊͩͱˇɺͱ͍͏ͷΛม͢ ΔϞδϡʔϧ wಈػ wඞཁʹഭΒΕͯ wIUUQTQBCFSJTINF
%BUB.FTTBHF1BDL4USFBN
%BUB.FTTBHF1BDL4USFBN w.FTTBHF1BDLͷετϦʔϛϯάύʔαʔ
%BUB.FTTBHF1BDL4USFBN w.FTTBHF1BDLͷετϦʔϛϯάύʔαʔ wಈػ w%BUB.FTTBHF1BDLͷιʔείʔυ͕ ͗ͨ͢͠ w͙͢ʹཉ͔ͬͨ͠
%BUB9-491BSTFS
%BUB9-491BSTFS wߴͳYMTYϑΝΠϧύʔαʔ
%BUB9-491BSTFS wߴͳYMTYϑΝΠϧύʔαʔ wಈػ w4QSFBETIFFU9-49͕ϝϞϦΛ৯͍ա ͗ͯཁ݅ΛΫϦΞͰ͖ͳ͔ͬͨ w1ZUIPOʹྑ͍࣮͕͋ͬͨͷͰͦΕΛҠ ২
4VC3BUF
4VC3BUF w͕͔֬ΒΉॲཧΛྑ͍ײ͡ʹ͍ͨ͠ͱ͖ʹ ͏Ϟδϡʔϧ
4VC3BUF w͕͔֬ΒΉॲཧΛྑ͍ײ͡ʹ͍ͨ͠ͱ͖ʹ ͏Ϟδϡʔϧ wಈػ w͜͏͍͏ͷ͕ཉ͔ͬͨ͠
4VC&YDFQUJPO
4VC&YDFQUJPO wྫ֎ॲཧΛมΘͬͨײ͡Ͱॻ͚ΔϞδϡʔϧ
4VC&YDFQUJPO wྫ֎ॲཧΛมΘͬͨײ͡Ͱॻ͚ΔϞδϡʔϧ wಈػ w͜͏͍͏ͷ͕ཉ͔ͬͨ͠ɺ͍ͬͯ͏Θ͚Ͱ ͳͯ͘ͳΜͱͳ͘ࢥ͍͍͔ͭͨΒ
5FTU3FEJT4FSWFS
5FTU3FEJT4FSWFS w5FTUNZTRMEͷSFEJTόʔδϣϯ
5FTU3FEJT4FSWFS w5FTUNZTRMEͷSFEJTόʔδϣϯ wಈػ wඞཁʹഭΒΕͯ
+40/5ZQFT
+40/5ZQFT w+40/Λ࡞Δͱ͖ʹԽͨ͠Γ͢Δͱ͖ʹ OVNCFS Έ͍ͨͳṖͷϋοΫ͢Δͷ ͍ͩͳʔ͍ͬͯ͏ͷΛͳΜͱ͔͢ΔͨΊ ͚ͩͷϞδϡʔϧ
$PDPB#BUUFSZ*OGP
$PDPB#BUUFSZ*OGP w.BDͰόοςϦʔใΛऔಘͨ͠Γɺόος ϦʔؔͷΠϕϯτΛίʔϧόοΫͰऔಘͰ ͖ΔϞδϡʔϧ
$PDPB#BUUFSZ*OGP w.BDͰόοςϦʔใΛऔಘͨ͠Γɺόος ϦʔؔͷΠϕϯτΛίʔϧόοΫͰऔಘͰ ͖ΔϞδϡʔϧ wಈػ wόοςϦʔܥϥΠϑϋοΫʹඞཁͩͬͨ
w$PDPB$PSF#MVFUPPUI
w$PDPB$PSF#MVFUPPUI w$PDPB"QQMF4DSJQU
w$PDPB$PSF#MVFUPPUI w$PDPB"QQMF4DSJQU wಈػ w:"1$"TJB
Ҏ্ݸ
όʔδϣϯΞοϓطଘϞδϡʔϧͷ ϝϯςφϯε͋ΔͷͰTIJQJUճ ͑Εͳ͍
ଉΛٵ͏Α͏ʹϞδϡʔϧΛॻ͖ɺ
ଉΛ͘Α͏ʹTIJQJU͢Δ
ͦΕ1FSMϋοΧʔʹࣗવͳ͜ͱ
$1"/ʹΞοϓ͢Δͱ ͍ΖΜͳϝϦοτ͕͋Δ
Πϯετʔϧ͕؆୯ DQBON.Z.PEVMF
DQBOUFTUFST
QBUDIFT DPOUSJCVUJPOTGSPN PUIFSQFPQMF
࠶ར༻ͦ͠͏ͳͷશ෦$1"/ʹ ͋͛ͪΌ͏ wDQBONͰ؆୯ʹೖΔ͔Βɺࣗࣗଞͷ ͱ͜ΖͰ͏ͷָ͕ʹ w$1"/ίϛϡχςΟʔʹΑͬͯΫΦϦςΟ͕ ্͕Δ
ͰͳΜ͔มͳͷΞοϓ͢Δͱ UPLV˓JSPNͱ͔ʹ%*4ΒΕΔ͠ʜ
/0ͦΜͳ͜ͱͳ͍ʂ
5IFSFJTNPSFUIBOPOFXBZ UPEPJU
ͨͩ͠ʂ
υΩϡϝϯτΛॻ͜͏
ͦͷϞδϡʔϧΛ࡞͍͍ͬͨΛ υΩϡϝϯτʹॻ͜͏ʂ
υΩϡϝϯτͬͯͷϞδϡʔϧͷ ͍ํΛॻ͚ͩ͘ͷ͡Όͳ͍
ͦͷϞδϡʔϧʹ͍ͨ͢Δ͍Λશ෦ Ϳ͚ͭΔͱ͜ΖͳΜͩʂ
˞%*4ΒΕϙΠϯτΛ͋Β͔͡Ί͓͑ͯ͘͜ͱϞώΧϯରࡦͱͯ͠ඇৗʹ༗ޮͰ͢
υΩϡϝϯτ࡞ͷͭ͜ wQPEܗࣜ׳Εͳ͍ͱࢥ͍·͚͢Ͳɺ͜Ε ͚֮ͩ͑Δ͔͠ͳ͍ w׳Εͳ͍͏ͪਓͷΛਅࣅͨ͠Βྑ͍ wॻ͖·͍ͬͯͨ͘Βͦͷ͏ͪͳʹݟͳ͍Ͱ ී௨ʹ͔͚ΔΑ͏ʹͳΓ·͢
υΩϡϝϯτ࡞ͷͭ͜ wॻ͖͘༰
υΩϡϝϯτ࡞ͷͭ͜ wॻ͖͘༰ w4:/014*4ͬ͘͞Γ͍ͨ͠ํͷίʔυ
υΩϡϝϯτ࡞ͷͭ͜ wॻ͖͘༰ w4:/014*4ͬ͘͞Γ͍ͨ͠ํͷίʔυ w%&4$3*15*0/͍͍
υΩϡϝϯτ࡞ͷͭ͜ wॻ͖͘༰ w4:/014*4ͬ͘͞Γ͍ͨ͠ํͷίʔυ w%&4$3*15*0/͍͍ w.&5)0%4'6/$5*0/4 ֤ϝιουɺؔΛઆ໌
$1"/Ϟδϡʔϧ࡞ͷϙΠϯτ
$1"/Ϟδϡʔϧ࡞ͷϙΠϯτ wΧδϡΞϧʹ࡞ͬͯྑ͍͚ͲɺυΩϡϝϯτ ͔ͬ͠Γॻ͜͏
$1"/Ϟδϡʔϧ࡞ͷϙΠϯτ wΧδϡΞϧʹ࡞ͬͯྑ͍͚ͲɺυΩϡϝϯτ ͔ͬ͠Γॻ͜͏ w্͛ͨҎ্ϝϯςφϯεΛܧଓ͠·͠ΐ͏
$1"/Ϟδϡʔϧ࡞ͷϙΠϯτ wΧδϡΞϧʹ࡞ͬͯྑ͍͚ͲɺυΩϡϝϯτ ͔ͬ͠Γॻ͜͏ w্͛ͨҎ্ϝϯςφϯεΛܧଓ͠·͠ΐ͏ w%*4༑ୡͰ͢ʂ
HJUIVCʹͬͯΔϞδϡʔϧ ͋ͬͨΓ͠·ͤΜ͔ʁ
ා͘ͳ͍͔ΒΞοϓͯ͠ΈΑ͏ʂ
5IBOLZPV