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
150
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
3.5k
Other Decks in Programming
See All in Programming
ライブ配信サービスの インフラのジレンマ -マルチクラウドに至ったワケ-
mirrativ
1
240
バイブコーディングの正体——AIエージェントはソフトウェア開発を変えるか?
stakaya
5
960
物語を動かす行動"量" #エンジニアニメ
konifar
14
5.2k
AIエージェント開発、DevOps and LLMOps
ymd65536
1
200
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
2
220
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
100
Introduction to Git & GitHub
latte72
0
110
Flutterと Vibe Coding で個人開発!
hyshu
1
250
Understanding Kotlin Multiplatform
l2hyunwoo
0
260
コンテキストエンジニアリングで変わるAI活用 リファクタリングワークフローの実践から学んだ形式知
leveragestech
0
100
あのころの iPod を どうにか再生させたい
orumin
2
2.5k
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
1
1.9k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Making Projects Easy
brettharned
117
6.3k
Building Applications with DynamoDB
mza
96
6.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
770
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Automating Front-end Workflow
addyosmani
1370
200k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
4 Signs Your Business is Dying
shpigford
184
22k
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