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
PHPerだってPHPから「OKグーグル」したい!
Search
hnw
April 10, 2022
Programming
1
2k
PHPerだってPHPから「OKグーグル」したい!
PHPerKaigi 2022 (2022/04/10) 発表資料
LT発表ではスキップした資料もつけた完全版です。
hnw
April 10, 2022
Tweet
Share
More Decks by hnw
See All by hnw
PHPのARM向け最適化の中身を見てみた
hnw
0
450
PHPのimmutable arrayとは
hnw
1
500
Other Decks in Programming
See All in Programming
As an Engineers, let's build the CRM system via LINE Official Account 2.0
clonn
1
670
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
Beyond ORM
77web
2
210
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
170
Criando Commits Incríveis no Git
marcelgsantos
2
170
testcontainers のススメ
sgash708
1
120
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
920
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
140
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
110
[JAWS-UG横浜 #76] イケてるアップデートを宇宙いち早く紹介するよ!
maroon1st
0
450
Refactor your code - refactor yourself
xosofox
1
260
14 Years of iOS: Lessons and Key Points
seyfoyun
1
770
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
A Philosophy of Restraint
colly
203
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Building Applications with DynamoDB
mza
91
6.1k
Faster Mobile Websites
deanohume
305
30k
Building Adaptive Systems
keathley
38
2.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Into the Great Unknown - MozCon
thekraken
33
1.5k
4 Signs Your Business is Dying
shpigford
181
21k
Six Lessons from altMBA
skipperchong
27
3.5k
Transcript
How to send a query to Google Assistant API with
PHP 1)1FSͩͬͯ1)1͔Β ʮ0,άʔάϧʯ͍ͨ͠ʂ 1)1FS,BJHJ ൃදࢿྉ !IOX
ࣗݾհ ❖ !IOX ❖ ॴଐɿ,-BCגࣜձࣾ ❖ 8FBSFIJSJOH ❖ 1)1ຊମͷόάΛ݅ใࠂ
ࣗݾհ 1)1ΧϯϑΝϨϯεؔ 1)1FS,BJHJ
ࠓ͓͢͠Δ͜ͱ ❖ 1)1͔Β(PPHMF"TTJTUBOUͷH31$"1*Λୟ͍ͯΈͨ ❖ ͦͷࡍͷؾ͖ͳͲΛڞ༗
ࠓͷΰʔϧ ❖ 1)1ʴH31$ͷ࣮༻తͳࣄྫΛఏ͍ࣔͨ͠ ❖ 1)1FSͷதͰH31$ΠϚΠνྲྀߦͬͯͳ͍ҹ ❖ 1)1 H31$ͷ࣮༻ʹ͍͍ͭͯ͑ͨ ❖ αʔόઈײ͋Δ͚ͲɺΫϥΠΞϯτʁ
͔͜͜Βຊฤ
ʮ0,άʔάϧʯͯ͠·͔͢ʁ ❖ ʮ0,άʔάϧʯͰԻೖྗ Ͱ͖Δ ❖ ϥʔϝϯλΠϚʔศར ❖ ిؾͷΦϯΦϑศར
ʮ0,άʔάϧʯͷத ❖ (PPHMF"TTJTUBOU ❖ "OESPJE(PPHMF)PNFΛԻૢ࡞Ͱ͖ΔΈ ❖ 4JSJ"MFYBΈ͍ͨͳΞϨͰ͢
ʮ0,άʔάϧʯͷෆศͳͱ͜Ζ ❖ Λग़͢ͷ͢Β໘ͳͱ͖ʹ͑ͳ͍ ❖ ઉ͕ѱͯ͘άʔάϧઌੜ͕ฉ͖࿙Β͢ ԻͰͳ͘ϓϩάϥϜ͔ΒίϚϯυΛૹΓ͍ͨʂ
(PPHMF"TTJTUBOU4%, ❖ H31$Λར༻ͯ͠(PPHMF"TTJTUBOUΛૢ࡞Ͱ͖Δ ❖ υΩϡϝϯτͰ1ZUIPOͷઆ໌͕खް͍ ❖ (JU)VC্Ͱ1ZUIPOͱ(P͕ଟ͍ 1)1Ͱ༡Δͣʂ
H31$ͱ ❖ ৗ࣌ଓܕͷ"1*ΛෳݴޠରԠͰఏڙ͢ΔΈ ❖ 1)1ରԠ͍ͯ͠Δʢͨͩ͠ΫϥΠΞϯτͷΈʣ ❖ 1SPUPDPM#V⒎FSTΛͬͯ"1*ίʔυΛࣗಈੜ ❖ ௨৴ϓϩτίϧ)551 ❖
1)1ͰH31$֦ு͕୲
༨ஊ (JU)VC্Ͱ1)1͔Β(PPHMF"TTJTUBOU ৮ͬͯΔͷࢲ͚ͩͰ͢ ࡢ·Ͱ1)1݅Ͱͨ͠
-5Ԡื࣌ ʮཧ۶্1)1Ͱಈ͖ͦ͏ʯ
ൃදिؒલ ʮ͏͓ʔಈ͔Μʜʯ
Ͱ͖·ͨ͠ ❖ ίϚϯυϥΠϯҾΛ(PPHMF"TTJTUBOUͷೖྗʹ͢Δ ❖ ฦࣄΛςΩετग़ྗ
Ͱ͖·ͨ͠ ❖ ˢϝΠϯॲཧΛൈਮͨ͠ͷ
Ͱ͖·ͨ͠ ❖ ˢϝΠϯॲཧΛൈਮͨ͠ͷ ❖ ࣗಈੜ͞ΕͨΫϥεΛΈ߹ΘͤͨΒಈ͖·ͨ͠
ؾ͍ͮͨ͜ͱ ❖ 1)1ͰH31$ΫϥΠΞϯτͳΒे͑Δ ❖ ࠓճͬͨ"1*#JEJSFDUJPOBMʢํ௨৴ʣͩͬͨ ͕ɺΓ͍ͨ͜ͱͰ͖ͨ
ؾ͍ͮͨ͜ͱ ❖ 1SPUPDPM#V⒎FSTʹΑΔίʔυࣗಈੜڧྗ ❖ OFXͯ͠ϝιουΛݺҰఆ͑Δ ❖ ͱ͍͑υΩϡϝϯτແͩ͠ͱਏ͍
ؾ͍ͮͨ͜ͱ ❖ 1)1 H31$ɺΈΜͳຊʹͬͯΔΜͩΖ͏͔ʜʁ ❖ ݸਓاۀ͋·Γใެ։ͯ͠ͳ͍ ❖ ެࣜυΩϡϝϯτ1)1ͷهड़গͳ͍
%FNP
·ͱΊ ❖ H31$ΫϥΠΞϯτ༻్ͳΒ1)1Ұఆ͑Δ ❖ طଘͷH31$αʔόΛ͏ͱ1)1 H31$Ͱ༡ͼ͍͢ ❖ (PPHMF"TTJTUBOUͳΒ࣮༻ੑ͋Δ ❖
1)1 H31$ͷ͕ؒগͳ͍͕ٙ͋Δ օ͞Μ༡ΜͰΈ͍ͯͩ͘͞ʂ
͝੩ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠
"QQFOEJY
PLHPPHMFQIQͷެ։ॴ ❖ IUUQTHJUIVCDPNIOXHPPHMFBTTJTUBOUDMJQIQ ❖ QSPUPDͰࣗಈੜͨ͠ϑΝΠϧDPNNJUͯ͋͠Δͷ Ͱɺ͏ʹ४උ͕গͳͯ͘ࡁΉͣ
PLHPPHMFQIQͷ࣮༻ੑʹ͍ͭͯ ❖ ݅ذͯ͠ʮ0,άʔάϧʯ͍ͨ͠ͱ͖ʹ͑Δ ❖ ྫɿۙηϯαʔͰਓ͕ۙ͘ʹ͍ͨΒిؾΛ͚ͭΔ ❖ ʮ͓͏ͪϋοΫʯͷύʔπͱͯ͠ศར ❖ 1)1Λ͏ͷ͕࠷ద͔ٙ