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
CADC 2023 LPにおけるライブ配信の裏側 | Momento Meetup #3
Search
did0es
July 25, 2023
Technology
0
130
CADC 2023 LPにおけるライブ配信の裏側 | Momento Meetup #3
Momentoを活用して実装を行った、CADC(CyberAgent Developer Conference) 2023 LPにおけるライブ配信の裏側についてお話します。
did0es
July 25, 2023
Tweet
Share
More Decks by did0es
See All by did0es
なぜクラウドサービスで Web コンソールを提供するのか
shuta13
4
2.3k
5分でわかるPreactのVDOMで作るWebエディタ
shuta13
0
150
TailwindCSSでUIライブラリを作る際のハマりどころ
shuta13
0
600
codemodとうまく付き合うには
shuta13
0
1.5k
プライベートクラウドのコンソール画面をNext.jsのApp Routerでフルリプレイスした話
shuta13
4
910
CyberAgent Developer Conference(CADC) 2023 LP開発の舞台裏
shuta13
0
220
Turborepo Code Generationによる、サイバーエージェントグループのフロントエンド開発の効率化
shuta13
4
2.5k
Technologies for developing editors / Webエディタ開発を支える技術
shuta13
1
770
天下一 静的サイトホスティング 武道会 / World Static Site Hosting Tournament
shuta13
0
350
Other Decks in Technology
See All in Technology
Writing Ruby Scripts with TypeProf
mame
0
180
Amazon CloudWatch を使って NW 監視を行うには
o11yfes2023
0
170
アジャイル脅威モデリング#1(脅威モデリングナイト#8)
masakane55
3
230
コスト最適重視でAurora PostgreSQLのログ分析基盤を作ってみた #jawsug_tokyo
non97
0
430
ElixirがHW化され、最新CPU/GPU/NWを過去のものとする数万倍、高速+超省電力化されたWeb/動画配信/AIが動く日
piacerex
0
150
Cross Data Platforms Meetup LT 20250422
tarotaro0129
1
690
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
210
AIと開発者の共創: エージェント時代におけるAIフレンドリーなDevOpsの実践
bicstone
1
320
React ABC Questions
hirotomoyamada
0
490
30代からでも遅くない! 内製開発の世界に飛び込み、最前線で戦うLLMアプリ開発エンジニアになろう
minorun365
PRO
11
3.3k
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
2
430
意思決定を支える検索体験を目指してやってきたこと
hinatades
PRO
0
190
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Facilitating Awesome Meetings
lara
54
6.3k
Navigating Team Friction
lara
184
15k
GraphQLとの向き合い方2022年版
quramy
46
14k
Site-Speed That Sticks
csswizardry
5
500
It's Worth the Effort
3n
184
28k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
None
株式会社サイバーエージェント フロントエンドエンジニア 平井 柊太 | Shuta Hirai @did0es @shuta13
CADC 2023について LPの概要 チャット機能の裏側 振り返り 01 02 03 04 CONTENTS
01 CADC 2023について
CADC 2023について 01 CADC = CyberAgent Developer Conference
CADC 2023について 01 ご視聴頂いた皆様ありがとうございました アーカイブはこちら:https://cadc.cyberagent.co.jp/2023
CADC 2023について 概要 ・2023 06/28 - 06/29の2日間開催 オンライン形式 YouTubeで配信 ・DAY
1 - NEXT 次世代を担う若手による2 ~ 30分の録画セッション ・DAY 2 - EXPERT 各分野のベテラン社員による約 1時間のライブセッション 01
02 LPの概要
LPの概要 02 TOP
LPの概要 02 Session
LPの概要 02 Admin
LPの概要 LPの目標 ・Web & 3DCGによる表現 Webの技術を活用した表現による技術的挑戦 ・ライブ配信 Momentoを活用した、ライブ配信 & 配信のモデレート環境開発
02
LPの概要 使用技術 ・基盤:Next.js LP・管理面共にNext.jsのSGで運用 ・UI:Three.js, TailwindCSS, daisyUI LP面はThree.js, TailwindCSS Admin面はdaisyUI
・インフラ:S3, CloudFront, Momento SGの成果物をS3, CFで配信 ライブ機能は全て Momentoで構築 02
03 チャット機能の裏側
チャット機能の裏側 03 チャット実装の裏側についてお話します
チャット機能の裏側 要件 ・匿名で投稿可能なライブチャット コメントの心理的なハードルをなくす LPで視聴・コメントの全てが収まるように ・管理画面によるモデレート 各セッションで運営からのアナウンスや、コメントの管理ができるように
03
チャット機能の裏側 03 アーキテクチャ
チャット機能の裏側 Momento Web SDKを用いた実装 ・適切な権限を付与したユーザーの作成 あらかじめMomento側で発行した、ユーザー/Admin用Tokenで作成 ・ルーム・コメントの作成や削除の実装 フォームなどのUIの実装 ルームの操作、削除はTokenでAdminだけに権限を絞っておく
・pub/subの実装 コメント・ルームの作成や削除を publishし、LP・Admin面でsubscribe 03
チャット機能の裏側 定義 ・@User → LPを使用する方 ・@Admin →CADC運営チーム
・@Common → User と Admin 共通 03
チャット機能の裏側 03 @Common - Cache/TopicのClient作成
チャット機能の裏側 03 @Admin - ルーム作成・削除のpublish
チャット機能の裏側 03 @Admin - ルーム更新のsubscribe
チャット機能の裏側 03 @Admin - コメント作成・削除のpublish
チャット機能の裏側 03 @User - コメント作成のpublish
チャット機能の裏側 03 @Common - コメント更新のsubscribe
チャット機能の裏側 03 実際の動作の様子
04 振り返り
振り返り まとめ ・Momentoを活用し、2人日ほどでコメント機能を実装できた Serverlessという強みを活かし、想定の 3 〜 5人日よりも遥かに短い期間で実装 ・複数のライブセッションの運用も問題なく進行できた 当日サポートいただいたMomentoの皆様、ありがとうございました
04
CADC 2023について 01 本日の内容はこちらのブログでもご覧になれます https://developers.cyberagent.co.jp/blog/archives/42887/
ご清聴ありがとうございました