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
【OPEN CODE】YOUTRUST サーバーサイド編
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Terai Shogo
October 02, 2023
Programming
0
220
【OPEN CODE】YOUTRUST サーバーサイド編
【OPEN CODE #5】コードの中身を公開します! (
https://youtrust.connpass.com/event/295556/
)で発表した内容です。
Terai Shogo
October 02, 2023
Tweet
Share
More Decks by Terai Shogo
See All by Terai Shogo
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
7
590
PRODUCT HISTORY CONFERENCE 2024の裏側
krpk1900
0
100
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
1.5k
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
980
今日で分かる!カスタムコップの作り方
krpk1900
2
1.4k
SNS特有のタイムライン機能におけるYOUTRUSTの工夫点
krpk1900
0
66
技術的負債に対してカスタムコップでできること
krpk1900
0
700
サービスを軌道に乗せるまで一人でやったすべてのこと
krpk1900
21
8k
RailsアプリでのCQSの運用を支える仕組みと文化
krpk1900
0
140
Other Decks in Programming
See All in Programming
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
120
Package Management Learnings from Homebrew
mikemcquaid
0
210
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
20
6.9k
今から始めるClaude Code超入門
448jp
8
8.5k
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
Implementation Patterns
denyspoltorak
0
280
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
260
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
6k
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
200
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
180
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
140
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Paper Plane
katiecoart
PRO
0
46k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
580
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
90
Faster Mobile Websites
deanohume
310
31k
Music & Morning Musume
bryan
47
7.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Claude Code のすすめ
schroneko
67
210k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Transcript
© YOUTRUST, Inc. All Rights Reserved. YOUTRUST編
© YOUTRUST, Inc. All Rights Reserved. 自己紹介 • 寺井 省吾
• 2023年4月に株式会社YOUTRUSTに入社 • バックエンドとフロントエンドの両方を実装 • 最近はGitHub ActionsやRuboCopなどを使った 開発フローの効率化に興味があります • Rubyのコミュニティ活動に関心があり、 Rails GirlsのCoachやKaigi on RailsのOrganizerをしています @krpk1900_dev
© YOUTRUST, Inc. All Rights Reserved. 目次 • サービスの紹介 •
バックエンド全体の設計について • 通知処理の設計について -----------時間があれば希望に合わせて紹介----------- • モックを活用しているRSpecについて • 使用しているgemについて • ModelやControllerの数などのstatsについて
© YOUTRUST, Inc. All Rights Reserved. バックエンドの全体的な設計について • 問題点 •
Fat Model、Fat Controller • 目的 • コードの見通しを良くするため • 解決策 • 参照系・更新系・通知系・それらが組み合わさったもので分 類して、配置する場所を分ける
© YOUTRUST, Inc. All Rights Reserved. バックエンドの全体的な設計について • 参照系 •
Query(app/queries) • 更新系 • Command(app/commands) • 通知系 • Model(app/models/notifications) • 組み合わさったもの • UseCase(app/use_cases)
© YOUTRUST, Inc. All Rights Reserved. バックエンドの全体的な設計について • 参照系のアクション(index)の場合
© YOUTRUST, Inc. All Rights Reserved. バックエンドの全体的な設計について • 更新系のアクション(create, update,
destroy)の場合
© YOUTRUST, Inc. All Rights Reserved. 実際にコードで解説!
© YOUTRUST, Inc. All Rights Reserved. 通知処理の設計について • YOUTRUSTでは、多くの通知処理を扱っている •
サービス内通知(ユーザー通知) • プッシュ通知 • Slack通知 • メール通知 • 目的 • 見通しを良くしたい
© YOUTRUST, Inc. All Rights Reserved. 通知処理の設計について • 通知制御クラス •
通知詳細の呼び出しの条件判定など • 通知詳細クラス
© YOUTRUST, Inc. All Rights Reserved. 実際にコードで解説!