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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
10
Railsエンジニアが始めるSRE
krpk1900
0
76
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
7
730
PRODUCT HISTORY CONFERENCE 2024の裏側
krpk1900
0
150
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
ジョジョの世界をXRで再現する
mofurune
0
130
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
390
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
320
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
300
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
480
Verilogで学ぶCPU自作入門.pdf
uyuki234
8
4k
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
130
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
160
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.1k
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
350
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
720
Kubernetes祭り #2 OP/ED
bells17
0
100
Featured
See All Featured
Done Done
chrislema
187
17k
Leo the Paperboy
mayatellez
10
2.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Mind Mapping
helmedeiros
1
390
How to build a perfect <img>
jonoalderson
1
6.1k
My Coaching Mixtape
mlcsv
0
340
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
610
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
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. 実際にコードで解説!