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
2.3k
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
560
PHPのimmutable arrayとは
hnw
1
570
Other Decks in Programming
See All in Programming
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
7
1k
Quality Gates in the Age of Agentic Coding
helmedeiros
PRO
1
110
[Codecon - 2025] Como não odiar seus testes
camilacampos
0
100
効率的な開発手段として VRTを活用する
ishkawa
1
180
PHPカンファレンス関西2025 基調講演
sugimotokei
5
1k
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
2
220
Go製CLIツールをnpmで配布するには
syumai
0
760
Gemini CLI のはじめ方
ttnyt8701
1
110
リバースエンジニアリング新時代へ! GhidraとClaude DesktopをMCPで繋ぐ/findy202507
tkmru
4
1.3k
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
3
1.7k
Android 16KBページサイズ対応をはじめからていねいに
mine2424
0
740
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
310
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Six Lessons from altMBA
skipperchong
28
3.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Documentation Writing (for coders)
carmenintech
72
4.9k
Raft: Consensus for Rubyists
vanstee
140
7k
Music & Morning Musume
bryan
46
6.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Building Applications with DynamoDB
mza
95
6.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
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Λ͏ͷ͕࠷ద͔ٙ