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
160
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 Speed Hackathonの出題から考えるデグレしないパフォーマンス改善
shuta13
1
77
なぜクラウドサービスで Web コンソールを提供するのか
shuta13
4
2.4k
5分でわかるPreactのVDOMで作るWebエディタ
shuta13
0
180
TailwindCSSでUIライブラリを作る際のハマりどころ
shuta13
0
670
codemodとうまく付き合うには
shuta13
0
2.4k
プライベートクラウドのコンソール画面をNext.jsのApp Routerでフルリプレイスした話
shuta13
4
940
CyberAgent Developer Conference(CADC) 2023 LP開発の舞台裏
shuta13
0
250
Turborepo Code Generationによる、サイバーエージェントグループのフロントエンド開発の効率化
shuta13
4
2.6k
Technologies for developing editors / Webエディタ開発を支える技術
shuta13
1
810
Other Decks in Technology
See All in Technology
Amazon Q と『音楽』-ゲーム音楽もAmazonQで作成してみた感想-
senseofunity129
0
160
Amazon S3 Vectorsは大規模ベクトル検索を低コスト化するサーバーレスなベクトルデータベースだ #jawsugsaga / S3 Vectors As A Serverless Vector Database
quiver
2
920
JAWS-UG のイベントで使うハンズオンシナリオを Amazon Q Developer for CLI で作ってみた話
kazzpapa3
0
110
事業特性から逆算したインフラ設計
upsider_tech
0
170
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
380
AWS DDoS攻撃防御の最前線
ryutakondo
1
170
生成AI活用のROI、どう測る? DMM.com 開発責任者から学ぶ「AI効果検証のノウハウ」 / ROI of AI
i35_267
3
110
Findy Freelance 利用シーン別AI活用例
ness
0
670
リリース2ヶ月で収益化した話
kent_code3
1
310
生成AIによるソフトウェア開発の収束地点 - Hack Fes 2025
vaaaaanquish
34
15k
Claude Codeから我々が学ぶべきこと
oikon48
10
2.8k
Amazon Qで2Dゲームを作成してみた
siromi
0
160
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
Embracing the Ebb and Flow
colly
86
4.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Visualization
eitanlees
146
16k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Cult of Friendly URLs
andyhume
79
6.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Scaling GitHub
holman
462
140k
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/
ご清聴ありがとうございました