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
ANGEL Dojo 最終発表資料
Search
ten986
December 01, 2022
Programming
0
880
ANGEL Dojo 最終発表資料
2022年に行われた ANGEL Dojo の、ゆめみチームの最終発表資料です。
ten986
December 01, 2022
Tweet
Share
More Decks by ten986
See All by ten986
ペアレビューは同期的でなくてもよくないですか?
ten986
2
150
自作のEsolangでQuineを書いてみた
ten986
0
250
【解説付き】自作のEsolangでQuineに挑戦してみた
ten986
0
160
Other Decks in Programming
See All in Programming
VS Code Update for GitHub Copilot
74th
1
560
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
GraphRAGの仕組みまるわかり
tosuri13
8
520
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
570
deno-redisの紹介とJSRパッケージの運用について (toranoana.deno #21)
uki00a
0
170
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
140
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
460
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
530
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
660
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
2
330
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
520
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Into the Great Unknown - MozCon
thekraken
39
1.9k
GraphQLとの向き合い方2022年版
quramy
49
14k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
720
Product Roadmaps are Hard
iamctodd
PRO
54
11k
A designer walks into a library…
pauljervisheath
207
24k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Designing for Performance
lara
609
69k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Documentation Writing (for coders)
carmenintech
72
4.9k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Transcript
ANGEL Dojo࠷ऴൃද ΏΊΈνʔϜ ※ Amazon Web ServicesɺAWSɺ͓Αͼ Powered by AWS
ͷϩΰɺ Amazon.com, Inc. ·ͨͦͷؔ࿈ձࣾͷඪͰ͢
࣍ • ղܾ͢Δސ٬՝ • αʔϏε֓ཁ • ΞʔΩςΫνϟઆ໌ • ಈ࡞σϞ •
νʔϜ։ൃͷ • ࠓޙͷల
ղܾ͢Δސ٬՝
ॳΊ͍ͯ͘ॴʹ ཱྀߦ͠Α͏ͱͨ࣌͠ɺ ͜Μͳ͜ͱͰΜͩܦݧ ͋Γ·ͤΜ͔ʁ
༧ఆͷ伱ؒ࣌ؒΛ Ͳ͏ຒΊΑ͏ ෳΞϓϦͰ ใΛ֬ೝ Ͳ͏͍͏ॱ൪Ͱ εϙοτΛ८Ζ͏ ཱྀߦͷܭըͷใ֬ೝ࣌ʹɺෳΞϓϦΛ༻͍Δ͜ͱ͕໘ ཱྀߦͷܭըͷใ֬ೝ࣌ʹɺ͕͔͔࣌ؒͬͯ͠·͏ ༷ʑͳใΛ ऩू͢Δඞཁ͕
Έ ༧ఆͷ伱ؒ࣌ؒΛͲ͏ຒΊΑ͏ ߦ͖͍ͨॴ͍͔ܾͭ͘·͍ͬͯΔ͕ɺ ͦΕҎ֎Ͳ͜ʹߦ͚͍͍͔ࢥ͍͔ͭͳ͍ ཱྀߦઌʹৄ͍͠ਓʹɺଞͷ͓͢͢Ί εϙοτΛฉ͚͍͍ʂ ۭ͖࣌ؒ ۭ͖࣌ؒ
Έ༷ʑͳใΛऩू͢Δඞཁ͕ ߦ͖͍ͨεϙοτͷใΞΫηεํ๏ɺ Γ͑ҊͳͲௐΔ͜ͱ͕ଟͯ͘େม ৄ͍͠ਓʹใऩूΛखͬͯΒ͓͏ʂ
Έ Ͳͷॱ൪ͰεϙοτΛ८Ζ͏ ͓ళͷӦۀ࣌ؒɺҠಈ࣌ؒɺҐஔؔͳͲ Λߟྀ͠ͳ͕ΒܾΊ͍ͯ͘ͷ͕େม ཱྀߦͷΤΩεύʔτʹ εϚʔτͳ༧ఆΛΜͰΒ͓͏ʂ Կ࣌ʹͲ͜ʹߦ͚Δ͔ ௐͳ͍ͱ͔Βͳ͍
ΈෳΞϓϦͰใΛ֬ೝ ΞϓϦΛΓସ͑ͨࡍʹ֬ೝͨ͠ใΛ ಄ʹೖΕ͓ͯ͘ඞཁ͕͋Γେม ཱྀߦͷܭըΛશʹѲ͍ͯ͠Δਓʹ ͍͖ͭͯͯΒ͍͍͑ʂ
ΈΛղফ͢ΔͨΊʹ ͜ΜͳཱྀߦͷΤΩεύʔτ͕͍Ε͍͍ʂ • ܭըஈ֊Ͱͷ͓͢͢ΊεϙοτͷఏҊ • ͷεέδϡʔϧͷఏҊ • ཱྀߦͷ͓͠Γ·Ͱ࡞ͬͯ͘ΕΔ ͜ΕΒ͕ͭͷΞϓϦͰ݁ͨ͠Βɾɾɾʁ
TRIPONE τϦϙϯ
αʔϏε֓ཁ
TRIPONE ॆཱྀ࣮ͨ͠ߦΛָ͠ΉͨΊͷ ཱྀߦͷΤΩεύʔτΞϓϦ • ܭըஈ֊Ͱͷ͓͢͢ΊεϙοτͷఏҊ • ͷεέδϡʔϧͷఏҊ • ཱྀߦͷ͓͠Γ·Ͱ࡞ͬͯ͘ΕΔ ॳΊͯͷॴͰཱྀߦΛຬ٤Ͱ͖Δ
※ϩέʔγϣϯͷը૾نʹଇͬͯ༻͍ͯ͠·͢
͓͢͢ΊεϙοτఏҊ ߦ͖͍ͨεϙοτΛೖྗ εϙοτΛબ ܭըʹΓͳ͍δϟϯϧͷ ͓͢͢ΊεϙοτΛఏҊ ※ϩέʔγϣϯͷը૾نʹଇͬͯ༻͍ͯ͠·͢
εέδϡʔϧఏҊ ։࢝࣌ؒɾऴྃ࣌ؒɾ ࡏ࣌ؒΛฤूՄೳ બ͓ͨ͢͢͠ΊεϙοτΛͱʹ Ҡಈ࣌ؒΛߟྀͨ͠εέδϡʔϧΛࣗಈͰఏҊ
TRIPONE͚ͩͰܭը͕Մೳʂ • ߦ͖͍ͨεϙοτΛબ͢Δ͚ͩͰ ༧ఆཱ͕ͯΒΕΔʂ • ࣗಈͰεέδϡʔϧͷఏҊ • Γ͍ͯͳ͍δϟϯϧͷ ͓͢͢ΊεϙοτͷఏҊ ※ϩέʔγϣϯͷը૾نʹଇͬͯ༻͍ͯ͠·͢
TRIPONE͚ͩͰ݁ʂ • ཱྀߦͷ͓͠ΓΛࣗಈͰ࡞ • λΠϜϥΠϯܗࣜͷ εέδϡʔϧ • ަ௨खஈϚοϓΛ ̍ը໘Ͱશͯ֬ೝ
TRIPONEͰཱྀߦΛຬ٤ʂ • TRIPONE͚ͩͰܭը͕Մೳʂ • TRIPONE͚ͩͰ݁ʂ • ॳΊͯͷॴͰ࣌ؒΛ ࣋ͯ༨͢͜ͱͳཱྀ͘ߦΛຬ٤Մೳʂ
༧ఆͷ伱ؒ࣌ؒΛ Ͳ͏ຒΊΑ͏ ෳΞϓϦͰ ใΛ֬ೝ Ͳ͏͍͏ॱ൪Ͱ εϙοτΛ८Ζ͏ ༷ʑͳใΛऩू ͢Δඞཁ͕ ͓͢͢ΊεϙοτఏҊͰ 伱ؒ࣌ؒΛຒΊΔ͜ͱ͕Ͱ͖Δʂ
ͭͷΞϓϦͰཱྀߦͷܭըΛ શͯྃͰ͖Δʂ εέδϡʔϧఏҊͰ࣌ؒͰ؆୯ʹ εέδϡʔϧΛ࡞Δ͜ͱ͕Ͱ͖Δʂ ͭͷΞϓϦͰཱྀߦͷεϙοτใ Γ͑ҊɺϚοϓΛ֬ೝͰ͖Δʂ
ΞʔΩςΫνϟઆ໌
ΞʔΩςΫνϟͷϙΠϯτ
ΞʔΩςΫνϟͷϙΠϯτ ϑϩϯτΤϯυ • /FYUKTͰ։ൃ • σϓϩΠ"NQMJGZ)PTUJOH • ϚοϓදࣔGCPͷGoogle Maps Platform
ΞʔΩςΫνϟͷϙΠϯτ όοΫΤϯυ • "QQ4ZODʹΑΔAPIཧ • -BNCEBɺ֎෦APIΛୟ͘ ෳࡶͳϩδοΫ • σʔλӬଓԽ%ZOBNP%#
ΞʔΩςΫνϟͷϙΠϯτ CI/CD • "NQMJGZ$POTPMFʹΑΔCI/CDͷࣗಈߏங • productionϒϥϯνʹϚʔδͨ͠ΒCI/CD͕Δ • CI/CDޙSlackʹ௨
AWS Well-Architected Λຬͨ͢ઃܭ ӡ༻ͷ༏लੑ ηΩϡϦςΟ ৴པੑ ύϑΥʔϚϯεޮ ίετ࠷దԽ Amazon CloudWatchやAWS
X-Rayを 用いた監視 クライアントから呼び出される部分 はAWS WAF・Amazon Cognitoで保護 マネージドサービスかつ サーバレスサービスで構成 ࣋ଓՄೳੑ AWS Well-Architected ϑϨʔϜϫʔΫ ϑϨʔϜϫʔΫͷ6ຊͷப ΑΓ
ΞʔΩςΫνϟͷϙΠϯτ ӡ༻ͷ༏लੑ ü "8493BZͰΞϓϦέʔγϣϯͷಈ࡞ੳ ü "NB[PO$MPVE8BUDI-PHT での監視 ü "NB[PO$MPVE8BUDI36. で
クライアント側のエラーも対応 ü "NB[PO 4/4 → "84$IBUCPU Ͱエラー࣌ʹӡ༻ऀ4MBDLʹ௨
Amazon CloudWatch RUM ϑϩϯτΤϯυͷཧ • Τϥʔ • ύϑΥʔϚϯε • Ϣʔβʔͷߦಈ
ΤϥʔΛSlackʹ௨ • Amazon CloudWatch • Amazon SNS • AWS Chatbot
ͰόοΫΤϯυͷΤϥʔΛ Slackʹ௨͢Δ
ΞʔΩςΫνϟͷϙΠϯτ ηΩϡϦςΟ ü "848"'を使用 ü "NB[PO$PHOJUPの使用 ü AWS KMSͱAWS Systems
Manager Paramater StoreΛ ซ༻ͯ͠APIΩʔΛ҉߸Խอଘ
ΞʔΩςΫνϟͷϙΠϯτ • ৴པੑ • ύϑΥʔϚϯεޮ • ίετ࠷దԽ • ࣋ଓՄೳੑ ʹ͍ͭͯߟྀ
ü ϚωʔδυαʔϏε ü αʔόϨεαʔϏε
ΞʔΩςΫνϟͷϙΠϯτ ϚωʔδυαʔϏεͱαʔόϨεαʔϏε Λ͏ར ü αʔόཧͷෛ୲ΛݮΒ͢ ü パフォーマンスが自動的に維持 ü ίετͷ࠷దԽ ü
ίϯϐϡʔλϦιʔε͕࠷దԽ͞ΕΔͷͰ ڥͷෛ୲͕ݮΔ
ΞʔΩςΫνϟͷϙΠϯτ
ಈ࡞σϞ
νʔϜ։ൃͷ
ேձ/༦ձͰԁͳίϛϡχέʔγϣϯ • νʔϜேձ༦ձΛ։͍ͨ • ใڞ༗ɺ࡞ۀํɾαʔϏε༰ͷೝࣝ߹Θͤ • ΞΠεϒϨΠΫͰࡶஊଅਐ • ʮٳΈͷͷ༧ఆʁʯʮࠓΓͨ͜͠ͱʯ
શһͰڞ༗͖͢ใͷՄࢹԽ • λεΫɺࢿྉΛ /PUJPOͰҰݩཧ • ͲΜͳ࡞ۀΛ͔ͨ͠ʁ ͕ޙͰ֬ೝͰ͖Δ • ੵۃతͳࢿྉɾυΩϡϝϯτͷ࡞ •
ேձ༦ձͷ༰ɺσβΠϯɺ"1*ઃܭɾɾɾ • ҉ͷྃղΛۃྗഉআ͢Δ
࣮ʹ͍ͭͯͷ • ϑϩϯτΤϯυ͔Β։ൃ͢Δ • ։ൃܦݧ͋Γ "84ܦݧͳ͠ͳͷͰ • ը໘͕͋Εೝࣝ߹Θָͤ • ϞϒϓϩͳͲ୲࡞ۀ
• dਓͰ࡞ۀͯ͠ਫ਼Λ্͛Δ
ࠓޙͷల
ϦϦʔεܭը Ќ൛ W WY • ཱྀߦͷΤΩεύʔτΞϓϦ ʮTRIPONEʯϦϦʔεʂ
• ؼΓཱྀߦͷΈରԠ • ෳఔͷཱྀߦʹରԠ • όάमਖ਼ • ͓͢͢ΊεϙοτఏҊػೳͷ ਫ਼্ • εέδϡʔϧఏҊػೳͷ ਫ਼্ • ͓͠Γͷڞ༗ػೳͷՃ • ࢥ͍ग़هػೳͷՃ • おすすめスポット提案に かかる時間の短縮
ϏδωεϞσϧ εϙϯαʔγοϓ Ø εϙϯαʔ͓͢͢Ίεϙοτʹදࣔ͞Ε͘͢ͳΔ σʔλϚωλΠζ Øར༻ऀ͝ͱͷཱྀߦσʔλを他の企業にఏڙ͢Δことで 対価として収益ΛಘΔ ܖྉ σʔλఏڙ ཱྀߦܥاۀ
TRIPONE τϦϙϯ
·ͱΊ ސ٬՝ • 伱ؒ࣌ؒΛ͍͍ײ͡ʹຒΊ͍ͨ • ޮͷྑ͍ॱ൪ͰεϙοτΛճΓ͍ͨ • ࣄલܭըͷใ֬ೝΛ ͭͷΞϓϦͰ͍݁ͨ͠ •
ܭըʹ࣌ؒΛ͔͚ա͗ͣɺαΫοͱ ऴΘΒ͍ͤͨ TRIPONEͷ֓ཁ • ཱྀߦεέδϡʔϧͷఏҊ • ͓͢͢ΊεϙοτͷఏҊ • ͓͠Γͷࣗಈ࡞ • ͓͠Γͷ֬ೝը໘ͰͰ͖Δ ॳΊͯͷॴͰ࣌ؒΛ࣋ͯ༨͢͜ͱͳཱྀ͘ߦΛຬ٤Ͱ͖Δʂʂ