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
Decision Making of Meshi in Serverless and Isor...
Search
Serizawa!
October 24, 2018
Technology
0
460
Decision Making of Meshi in Serverless and Isormorphic Style
#WeJS 20181024
Serizawa!
October 24, 2018
Tweet
Share
Other Decks in Technology
See All in Technology
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
3
1.2k
AI時代、1年目エンジニアの悩み
jin4
1
160
セキュリティ はじめの一歩
nikinusu
0
1.5k
2026年はチャンキングを極める!
shibuiwilliam
9
1.9k
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.2k
GitLab Duo Agent Platform × AGENTS.md で実現するSpec-Driven Development / GitLab Duo Agent Platform × AGENTS.md
n11sh1
0
120
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
GSIが複数キー対応したことで、俺達はいったい何が嬉しいのか?
smt7174
3
140
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.6k
データの整合性を保ちたいだけなんだ
shoheimitani
7
2.9k
オープンウェイトのLLMリランカーを契約書で評価する / searchtechjp
sansan_randd
3
650
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
170
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
141
7.3k
Agile that works and the tools we love
rasmusluckow
331
21k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Unsuck your backbone
ammeep
671
58k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
160
Darren the Foodie - Storyboard
khoart
PRO
2
2.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
290
4 Signs Your Business is Dying
shpigford
187
22k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
240
Transcript
ServerlessでIsomorphicに GohanをKetteiしてみた @Seri-Nazu
お昼迷いません?
お昼迷うじゃないですか(強引) • 「何食べたい?」->「何でもいい~」 • 「何でもいいよな~~でも美味しそうなもの食べたいよな~~」ってときありが ち。 • ありがちすぎてみんなもう作ってるしソースコードもいくらでもある • そもそもお昼は社内でお弁当を食べることが多い
• とりあえず自分で作ってみるか!
使う技術スタック • ぐるなびAPI(無料で使えて嬉しい) • LINE Bot • AWS Lambda •
AWS API Gateway • AWS S3 • React
構成図 すごい偏見なんですがイン フラやってる人大体この図 好きじゃないですか?
ぐるなびAPIの実装 割とコードとしてはあっさり。 • クエリをぐるなびAPIの GETのクエリに載せる • request-promiseでGET する • awaitで結果を待つ
• 「画像URLがあるものだけ 取得」 • 結果の配列をresponse
LINE APIの実装 意外と長い(画像はめっちゃ省 略しました) • LINE Botの署名情報を確 認 • 「接続確認」の処理だった
ら200を返すだけ • 「位置情報」でなかったら 位置情報を送るようリプラ イ
LINE APIの実装② • 「位置情報」を使って、 Lambda上のぐるなびAPI を叩く • レストランがなかった場合 はリプライ •
あった場合、レストラン一 件一件を「Flex Message」形式に変換し てリプライする • ↑でめっちゃハマった
It Works!! Reactの方も(ある程度) ちゃんと動いてるんですが ちょっと時間がないので割 愛
良かったところ • Lambdaすごい ◦ サーバのこと、関数の呼び出され方を意識から外せる ◦ ミニマムにすぐ始められる ◦ GUIで設定できることが多い •
API Gatewayすごい ◦ CORS設定をGUIで一発でできるのはいい体験だった。
ハマったところ • CORS設定を倒せなくてかなりハマった ◦ ずっとプレフライトリクエストでこけていた ◦ API Gatewayのリソースを作成し直したところ動いた……? • 豊島区にいるのに江東区に住んでることにされる問題
◦ 取得精度とかの実装の問題っぽい?教えて下さい…。 ◦ 「httpsじゃないとJSの位置情報取得APIを使えない」
今後トライしていきたい • LINE Messaging APIのLambdaをもっときれいに書きたい • Reactで実装したクライアントを改良したい ◦ ぐるなび側で検索条件いっぱい指定できる
まとめ • サーバのことを一秒も考えずにご飯をサジェストできた。 • LINE Botを割とサクサクっと動かすことができた。 • Lambdaガンガンやっていきたい :muscle:
Thank you, for your attention.