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 Isormorphic Style
Search
Serizawa!
October 24, 2018
Technology
0
390
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
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.8k
Meta Quest 3 で動く桜マシマシ WebXR アプリを IBM Cloud Code Engine と Babylon.js で作った話
1ftseabass
PRO
0
120
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
220
web-application-security
matsuihidetoshi
0
130
元インフラエンジニアに成る / Human Resources to Human Relations
bobtani
4
890
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
160
API Gatewayと少し仲良くなってみた!
masuchoku
0
100
Next'24 事例セッションの紹介とクラウド資格を活用したキャリア形成について語りMuscle
yasumuusan
1
430
4年前、あるじゃん老害エンジニアLT合戦に登壇、米国西海岸コンピュータ歴史博物館体験記の続編
toshi_atsumi
0
220
JAWS-UG Bedrock Claude Night
yamahiro
3
530
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
0
2.9k
Java EE/Jakarta EEの現状と将来―クラウドネイティブ時代にJava EEは対応できるのか?―
takakiyo
1
130
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
689
190k
Designing with Data
zakiwarfel
96
4.8k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
25
2.3k
BBQ
matthewcrist
80
8.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
357
22k
Building Applications with DynamoDB
mza
88
5.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
21
1.6k
The Pragmatic Product Professional
lauravandoore
25
5.8k
The Cost Of JavaScript in 2023
addyosmani
16
3.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
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.