diary

0506

頭痛もだいぶよくなってきたので今日はいくらかコードを書いた。マクロでASTをどうこうする方針は捨てたので、まあ逆に一つのコンテキストオブジェクトさえあればみたいな感じになり、そこそこのリファクタも相まってけっこう見通しのいいコードになった日だったと思う。特にルーティング周辺の修正とか。やはりmain関数はシンプルに保っておくに越したことはないからね。

明日は設定画面関連の実装を終え、CSS芸人になりたい。ほぼほぼできているが、もう少し微調整が必要。


0505

なんかとてもぐっすり寝た。なんでかなと思ったけど単に眠剤を多めに飲んだからっぽい。寝るのはいいな、これはすこし精神的な不安定さを暗示しているが。

今日はお休みの日にしようと思っていたけれど結局すこしコードを書いた。ASTを加工して存在しない引数を生やすのとかはわりと簡単にできたが、よくよく考えると僕がやりたかったことはこの程度では実現できなかったので、いろいろ調べた結果あきらめてミドルウェアを書いた。まあこれ以外にもASTを書き換えたくなることはあるので、その時また挑戦しよう。


明日明後日も有給休暇。今日書いたミドルウェアをよしなに使っていくぞ。


0504

今日も今日とてコードを書くぞ、と思ってderiveマクロのワークショップを進めていたのだけど、また疲労がひどくなってしまったので中断して休んだ。頭痛が具体的にあるわけではなく、予兆現象だけがボンヤリとある状態がずっと続いていて、なんとなくメンタルかなという感じもする。実際精神的にも不安定だ。こういう時はとりあえずパソコンの前から離れるべきだと妻が助言してくれる。これは僕独りではできない判断のような気がする。

仕方がないので発達心理学の本を読んでいた。とりあえず認知機能発達の話はピアジェが全部やっていることがわかった。他者からの視点の獲得みたいなのが思ったより遅い。ほんとにこんなのが小学校上がるまで無理なのか。僕も無理だったのか?見たものではなく知ってるものを絵に描いてしまうのとかは覚えがあるけど。


この分だと明日も休む日に当てたほうがよさそう。やれやれ、ようやくASTをいじる手前の段階まで来たというのに……。


0503

昨日は「マクロで込み入ったことをするのは別の機会にしておこう」と言っていたはずなんだけど、今日になって設定画面とか作り始めたらやっぱりグローバルな状態ほしいんじゃんということになってしまい、結局マクロを勉強している。すごく親切なワークショップ形式のチュートリアルがあったのでderiveマクロを書いてみているが、楽しい。なんでもできんじゃんこれ。なんでもやるのはたいてい禍根を残すわけですが。

本当はもっと進捗を出したかったんだけど、片頭痛を発症してしまったので断念。頭痛がするだけならまだいい(よくはない)けど、閃輝暗点とかで視野がダメになるタイプの片頭痛らしく、これは作業や活動に支障を来すので困る。字も読めないし、自転車で買いものにも行けないし。これから先の人生はこれの制御を覚えることに費やされるのかと思うと暗い気持ちになる。まあ、年老いるというのはそういう暗い気持ちの積み重ねでもあろう。冥土の旅のなんとやら。


明日は回復していてほしい。バリバリがんばりたいので。


0502

ゴールデンウィークってあと半分くらいある?まだ全然ある?なんか何日目なのかもよくわかんなくなってきた。


最近は夜何時に寝ても朝は結局9時くらいに一旦目が覚めてしまう。まあでもさすがにそれでは寝不足であろうと二度寝とかもするんだけど。今日は11時くらいまでは粘ったかな。コーディングはやるべきことがいろいろあるんだけど、優先順位に迷った結果一番どうでもいい大規模リファクタリングをやってしまった。そういうこと、ある。なくしたい。リファクタリング自体はわりと上手くいっていて、だいぶ見通しのよい書きかたにできたので満足。Rust筋がこの数ヶ月でだいぶ発達した感じあるけど、今のところ別に使い途もないんだよな。仕事とかに生かせると理想的だけど、趣味開発以上のことに使うにはちょっとまだ早いかなという気もする。stableなバージョンのクレートだけで動かせるようになってからでないと厳しい。

Askamaのテンプレートは継承できるけど、テンプレートに渡す構造体は継承できないから、親テンプレートで定義されているパラメータも全部子テンプレートで定義しないといけないし、ログイン状態によって表示を変えたければそこも全部明示的に渡さないといけない。actix-webのmiddleware的に注入できたらいいなとも思ったけれど難しい。なので今はログイン状態で表示を切り替えるのは諦めているのだけど、これはマクロで解決できる気がする。つまり、actix-webに渡すハンドラをマクロに渡すと、ログイン状態の変数を格納する親テンプレートに埋め込んで返すようなハンドラに展開されるようにすればいいのではないか。Askamaがネストされたテンプレート展開に対応してるなら完璧なんだけど、そうでなくてもテンプレート展開が二度走る以外には問題なさそう。まあ今回は諦めたからそれを突っ込んで試すつもりはないけれど、そのうちマクロで込み入ったことをする時に試してみたい。

大まかなCRUDは整ってきたんだけどそれ以外のところがなかなかとっちらかっていて進まない。明日は設定画面をやるつもり。設定画面、昔はなんかいろんな項目を設定できるように作り込んでたけど、よく考えるとほぼ全部決め打ちでいいんだよな。まあ中二病みたいなものか。ははは。


0501

五月になったらしい。ここは五月病になるのが礼儀かと思ったが、五月病ってのは連休明けになるもののような気もする。まあでもな、春から新しい環境に移るわけでもないのに五月病になる道理もないしな。


午後にすこし買いものに行った。キッチン用品であったらいいなあと思っていたものをいくつかそろえた。フライパンのフタとか(大きいのがなかった)。おろし金も。これも一応あるけどダイコンとかおろす用のやつでニンニクとかおろしづらかったので。使うのが楽しみ。
広いキッチンに、様々なよい道具が揃っていたなら、料理はきっともっと楽しくなるのではないかと思う。道具を使いこなすのは楽しいから。いつも同じフライパンじゃあつまんないや。鉄鍋もほしい(食洗機だめそうだし邪魔だから買わない)。

帰ってからはコードを書いた。記事の編集と削除が動くところまで。テストも書いた。テストを書くのは面倒だなという気持ちはなかなか消えないが、とにかく書く習慣はついてきたかもしれない。ただモックを書くのがだるいなとかは思うよね。モックしづらいところのほうが不安なケースとかもあるし。そこはまあ、やれる範囲で。
これでCRUDは揃ったので、管理画面の機能をもう少し本格的に作っていく予定。あと、エラーを全部anyhowに丸め込んでいるけど普通に不健全なので考えたい。スマホ対応もしなくては。


今夜はもう寝る。もう四時じゃん。


0430

今日はまあ元気だったのでコード書いた。PostgreSQLのSERIALカラムに適切な初期値をセットするのに難儀していた。タイムゾーンの時にも思ったけども、SQLってあれ、標準化がされているような顔をしているけど別に全然されてないんですね。だるいぜ。

あとはbulk insertできるようにした。旧DBからの記事の移行がとても速くなった。最初は横着しててきとうにrayonで並行insertさせたらいいかなと思ってて、まあ実際それでもけっこう速くなったのだけど、やっぱり素直にbulk insertするのが早い。もっとも、インポートスクリプトなんて最初の一回しか使いはしない。

それと投稿フォームのCSSを書いたり。そこそこ見た目は整ってきたんだけど、Safariでどうも崩れる。もしかしてSafariって令和のIEなのか?まあ明日もうすこし調べる。


寝ます。そういえばNetflix入った。


0429

なんかこう、片頭痛が出たり薬飲んだら副作用のせいか元気なくなってしまったりで結局何もしていない一日。バジルの間引きはした。植物を育てるのは悪い気分ではない。なんか健康にもいい気がする。

今日マジでそれしか書くことないな。あ、テレビの録画に使ってたHDDの調子が悪くなってしまったのか録画ができなくなっている(しかし読み取りはできていそうなので訝しんでいる)。よく考えると2013年の暮れから使ってるはずだから、7年動いてたのか。それはまあ、壊れどきと考えて矛盾はないかな。新しいのを買おう。あとゴジラS.Pを録画し損ねてしまったからNetflixに入ろう。やれやれだ。