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
610
PHPのimmutable arrayとは
hnw
1
590
Other Decks in Programming
See All in Programming
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
590
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.1k
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
770
2025年版 サーバーレス Web アプリケーションの作り方
hayatow
23
25k
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
520
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
1.8k
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.6k
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
330
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.5k
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
140
dynamic!
moro
9
6.5k
プログラミングどうやる? ~テスト駆動開発から学ぶ達人の型~
a_okui
0
190
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Building an army of robots
kneath
306
46k
Producing Creativity
orderedlist
PRO
347
40k
Why Our Code Smells
bkeepers
PRO
339
57k
Mobile First: as difficult as doing things right
swwweet
224
10k
Agile that works and the tools we love
rasmusluckow
331
21k
GitHub's CSS Performance
jonrohan
1032
460k
Code Reviewing Like a Champion
maltzj
525
40k
How STYLIGHT went responsive
nonsquared
100
5.8k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
A designer walks into a library…
pauljervisheath
209
24k
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Λ͏ͷ͕࠷ద͔ٙ