0502
ゴールデンウィークってあと半分くらいある?まだ全然ある?なんか何日目なのかもよくわかんなくなってきた。
最近は夜何時に寝ても朝は結局9時くらいに一旦目が覚めてしまう。まあでもさすがにそれでは寝不足であろうと二度寝とかもするんだけど。今日は11時くらいまでは粘ったかな。コーディングはやるべきことがいろいろあるんだけど、優先順位に迷った結果一番どうでもいい大規模リファクタリングをやってしまった。そういうこと、ある。なくしたい。リファクタリング自体はわりと上手くいっていて、だいぶ見通しのよい書きかたにできたので満足。Rust筋がこの数ヶ月でだいぶ発達した感じあるけど、今のところ別に使い途もないんだよな。仕事とかに生かせると理想的だけど、趣味開発以上のことに使うにはちょっとまだ早いかなという気もする。stableなバージョンのクレートだけで動かせるようになってからでないと厳しい。
Askamaのテンプレートは継承できるけど、テンプレートに渡す構造体は継承できないから、親テンプレートで定義されているパラメータも全部子テンプレートで定義しないといけないし、ログイン状態によって表示を変えたければそこも全部明示的に渡さないといけない。actix-webのmiddleware的に注入できたらいいなとも思ったけれど難しい。なので今はログイン状態で表示を切り替えるのは諦めているのだけど、これはマクロで解決できる気がする。つまり、actix-webに渡すハンドラをマクロに渡すと、ログイン状態の変数を格納する親テンプレートに埋め込んで返すようなハンドラに展開されるようにすればいいのではないか。Askamaがネストされたテンプレート展開に対応してるなら完璧なんだけど、そうでなくてもテンプレート展開が二度走る以外には問題なさそう。まあ今回は諦めたからそれを突っ込んで試すつもりはないけれど、そのうちマクロで込み入ったことをする時に試してみたい。
大まかなCRUDは整ってきたんだけどそれ以外のところがなかなかとっちらかっていて進まない。明日は設定画面をやるつもり。設定画面、昔はなんかいろんな項目を設定できるように作り込んでたけど、よく考えるとほぼ全部決め打ちでいいんだよな。まあ中二病みたいなものか。ははは。