Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
20歳の僕が経験した Perlエンジニアへの道
Search
Hagihara Ryosuke
January 26, 2019
Technology
5.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20歳の僕が経験した Perlエンジニアへの道
YAPC::Tokyo 2019 ランチスポンサーセッション 株式会社ミクシィ 登壇資料
Hagihara Ryosuke
January 26, 2019
More Decks by Hagihara Ryosuke
See All by Hagihara Ryosuke
航空機事故に学ぶ サービスのインシデント考察・再発防止
raryosu
1
640
負債を減らした新人の話
raryosu
0
1.6k
minimo18新卒エンジニアの働き方
raryosu
0
2.1k
高等専門学校のウェブサイトの 現状と課題
raryosu
0
330
オブジェクト指向入門 第2版 第1章 ソフトウェアの品質 / Object-Oriented Software Construction Chap.1
raryosu
0
1k
Other Decks in Technology
See All in Technology
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
220
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
650
「とりあえず動く」の先へ。 AI時代のチーム開発と内部設計/2026-slsdays
slsops
0
150
SDDの運用にめげずに向き合った話
sansantech
PRO
1
130
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
230
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.4k
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
310
SREでアラート疲れを 解決しよう!
kairim0
1
210
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
150
Claude Code本は、どのように執筆チームで書かれたか
oikon48
0
260
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
130
Meet AgentCore Identity Consent Portal
hironobuiga
3
190
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
470
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Visualization
eitanlees
153
17k
sira's awesome portfolio website redesign presentation
elsirapls
0
440
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The agentic SEO stack - context over prompts
schlessera
0
970
It's Worth the Effort
3n
188
29k
Claude Code のすすめ
schroneko
67
230k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Transcript
20ࡀͷ͕ܦݧͨ͠ PerlΤϯδχΞͷಓ גࣜձࣾϛΫγΟ ഡݪ ྋհ @raryosu :"1$5PLZPϥϯνηογϣϯ
͜ͷϓϨθϯʹ͍ͭͯ 1FSMΛॻ͍ͨ͜ͱ͕ͳ͍৽ଔΤϯδχΞ ͕ 1FSMΛॻ͘8FCΤϯδχΞͱͯ͠ಇ͍ͯ ԿΛײͨ͡ͷ͔ΛޠΔ
ࣗݾհ ͗Β Γΐ͏͚͢ ഡݪ ྋհ ‣ ΒΓΐ͢!SBSZPTV ‣ ੜ·Εࡀ ‣
݄৽ଔೖࣾʢߴઐଔʣ ‣ NJOJNPࣄۀ෦ΤϯδχΞʢ։ൃάϧʔϓ༡ܸνʔϜʣ ‣ αʔόαΠυ։ൃɾ$9ϏδωεαΠυͷαϙʔτ
NJOJNP αϩϯελοϑ༧αʔϏε ඒ༰ࢣɾωΠϦετFUDʹ༧
NJOJNP αϩϯελοϑ༧αʔϏε ඒ༰ࢣɾωΠϦετFUDʹ༧ ສμϯϩʔυ ͋Γ͕ͱ͏ʂʂʂʂʂ
NJOJNP ʙͷए͍ঁੑʹ େਓؾͷαʔϏε
ʙͷए͍ঁੑʹ େਓؾͷαʔϏε NJOJNP
͜ͷϓϨθϯʹ͍ͭͯ 1FSMΛॻ͍ͨ͜ͱ͕ͳ͍৽ଔΤϯδχΞ ͕ 1FSMΛॻ͘8FCΤϯδχΞͱͯ͠ಇ͍ͯ ԿΛײͨ͡ͷ͔ΛޠΔ
ଐ
ଐͷํ๏ ৽ଔଐͷΩʔϫʔυ ଟ֯తͳࢹ͔ΒͰ͖ΔڥΞαΠϯ
ଐͷํ๏ ‣ ٕज़ྖҬࣥߦһ ҎԼ$50 ɾਓࣄͱͷPO ‣ ֤෦ॺͱ໘ஊ ‣ $50ʹΑΔਪન෦ॺ ‣
ຊਓر෦ॺ ‣ ෦ॺ͔Βͷࢦ໊ ‣ ֤໘ஊʹ͍ͭͯ໘ஊઌͱຊਓ͔ΒϑΟʔυόοΫ ‣ $50ͱਓࣄʹΑͬͯଐΛܾఆ
NJOJNPͷଐ໘ஊ Ͳ͏͍͏ʹڵຯ͋Δʁ Ϛωʔδϟ
NJOJNPͷଐ໘ஊ Ͳ͏͍͏ʹڵຯ͋Δʁ ΣϒϑϩϯτͰ͢ʂ Ͱɼ෯͘Γ͍ͨͰ͢ɽ ΤϯδχΞϦϯάͦΕҎ֎ʂ Ϛωʔδϟ
NJOJNPͷଐ໘ஊ Ͳ͏͍͏ʹڵຯ͋Δʁ ΣϒϑϩϯτͰ͢ʂ Ͱɼ෯͘Γ͍ͨͰ͢ɽ ΤϯδχΞϦϯάͦΕҎ֎ʂ ͏ͪͰগ͠1FSMॻ͚͘Ͳ େৎʁ Ϛωʔδϟ Ϛωʔδϟ
NJOJNPͷଐ໘ஊ Ͳ͏͍͏ʹڵຯ͋Δʁ ΣϒϑϩϯτͰ͢ʂ Ͱɼ෯͘Γ͍ͨͰ͢ɽ ΤϯδχΞϦϯάͦΕҎ֎ʂ ͏ͪͰগ͠1FSMॻ͚͘Ͳ େৎʁ 1FSMॻ͍ͨ͜ͱͳ͍͠Α͘ΒΜ͚Ͳ ͕ΜΓ·͢ʂʔ·Μ͍ͨͰ͢ʂ Ϛωʔδϟ
Ϛωʔδϟ
NJOJNPͷଐ໘ஊ 1FSMॻ͍ͨ͜ͱͳ͍͠Α͘ΒΜ͚Ͳ ͕ΜΓ·͢ʂʔ·Μ͍ͨͰ͢ʂ
NJOJNPͷଐ໘ஊ ‣ 1FSMͩΖ͏ͱͳΜͩΖ͏ͱษڧʹͳΓͦ͏ʜ ‣ αʔϏε෦ॺྑͦ͞͏ ‣ Γ͍ͨ͜ͱΛߟ͑Δͱ࠷Ϛον͢Δ ‣ 1FSMΛʮݏʯͬͯݴ͑Δཧ༝ͳ͍ͳʜ 1FSMॻ͍ͨ͜ͱͳ͍͠Α͘ΒΜ͚Ͳ
͕ΜΓ·͢ʂʔ·Μ͍ͨͰ͢ʂ
ແࣄʹʜ NJOJNPͷଐ͕ܾఆ
̼JOJNPͷϓϩμΫτ Application Server Mojolicious εϚϗΞϓϦ αϩϯ͚༧ཧγεςϜ Web൛αʔϏε API (JSON RPC)
NJOJNPͷϓϩμΫτ αϩϯ͚༧ཧγεςϜ εϚϗΞϓϦ iOS: Swift, Obj-C Android: Kotlin, Java API,
WebΞϓϦέʔγϣϯ Perl (Mojolicious) Perl (Mojolicious), React ܝࡌऀ͚ΦϯυϝσΟΞ WordPress
ΒΓΐ͢ͷकඋൣғʙϓϩμΫτʙ αϩϯ͚༧ཧγεςϜ εϚϗΞϓϦ iOS: Swift, Obj-C Android: Kotlin, Java API,
WebΞϓϦέʔγϣϯ Perl (Mojolicious) Perl (Mojolicious), React ܝࡌऀ͚ΦϯυϝσΟΞ WordPress
ΒΓΐ͢ͷकඋൣғʙϓϩμΫτʙ αϩϯ͚༧ཧγεςϜ εϚϗΞϓϦ iOS: Swift, Obj-C Android: Kotlin, Java API,
WebΞϓϦέʔγϣϯ Perl (Mojolicious) Perl (Mojolicious), React ܝࡌऀ͚ΦϯυϝσΟΞ WordPress Web൛αʔϏεΛ୲͢Δ ϝΠϯΤϯδχΞͱͯ͠ଐ
ΒΓΐ͢ͷकඋൣғʙͦͷଞʙ ΧελϚʔαϙʔτ $4 ༻ཧπʔϧ $4͚ΤϯδχΞϦϯάࢧԉʢՄࢹԽʣ #4͚ΤϯδχΞϦϯάࢧԉʢՄࢹԽʣ ʜFUD
͏πʔϧɾݴޠͳͲ ‣ 1FSM .PKPMJDJPVT ‣ )5.-$44 4$44 ‣
.Z42- ‣ 3FEBTIʢσʔλՄࢹԽʣ ‣ "84 &$ 4 3PVUF 3%4 4&4FUD FUD
ଐ࣌ͰͷΒΓΐ͢ͷΤϯδχΞϦϯάͷϨϕϧ ‣ 1FSMॻ͍ͨ͜ͱͳ͍ ‣ 1FSMΛॻ͖ͨ͘ͳ͍ͱ͍͏ؾ࣋ͪͳ͍ ‣ ߴઐଔ ‣ όΠτͰ3BJMTͰ࡞ΒΕͨγεςϜͷอकΛͯͨ͠ ‣
.7$ͬͯΔɽΞʔΩςΫνϟʹ͍ͭͯޠΕͳ͍
1FSMͷڭҭͱۀ
ຖேઌഐʹ4MBDLͰ
ڭ͑ͯΒͬͨ͜ͱͷҰ෦ ‣ 1FSMʹ͍ͭͯ ‣ ίϯςΩετ ‣ جຊతͳจ๏ ‣ ଞύοέʔδͷϝιουݺͼग़͠ͷํ ‣
ಛघͳߏจʢܕάϩϒͳͲʣ
ڭ͑ͯΒͬͨ͜ͱͷҰ෦ ‣ .PKPMJDJPVTNJOJNPͷίʔυʹ͍ͭͯ ‣ σΟϨΫτϦߏ ‣ %#ͷߏ ‣ NJOJNPNJYJͰ͍ͬͯΔศརϞδϡʔϧ ‣
3PVUJOH)FMQFSͷஔ͖ͱ͔
࣮Ͱ͍᪴ͨͱ͖ ઌഐͨͪʮਖ਼ղʯڭ͑ͯ͘Εͳ͍ ඞཁͱͳΔʮώϯτʯΛ͘ΕΔ
ͭ·Γʜ ҰਓͰࣗͰ͖ΔڥΛ࡞ͬͯ͘Εͨ
ࡀͰ1FSMΛ͔͍ͯ Ͳ͏ࢥͬͨʁ
ࡀͰ1FSMΛॻ͍ͯͲ͏ࢥͬͨʁ 1FSMΛॻ͘ͷָ͍͠ʂ ͦͯ͠ɼֶͼ͕ଟ͍ʂ
1FSMָ͍͠ 5IFSF`T.PSF5IBO0OF8BZ5P%P*U ॻ͖ํʹਓ͕ؒग़Δ ʮͲ͏ॻ͜͏ʁʯʮͲ͏ॻ͘ͷ͕εϚʔτʁʯΛߟ͑Δ ઌഐͨͪͱʮͲ͏͠Α͏ʯΛٞ͢Δ
ֶͼ͕ଟ͍ .PKPMJDJPVTൺֱతʮബ͍ʯ8"' ࣗͰॻ͘ɾಡΉɾֶͿ͜ͱ͕ଟ͍ʂ ΣϒαʔϏεͷαʔόαΠυΛֶͿͷʹஸ͍͍ʁ গͳ͘ͱࣗʮϥοΩʔʯͩͱࢥ͍ͬͯΔ
ͱ͍͑Α͘Θ͔Βͳ͍͜ͱଟ͔ͬͨ ‣ σϦϑΝϨϯεΛΕͯਏ͍ ‣ $#array = 20 ‣ ॳݟͩͱΑ͘Θ͔Βͳ͍ ‣
(sort { $a <=> $b } @hoge)[0] ‣ Α͘Θ͔Βͳ͍ ‣ List::Util::reduce{ $a<$b ? $a: $b }@hoge ‣ ্ͷͭ͜ΕͰऔΕΔ͠ແବ͕গͳ͍…
ײͨ͡ ‣ ΑΓྑ͍࣮ํ๏Λߟ͑ΒΕΔΑ͏ʹͳͬͨ ‣ ಡΈ͘͢ҙਤ͕ΘΓ͍͢ίʔυΛॻ͚ΔΑ͏ʹ ‣ େنαʔϏε͕Ͳ͏ಈ͍͍ͯΔ͔ཧղͨ͠ ‣ ΞʔΩςΫνϟͷڵຯ͕༙͍ͨ ‣
ଞͷݴޠΛֶͿҙཉʹͭͳ͕ͬͨ
͜Ε͔Β
࠷ۙ(PΛֶΜͰ͍·͢
8IZ(P ‣ 1FSMͱझ͕ҧָͬͯͦ͠͏͔ͩΒ ‣ ࠷ۙྲྀߦ͍ͬͯΔ͔Β ‣ NJOJNPͷαʔόαΠυΛ(PͰॻ͖͍ͯ͠Δ͔Β
8IZ(P ‣ 1FSMͱझ͕ҧָͬͯͦ͠͏͔ͩΒ ‣ ࠷ۙྲྀߦ͍ͬͯΔ͔Β ‣ NJOJNPͷαʔόαΠυΛ(PͰॻ͖͍ͯ͠Δ͔Β
·ͱΊ
·ͱΊ ‣ 1FSM͕ʮݏʯͱ͍͏ઌೖ؍͕ͳ͚Εࡀॻ͘ ‣ ࣗͰ͖Δڥ͑͋͞ΕֶͿ͜ͱ͕ଟ͍ݴޠ ‣ 8FCαʔϏεͷجૅΛ͔ͬ͠ΓֶͿ͜ͱ͕Ͱ͖͍ͯΔ ‣ 1FSMΛ͔͚ͯϥοΩʔ ‣
ଞͷݴޠΛֶͿҙཉʹͭͳ͕ͬͨ
c ʯʀ̻ 8FBSFIJSJOH IUUQTNJYJDPKQSFDSVJU
None