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
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ANGEL Dojo 最終発表資料
2022年に行われた ANGEL Dojo の、ゆめみチームの最終発表資料です。
ten986
December 01, 2022
More Decks by ten986
See All by ten986
ペアレビューは同期的でなくてもよくないですか?
ten986
2
160
自作のEsolangでQuineを書いてみた
ten986
0
310
【解説付き】自作のEsolangでQuineに挑戦してみた
ten986
0
220
Other Decks in Programming
See All in Programming
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
1
120
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
550
React本体のコードリーディング
high_g_engineer
1
130
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
210
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
3.9k
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
360
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
200
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
650
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
430
Android CLI
fornewid
0
210
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
240
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
The SEO identity crisis: Don't let AI make you average
varn
0
530
Mobile First: as difficult as doing things right
swwweet
225
10k
The SEO Collaboration Effect
kristinabergwall1
1
510
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Leo the Paperboy
mayatellez
8
2.1k
Optimizing for Happiness
mojombo
378
71k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
The browser strikes back
jonoalderson
0
1.4k
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ͷ֓ཁ • ཱྀߦεέδϡʔϧͷఏҊ • ͓͢͢ΊεϙοτͷఏҊ • ͓͠Γͷࣗಈ࡞ • ͓͠Γͷ֬ೝը໘ͰͰ͖Δ ॳΊͯͷॴͰ࣌ؒΛ࣋ͯ༨͢͜ͱͳཱྀ͘ߦΛຬ٤Ͱ͖Δʂʂ