Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
マルチクラウドでいろいろ「がおって」みた / serverless-200125
Search
gaomar
January 25, 2020
Technology
670
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マルチクラウドでいろいろ「がおって」みた / serverless-200125
Serverless Meetup Kobe #1登壇資料です。
https://serverless.connpass.com/event/157159/
gaomar
January 25, 2020
More Decks by gaomar
See All by gaomar
PAD・enebular・Lexで 交通費を確認してみた / enebular-200902
gaomar
0
260
よくあるご質問をノーコードで試してみた / enebular-210210
gaomar
0
270
enebularで湯婆婆をノーコードで実装してみた / enebular-201201
gaomar
0
1.2k
CLOVA OCRをenebularで連携してみた / yurufuwaml-201104
gaomar
0
440
会社の受付システムをenebularでやってみる / 0yenRPA-201006
gaomar
0
280
ゆるふわマシンラーニング vol.4 / yurufuwaml-200702
gaomar
0
320
Makecode Arcadeハンズオン資料 / makecodearcade-0625
gaomar
2
590
M5StickCをLINE Beacon化してみた / m5stack-200207
gaomar
0
830
スマートスピーカーミーティング 20200130 / ssmtg-200130
gaomar
0
560
Other Decks in Technology
See All in Technology
VS Code × GitHub Copilot での Fabric 開発
ryomaru0825
1
220
Argo CDとAtlantisで実現するインフラ管理のセルフサービス化──小規模SREチームで支えるプラットフォーム
cassius7
0
280
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
230
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
720
Codex概要
ymiya55
0
250
IR Today: Theory, Practice, and Agents
dtunkelang
0
330
TiDBファミリーにDWHが新登場!! TiDB最新情報 / TiDB update 202609
yoshiakiyamasaki
0
190
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
150
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
1
240
認知負荷を吸収し、プロダクトをまたぐPR Preview基盤の設計事例
taiki45
2
580
行動するAIのためのオントロジー | DevRev — Encraft #26.pdf
dvrv_tknrszk
2
680
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
140
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Abbi's Birthday
coloredviolet
4
10k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
690
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
620
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
330
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
520
Fireside Chat
paigeccino
43
4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Six Lessons from altMBA
skipperchong
29
4.5k
Transcript
TFSWFSMFTTLPCF ϚϧνΫϥυͰ͍Ζ͍Ζ ʮ͕͓ͬͯʯΈͨ M5
TFSWFSMFTTLPCF ࣗݾհʢ͕͓·Δʣ ॴଐɿגࣜձࣾΞΠΤϯλʔɹେࡕࢧళ ɹɹɹ3%ɹೖࣾ ɹɹɹεϚʔτεϐʔΧʔΤόϯδΣϦετ ɹɹɹ-*/&"1*&YQFSUʢʙʣ ɹɹɹ"MFYB$IBNQJPOʢʙʣ ۀɿ"5-BCPɾ͕͓·Δक़ओ࠵ ɹɹɹεϚʔτεϐʔΧʔݚڀ։ൃ ɹɹɹ31"ݚڀ։ൃ
ߴഅɹయ !HBPNBS ͖ͳݴ༿ɿͶ͐$MPWB ͔ͨ͏·ɹͻΖͷΓ
TFSWFSMFTTLPCF εϚʔτεϐʔΧʔΞϓϦ։ൃೖ େධൃചதʂ
TFSWFSMFTTLPCF ຊ
TFSWFSMFTTLPCF ʮ͕͓ͬͯΔʯͱ ͋Γͱ͋ΒΏΔΫϥυαʔϏεΛͱʹ͔ͪ͘͝Ό·ͥʹͯ͠ Կ͔ͩྑ͔͘Βͳ͍͚Ͳɺ ࠷ऴతʹಈ͍ͯΈΜͳϋοϐʔʹͳΕΔ͜ͱ ཁ͢Δʹນͷหతͳҙຯ߹͍
TFSWFSMFTTLPCF "MFYB$IBNQJPOͷϖʔδʹ("͞Εͨʂ
TFSWFSMFTTLPCF ͕͓ͬͯΔͦͷ
TFSWFSMFTTLPCF ౙٳΈͰՋͩͬͨͷͰ 1PXFS"VUPNBUFͬͯ -*/&#PUΛ̏ͭ࡞ͬͯΈͨ
TFSWFSMFTTLPCF 1PXFS"VUPNBUFͱ
TFSWFSMFTTLPCF 0$3#PU $PNQVUFS7JTJPOΛར༻ͯ͠-*/&ʹ্͛ͨը૾ͷ தʹ͋ΔจࣈྻΛೝࣝͯͦ͠ͷ݁ՌΛฦ͢ɻ ೝࣝߴΊ͕ͩɺखॻ͖จࣈͷೝ͕͔ࣝͳΓ Լͨ͠
TFSWFSMFTTLPCF ༁#PU 5FYU5SBOTMBUPSΛར༻ͯ͠#PUʹ͛ͨຊޠΛ ӳޠʹ༁ͯ͠ฦͯ͘͠ΕΔɻ Ұ࣌ظʹͳͬͨࡖϚοεϧΛࢼͨ͠Βͬͱ ΧΦεͳ͜ͱʹͳ͍ͬͯͨ͆
TFSWFSMFTTLPCF $VTUPN7JTJPOΛར༻ͯ͠#PUʹ͛ͨը૾͔Β ࢦఆͨ͠λά໊Λฦ͢ɻ ίʔϯϑϨʔΫͷը૾Λ͛ΔͱίʔϯϑϨʔΫ ͔Ͳ͏͔ఆͯ͘͠ΕΔ ྨث#PU
TFSWFSMFTTLPCF (PPHMFͷ5FBDIBCMF.BDIJOF͕Ϡό͍ʂ
TFSWFSMFTTLPCF
TFSWFSMFTTLPCF ͜ΕΛͬͨϋϯζΦϯΛདྷ݄ߦ͍·͆͢ ຬһޚྱʂ
TFSWFSMFTTLPCF 0$3#PU ༁#PU ྨث#PU
TFSWFSMFTTLPCF ͕͓ͬͯΔͦͷ M5
TFSWFSMFTTLPCF #MVFUPPUIൃ৴ػͰ-*/&ΞϓϦΛܦ༝ͯ͠ ࢦఆͨ͠8FCIPPLઌʹ͍ۙͮͨਓͷใΛ ඈ͢͜ͱ͕Ͱ͖Δ
TFSWFSMFTTLPCF M5 .4UJDL$ ɾ&41ଂ ɾY5'5Χϥʔӷথ ɾN"I-J1PόοςϦʔ ɾ(SPWFϙʔτ ɾ.#ϑϥογϡϝϞϦ ɾ࣠ηϯα ɾ=
TFSWFSMFTTLPCF -*/&4JNQMF#FBDPOͱ -*/&4JNQMF#FBDPOͱɺ-*/&#PU։ൃऀ͚ͷϏʔίϯ σόΠε༷Ͱ͢ɻ-*/&4JNQMF#FBDPO#MVFUPPUI -PX&OFSHZ ҎԼɺʮ#-&ʯͱ͍͏ ͷ༷ʹͱ͍͓ͮͯ Γɺ൚༻ͷσόΠεͰ-*/&#FBDPOͷαʔϏεΛར༻͢Δ͜ ͱΛՄೳͱ͠·͢ɻ IUUQTHJUIVCDPNMJOFMJOFTJNQMFCFBDPOCMPCNBTUFS3&"%.&KBNE
TFSWFSMFTTLPCF ͔͜͜Β-*/&#PUͱඥ͚ͯ*%Λൃߦ͢Δ͚ͩ IUUQTNBOBHFSMJOFCJ[CFBDPOSFHJTUFS
TFSWFSMFTTLPCF -*/&#FBDPOΛ༗ޮԽ
TFSWFSMFTTLPCF Ͱ͖ͨͷͪ͜Β
None
TFSWFSMFTTLPCF ΞʔΩςΫνϟ M5 ʗडͨ͠Αʘ ʘ͕͓·Δ͕དྷͨΑʗ 66*% FOUFS 66*%
TFSWFSMFTTLPCF ͕͓ͬͯΔͦͷ
TFSWFSMFTTLPCF ͱ 23ίʔυܾࡁΦϯϥΠϯγϣοϐϯά ʹͬͨΓͰ͖ΔεϚϗܾࡁαʔϏε །Ұ։ൃ༻4%,͕ެ։͞Ε͓ͯΓɺ ୭Ͱ։ൃΛ࢝ΊΔ͜ͱ͕Ͱ͖Δ
TFSWFSMFTTLPCF 31"πʔϧͷҰछ ࡞ۀۀΛࣗಈԽ͢ΔϩϘοτΛ։ൃ͢Δπʔϧ
TFSWFSMFTTLPCF ΦʔέετϨʔλʔ͕͋Δ
TFSWFSMFTTLPCF 6J1BUI0SDIFTUSBUPSͱ ɾδϣϒͷεέδϡʔϧཧ ɾ౷߹ӡ༻ཧ ɾ෦౷੍ ɾηΩϡϦςΟରࡦ ɾॊೈͳ֦ுੑ
TFSWFSMFTTLPCF ॊೈͳ֦ுੑ ɾ31"ͷཧػೳΛ3&45"1*ͱͯ͠ެ։ ɾϩϘͷىಈࢦ͕ࣔ؆୯ʹͰ͖Δ ɾ֎෦ͷ༷ʑͳαʔϏεͱ࿈ܞ͢Δ͜ͱ͕Մೳʂ
TFSWFSMFTTLPCF Ͱ͖ͨͷͪ͜Β
TFSWFSMFTTLPCF IUUQTZPVUVCF:#7TSMH
TFSWFSMFTTLPCF ΞʔΩςΫνϟ ΦʔέετϨʔλʔ ʘܾࡁใೖྗʂʗ -*/&1BZ ܾࡁ (JU)VC
TFSWFSMFTTLPCF -*''ʢ-*/&'POUFOE'SBNFXPSLʣ -*/&ΞϓϦͰಈ࡞͢ΔΣϒΞϓϦͷϓϥοτϑΥʔϜ ϢʔβʔใΛ׆༻ͨ͠ػೳΛఏڙͨ͠Γɺ ϢʔβʔͷΘΓʹϝοηʔδΛૹ৴ͨ͠ΓͰ͖·͢ ˞-*''ܦ༝Ͱ-*/&ͷϓϩϑΟʔϧ͕औಘՄೳ ˞-*''W͔Β8FCܦ༝Ͱར༻Մೳʹ
TFSWFSMFTTLPCF 6J1BUIϑϩʔਤ ύϒϦογϡͯ͠ ΦʔέετϨʔλʔʹΞοϓ͢Δ
TFSWFSMFTTLPCF ΦʔέετϨʔλʔʹϩϘ͕Ξοϓ͞ΕΔ όʔδϣϯཧ͕Մೳʂ
TFSWFSMFTTLPCF ͔͜͜Β։ൃΑΓͳ
TFSWFSMFTTLPCF -*/&1BZܾࡁॲཧ7VFKT // ܾࡁ༧ let options = { productName: "ϩοΫղআ",
amount: 1, // ֹۚʢ͜ͷ߹1ԁʣ currency: "JPY", // ຊԁ orderId: uuid(), confirmUrl: process.env.VUE_APP_LINE_PAY_CONFIRM_URL } pay.reserve(options).then((response) => { let reservation = options reservation.transactionId = response.info.transactionId reservation.paymentUrl = response.info.paymentUrl.web callback(null, { statusCode: 200, body: JSON.stringify(reservation), headers: headers }) }) ɾBNPVOUɿֹۚ ɾPSEFS*Eɿܾࡁཧ൪߸ ɾDPOpSN6SMɿܾࡁޙભҠ63- ɾSFTFSWFɿॲཧ࣮ߦ IUUQTQBZMJOFNFKQEFWFMPQFSTBQJTPOMJOF"QJT MPDBMFKB@+1 ܾࡁ༧
TFSWFSMFTTLPCF -*/&1BZܾࡁॲཧ7VFKT // ܾࡁॲཧ const transactionId = params.get('transactionId') const reservations
= JSON.parse(params.get('reservations')) let confirmation = { transactionId: transactionId, amount: reservations.amount, currency: reservations.currency } pay.confirm(confirmation).then((response) => { callback(null, { statusCode: 200, body: 'ܾࡁྃ͠·ͨ͠ʂ', headers: headers }) }) ɾUSBOTBDUJPO*Eɿܾࡁ൪߸ ɾBNPVOUɿܾࡁ࣌ͷֹۚ ɾDVSSFODZɿܾࡁ࣌ͷຊԁ ɾDPOpSNɿॲཧ࣮ߦ IUUQTQBZMJOFNFKQEFWFMPQFSTBQJTPOMJOF"QJT MPDBMFKB@+1 ܾࡁ֬ೝ
TFSWFSMFTTLPCF ࣮ݱ͢ΔͨΊͷεςοϓ͕໘͍X ɾΞΫηετʔΫϯΛൃߦ͢Δ ɾαʔϏεΠϯελϯεࣝผࢠऔಘ ɾ3FMFBTF,FZΛऔಘ͢Δ ɾδϣϒʢϩϘʣΛ࣮ߦ͢Δ
TFSWFSMFTTLPCF ֎෦αʔϏεͱ࿈ܞ͢ΔͨΊʹඞཁͳ τʔΫϯ3FMFBTF,FZΛऔಘ͢Δ
TFSWFSMFTTLPCF ΞΫηετʔΫϯΛൃߦ͢Δ IUUQTEPDTVJQBUIDPNPSDIFTUSBUPSWSFGFSFODFTFDUJPOHFUUJOHSFGSFTIUPLFO ֤छτʔΫϯΛϝϞ
TFSWFSMFTTLPCF τʔΫϯͷ༗ޮ࣌ؒ ࣌ؒͰΕ·͢
TFSWFSMFTTLPCF ͦΕҎ֎ʹෳͷ"1*Λୟ͔ͳ͍ͱ͍͚ͳ͍PS[
TFSWFSMFTTLPCF ·ͱΊ
TFSWFSMFTTLPCF ɾ1PXFS"VUPNBUFϊϯίʔςΟϯάͰ৭ʑͰ͖Δ ɾ͓ख࣋ͪͷσόΠεΛ-*/&#FBDPOԽՄೳ ɾ-*/&1BZ།Ұ։ൃ4%,͕ެ։͞Ε͍ͯΔ ɾ4UBSU+PCTؔͰϩϘΛ࣮ߦͰ͖Δ ɾൃߦͨ͠τʔΫϯͷ༗ޮ࣌ؒ࣌ؒ ɾ͍ΖΜͳ࿈ܞָ͍͠ʘ ?P? ʗ
TFSWFSMFTTLPCF ࠂ
TFSWFSMFTTLPCF ɹ-*/&ͷνϟοτϘοτΛ࡞Ζ͏!͋ͷϋϧΧε'
TFSWFSMFTTLPCF ɹ31"ษڧˍ-5ձʂ31"-5ϋϯζΦϯࢧ෦WPM!େࡕ
TFSWFSMFTTLPCF εϚʔτεϐʔΧʔΛ༡ͼ͓ͨ͢ձ େࡕ ໊ݹ ౦ژ ̏ڌಉ࣌தܧ
TFSWFSMFTTLPCF 7PJDF$PO+BQBO ຊ࠷େڃͷ76*ɾεϚʔτεϐʔΧʔΠϕϯτ IUUQTWPJDFDPOKBQBOBBKVHKQ
TFSWFSMFTTLPCF =ׂҾΫʔϙϯίʔυ vcj2020kobe
TFSWFSMFTTLPCF ϦΞϧλΠϜΞϯέʔτ
TFSWFSMFTTLPCF ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ M5