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
420
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
型情報を用いたLintでコード品質を向上させる
sansantech
PRO
2
140
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
190
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
340
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
180
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
160
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
160
20241218_今年はSLI/SLOの導入を頑張ってました!
zepprix
0
100
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
組み込みアプリパフォーマンス格闘記 検索画面編
wataruhigasi
1
140
Server-Side Engineer of LINE Sukimani
lycorp_recruit_jp
0
360
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
190
最近のSfM手法まとめ
kwchrk
2
250
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
244
12k
Thoughts on Productivity
jonyablonski
68
4.4k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Building an army of robots
kneath
302
44k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Site-Speed That Sticks
csswizardry
2
190
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
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.