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
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
Search
Hiromi Hishida
April 11, 2025
Programming
1.8k
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
https://fortee.jp/phpconodawara-2025/proposal/118409a3-759c-437b-9133-7fa126e0683e
Hiromi Hishida
April 11, 2025
More Decks by Hiromi Hishida
See All by Hiromi Hishida
依頼する技術 #tachikawaany
77web
0
460
Maintaining an open-source library as a successor #phpxtokyo
77web
0
43
symfony/aiとlaravel/boost
77web
0
170
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
1.4k
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
1.4k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
520
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
9
2.9k
「それはhowなんよ〜」のガイドライン #orestudy
77web
11
3.5k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
2.1k
Other Decks in Programming
See All in Programming
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
AIエージェント時代のコードレビューを設計する
nogu66
6
2.5k
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
190
アクセシビリティから考える情報設計
high_g_engineer
0
280
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
640
Press start. Python's next generation.
willingc
PRO
3
310
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
260
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
290
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
270
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.8k
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
160
バグを直したら useEffect が消えた
colorful12
3
840
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Music & Morning Musume
bryan
47
7.4k
Tell your own story through comics
letsgokoyo
1
1.1k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Speed Design
sergeychernyshev
33
2.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Into the Great Unknown - MozCon
thekraken
41
2.7k
ラッコキーワード サービス紹介資料
rakko
1
4.8M
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
470
Designing for Timeless Needs
cassininazir
1
470
From π to Pie charts
rasagy
0
360
Transcript
UI"QSJM BUQIQDPO@PEBXBSB CZ!XFC αʔϏεΫϥεͷ͋Γ͕ͨΈʹؾ ͍ͨͱ͖ͷࢥ͍ग़
w 1)1FSྺɾ໊ݹࡏॅྺ w ʙϑϦʔϥϯε։ൃऀ w ࣗࣾαʔϏεاۀʹब৬ w స৬ΛܦͯɺݱࡏʢגʣϦϯέʔδϑϧα ΠΫϧΤϯδχΞϓϩμΫτΤϯδχΞ w
#UP#UP&༧ҩྍϓϩμΫτΛ࡞͍ͬͯ· ͢ w ຊ4ZNGPOZϢʔβʔձ /BHPZBQIQ w 1)1ΧϯϑΝϨϯε໊ݹແࣄऴྃ͠·͠ ͨʂ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ XFCʢͳͳ͏͐Ϳʣ
͘͡ w αʔϏεΫϥεͱʁ w ࢥ͍ग़ w ࠶ͼɺαʔϏεΫϥεͱʁ w αʔϏεΫϥεͲΜͳͱ͖ศར͔ʁ w
αʔϏεΫϥεʹԿΛॻ͚͍͍͔ʁ
αʔϏεΫϥεͱʁ
αʔϏεΫϥεͱʁ w .7$'SBNFXPSLͰ.Ͱ$Ͱͳ͍ͭͯ͢ w ओޠσΧ
αʔϏεΫϥεͬͯͳΜͰඞཁͳΜͰ͚ͨͬ͠ʁ w .7$'SBNFXPSLͷνϡʔτϦΞϧʹॻ͔Ε͍ͯͳ͍ w ୭͔ʹݴΘΕ͔ͨΒʁ w ϚωʔδϟʔςοΫϦʔυʹϨϏϡʔͰʮॻ͚ʯͱݴΘΕ͔ͨΒʁ w 9ͰPSRJJUBͰPS[FOOͰPS̋̋ຊͰPSΧϯϑΝϨϯεͰɺ͍͢͝ਓ͕ ʮॻ͍ͨ΄͏͕͍͍Αʯͱݴ͔ͬͯͨΒʁ
αʔϏεΫϥεͬͯͳΜͰඞཁͳΜͰ͚ͨͬ͠ʁ w 1)1ͳΜ͔ͩΒɺڀۃJOEFYQIQʹશ෦ϕλοͱॻ͚ಈ͘Θ͚Ͱ͢
IUUQTTQFBLFSEFDLDPNXFCLPOHHBEVPUJEBEJHBHFSFIBJHBIF SFUBSJNPTJNPBJZPOHTJUFJSVIVSFNVXBLVHBLBJGBUJOH[IJTJUBSBOVNCFS QIQFSLBJHJ
ࢥ͍ग़ͱ͋ΔࣾൃγεςϜ w ֤ͷࢧళʹ͍ΔελοϑϢʔβʔ w ຊࣾʹ͍ΔཧऀϢʔβʔ w ࢧళͰ͚ͨҊ݅݅ͣͭʹ͍ͭͯࢿࡐͷൃΛߦ͏ͨΊͷγεςϜ
ࢥ͍ग़ͱ͋ΔࣾൃγεςϜʮൃॻ1%'ʯ w ࢧళଆͰҹͯ͠ਐḿঢ়گͱ͔खॻ͖Ͱॻ͖ࠐΉ༻్ w ·ͩશ໘%9Ͱͳ͘ൃγεςϜͷΈ࡞͍ͬͯͨஈ֊ͳͷͰɺॳճγεςϜ ্Ͱൃͨ͋͠ͱࢴͰਐߦ w ͓٬༷ͱͷؒͰݴͬͨɾݴΘͳ͍ͰᎍΊΔ͜ͱ͕͋ΔͷͰݱࢴͷ্ ʹΔมߋཤྺΛେࣄʹ͍ͯͨ͠ w
طଘாථͷϨΠΞτΛ౿ऻͯ͠࡞ͬͯ΄͍͠
ࢥ͍ग़ͱ͋ΔࣾൃγεςϜʮൃॻ1%'ʯ w ཁ݅ w ࢧళϢʔβʔ͚ը໘ͷҊ݅ৄࡉ͔ΒҹͰ͖Δ w طଘாථͷϨΠΞτʹγεςϜ্ͷൃใΛೖΕΔ
ࢥ͍ग़ͱ͋ΔࣾൃγεςϜʮൃॻ1%'ʯ w ཁ݅ w ࢧళϢʔβʔ͚ը໘ͷҊ݅ৄࡉ͔ΒҹͰ͖Δ w طଘாථͷϨΠΞτʹγεςϜ্ͷൃใΛೖΕΔ w ཧऀϢʔβʔ͚ը໘͔Βൃॻ/PΛೖΕͨΒҹͰ͖Δ/&8
ࢥ͍ग़ͱ͋ΔࣾൃγεςϜʮൃॻ1%'ʯ w ʮཧऀϢʔβʔ͚ը໘͔Βൃॻ/PΛೖΕͨΒҹͰ͖Δ/&8ʯ w ͠ʮࢧళϢʔβʔ͚ը໘ʯͷ$POUSPMMFSʹ'BU$POUSPMMFSͰॻ͍͍ͯͨΒ ઈ w ͍1%'ੜॲཧΛ4FSWJDFʹ࣮͍ͯͨ͠
None
ࢥ͍ग़ͱ͋ΔࣾൃγεςϜʮൃॻ1%'ʯ ઌͷՃཁ݅ͳΜ͚ͩͲɺ࣮ େมͩΑͶʁͲΕ͙Β͍ೲظ Ԇͦ͠͏ʁ ͏Ͱ͖ͨΆΑʙ ೲظԆແ͍ͬ͢Αʙ ʜϚδʁʂ ΊͰͨ͠ΊͰͨ͠
ʢ࠶ͼʣαʔϏεΫϥεͱʁ
αʔϏεΫϥεͲΜͳͱ͖ʹศརʁ w ಉ͡ॲཧΛҟͳΔΤϯτϦϙΠϯτ͔Β͑ΔΑ͏ʹ࣮͍ͨ͠ͱ͖ w ҟͳΔը໘ w ҟͳΔϩάΠϯϢʔβʔछผ w ಉظॲཧWTඇಉظॲཧ w
XFCWTDMJ
None
IUUQTTQFBLFSEFDLDPNCMVF@HPIFJNPDIJQIQFSLBJHJ
αʔϏεΫϥεʹԿΛॻ͚͍͍͔ʁ
αʔϏεΫϥεʹԿΛॻ͚͍͍͔ʁ w ͲͷΤϯτϦϙΠϯτ͔Βདྷ͔ͨʹࠨӈ͞Εͳ͍ۀͷॲཧͷ༰
None
IUUQTXXXNBSUJOGPXMFSDPNFBB$BUBMPHTFSWJDF-BZFSIUNM &OUFSQSJTFBQQMJDBUJPOTUZQJDBMMZSFRVJSFEJ ff FSFOULJOETPGJOUFSGBDFTUPUIFEBUBUIFZ TUPSFBOEUIFMPHJDUIFZJNQMFNFOUEBUBMPBEFST VTFSJOUFSGBDFT JOUFHSBUJPO HBUFXBZT BOEPUIFST%FTQJUFUIFJSEJ ff
FSFOUQVSQPTFT UIFTFJOUFSGBDFTPGUFOOFFE DPNNPOJOUFSBDUJPOTXJUIUIFBQQMJDBUJPOUPBDDFTTBOENBOJQVMBUFJUTEBUBBOE JOWPLFJUTCVTJOFTTMPHJD5IFJOUFSBDUJPOTNBZCFDPNQMFY JOWPMWJOHUSBOTBDUJPOT BDSPTTNVMUJQMFSFTPVSDFTBOEUIFDPPSEJOBUJPOPGTFWFSBMSFTQPOTFTUPBOBDUJPO &ODPEJOHUIFMPHJDPGUIFJOUFSBDUJPOTTFQBSBUFMZJOFBDIJOUFSGBDFDBVTFTBMPUPG EVQMJDBUJPO "4FSWJDF-BZFSEF fi OFTBOBQQMJDBUJPOTCPVOEBSZBOEJUTTFUPGBWBJMBCMFPQFSBUJPOT GSPNUIFQFSTQFDUJWFPGJOUFSGBDJOHDMJFOUMBZFST*UFODBQTVMBUFTUIFBQQMJDBUJPOT CVTJOFTTMPHJD DPOUSPMMJOHUSBOTBDUJPOTBOEDPPSEJOBUJOHSFTQPOTFTJOUIF JNQMFNFOUBUJPOPGJUTPQFSBUJPOT
HFNJOJ༁ ΤϯλʔϓϥΠζΞϓϦέʔγϣϯ௨ৗɺ֨ೲ͢Δσʔλ࣮͢ΔϩδοΫʹରͯ͠ɺσ ʔλϩʔμʔɺϢʔβʔΠϯλʔϑΣʔεɺ࿈ܞήʔτΣΠͳͲɺ͞·͟·ͳछྨͷΠϯλ ʔϑΣʔεΛඞཁͱ͠·͢ɻతҟͳΔͷͷɺ͜ΕΒͷΠϯλʔϑΣʔεɺΞϓϦέʔ γϣϯͷσʔλͷΞΫηεૢ࡞ɺϏδωεϩδοΫͷݺͼग़͠ʹ͓͍ͯɺڞ௨ͷΠϯλϥ ΫγϣϯΛඞཁͱ͢Δ͜ͱ͕Α͋͘Γ·͢ɻ͜ΕΒͷΠϯλϥΫγϣϯෳࡶʹͳΔՄೳੑ͕ ͋ΓɺෳͷϦιʔεʹ·͕ͨΔτϥϯβΫγϣϯɺҰͭͷΞΫγϣϯʹର͢ΔෳͷԠ ͷௐΛ͏͜ͱ͕͋Γ·͢ɻͦΕͧΕͷΠϯλʔϑΣʔεʹݸผʹΠϯλϥΫγϣϯͷϩδ οΫΛهड़͢Δͱɺଟ͘ͷॏෳ͕ੜ͡·͢ɻ αʔϏεɺΞϓϦέʔγϣϯͷڥքͱɺΠϯλʔϑΣʔεͱͳΔΫϥΠΞϯτͷ؍͔
Βݟͨར༻Մೳͳૢ࡞ͷू߹Λఆٛ͠·͢ɻαʔϏεΞϓϦέʔγϣϯͷϏδωεϩδο ΫΛΧϓηϧԽ͠ɺͦͷૢ࡞ͷ࣮ʹ͓͍ͯτϥϯβΫγϣϯΛ੍ޚ͠ɺԠΛௐ͠·͢ɻ
ʢ࠶ͼʣαʔϏεΫϥεͱʁ w ಉ͡ॲཧΛҟͳΔΤϯτϦϙΠϯτ͔Β͑ΔΑ͏ʹ࣮͍ͨ͠ͱ͖ɺΤϯ τϦϙΠϯτݻ༗ͷࠩҟΛআ͍ͯڞ௨ͷૢ࡞ͷΈΛ࣮͢ΔΫϥε
۪ऀܦݧʹֶͼɺݡऀྺ࢙ʹֶͿ w ࢲ۪ऀͳͷͰܦݧ͔Βֶͼ·͕ͨ͠ɺօ͞Μྺ࢙ʹֶΜͰ΄͍͠ w ԶͷࢡΛӽ͍͚͑ͯʜʂ
͑ʁ̋̋ݪଇ̋̋ຊΈ͍ͨͳཧ͕ͳ͍ʁ
͑ʁ̋̋ݪଇ̋̋ຊΈ͍ͨͳཧ͕ͳ͍ʁ w ͍͍ΜͩΑɺͦΕͰ w ΩϨΠͳίʔυॻ͜͏ͱࢥͬͯࣄͯ͠Δͷɺҙࣝߴ͗ͯ͢ർΕ·ͤΜʁ w ʮ1PG&""ʹॻ͍ͯ͋Δ͔ΒαʔϏεΫϥεॻ͖·͢ʢΩϦοʯ͡Όͳͯ͘ ʮকདྷͷมߋ࣌ʹָ͍͔ͨ͠ΒαʔϏεΫϥε࡞ͬͱ͜ʯɻ͜ΕͰ͍ͬ͠ ΐผʹɻ
5IBOLZPV