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
Loglassのバックエンドアーキテクチャについて
Search
HirokiChida
December 11, 2023
Programming
0
130
Loglassのバックエンドアーキテクチャについて
HirokiChida
December 11, 2023
Tweet
Share
More Decks by HirokiChida
See All by HirokiChida
チームが自己組織化してから敢えて専任スクラムマスターを置いてみたらめちゃめちゃワークした話 / How bringing in a Scrum Master to an already self-organized team totally worked out
hc0208
2
2.7k
Other Decks in Programming
See All in Programming
Jaspr Dart Web Framework 박제창 @Devfest 2024
itsmedreamwalker
0
140
テストケースの名前はどうつけるべきか?
orgachem
PRO
1
180
Compose UIテストを使った統合テスト
hiroaki404
0
120
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
120
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.2k
Fixstars高速化コンテスト2024準優勝解法
eijirou
0
170
php-conference-japan-2024
tasuku43
0
410
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
120
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
260
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
270
月刊 競技プログラミングをお仕事に役立てるには
terryu16
1
1.1k
Flatt Security XSS Challenge 解答・解説
flatt_security
0
590
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
74
9.1k
4 Signs Your Business is Dying
shpigford
182
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
A Modern Web Designer's Workflow
chriscoyier
693
190k
A better future with KSS
kneath
238
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
550
Mobile First: as difficult as doing things right
swwweet
222
9k
A Tale of Four Properties
chriscoyier
157
23k
Unsuck your backbone
ammeep
669
57k
KATA
mclloyd
29
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
How GitHub (no longer) Works
holman
312
140k
Transcript
2023/12/13 Backend Night 〜アーキテクチャ設計編〜 Loglassのバックエンドアーキテクチャについて
©2023 Loglass Inc. 2 自己紹介 Loglassのバックエンドアーキテクチャについて ▪ 名前 千田浩輝 ▪役職
エンジニアリングマネージャー ▪経歴 大学時代にベンチャー企業の立ち上げから参画し、テックリードと してSaaSの開発に従事。その後、大手 SIerにジョインし金融システ ムの開発からマネジメントまで幅広く携わり、 2022年6月から株式 会社ログラスにジョイン。 ▪SNS https://twitter.com/hc0208
©2023 Loglass Inc. 現状共有
©2023 Loglass Inc. 4 Loglassのバックエンドアーキテクチャについて
©2023 Loglass Inc. 5 Loglassのバックエンドアーキテクチャについて 概要 • DDD(ドメイン駆動設計)に力を入れている ◦ バックエンドの開発言語は
Kotlin ◦ フレームワークはSpring Boot • モノリスなアプリケーションを複数チームで開発している ◦ アーキテクチャについては見直していきたい • 内部のコードの品質は高い(と思っている)
©2023 Loglass Inc. アーキテクチャ
©2023 Loglass Inc. 7 Loglassのバックエンドアーキテクチャについて オニオンアーキテクチャ
©2023 Loglass Inc. 8 Loglassのバックエンドアーキテクチャについて 具体例 api/../UserController app/../UpdateUserUseCase domain/../UserRepository domain/../User
infra/../UserJDBCRepository domain/../Email
©2023 Loglass Inc. 9 Loglassのバックエンドアーキテクチャについて ドメインオブジェクトの書き方 旧 現在 Kotlinのdata classはequals,
hashCode, toString, copyなどのメソッドを自動で生成して くれる。 便利だが、copyメソッドを利用することでドメイ ンに書かれたルールを突破できてしまう可能 性がある。 現在はcopyメソッドを禁止するテストを書いて 実現している。 誰もが安全に使える形を目指している。
©2023 Loglass Inc. 10 Loglassのバックエンドアーキテクチャについて モデリングのやり方 以下の図を作成している • システム関連図 (s)
a. 開発するシステムと、関わりのあるアクターや外部システムとの関連を示す図 • ユースケース図 (u) a. ユーザーの要求に対するシステムの振る舞いを定義する図 • ドメインモデル図 (d) a. 簡易化したクラス図のようなもの • オブジェクト図 (o) a. ドメインモデルの具体例を記した図
None