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
はじめてのSPAを サーバーレスで作る with AngularJS + S3 + Lambd...
Search
Yonashiro Yuu
August 20, 2016
Technology
1
3.9k
はじめてのSPAを サーバーレスで作る with AngularJS + S3 + Lambda + API Gateway + Route 53
JAWS-UG沖縄 真夏の熱すぎるサーバレス祭り! 2016年08月 の発表資料です。
Yonashiro Yuu
August 20, 2016
Tweet
Share
More Decks by Yonashiro Yuu
See All by Yonashiro Yuu
明日からの話し合いとかで使えるかもしれない イベントや打ち合わせとかの 多人数でのコミュニケーションをスムーズにする心掛け
cloneko
0
590
ボクがハカチャンのボラスタるワケ(ハッカーズチャンプルー2018前夜祭LT)
cloneko
0
590
沖縄からAWS認定試験への道? LT - JAWS-UG on AWS Cloud Roadshow 2017 Osaka
cloneko
0
1.4k
ハッカーズチャンプルーでの LTのやり方、 そしてLTをすることによるその効果
cloneko
0
180
効果的な導運用のための Amazon Web Services 活用入門 を読んだ感想 - JAWS-UG 沖縄 2017/01 LT -
cloneko
0
170
F + IT から生まれる 距離と時間を越えた コラボレーション
cloneko
0
6.7k
DigiLab Okinawa 2015 LT Session -○○のトイレめ! → いろいろな「表現のしかた」を身に付けよう!-
cloneko
1
140
2015-03-18-katayabira-sampling-yonayuu
cloneko
0
110
ネットワーク対戦型タイピングを作って、プログラム(とか)について考えてみた
cloneko
0
4k
Other Decks in Technology
See All in Technology
Part1 GitHubってなんだろう?その2
tomokusaba
2
770
木を見て森も見る-モジュールが織りなすプロダクトの森
kworkdev
PRO
0
190
250510 StepFunctionのテスト自動化始めました vol.1
east_takumi
1
230
ユーザーコミュニティが海外スタートアップのDevRelを補完する瞬間
nagauta
0
190
AWSを利用する上で知っておきたい名前解決の話
nagisa53
6
820
Coding Agentに値札を付けろ
watany
3
520
ソフトウェアテスト 最初の一歩 〜テスト設計技法をワークで体験しながら学ぶ〜 #JaSSTTokyo / SoftwareTestingFirstStep
nihonbuson
PRO
2
160
SaaS公式MCPサーバーをリリースして得た学び
kawamataryo
4
1.3k
ペアーズにおける評価ドリブンな AI Agent 開発のご紹介
fukubaka0825
9
2.7k
TanStack Start 技術選定の裏側 / Findy-Lunch-LT-TanStack-Start
iktakahiro
1
140
人間性を捧げる生成AI時代の技術選定
yo4raw
0
160
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
PRO
0
730
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
A Tale of Four Properties
chriscoyier
159
23k
Bash Introduction
62gerente
613
210k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Why Our Code Smells
bkeepers
PRO
336
57k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
24
2.7k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
570
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
610
Transcript
͡Ίͯͷ41"Λ αʔόʔϨεͰ࡞Δ :POBTIJSP:VVBLB!DMPOFLP BU+"846(0LJOBXB
ࣗݾհ w ᢛಹ༤BLB!DMPOFLP w Πϯϑϥ͞Μ͘Β͍ͱ ઐֶߍͷߨࢣ͘Β͍ ͬͯ·ͨ͠ɻ ։ൃܦݧͳ͠ w
͖ͳ"84ͷαʔϏε 4ͱ3PVUFɻ
ࠓͷྲྀΕ w 8FCΞϓϦΛ࡞Δ࣌ͷߏ#FGPSF"GUFS w 41"ΛαʔόʔϨεͰ࡞ͬͯΈͨ w "84ΛͬͯϋϚͬͨͱ͜ w ࡞ͬͯΈͯࢥͬͨ͜ͱ
8FCΞϓϦΛ࡞Δ࣌ͷߏ #FGPSF"GUFS
8FCΞϓϦ࡞Δ࣌ʹඞཁͳḉ ඦઓ࿉ຏͳօ༷ʹ؆୯͗͢Δ͓ͩͱࢥ͍·͕͢ʜ w ϦΫΤετ͞ΕͨϑΝΠϧΛఏڙ͢Δαʔόʔ w ϦΫΤετʹԠͯ͡ϓϩάϥϜΛ࣮ߦ͢Δ@@@@αʔόʔ w ໊લղܾͷͨΊͷαʔόʔ
8FCΞϓϦ࡞Δ࣌ʹඞཁͳḉ ඦઓ࿉ຏͳօ༷ʹ؆୯͗͢Δ͓ͩͱࢥ͍·͕͢ʜ w ϦΫΤετ͞ΕͨϑΝΠϧΛఏڙ͢Δ8FCαʔόʔ w ϦΫΤετʹԠͯ͡ϓϩάϥϜΛ࣮ߦ͢Δ"1αʔόʔ w ໊લղܾͷͨΊͷ%/4αʔόʔ
8FCΞϓϦͷΞΫηεͷྲྀΕ ྫ5XJUUFSʹΞΫηεͯ͠ΈΔ %/4αʔόʔ UXJUUFSDPNͷ*1ΞυϨεڭ͑ͯΑ ͔ ͩΑ 8FCαʔόʔ UXJUUFSDPNͷίϯςϯπ͍ͩ͘͞ ͍Αͬ
8FCΞϓϦͷΞΫηεͷྲྀΕ ྫ5XJUUFSʹΞΫηεͯ͠ΈΔ 8FCαʔόʔ UXJUUFSDPNͷίϯςϯπ͍ͩ͘͞ ͍Αͬ ͋ͬɺ!DMPOFLP͞Μͩɻ !DMPOFLP͞Μ༻ͷ5-࡞Δ ϓϩάϥϜ࣮ߦͯ͠͞ͳ ͖Ό
Ͱը૾ͱ͔อଘͯ͋͠ Δͷͦͷ··ͪ͠Ό͑ 0,ͩΑͶ ϓϩάϥϜͰ࡞ͬͨσʔλ ੩తϑΝΠϧ
8FCΞϓϦ࡞Δ࣌ʹඞཁͳḉ ඦઓ࿉ຏͳօ༷ʹ؆୯͗͢Δ͓ͩͱࢥ͍·͕͢ʜ w ϦΫΤετ͞ΕͨϑΝΠϧΛఏڙ͢Δ8FCαʔόʔ w ϦΫΤετʹԠͯ͡ϓϩάϥϜΛ࣮ߦ͢Δ"1αʔόʔ w ໊લղܾͷͨΊͷ%/4αʔόʔ
αʔόʔͰಈ͔࣌͢ͷߏ w ϦΫΤετ͞ΕͨϑΝΠϧΛఏڙ͢Δ8FCαʔόʔ w "QBDIF)5514FSWFSOHJOY.JDSPTPGU**4FUDʜ w ϦΫΤετʹԠͯ͡ϓϩάϥϜΛ࣮ߦ͢Δ"1αʔόʔ w $(*͍ͬͯ͏ͷ͕͋ͬͨؾ͕͢ΔʜNPE@YYY ಛʹQIQ
5PNDBUͳͲαʔϒϨοτίϯςφ +BWBͱ͔ ଞ͍Ζ͍Ζ w ໊લղܾͷͨΊͷ%/4αʔόʔ w CJOE6OCPVOE/4%EKCEOTͬͯͷ͕͋ͬͨؾ ͕͢Δʜଞ͍Ζ͍Ζ
ΞϓϦ࡞ͬͯಈ͔͍ͨ͠ʜ ͦΕ͚ͩͳΜͩ w αʔόʔͷηοτΞοϓͱ͔·͊ɺ࡞ͬͨΞϓϦ ಈ্͔͢ͰઈରඞཁͰ͢ΑͶʜ w ͚ͩͲɺαʔόʔͷҡ࣋ɾӡ༻ͷͨΊͷࣝษڧ ͠ͳ͖Ό͍͚ͳ͍ʜͷ w
νʔϜͷதʹઐͷਓ͕͍ΔͳΒ͍͍͚Ͳʜ
αʔόʔϨεͳΒ
αʔόʔϨεʹͳΔͱมΘΔ͜ͱ w αʔόʔͷηοτΞοϓͱ͔·͊ɺ࡞ͬͨΞϓϦಈ্͔͢Ͱ ઈରඞཁͰ͢ΑͶʜ w ηοτΞοϓͱ͔ݮΒͤΔɻ ͕ɺಈ͔͢ڥʹ߹ΘͤͨΞϓϦͷ։ൃΛ͠ͳ͍ͱ͍͚ͳ͘ͳΔ ·͊ͲΜͳΞϓϦͰ ಉ͡Ͱ͕͢
w ͚ͩͲɺαʔόʔͷҡ࣋ɾӡ༻ͷͨΊͷࣝษڧ͠ͳ͖Ό͍ ͚ͳ͍ʜͷ w ಈ͔͢ڥͷಛੑΔඞཁ͋Δ͕ɺ΄ͱΜͲཧ͠ͳͯ͘ྑ͘ͳΔʜͱ͍͍ͳ͊ʜ w νʔϜͷதʹઐͷਓ͕͍ΔͳΒ͍͍͚Ͳʜ w ˢͱಉ͡ײ͡
αʔόʔϨεͷߏ "84റΓ w ϦΫΤετ͞ΕͨϑΝΠϧΛఏڙ͢Δ8FCαʔόʔ w 4 w ϦΫΤετʹԠͯ͡ϓϩάϥϜΛ࣮ߦ͢Δ"1αʔόʔ w -BNCEB
"1*(BUFXBZ w ໊લղܾͷͨΊͷ%/4αʔόʔ w 3PVUF
41"ΛαʔόʔϨεͰ࡞ͬ ͯΈͨ
ͦͦ41"ͬͯ ඦઓ࿉ຏͳօ༷ʹ؆୯͗͢Δ͓ͩͱࢥ͍·͕͢ʜ w 41 8FC "ͷུশͰ͢ɻ
ͦͦ41"ͬͯ ඦઓ࿉ຏͳօ༷ʹ؆୯͗͢Δ͓ͩͱࢥ͍·͕͢ʜ w 4JOHMF1BHF 8FC "QQMJDBUJPOͷུশͰ͢ɻ
Ͱɺ4JOHMFͳΜͱ͔ͬͯԿΑ w ௨ৗͷ8FCΞϓϦը໘ͷભҠͷࡍʹϖʔδશମ ΛαʔόʔʹϦΫΤετ͠·͢ɻ w ͬͯͳΔͱ)5.-Β+4Β$44Βը૾Β શ෦ϩʔυ͠ͳ͓͠͠ͳ͖ΌͳΒͳ͍ɻ w ޮѱ͘ͳ͍
41"͡Όͳ͍ྫ 8JLJQFEJB ίϯςϯπͷ෦Ҏ֎ڞ௨͡ΌͶ ίϯςϯπͷ෦͚ͩσʔλऔಘͯ͠ॻ͖͑ͨΒϦΫ ΤετݮΒͤΔΜ͡ΌͶ ˠϢʔβʔͷମײతʹշ దʹͳΔΜ͡ΌͶ
41"ʹ͢Δͱ w ͚ࠩͩऔ͖ͬͯͨΓɺใΛΞϓϦଆʹૹͬͨ࣌ ʹͯ͢ͷཁૉ )5.-ࣗମɾ+4ը૾$44 ΛΛऔ ಘ͠ͳ͍͍ͯ͘ͷͰɺແବͳϦΫΤετ͕ݮΔ w Ϣʔβʔͷମײ্͕͕Δ w
αʔόʔͷෛՙݮΒͤΔ దʹ࡞ΕͯΕ Ͷʜ
Ͱɺ࡞ͬͯΈ·ͨ͠ w $#5 $PNQVUFS#BTF5FTUJOH ΞϓϦDMPCVUBΛ ։ൃͯ͠Έ·ͨ͠ɻ
DMPCVUBͬͯԿ w $#5 $PNQVUFS#BTF5FTUJOH γϛϡϨʔλʔ w Α͏ٖࢼݧΛίϯϐϡʔλʔͰΔౕ w ͱͱ$6*ͷͷ͕͋ͬͨͷΛ8FCͰͰ͖ΔΑ͏ʹ͠ ͔ͨͬͨɻ
w IUUQCVUBDMPOFLPDPNͰΞΫηεͰ͖·͕͢ɺಈ͖·ͤ Μ ޙड़ w ΫϥΠΞϯτଆͷίʔυ(JUIVCʹ͋Γ·͢ɻ IUUQTHJUIVCDPNDMPOFLPEBZT@OE
αʔόʔϨεଆڥ w ੩తϑΝΠϧͷ৴4 w σʔλͷ৴ ޙड़ "1*(BUFXBZܦ༝-BNCEB Ͱ4ʹ͋Δ+40/σʔλΛऔಘ w %/4αʔόʔ3PVUF
ΫϥΠΞϯταΠυ w ZFPNBOͷ"OHVMBS+4ͷδΣωϨʔλʔͰܗੜ w $P⒎FF4DSJQUͰهड़ w HSVOUͰσϓϩΠ༻σʔλͷੜ4ͷసૹ
ͬͯΔ͜ͱ w Γ͍ͨࢼݧΛબͨ͠Βσʔλ +40/ Λऔ ಘͯ͠ࢼݧͬͯɺ࠾͍ͯ͠Δ͚ͩͰ͢ɻ
ͬͯΔ͜ͱ w Γ͍ͨࢼݧΛબͨ͠Βσʔλ +40/ Λऔ ಘͯ͠ࢼݧͬͯɺ࠾͍ͯ͠Δ͚ͩͰ͢ɻ
"1*(BUFXBZ -BNCEBͰ ͬͯΔ͜ͱ w ࣄલʹύεϫʔυΛͬͯΔਓʹ͔͠σʔλͷ ϦΫΤετΛฦ͞ͳ͍Α͏ʹ"1*(BUFXBZܦ༝ͷ -BNCEBͰύεϫʔυνΣοΫΛߦͳ͏ɻ w ਖ਼͍͠ύεϫʔυ͕ϦΫΤετʹؚ·Ε͍ͯΕ σʔλ͕อଘ͞Ε͍ͯΔ4όέοτ͔Β+40/
ϑΝΠϧΛऔಘͯ͠ฦ٫͢ΔΑ͏ʹ͍ͯ͠Δɻ w ਖ਼ɺˢͷࣄ͕ແ͚Ε4Ͱ݁͠·͢ɻ
ྲྀΕ σʔλͷϦΫΤετ *% ύεϫʔυ *% ύεϫʔυ ύεϫʔυ͕ਖ਼͚͠Ε σʔλ +40/ ΛϦΫΤετ
σʔλ+40/ σʔλ+40/ σʔλ+40/ ͜Ε͕Γ͍͚ͨͩͳͷʹαʔόʔ্ཱͪ͛Δͷഅࣛഅࣛ͠ ͍Ͱ͢ΑͶ
"1*(BUFXBZ -BNCEBͰ Γ͍ͨ͜ͱ w Λσʔλϕʔεʹ֨ೲͯ͠ੳ͍ͨ͠ w Ͳͷ͕Αؒ͘ҧ͍ͬͯΔ͔ͱ͔ੳ͍ͨ͠ʜ w ઈࢍอཹதͰ͢PS[
"84ΛͬͯϋϚͬ ͨͱ͜Ζ
"84"1*(BUFXBZΛ ͬͯϋϚͬͨͱ͜Ζ
͠ΐͬͪΎ͏Εͯө͞ΕͶʔͬͯΩϨͯΔʜ
͍Ζ͍Ζղܾࡦ͋Δʜ w ઌఔͷηογϣϯͰग़ͨ4JNQMF"1*(BUFXBZͱ͔ 4FSWFSMFTT'SBNFXPSL͑Ͱ͖ΔΜʜPS[ w ౡ͞ΜͷηογϣϯIUUQXXXTMJEFTIBSFOFU,PJDIJSP/JTIJKJNB BXTMBNCEBJOHPMBOH w র͞ΜͷηογϣϯIUUQXXXTMJEFTIBSFOFUOBPUPUFSVZB TFSWFSMFTTGSBNFXPSLOPEFKT
͕ฦͤͳ͍ʜ w ౷߹ϨεϙϯεͰύεϫʔυ͕ ؒҧ͍ͬͯΔ࣌ʹ 'PSCJEEFO Λฦͦ͏ͱࢥͬ ͯΛฦ͢Α͏ʹઃఆ͢Δͱ Λฦ͞ͳ͍ ฦ͢
ʜ w Ҏ֎ͩͱͪΌΜͱಈ͍ͨ ͷͰɺෆຊҙ͚ͩͲʹ͠ ͯ·͢ʜ
αʔόʔϨεͬͯΈ ͯࢥͬͨ͜ͱ
αʔόʔͷҡ࣋͠ͳ͍͍ͯ͘ʜ w Πϯϑϥ͞Μతʹࢮ׆ࢹͨ͠Γɺαʔόʔͷε ςʔλεࢹͨ͠Γ͍Ζ͍Ζߟ͕͑ͪʹͳ͚ͬͯͨ Ͳɺ΄΅Կؾʹ͠ͳ͍͍ͯ͘ͷָɻ w ·͊ɺམͪͯͯͦΜͳʹจ۟ݴ͏ਓ͍ΔΑ͏ͳ ΜͰͳ͍͔ΒͶʜ w
%/4αʔόʔࣗͰ࣋ͭΑΓ3PVUFʹ·͔ͤͯ Δ΄͏͕ѹతʹָɻ͏Μɻ
ಛੑ͖ͪΜͱΒΜͱਏ͍ w -BNCEB·ͩૉͳײ͡ɻ w "1*(BUFXBZͳΜ͔͠ΐʔͳ͍ͱ͜Ͱͻ͔͔ͬΔɻ w ͋ͱṖɻཧղͰ͖ͳ͍͜ͱͳ͍͚Ͳɻ w "1*(BUFXBZ͍ͬͯ͏͘Β͍ͳͷͰ"1*Ҏ্ͷ͜ͱΛ͞ ͤΔͷଟແཧͳΜͩΖ͏ͳɻ
w 41"ͱ૬ੑ͍͍͔ɻ
·ͱΊ
·ͱΊ w αʔόʔϨεɺӡ༻ָɻख์͠Ͱͳ͍͚Ͳɻ w 41"ͱαʔόʔϨεͷ૬ੑΑͦ͞͏ɻ͚ͩͲ͏ ڥͷ͜ͱͪΌΜͱ͓ͬͯ͘ඞཁ͋Δɻ