Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
© YOUTRUST, Inc. All Rights Reserved. YOUTRUST編
Slide 2
Slide 2 text
© YOUTRUST, Inc. All Rights Reserved. 自己紹介 • 寺井 省吾 • 2023年4月に株式会社YOUTRUSTに入社 • バックエンドとフロントエンドの両方を実装 • 最近はGitHub ActionsやRuboCopなどを使った 開発フローの効率化に興味があります • Rubyのコミュニティ活動に関心があり、 Rails GirlsのCoachやKaigi on RailsのOrganizerをしています @krpk1900_dev
Slide 3
Slide 3 text
© YOUTRUST, Inc. All Rights Reserved. 目次 • サービスの紹介 • バックエンド全体の設計について • 通知処理の設計について -----------時間があれば希望に合わせて紹介----------- • モックを活用しているRSpecについて • 使用しているgemについて • ModelやControllerの数などのstatsについて
Slide 4
Slide 4 text
© YOUTRUST, Inc. All Rights Reserved. バックエンドの全体的な設計について • 問題点 • Fat Model、Fat Controller • 目的 • コードの見通しを良くするため • 解決策 • 参照系・更新系・通知系・それらが組み合わさったもので分 類して、配置する場所を分ける
Slide 5
Slide 5 text
© YOUTRUST, Inc. All Rights Reserved. バックエンドの全体的な設計について • 参照系 • Query(app/queries) • 更新系 • Command(app/commands) • 通知系 • Model(app/models/notifications) • 組み合わさったもの • UseCase(app/use_cases)
Slide 6
Slide 6 text
© YOUTRUST, Inc. All Rights Reserved. バックエンドの全体的な設計について • 参照系のアクション(index)の場合
Slide 7
Slide 7 text
© YOUTRUST, Inc. All Rights Reserved. バックエンドの全体的な設計について • 更新系のアクション(create, update, destroy)の場合
Slide 8
Slide 8 text
© YOUTRUST, Inc. All Rights Reserved. 実際にコードで解説!
Slide 9
Slide 9 text
© YOUTRUST, Inc. All Rights Reserved. 通知処理の設計について • YOUTRUSTでは、多くの通知処理を扱っている • サービス内通知(ユーザー通知) • プッシュ通知 • Slack通知 • メール通知 • 目的 • 見通しを良くしたい
Slide 10
Slide 10 text
© YOUTRUST, Inc. All Rights Reserved. 通知処理の設計について • 通知制御クラス • 通知詳細の呼び出しの条件判定など • 通知詳細クラス
Slide 11
Slide 11 text
© YOUTRUST, Inc. All Rights Reserved. 実際にコードで解説!