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
35
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
100
Other Decks in Programming
See All in Programming
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
130
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
380
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
390
WindowInsetsだってテストしたい
ryunen344
1
190
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
VS Code Update for GitHub Copilot
74th
1
190
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
240
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
790
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
XP, Testing and ninja testing
m_seki
3
150
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
300
カクヨムAndroidアプリのリブート
numeroanddev
0
440
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
69
11k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Visualization
eitanlees
146
16k
Navigating Team Friction
lara
187
15k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Building Adaptive Systems
keathley
43
2.6k
Designing for humans not robots
tammielis
253
25k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
200
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
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 օ͞ΜؼͬͨΒ ʮϖνίϯ͓Ζ͔ͬͨͰʯͱ
Ί͍ͯͩ͘͞ ʢͷൃද͓Μͳ͔ͬͨΒɺ ɹਖ਼ʹݴͬͯେৎͰ͢ʣ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠