0807
天候:晴れ?それほど暑くなかった気がする。
体調は悪いが仕事はした。先週取り組んで悩んでいた部分は思ったよりすんなり解決したので安心。しかしそろそろ切りの良いところで中断して別のプロジェクトへ移らねばならない。気乗りがしない。
寝ます。
天候:晴れ?それほど暑くなかった気がする。
体調は悪いが仕事はした。先週取り組んで悩んでいた部分は思ったよりすんなり解決したので安心。しかしそろそろ切りの良いところで中断して別のプロジェクトへ移らねばならない。気乗りがしない。
寝ます。
天候:晴れ、一時夕立。
倦怠感のある日。熱などはないのでリフォームの打ち合わせはした。結局は現地で測量しないと何にもわからんねという様相を呈してきた。しかし現地へ行けるのは2週間ほど先になる見込み。
allegroの実装はあまり進まず。アクセストークンの永続化が思ったより面倒な気がする。まあ、そんなに難しく考えなくてもいいのかな…… アプリケイションとアカウントでIDが被るとまずい実装になっていそうなので、それは治したほうがいいのかな?いや、なってないか?
寝ます。
風邪っぽいので伏せっている時間が長かった。天気は不明。でも暑かったし晴れだと思う。
カスタムスキーム大文字小文字問題は、RFCを読んだら単純な文字列比較で判定すべしとあったのでそのように修正した。oxide-authのRegisteredUrlはfmt::Displayを実装するときには一度Url::parseを経由するので正規化されるが、as_str()を呼ぶと内部の文字列表現をそのまま返すのでそっちを使うべきっぽい。もっとも、文字列比較の部分はともかく、macOSのカスタムスキームが大文字小文字を区別するっぽい?ことも問題だとは思うけれども。iOSもそうだっけ?
ともあれこれでようやくIvoryと通信できるようになった。まだトークンの検証とかはやっていないけど。あとちゃんとトークンの永続化もやらないといけないな。そうだ、忘れてたわ。またテーブル増やさないと。
寝ます。はやく良くなりたい。伏せっていても別に早く良くなるという気はしない。祈りだ。
晴れていたと思う。すこし曇っていたかもしれない。でも西日がきつかったから晴れかな。
仕事ではPHPUnitの導入をしていた。いや、導入ははじめからされているのだが、再導入というか。Laravel wayにちゃんと乗り直すというか。こうやってすこしずつ普通の子になっていけたらいい。
夜は高級ソファを見たり座ったりした。なかなか良かった。値段も高級なわけだが、長く使えるしね、と思った。
しかしソファなんかよりまず間取りが確定していないことをどうにかしなくては。
allegroはようやくOAuthクライアントのレジストラの実装をした。ただサンプル実装をDBに乗せただけなので、いろいろわからないことがある。これはたぶんRFCを読まないとダメだろうな。はあ。
Ivoryから呼び出してみたのだが、微妙にエラーが出る。redirect_uriにカスタムスキームURLが渡されているのだが、そこに大文字が入っているせいで、サーバー側で正規化されて小文字に変わっており、文字列比較で一致しなくなっているらしい。マジか。こういう場合どうするのが適切なのか調べないと。それにしてもIvoryはなんかイレギュラーな動作が多い気がする。いきなりmultipartでPOSTしてくるし。
寝ます。なんか風邪気味な気がする。しょんぼり。
天気は晴れ。ランチに外出したら暑くて死ぬかと思った。ベランダに水撒きをするようにしてからアボカドの成長が早くなっている気がする。
型パズル2を解決したが型パズル3が現れた。まあこれはパズルというか、MutexGuardをawaitを越えて持つとデットロックのリスクがあるという話だった。いろいろ考えたがこれはawaitの源泉が可変借用を引数にとる限り本質的にどうにもならなさそうで、仕方ないからtokio::sync::Mutexを使うようにした。でもそれなら型パズル2は考えなくて良かったんじゃないか。というかMutexGuardをSendにしても良いことないな。わざわざやらなくても良かったんだ。
寝ます。仕事の後にリフォームの打ち合わせを2つも入れたから疲れた。リモート会議が普及したことで、外出のコストは下がったが、その分会議は増えている気がするよな。こんなものが「生産性の向上」なんだったら、そんなもんやめちまえと思わなくもない。
たぶん晴れていたと思う。暑かった。ただ今日は外に出ていないので詳しくは知らない。
仕事はDockerfileを書いていたら終わった。本職のバックエンドエンジニアとしてはまだ駆け出しだから(とはいえもう2年近いのだが)、Laravelを本番環境で動かす設定をするだけでも結構ハマる。最終的にはすごい凡ミスで時間を無駄にしていたことがわかってがっかりした。まあ、そんなこともあるさ。
allegroの開発もした。型パズル2、parking_lotのMutexGuardはデフォルトではSendにならないというだけの話だった。フィーチャフラグで切り替えられたのでとりあえずコンパイルは通るようになった。めでたしめでたし。解決してみるとこれもわりと凡ミスだったな。ただ、コンパイラはこういう時に「Sendがないぞ」とは言ってくれなくて、そこはしんどかった。awaitを書いたら通らなくなるのは要するにそういうことだ、と初手で当たりをつけられたらよかったのだが。
寝ます。
8月は雷雨とともに幕を開ける。曇っているなと思っていたらあれよあれよと雷鳴が轟くようになる。雷は苦手だ。会議で話しているときに何度かびっくりしてしまった。
Laravelに外部から環境変数を渡すのは実は骨が折れるというか、.envに書かないで渡すためにはno-reloadオプションが必要らしい。なんでかなー。
夜はRust型パズルをずっとやっていた。昨日悩んでいたところは結局当初思っていたようには直せなかったが迂回できた、のだが別のところで詰まっている。どうもどこかでSendが消えているせいでそれをキャプチャしたFutureがaxumのハンドラとして使えなくなっているようなのだが……。なぜなのか……。
寝ます。夜更かししすぎでしょ。
月曜日。眠い。天気は晴れ。朝起きたらすでに室温が31.7℃だったので、死ぬのかなと思った。思っていない。
仕事はなんかレビューとかしてたら終わった。最近なんかチームの会議増えがちな気がしていて、ふうむと思っている。はっきり無駄だと断じられるものも思いつかないのだけど。
allegroはまた型パズルで詰まっている。oxide-auth-asyncが公開しているtraitが、十分なimplを実装していない。たとえばT: Registrarに対して&'a T: Registrarとか。これがないと不便なのだが、なんでないのかな。async絡みの事情で無理だったりするんだろうか?PR出してみようか?
寝ます。
昼に起きて、リフォームのオンライン相談など。いろいろ質問をされて、簡単な見積もりが出てくるらしい。ここにきて、戸棚の色とか何にも考えてないことが明るみに出た。ふーむ。
それにしても、休みの日まで会議とはどういうことなのか。
夜は少しだけallegroの実装を触ったが、また型パズルで困っている。うーん。
寝ます。
天気は晴れ。メチャ暑いけれどもショウルーム行脚ふたたび。前回より具体的なイメージを持ちながら見られたので良かった。
夜はずっとピクミンやってた。ダンドリチャレンジは面白いな。こういう課題に自分を最適化していくのは好きだ。
コードはあまり書いていない。また設計の困難を感じてきた。難しい。
寝ます。明日は水回り設備のオンライン相談。