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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
katayama8000
October 17, 2025
0
4
Rust DDD
katayama8000
October 17, 2025
Tweet
Share
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
22k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
49k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
910
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
The Limits of Empathy - UXLibs8
cassininazir
1
210
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
410
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Become a Pro
speakerdeck
PRO
31
5.8k
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枚) 枚)