0817
フロントエンドのテストをちまちま触っていた。結局いろいろのツールの使い分けが難しいが、playwrightは結合テストに使えばいいのかな。mswでルーティングのテストをするのはできたけど、nested routingって根本的にテストしづらいかもしれない。
そろそろバックエンドに戻ろうかな。Meilisearchを調べる。まあなんか面倒だったらElasticsearchのままでもいいけど。
寝ます。明日はぼっち・ざ・ろっく!の映画観に行くつもり。
フロントエンドのテストをちまちま触っていた。結局いろいろのツールの使い分けが難しいが、playwrightは結合テストに使えばいいのかな。mswでルーティングのテストをするのはできたけど、nested routingって根本的にテストしづらいかもしれない。
そろそろバックエンドに戻ろうかな。Meilisearchを調べる。まあなんか面倒だったらElasticsearchのままでもいいけど。
寝ます。明日はぼっち・ざ・ろっく!の映画観に行くつもり。
強めの台風が来ていたようだけど、言うほど風が強くはなかった。台風っていつもそうだなという印象が強い(が、それは地域差であったりなんだりに過ぎないのであろう)。
仕事でSQLのチューニングをした。いや、インデックスを張っただけのことをチューニングというのは誇大広告か。負荷試験をしてみて、DBのCPUがボトルネックになっていることがわかり、インデックスを張ってもまだ足りないとわかった。なのでスケールアップを進言する必要があるわけだけど、元々別に意図があってこうなっているわけでもなさそうだし、とりあえずはこれで解決できるのではないか。
夜はmswやらplaywrightやらをいじっていた。このへんもRemixで動かそうとすると大変な感じがある。一応動いたが、使いかたはまだ未定。VRTとか、やるか??
Rustのエコシステムは、バージョン0.xを名乗りがちなわりには案外簡単に使えるという印象なのだけど、Webフロントエンドは別にアルファ版ばかりではないはずなのにあまりそう思えない。まあ、単に僕がフロントエンドに土地勘がないだけで、慣れた人にとってはわざわざ調べたりしなくても雰囲気で繋げたりするのかもしれない。そうなのか?
寝ます。
そういえば今年って8月10日にオハイオって言わなかった気がするな。疲れてんのかな。
コンポーネントのテストを書いていけるかなと思っていたけどあまり進まず。一見単純なコンポーネントに見えてもLinkとかを使っているとRemixのスタブが必要になって……みたいなところでハマっていたり、結局コンポーネントのテストって何したらええねん!みたいなところで悩んでみたり。でもとりあえずロジックが関与している部分はDOMを検査しておけばいいのかな。あと最終的にはスナップショットを取ればいいか、とか。mswやE2Eは週末にお預け。
菜食主義の擁護(あるいは肉食の批判)において持ち出されることのある「種差別」という概念は、これは尤もらしい見た目をしているが、その他の「差別」概念のパロディに過ぎないと今は考えている。仮にその種差別なるものが解消された未来があったとしても、ヒト以外の生物はそのことを知ることはなく、単にヒトだけが差別撤廃ポイントを稼いでいるだけで、そのような概念に存在意義があるとは思いづらい(もしあるとすれば、科学技術によって、ヒトとして生まれて生きたあとで別の種の生物に変化する、というような生き方がされるようになった場合や、逆に別の種の生物として生まれてからヒトに「なる」という場合であろう)。
そのようなパズルめいた理屈を抜きにしても、動物愛護というのは結構なことであるから、食用の動物たちがあまりひどい目に遭わないようにしてほしいという気持ちは持ちうる。しかし、その道徳的な価値はそれほど高くはない、特に、他人に肉食をやめさせる程には(種差別のような強い道徳的非難のロジックによらない限り)高くはないだろう。たとえば募金や寄附は道徳的によいことだし、やればやるだけよいことでもあるが、実際に限界までそうするという人はあまりいないし、他人に強要するということも無理である。
とはいえ、こうして肉食を擁護してみても、世の中というのは案外あっさりと菜食に傾くのかもしれない。殺生というのはあまり清潔感のある行為ではない。
寝る。
なんか睡眠に失敗して3時間くらいしか寝られなかった。いや、実際は気づかず意識をなくしていた時間もあるだろうとは思うのだが、それをかき集めても5時間くらいだと思う。まあ5時間ならそうひどくはない。
また不眠か?と思ったが、単にエアコンの温度調整に失敗しただけではないかと思う。あと夜にコーヒー飲んだのもよくなかったのかもしれない。あまりカフェインの効果を感じたことはないけれど。
そういうわけで眠かった。ログをJSONにしたり細々した修正をしていた。
Vitestでテストを書き始めた。最初はPokuというやつが速くてナウいらしかったので試したのだけど、なんかRemixと一緒に使う方法がよくわからなかった?ので断念した。Webフロントエンドはこんなのばっかりだなと思う。選択肢の幅が無闇に広いのにライブラリの対応がどれも部分的で、すこし外れるとあれこれ躓く。iOS開発だったらあまりそういうことはないのに(Appleがすべてを支配しているから)。
たくさん躓きながらとにかく簡単なコンポーネントの動作を確認できるところまでは来た。あとはどうしたものか。mswとかを使うといい感じになるのか?それはまた明日。
たくさん寝なくては。
朝から健康診断に行った。鼻から胃カメラを入れた。前にやったときより喉に刺さる感じがあって痛かったから、前の人と前の前の人は上手だったのかもしれない。まあ、僕が忘れているだけの可能性もある(これがほんとの「喉元過ぎれば」だ)。
胃はとても綺麗だった。何も異常はないらしい。ただ幽門だか噴門だか、入口が閉じきらない問題があるらしく、これのせいで逆流しやすくなっているようだ。時々食べていると痙攣みたいになってしまうんですがと相談したら、早食いして空気が入ってしまうと膨れてそんな感じになってしまうのでは?と言われた。言われてみると嫌いなものを焦って食べようとすると起きがちな気がする。そもそも僕にとって食事というのはけっこうな割合でプレッシャーだ。
頻繁に下痢気味なんですけどという相談もしたのだけど、昔からそうなんだったらそれは「そういう腸」なんだと思います、とのことだった。思わず「そういう腸!」と言ってしまった。そういう腸なら仕方がないな!マジかよ!まあでもそのうち一度は下部消化管も検査した方がいいかもしれない。
身長がすこし伸び、体重がすこし減っていた。身長が伸びているのはいつもと違って午前中に測ったからかもしれない。実際どの程度差があるのかは知らないけれど。
仕事はログ出力と格闘していた。あまり時間を掛けたくはないが、転ばぬ先の杖というものなので、先に時間を掛けておかなくてはいけない。難しい。
夜は友人たちと食事をした。自己責任論について話したりした。
結局のところ、自由意志をフィクションとして捉えていると自己責任論を正当化する究極的な根拠というのはなくなってしまうわけで、そこで信仰の違いみたいなのがあるなと思った。一方で単にそれがフィクションだと叫ぶだけでも単なる虚無主義だと思うし、そういうフィクションがある程度役に立つ、現に役に立っているということにも注目しなければならないわけで、その中でどうやっていくかが課題だと思う。
僕は結局自分だけに自由意志を認めるという(普通の意味では狂った)建て付けでそれをある程度解決した気になっている。それは僕以外にとっては単なるフィクションであるが、他ならぬ僕自身にとってはやはり全身全霊でコミットすべき問題であり、フィクションをやっている皆さんとうまいこと折り合いをつけてやっていく(しかし、究極的には僕自身の人生は僕自身のものである)という、語り得ない立場である。それはなんか、逃げというか、不誠実な感じもするんだけど、でも結局誠実に生きてたら何なんだ?という諦念がどうしてもあり、そもそも道徳が実在しているなんて全然信じられない世の中で、それが実在するかのように過剰に適用する弊害ばかりが目立つ世の中で、そんなものにコミットしたくはない。
なにもかもをフィクションに過ぎないとニヒルになる必要はないし、なにもかもに正解があると難しく考える必要もない。一生懸命生きていればそれでいい。こうしてみるとすごくしょうもないことを言っているように見える。でも、しょうもないことを言うことと、しょうもないなりにちゃんと実践することとの間には雲泥の差がある。
寝るよ。
昨夜はなんか頭痛かった。久々に飲酒したせいか?
昼に起き、寝たり起きたりコード書いたりしていた。カレンダー部分をtableで作るのをやめてグリッドレイアウトにしたり、パフォーマンスチューニングをしたりした。あと、APIクライアントをまた変更した。フロントエンドのエコシステムは選定が難しすぎる。
つぎの課題はAtomフィードの生成で、前に見つけたライブラリではうまく現行の挙動を再現できないようなので困っている。うーん、これくらい自作すればいいのか?
あとそろそろエラーハンドリングも詳しく調べていかないとな。そもそもどうやるのがいいのか?
寝ます。明日は健康診断で胃キャメラを飲む。飲んだあとそのまま口から出てくる場合、トポロジカルには「飲む」でいいのか?
なんだっけ。昼に起きて、APIの実装を少しした。最近思ったけど、これはもうほとんど副業だな。だったら普通に副業をやって小銭を稼いだ方がいいのではという気もする。やらないけど。お金を稼ぐとなると責任が発生するからな。いつでも飽きられるものがいい。
寝ます。3連休が続くのはうれしいね。
大規模なリファクタをした。難産だったが少しはマシになった。まだ気に入らないことはあるけれど、エラーの情報量を維持する(しかも型安全に)にはこうするしかないのかな。仕事でやるならもっと洗練させないといけない気がする。うーん。
寝ます。なんかまた頭痛いな。
エラーハンドリングに悩んでいる。正確には、レイヤーを跨いだエラーの受け渡し。コントローラからアプリケイションロジックを呼ぶ時に、テスタビリティ的にはtraitになっているほうが嬉しいが、そうしてしまうと今度はコントローラからアプリケイションロジックのエラーの具体的な型を得るのが難しくなり、レスポンスエラーへのキャストもしづらいし、どうしたものか。アプリケイションロジックはtraitにするが、エラーの型は固定にするか。それもなんだか気味が悪いが。
結局、インフラ層のエラーをコントローラまでそのままリレーしてくる必要は全然なく、スタックトレースだけ取れればよいはずなのだから、そこをうまく妥協できる枠組みを考える必要があるだろう。もうすこし考えなくては。
寝ます。
昨夜はなかなか寝つけなくてしんどかった。最近はめったにこういうことはなくなってきたけど、たまになるとしんどい。
頭痛はだいぶ良くなった。仕事は激遅クエリがあったのでマテリアライズドビューを書いて対応した。これ便利やね。活用していきたい。
徐々にアクセス増えてきたから、パフォーマンスを注視しなくてはならない。頑張る。
blogのほうは細かなリファクタだけ。SeaORMが1.0になっていた。とりあえずはAPIを埋めて、それからフロントエンドのデザインにかかろう。でもエラーハンドリングとかまだ決めきれてないんだよな。うーん。
ツイッター学級会のルールには、ざっくりの傾向として厳罰化の一途を辿っている以外には一貫した基準など何もないように思われるのだが、参加している人たちはそれぞれにその基準があると信じている。しかし、毎度毎度アドホックに変形していくその基準は、天動説に付け加えられた周転円のように見えて少しおかしい。