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
7.5k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Perlハッカーは息をするようにCPANモジュールを書く
YAPC::Asia 2012
typester
September 29, 2012
More Decks by typester
See All by typester
サーバーサイドエンジニアのためのiOSアプリ開発入門
typester
0
4.8k
Emacs実践入門 Perl編
typester
0
2.7k
XSにまつわる話
typester
4
2.2k
UV - libuv binding for Perl
typester
1
6.2k
Hacking Mac OS X Cocoa API from Perl
typester
2
430
Other Decks in Programming
See All in Programming
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
13k
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
180
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
210
Lessons from Spec-Driven Development
simas
PRO
0
220
AI 輔助遺留系統現代化的經驗分享
jame2408
1
910
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
130
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
670
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
150
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.7k
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
890
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.4k
Featured
See All Featured
Fireside Chat
paigeccino
42
4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
160
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
870
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
170
Marketing to machines
jonoalderson
1
5.5k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
370
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Site-Speed That Sticks
csswizardry
13
1.2k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Designing for Performance
lara
611
70k
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