Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
【OPEN CODE】YOUTRUST サーバーサイド編
Search
Terai Shogo
October 02, 2023
Programming
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【OPEN CODE】YOUTRUST サーバーサイド編
【OPEN CODE #5】コードの中身を公開します! (
https://youtrust.connpass.com/event/295556/
)で発表した内容です。
Terai Shogo
October 02, 2023
More Decks by Terai Shogo
See All by Terai Shogo
インフラ、バックエンド、フロントエンドの すべてを最新にする方法
krpk1900
0
21
Railsエンジニアが始めるSRE
krpk1900
0
76
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
7
730
PRODUCT HISTORY CONFERENCE 2024の裏側
krpk1900
0
160
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
1.9k
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
1.2k
今日で分かる!カスタムコップの作り方
krpk1900
2
1.6k
SNS特有のタイムライン機能におけるYOUTRUSTの工夫点
krpk1900
0
100
技術的負債に対してカスタムコップでできること
krpk1900
0
830
Other Decks in Programming
See All in Programming
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
300
sbt 2.0: takeoff
eed3si9n
0
160
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
ActionController meets Protocol Buffers
sorah
0
520
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
カツオ、ご期待ください
suneo3476
0
190
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
すこし踏み込む CancellationToken
htkym
2
1.7k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
220
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
10k
Leo the Paperboy
mayatellez
10
2.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
550
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Crafting Experiences
bethany
1
380
Code Review Best Practice
trishagee
74
20k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Technical Leadership for Architectural Decision Making
baasie
3
600
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Designing for Performance
lara
612
70k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
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. 実際にコードで解説!