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
160
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
Kiroで始めるAI-DLC
kaonash
2
580
Swift Updates - Learn Languages 2025
koher
2
470
AI時代のUIはどこへ行く?
yusukebe
18
8.8k
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.6k
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
140
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
110
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
300
AWS発のAIエディタKiroを使ってみた
iriikeita
1
180
Rancher と Terraform
fufuhu
2
240
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.8k
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
Featured
See All Featured
Building an army of robots
kneath
306
46k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Writing Fast Ruby
sferik
628
62k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Side Projects
sachag
455
43k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Building Adaptive Systems
keathley
43
2.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Optimizing for Happiness
mojombo
379
70k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
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