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
Rust DDD
Search
katayama8000
October 17, 2025
0
4
Rust DDD
katayama8000
October 17, 2025
Tweet
Share
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Agile that works and the tools we love
rasmusluckow
331
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Navigating Team Friction
lara
192
16k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
GraphQLとの向き合い方2022年版
quramy
50
14k
How GitHub (no longer) Works
holman
316
140k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
Transcript
Rust DDD - 1 Rustと とDDDで でAPIサーバーを構築する サーバーを構築する
Rust DDD - 3 ・ ・katayama8000 ・ ・Nulab Inc ・音楽
・音楽/ラジオ ラジオ/猫 猫/海外旅行 海外旅行
Rust DDD - 2 目次 目次 ・ゴールの共有 ・ゴールの共有 ・環境構築 ・環境構築
+ FWの紹介 の紹介 ・本題 ・本題 ・まとめ ・まとめ
Rust DDD - 1(1) 勉強会のゴール 勉強会のゴール ・ ・Rustと とDDDで でAPIサーバーを構築する
サーバーを構築する 全体像の理解 全体像の理解 ・コントリビュート等でアウトプットで ・コントリビュート等でアウトプットで きるようになる きるようになる
Rust DDD - 4 環境構築 環境構築 https://github.com/katayama8000/axum-ddd-rust
Rust DDD - 5 axumについて について ・ ・tokioチームが開発している チームが開発している ・
・RoRのようなフルスタック のようなフルスタック FWではなく、薄い ではなく、薄いFW ・後発 ・後発FWながら、スターの伸 ながら、スターの伸 び率は高い び率は高い https://github.com/tokio-rs/axum
Rust DDD - 6 大学がサークルを管理する 大学がサークルを管理するAPI を開発してみよう を開発してみよう
Rust DDD - 6(1) ※今回使用するコードは完成されたも 今回使用するコードは完成されたも のではないです。解説中に不具合等に のではないです。解説中に不具合等に 気がつくかもしれませんので多めに見 気がつくかもしれませんので多めに見
てください。コントリビュートしてい てください。コントリビュートしてい ただけると喜びます ただけると喜びます
Rust DDD - 7
Rust DDD - 8 ビジネスロジック ビジネスロジック - サークルを作成できる - サークルには代表者が必要
- 3 年生のみ、サークルの代表者になれる - サークル作成には最低でも1人必要 - サークルを更新できる -メンバーを追加できる - 4 年生は、追加できない - サークルはメンバーの最大人数が決まっている - メンバーを削除できる - オーナーは削除できない - 4 年生は、卒業する
Rust DDD - 9 ドメインレイヤー ドメインレイヤー 集約ルートになる Circle と、集約内の メンバーを表す
Member の 2 つのエン ティティから構成される
Rust DDD - 10(1) ドメインレイヤー ドメインレイヤー src/crates/domain/src/aggregate/circle.rs https://github.com/katayama8000/axum-ddd- rust/blob/main/src/crates/domain/src/aggregate/circle.rs
Rust DDD - 10(2) ドメインレイヤー ドメインレイヤー src/crates/domain/src/interface/circle_repository_interface.rs https://github.com/katayama8000/axum-ddd- rust/blob/main/src/crates/domain/src/interface/circle_repository_interface.rs
Rust DDD - 11 インフラストラクチャーレイヤー インフラストラクチャーレイヤー src/crates/infrastructure/src/mysql/circle_repository.rs https://github.com/katayama8000/axum-ddd- rust/blob/main/src/crates/infrastructure/src/mysql/circle_repository.rs
Rust DDD - 11 アプリケーションレイヤー アプリケーションレイヤー src/crates/usecase/src/create_circle.rs https://github.com/katayama8000/axum-ddd- rust/blob/main/src/crates/usecase/src/create_circle.rs
Rust DDD - template2(2) プレゼンテーションレイヤー プレゼンテーションレイヤー src/crates/main/src/app.rs https://github.com/katayama8000/axum-ddd- rust/blob/main/src/crates/main/src/app.rs src/crates/main/src/handler.rs
https://github.com/katayama8000/axum-ddd- rust/blob/main/src/crates/main/src/handler.rs
Rust DDD - 13 開発中に感じたメリット 開発中に感じたメリット ・責務が分かれていることによって変更に強い ・永続化先を インメモリ ->
MySQL ・ FWを actix-web -> axum ・テストが書きやすい ・各レイヤーごとにテストが書ける ・crate を簡単に作成できるので、依存関係がわかりやすい
Rust DDD - 13(2) コントリビュートのすゝめ コントリビュートのすゝめ まだまだ不完全な箇所が多いコードだと思います。 いくつかIssueを立てたので、ぜひコントリビューションをしてみてください。 PRいただきましたら、なるべく早くレビューします! https://github.com/katayama8000/axum-ddd-rust/issues
Rust DDD - 13(3) ご清聴ありがとうございました! ご清聴ありがとうございました!
Rust DDD - template title
Rust DDD - 1カラム カラム 見出し 見出し 本文
Rust DDD - 画像 画像
Rust DDD - 画像( 画像(2枚) 枚)
Rust DDD - 画像( 画像(3枚) 枚)