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
560
ボクがハカチャンのボラスタるワケ(ハッカーズチャンプルー2018前夜祭LT)
cloneko
0
550
沖縄からAWS認定試験への道? LT - JAWS-UG on AWS Cloud Roadshow 2017 Osaka
cloneko
0
1.4k
ハッカーズチャンプルーでの LTのやり方、 そしてLTをすることによるその効果
cloneko
0
170
効果的な導運用のための Amazon Web Services 活用入門 を読んだ感想 - JAWS-UG 沖縄 2017/01 LT -
cloneko
0
170
F + IT から生まれる 距離と時間を越えた コラボレーション
cloneko
0
6.6k
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
心が動くエンジニアリング ── 私が夢中になる理由
16bitidol
0
100
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
Engineer Career Talk
lycorp_recruit_jp
0
190
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
160
TypeScript、上達の瞬間
sadnessojisan
46
13k
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
240
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
100
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
630
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
複雑なState管理からの脱却
sansantech
PRO
1
150
いざ、BSC討伐の旅
nikinusu
2
780
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Optimizing for Happiness
mojombo
376
70k
Teambox: Starting and Learning
jrom
133
8.8k
Building Adaptive Systems
keathley
38
2.3k
How to Ace a Technical Interview
jacobian
276
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
900
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
A Philosophy of Restraint
colly
203
16k
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"ͱαʔόʔϨεͷ૬ੑΑͦ͞͏ɻ͚ͩͲ͏ ڥͷ͜ͱͪΌΜͱ͓ͬͯ͘ඞཁ͋Δɻ