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
400
Other Decks in Programming
See All in Programming
Jakarta EE meets AI
ivargrimstad
0
530
技術を改善し続ける
gumioji
0
150
Visual StudioのGitHub Copilotでいろいろやってみる
tomokusaba
1
210
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
1.1k
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
930
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
1
240
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
160
2025.2.14_Developers Summit 2025_登壇資料
0101unite
0
220
Ça bouge du côté des animations CSS !
goetter
2
160
バッチを作らなきゃとなったときに考えること
irof
2
540
Datadog Workflow Automation で圧倒的価値提供
showwin
1
280
Featured
See All Featured
Visualization
eitanlees
146
15k
Speed Design
sergeychernyshev
27
810
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Designing for Performance
lara
605
68k
The Language of Interfaces
destraynor
156
24k
Being A Developer After 40
akosma
89
590k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Fireside Chat
paigeccino
35
3.2k
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