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
AIプログラマーDevinは PHPerの夢を見るか?
Search
Shinya Saita
June 28, 2025
Programming
1
520
AIプログラマーDevinは PHPerの夢を見るか?
PHPカンファレンス2025の登壇資料です。
Shinya Saita
June 28, 2025
Tweet
Share
More Decks by Shinya Saita
See All by Shinya Saita
OSS開発者からバックオフィス系Saasに転職して感じたPHPの価値の違い
shinyasaita
0
130
Other Decks in Programming
See All in Programming
関数の挙動書き換える
takatofukui
4
750
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
470
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
480
Duke on CRaC with Jakarta EE
ivargrimstad
0
240
GeistFabrik and AI-augmented software development
adewale
PRO
0
180
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
600
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
1.8k
AWS CDKの推しポイントN選
akihisaikeda
1
210
無秩序からの脱却 / Emergence from chaos
nrslib
1
9.2k
All(?) About Point Sets
hole
0
210
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
230
ゼロダウンタイムでミドルウェアの バージョンアップを実現した手法と課題
wind111
0
220
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Speed Design
sergeychernyshev
33
1.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Agile that works and the tools we love
rasmusluckow
331
21k
Done Done
chrislema
186
16k
Designing for humans not robots
tammielis
254
26k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Transcript
มଶΤϯδχΞɹ੪ాਅ "*ϓϩάϥϚʔ%FWJO 1)1FSͷເΛݟΔ͔ʁ 1)1$POGFSFODF QIQDPOUSBDL
λΠτϧখઆͷύϩσΟ
λΠτϧখઆͷύϩσΟ w ۚՔ͗ͷओਓެ͕ΞϯυϩΠυΛङΔετʔϦʔ w ਓͱΞϯυϩΠυͷ۠ผ͕͖ͭʹ͍͘ੈͷத w ࡞தͰײͷมԽΛଅ࣭͢Λ͢Δ͜ͱͰ ͦΕʹର͢ΔԠͰਓ͔ؒ൱͔Λஅ͍ͯͨ͠ w ਓͱΞϯυϩΠυͷҧ͍ͬͯԿͳΜͩΖ͏ʁ
ͱࢥ͏ಡྃײΛಘΔ4'খઆ
࠷ۙͷ"*ͷߴੑೳԽʹ ࢥ͏ͷ
ਓͱ"*ͷҧ͍ͬͯ ԿͳΜͰ͠ΐ͏ʁ 2VBOUJD%SFBN2VBOUJD%SFBNBOEUIF2VBOUJD%SFBNMPHPBSFUSBEFNBSLTPG2VBOUJD%SFBN
ਓͱ"*ͷҧ͍ͬͯ ԿͳΜͰ͠ΐ͏ʁ ΤϞ͞ͱ͔ʁ 2VBOUJD%SFBN2VBOUJD%SFBNBOEUIF2VBOUJD%SFBNMPHPBSFUSBEFNBSLTPG2VBOUJD%SFBN
͓લ୭ͶΜʁ
ࣗݾհ ໊લ ग़ ৬ۀ झຯ ಛٕ ੪ాਅ ژ όοΫΤϯυΤϯδχΞ 1)1+BWBTDSJQUগ͠(0
τϥϯϓूΊଞଟ ϚδοΫ ͍ͨ͞ɹ͠Μ
2JJUBهࣄॻ͍ͨΓ ͬͱόζͬͨهࣄˠ
ύϫϓϩ෩ʹΤϯδχΞεΩϧදݱͰ͖ΔπʔϧΛ࡞ͬͨΓ
ϙέϞϯΛ λʔϛφϧʹ දࣔ͢Δ γΣϧΛॻ͍ͨΓ IUUQTHJUIVCDPNTIJOZBQPLFNPOUFSNJOBMBSU .Z࠷ελʔϦϙδτϦˠ
τϥϯϓूΊͨΓͯ͠·͢ τϥϯϓͷղઆαΠτΛ ӡӦͯͨ͠Γ͠·͢
ͯ͞ɾɾɾ
Έͳ͞Μ "*ͬͯ·͔͢ʁ
"*ΤʔδΣϯτݩ w 0QFO"*Λච಄ʹੈք"*ઓࠃ࣌ʹಥೖ w ͢ͰʹԿඦͱ͍͏"*αʔϏε͕ੈͷதͰల։ w िؒܦͯใ͕ݹ͍ͱ͍͏ੈͷத
։ൃʹ͕͕Δ w $IBU(15ʹཔΊίʔυΛॻ͍ͯ͘ΕΔ w (JUIVC$PQJMPU͕ίʔυΛੜͯ͘͠ΕΔ w ʮ"*Λͬͯͳ͍ʯ͜ͱ͕ σΟεΞυόϯςʔδͱͳΔੈͷத
ຊͷςʔϚ w ੜ"*ͷ%FWJOʹ͍ͭͯৄ͘͠ͳΔ w 1)1FSͱͯ͠ͲΕ΄Ͳ༗༻ͳͷ͔Λհ͢Δ
ҙ w ຊϓϨθϯ%FWJOʹϑΥʔΧεΛ͍ͯͯ·͢ w ଞͷੜ"*ʹؔͯ͠ಛʹ৮Εͳ͍ͷͰྃ͝ঝ͍ͩ͘͞ w ࢲ%FWJOҎ֎ͷ"*͋·Γৄ͘͠ͳ͍Ͱ͢ w ͱ͍͍ͭͭ࠷ۙ$VSTPS"*͔Γ৮ͬͯ·͢
%FWJOͱʁ
%FWJOʹ͍ͭͯ w $PHOJUJPO͕ࣾੈքॳͷશࣗܕ"*ΤϯδχΞͱͯ͠ൃදͨ͠ w (JU)VC$PQJMPUͷΑ͏ͳίʔυิαδΣετͰͳ͍ w ༩͑ΒΕͨใΛݩʹࣗతʹ։ൃௐࠪΛߦ͑Δͷ͕ಛ w ͍ΘΏΔΤʔδΣϯτܕͷ"* w
(JUIVCͷใࢀর13ͷ࡞͕Մೳ w ׂͱߴ͍ʢϲ݄ʣ ˠैྔ՝ۚͷϓϥϯొ͍͘͢͠ͳΔ
؆୯ʹݴ͏ͱɾɾɾ w νϟοτͷ͜͏ʹػͯ͘͠ΕΔΤϯδχΞʢ"*ʣ͕͍Δ w ࣮ࡍ4MBDLͰґཔ͕ग़ͤΔ w ʮ͜Ε͍ͬͯͩ͘͞ʯͱࢦࣔΛඈ͢ͱ࡞ۀΛͯ͘͠ΕΔ w ʮ͜ͷόάΛͯ͠ʯ w
ʮ͜͜ͷϢχοτςετ࡞ͬͯʯ w ʮ͜ͷΤϥʔͷݪҼௐࠪͯ͠ʯ
؆୯ʹݴ͏ͱɾɾɾ w νϟοτͷ͜͏ʹػͯ͘͠ΕΔΤϯδχΞʢ"*ʣ͕͍Δ w ࣮ࡍ4MBDLͰґཔ͕ग़ͤΔ w ʮ͜Ε͍ͬͯͩ͘͞ʯͱࢦࣔΛඈ͢ͱ࡞ۀΛͯ͘͠ΕΔ w ʮ͜ͷόάΛͯ͠ʯ w
ʮ͜͜ͷϢχοτςετ࡞ͬͯʯ w ʮ͜ͷΤϥʔͷݪҼௐࠪͯ͠ʯ ศརʂ
ฐࣾόοΫΦϑΟεܥ4BBTܥاۀ w ͝ͱʹ༻ݴޠҟͳΔ͕ɺ1)1ͷͷଟ͋Δ w ࢲࣗ1)1ͷϓϩμΫτʹؔΘ͍ͬͯΔ w Ͳ͜ͱ͍Θͳ͍͕ɺ̋౻ݡҰ͞Μͱԣ̋Նࢠ͞Μ͕$.ͬͯΔͱ͜ w 1)1ॻ͖ͳ͕Β "*׆༻ͷࢼߦࡨޡ͍ͯ͠Δ
ࢲʑ
%FWJOͷՄೳੑΛ ୳͍ͯ͠Δ
ՄೳੑΛ୳͍ͯ͠Δ w Կ͕ಘҙͳͷ͔ w ͲΜͳ͜ͱΛཔΉͱޮՌ͕ߴ͍ͷ͔ w ࢼߦࡨޡͷதͰݟ͖͑ͯͨͷΛ հ͍͖ͯ͠·͢
%FWJOͷେ͖ͳಛ
φϨοδΛஷΊΔ͜ͱ͕ग़དྷΔ
φϨοδΛஷΊΔͱʁ w લఏ݅ΛઃఆͰ͖Δ w ʮ͜ΕΛ͢Δͱ͖ඞͣ͜Εʹै͍ͬͯͩ͘͞ʯ w FY ιʔείʔυΛੜ͢Δͱ͖ίʔσΟϯάنʹै͍ͬͯͩ͘͞ w ଞʹࣄલʹΠϯϓοτ͓͍ͯͯ͠΄͍͜͠ͱஷΊ͓͚ͯΔ
φϨοδΛͬͯ ྑ͔ͬͨҰྫ
ϦʔμϒϧίʔυΛಡΜͰϦϑΝΫλϦϯάͯ͠ w ΦϥΠϦʔͷ໊ஶͰ͋ΓΤϯδχΞͷόΠϒϧ w ͦΕΛ%FWJOʹ*OQVU͢Δ w ͦΕΛݩʹϦϑΝΫλϦϯάΛͯ͠Ͷ ͱ͓ئ͍͢Δ w өͨ͠13͕࡞͞Εͨ
ͦͷ̍ มߋΛநग़ͯ͠ ֓ཁʹ·ͱΊͯ͘Ε͍ͯΔ
ͦͷ̎ηϧϑϨϏϡʔͯ͠ w ͓ͦΒ͘ਓ͕ͬͨ߹͋·ΓΒͳ͍ಈ͖ w ผਓ֨Ͱݾͷ13ʹରͯ͠ΞυόΠεΛೖΕͯͱґཔ w ϚδͰผਓ͔֨ͷΑ͏ʹࢦఠ͕ඈΜͰ͖ͨ w ˠਓ͕ͬͯͨΒʮࣗͰΓͳΕʯͱͳΔͭ
ʮίʔυͷҙਤ͕ΑΓ໌֬ʹͳΔΑʯͱ ͕ࣗॻ͍ͨίʔυʹποίϛΛ ೖΕ͍ͯΔͷ໘ന͍
ͦͷࣗͷվળΛઆ໌ͯ͠ w ͋ͳͨͷվमʰϦʔμϒϧίʔυʱͷ Ͳͷ෦ʹ֘͢ΔΜͰ͔͢ʁ ͱ͍͏ͷΛͪΌΜͱઆ໌͍ͯͩ͘͠͞ͱґཔ w ʮ͜͏͍͏߲ͷ෦Λөͯ͠·͢ɻ ɹͪͳΈʹԿϖʔδͷ͜ͷ෦Ͱ͢ʯ ͱ͕͑ؼ͖ͬͯͨ
None
ධՁ͢ΔզʑຊʹͦΕ͕ ϦϑΝΫλϦϯάͱͯ͠ҙຯΛ ͳ͍ͯ͠Δͷ͔Θ͔Δ େมྑ͍
ͦͷϢχοτςετΛՃͯ͠ w ϦϑΝΫλϦϯάͳͷͰϏδωεϩδοΫͷ݁ՌΛม͍͚͑ͯͳ͍ w ຊʹͦ͜େৎʁͱ͍͏ͷΛ୲อ͍ͨ͠ͷͰ ϢχοτςετΛ࡞͍ͯͩ͘͠͞ͱґཔ w ͠65࡞Δͷ͕͔ͬͨ͠Βɺ ͞ΒͳΔϦϑΝΫλϦϯά͍ͯͩ͘͠͞ w
65ͷ࣮ߦίϚϯυͱ࣮ߦ݁Ռڭ͑ͯͶ
खΛೖΕͨ෦ͷ65Λ࡞ ͦͯ͠ՃͷϦϑΝΫλϦϯά࣮ࢪ ʢΫϥεΛׂͨ͠ʣ
࣮ߦखॱͱҙ ͦͷ࣌ͷ࣮ߦϩάఴࡁΈ
ͦͷৼΓฦΓͷ࣮ࢪ w ࣮ࡍʹ"*ͳͷͰͦΜͳ͜ͱແ͍ͩΖ͏ͱࢥ͍ͭͭ ԿΛֶΜͩʁԿʹۤ࿑ͨ͠ʁΛώΞϦϯά w ʮࣗΛ๙Ί͍ͨ෦ʯͱ ʮޙഐ͕Ͱ͖ͨΒҾ͖ܧ͍͗ͨ͜ͱʯฉ͘ w ࣍ػձ͕͋ΕԿʹઓ͍ͨ͠ʁ w
࠷ޙʹϫγͷࢦࣔͷग़͠ํదͬͨʁ w ਓͩͬͨΒฉ͖͍ͨ͜ͱશ෦ฉ͘
શͯ͑ͯ͘Εͨʂ
ͬͯΈͨײ w ͪ͜Β͕Γ͍ͨ͜ͱΛ͑Δͱجຊߦಈͯ͘͠ΕΔ w ͦͷࡍʹલఏࣝͷΠϯετʔϧ͕͋Δͱ͔ͳΓҙਤ௨Γʹಈ͍ͯ͘ΕΔ w ਓͰͰ͖ͳ͍ʮผਓ֨ͰࣗͷίʔυΛϨϏϡʔ͢Δʯ͕ ݸਓతʹྑ͔ͬͨ w ৼΓฦΓͷ༰ΛಡΜͰΔͱࣗͰؾ͖͕ͮ৭ʑ͋Δ
w ୠ͠ɺίʔυͷਫ਼·ͩ·ͩͳॴΞϦ w ࠓޙ৭ʑͱՄೳੑΛ୳͍͖͍ͬͯͨ
ଞʹɾɾɾ
ϦΞϧλΠϜ࣌ࠁදΞϓϦΛ࡞ͬͨΓ
ςετσʔλΛ࡞ͬͯΒͬͨΓ
13ͷίʔυϨϏϡʔΛͯ͠ΒͬͨΓ ࣗͷίʔυΛ٬؍తʹηϧϑϨϏϡʔͰ͖Δ
ΤϯδχΞ͕͍ͯ͠Δ ຆͲͷ࡞ۀՄೳ
ͨͩ͠ɾɾɾ w ˠಘҙ͕ͩɺطଘͷιʔείʔυͷཧղෆಘҙ w ϦϑΝΫλϦϯάͰ͖Δ͕༷มߋʹऑ͍ w Կނ͜ͷγεςϜ͕͋Δͷ͔Λཧղͯ͠ͳ͍ w ٕज़ྗδϡχΞΤϯδχΞϨϕϧ w
ڭՊॻʹॻ͍ͯ͋Δ͜ͱͯ͘͠ΕΔ w ؾΛར͔ͤͨ͜ͱ͍͠ w ͨͩ͠ɺܦݧҭͯΒΕΔʢφϨοδʣ
ޮՌతͳ ϓϩϯϓτͷ༩͑ํ
ͬͯ΄͍͜͠ͱΛγϯϓϧʹ w ʮ͜ΕΛ͍͚ͬͯͳ͍ʯͰͳ͘ʮ͜ΕΛͬͯ΄͍͠ʯΛ͑Δ w Օॻ͖Ͱظ͢Δಈ࡞Λྻڍ͍ͯ͘͠ w ͋Μ·Γ;Θͬͱ͛Δͱ;Θͬͱͨ͠Ռ͕͕͋ͬͯ͘Δ w ιʔείʔυ͕ଟ͍ϦϙδτϦͩͱൣғΛߜͬͨ΄͏͕ྑ͍
͜Ε͙Β͍ͩͱͦͷ௨Γʹ࡞ͬͯ͘ΕΔ ͜͜Λม͑Δͱ։ൃݴޠ͕ ༰қʹมߋͰ͖Δ 1)1ͷཱɾɾɾ
ୠ͠ɺ٧Ί͕͍ ͕ग़དྷͯͳ͍ʂ ʢࢦࣔͯ͠ͳ͍͔ΒͨΓલʣ
Ͱޙ͔Βमਖ਼͢Εྑ͍
͋ͱ͔Βيಓमਖ਼ ͢Εྑ͍ ࣮ࡍͷਓͦ͏
1)1FSʹଞʹ͍ΖΜͳ༗ޮखஈ͕ w ·ͣ6OJU5FTUॻ͍ͯ͘ΕΔͷ͕୯७ʹྑ͍ w ͦͷͨΊʹΫϥεׂͯ͘͠ΕΔ w ϦϑΝΫλϦϯάͰ͖Δ w Ξϊςʔγϣϯͨ͠ΓɺλΠϓώϯτՃͨ͠Γ w
όʔδϣϯΞοϓରԠͰ͖Δ w 1)1͚ͩ͡Όͳ͘ɺ1)14UBO1)16OJU w ٯʹ5%%Ͱ͖ΔΜ͡ΌͶɾɾɾͱ͍͏رʢ·ͩͬͯͳ͍ʣ ϓϩμΫτίʔυॻ͍ͨ͋ͱʹ ਵ͢Δ࡞ۀ͓ئ͍ʂͯͰ͖Δ
ຯʹҰ൪ॿ͔ͬͨͷ
มߋʹΑΔӨڹௐࠪ w ʮ%#ͷΧϥϜ໊Λม͍͚͑ͨͲɺӨڹड͚Δͱ͜Ζநग़ͯ͠ʯͱ ࢦࣔΛ͛Δͱʮ͜͜Ͱʯͱڭ͑ͯ͘ΕΔ w ͨͩ͠ɺൣғ͕͗͢Δͱݟམͱ͋͠ΔͨΊ ʮ·ͣ͜ͷσΟϨΫτϦͰ͋Γ·͔͢ʁʯͱॱΛͬͯฉ͘ͱ˕
͓ؾ͖ͮͷํ ͍Βͬ͠ΌΔ͔Ͱ͕͢
1)1͔Ͳ͏͔"*ʹͱͬͯࠣࡉͳ w ٕज़తͳ՝Λղܾ͢ΔͨΊͷखஈͱͯ͠࠷ऴతʹݴޠԿʹ͢Δʁͷ͑ w ٯʹదͳखஈΛ͏ͨΊʹݴޠબผΛͤΔํ๏͋Γ w ͜ΕͬͯγεςϜ։ൃͷࠜຊͰɾɾɾʁ
ͪͳΈʹɾɾɾ w $IBU(15ʹಘҙͳݴޠϥϯΩϯάΛฉ͘ͱ 1)1Ґ w ʮ1)1FSͳΜ͚ͲʙŧŽŧŽŕʯͱฉ͘ͱ ٸʹͯ͠Ґʹ্͕Δ w %FWJOʹಉ͜͡ͱΛ͢ΔͱʮҐͰ͢ʯͱ ݴͬͯɺஅݻͱͯ͠ม͑ͳ͍
˞ͦͦτϨϯυͷݴޠ͕"*ڧ͍
·ͱΊ w %FWJOࢦࣔʹΑͬͯඇৗʹ͍͍ύϑΥʔϚϯεΛग़ͯ͘͠ΕΔ w ҰํͰɺ৽ਓͩͳʔͱࢥ͏Α͏ͳߦಈऔΔ w Ͱɺզʑ͕ࠜؾΑ͖͘ఴ͑ύϑΥʔϚϯε্͕ͬͯ͘Δ w 1)1ͰͦΕҎ֎Ͱ༗༻ʹ͑Δ w
͏͜Ενϟοτͷ͜͏ଆʹਓ͕͍ΔͷͱมΘΒͳ͍
"*ͰϚΠϯυಉ͡ w ී௨ʹ৽ਓΤϯδχΞʹ͓ئ͍͢Δ࣌ʹ ҙ͍ࣝͯ͠Δ͜ͱΛࢥ͍ฦ͢ w ͕ࣗઆ໌ෆͳ͜ͱਂງΓͨ͠΄͏͕ ྑ͍͜ͱ"*ʹର͖ͯͬ͠ͱͦ͏ w ݁ɺਓͱಉ͡Α͏ʹରቂ͠Α͏
ී௨ʹ৽ਓΤϯδχΞʹ ࣄΛ͓ئ͍͢Δ࣌ʹ ҙࣝ͢ΔϚΠϯυ͕େࣄ
͏͜͏ͳͬͨΒɾɾɾ
ਓͱ"*ͷҧ͍ͬͯ ԿͳΜͰ͠ΐ͏ʁ 2VBOUJD%SFBN2VBOUJD%SFBNBOEUIF2VBOUJD%SFBNMPHPBSFUSBEFNBSLTPG2VBOUJD%SFBN
ਓͱ"*ͷҧ͍ͬͯ ԿͳΜͰ͠ΐ͏ʁ ͬͺΓΤϞ͞ͱ͔ʁ 2VBOUJD%SFBN2VBOUJD%SFBNBOEUIF2VBOUJD%SFBNMPHPBSFUSBEFNBSLTPG2VBOUJD%SFBN
ʮਓͱ"*ͷҧ͍ͬͯͳΜͩΖ͏ʁʯʹ ڵຯΛ࣋ͬͨΒ͝Ұಡ͍ͩ͘͞
࠷ޙʹ w 1)1FSͷߴྸԽ͕࠷ۙͩͱײ͍ͯ͡Δ w ͜Ε"*ͷ׆༻͚ͩͰղܾͰ͖ͳ͍ w ׂͱຊؾͰ׆ੑԽ͢Δํ๏Λߟ͍͑ͨ w օ͞ΜؼͬͨΒ ʮϖνίϯ͓Ζ͔ͬͨͰʯͱ
Ί͍ͯͩ͘͞ ʢͷൃද͓Μͳ͔ͬͨΒɺ ɹਖ਼ʹݴͬͯେৎͰ͢ʣ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠