前提
開発領域
- WEBアプリケーションのバックエンド(APIサーバーとして)
技術
言語:Rust
フレームワーク:Actix-web
ORM:Diesel
本題
アプリケーションのディレクトリ構成
- main.rs
- models.rs
- handlers.rs
- schema.rs
APIサーバ製造にあたっての概観
テーブル設計
↓
モデル定義
↓
ハンドラー定義
↓
ハンドラー内のビジネスロジック定義
↓
URIとハンドラー関数のマッピング
最後に
趣味開発ではカチッとした設計をせずに動かしながら改善しているので、手戻りが物凄いです。
手数だけ増えて全然前に進んでいる感じがしないので、メンタル的に全然ヘルシーではないのですが、その分リアルタイムに実行と改善を回せている感覚があってそれはそれで楽しいです。
何度も修正を繰り返していく中で、この経験を抽象化して、どうゆうフローで自分は開発というオペレーションを実行しているのか、と考えたときに、本題にあるようなフローが思い浮かんだので言語化してみました。
基本的に開発フローはどの技術を使っていたとしてもそんなに差異がないものだと思います(あくまで技術は手段なので本質的な構造は普遍的だと思ってます)。
わざわざ書くまでもない分かりきったことですが、忘れっぽいのでメモっときます。