1109
技術選定ミスったわ〜という気持ちが高じたので軌道修正を試みている。具体的にはCloudflare Workersを剥がす。普通にRemix serveをDocker Composeで動かすほうが、平均では劣るけど最悪パフォーマンスではだいぶマシになるのではないか。そのあたりが実際どうなのかを確認する必要がある。骨が折れるけれど。
すべてを断念してAskamaに戻るみたいな選択肢もなくはない。絶対やりたくないけど。でも真にパフォーマンスを追求するならそうなるんだよな。
寝ます。はー。
技術選定ミスったわ〜という気持ちが高じたので軌道修正を試みている。具体的にはCloudflare Workersを剥がす。普通にRemix serveをDocker Composeで動かすほうが、平均では劣るけど最悪パフォーマンスではだいぶマシになるのではないか。そのあたりが実際どうなのかを確認する必要がある。骨が折れるけれど。
すべてを断念してAskamaに戻るみたいな選択肢もなくはない。絶対やりたくないけど。でも真にパフォーマンスを追求するならそうなるんだよな。
寝ます。はー。
見積もりよりは会議で仕様の議論してるほうがずっと楽しい。というか僕は単純に見積もりが下手だなと思う。訓練が足りない。結構やってきたはずだけど、フィードバックが機能していない気がする。そもそも見積もりってどうやるんだ?
Cloudflare Workersはキャッシュがそれなりに動くようになった。いくつか問題もある。まずブラウザにもキャッシュされてしまう問題。これはなんかヘッダーをいい感じにする必要がある。それから、キャッシュの無効化は難しかった(有効なキーを列挙しようとすると落ちる?)のでバージョンをキーにつけることにした。バージョン番号の保存のためにKVを使うことにしたが、今度はこれのコールドスタートが遅い。これもキャッシュがあるのでマシにはなるが、なんかこう、技術選定に失敗した感が強い。
Cloudflare Workers、に限らずエッジワーカーは、頻繁にアクセスが来る環境において平均のレスポンス時間を最適化するものであって、たまにしかアクセスがない環境だとコールドスタートのデメリットが大きい気がする。これは学びだったが、どうしようか……。
速度のことだけを考えるならAskamaでレンダリングして返すのが明らかに一番速く、最短10msとかで返ってくる。これはCDNとかではなくさくらのVPSを呼んでいるから、地域によってはもっと遅いだろうが、こんなblogを日本国外の誰が読むのかという話である。
Cloudflareを断念してVPSでRemixを動かせばいいのか?あるいはSPAモードか?いろいろ考えなくては……。
寝ます。
仕事は最近見積もりとか調整ばかりやっている気がする。開発も少しはやっているか。停滞を感じるし、有り体にいえばつまらない。耐えの時期である。
転職して半年、いまだに仕事が面白くなったことがないことに多少危機感がある。プレイヤーとしての経験は多少積めているけど、それをしに来たんじゃないんだよ。
Cloudflare Workersのキャッシュが効かない問題は、単にSet-Cookieヘッダがある場合はキャッシュを保存しないという仕様のせいだった。一応動くようになった。ログイン状態とそれ以外とで微妙に表示内容が変わるから、キャッシュキーを切り換える必要があったりしてすこし面倒。
あとは新規記事投稿時のキャッシュ無効化だけど、これはそんなに難しくない気がしている。普通にCache APIをクリアすればいいのかな。実験が必要。
寝ます。
今日も会議が多い。なんか今日は仕事で褒められることが多かったので嬉しい。もっとも、もう「褒められる」ような年齢でもポジションでもなく、単にちゃんと仕事をしていたら有り難がられたという話なのだが、いずれにしても嬉しい。まだこの脳は錆びきってはいない。
アメリカ大統領選挙があり、トランプ氏が当選したらしい。まあ正直なところマジかよという感じ。完全に陰謀論者の(元気な)老人という認識になっていた。
それほどまでにあちらで(も)リベラルが嫌われているのか?と解釈するのはたぶん違ってて、単に民主党が候補者選びでグダった結果と理解するのが一番穏当なのかなという霊感がある。たぶんアメリカ大統領選挙は日本のどんな選挙とも違っていて、アナロジーで理解しない方がよさそうだ。もっとも、仮にそうだとしても、候補者選びでグダったくらいで陰謀論者の(元気な)老人が当選するのか……というアレはあるけれども。
夜は会社の人たちとオンラインで飲んだ。料理とお菓子作りは似ているようで根本的に違うという気づきがあった。料理で多用される「適量」「少々」などの表現は、お菓子作りにはあまり現れない(と、思う)。お菓子作りは意図しかないが、料理は(いろいろグラデイションはあるにせよ)もっと雑である。それは本質的に生活に属するものである。
あとCloudflareもいじっていた。とりあえずキャッシュをとるコードを書いてはみたものの、今のところ正しく動いていない。ヒットしない。ググって出てきたのと同じようにやっているつもりなのだが、なぜだ?
寝る。明日は絶妙な時間に頭痛外来に行く。だからまあ一度出勤してからかな。
いささか二日酔い気味。そんな飲んだっけ?
会議が5個とか入ってるのも最近あまり驚かなくなってきた。会議の合間に見積もりなどをした。
Cloudflare Workersでレスポンスキャッシュをする方法を調べている。ワーカーを2つに分けてキャッシュ返す用とRemix動かす用にするみたいなことをしているblog記事もあるのだけど、それが本当に必要なのかはよくわからないので一旦は1つでやってみようと思う。しかしいきなり型情報が合わなくて詰まる。難儀である。
Cloudflareまわりも、いろいろ日々変わっているためか正確な情報を得るのが難しい印象がある。そういえばStatic Assetsでキャッシュコントロールヘッダーを変更するのはできないらしかった。今はmax-ageが0だけど、それでいいのか?
寝ます。
妻が食べたいと言ったのでほこらんさんを家に招いてラーメン二郎の再現をするなどした。ほこらんさん曰く別物らしいが妻は満足していた。僕はあんまりこの手のラーメンは好きではない、というより食べきれないので、疲れたなあと思った。
昼にすこし出かけたところ、自動調光サングラスが光(正確には紫外線)を浴びて着色するのを見ることができた。これはいいね。自分でも意識しないうちにまぶしさが抑えられている。まあ、それで頭痛が減るのかというとよくわからない(そもそも大して外に出ていないのであまり関係ない可能性もある)が、まぶしいと感じることが減るのは心理的にも嬉しい。
そういえば昨日書き忘れたけど、横浜DeNAベイスターズが日本シリーズを制して日本一になった。26年ぶり。横浜生まれとしてふんわりとしたファン意識を持っているのでふんわりと嬉しい。まあ選手の名前とかぜんぜん知らないけど。あとレギュラーシーズン3位からの下克上なせいでぜんぜんノーマークだったけど。
前回(1998年)のことはうっすら覚えている(西武を4タテだったような気がなぜかしていたが、調べたら2敗していた)。あの時は38年ぶりで、38年って気が遠くなるほど昔のようにその時は思ったが、26年も大概だよな。次はいつなのか。当然14年後か。
夜はJaegerのポート開けたりnginxで認証を追加したりしていた。とりあえずCloudflareで動いてるフロントエンドとVPSで動いてるバックエンドの間で分散トレーシングができたので満足。あとはリファクタを少しするけど。
これでパフォーマンスの測定がもうすこしちゃんとできるから、チューニングに移れるか。それはそれとして、キャッシュをとる方法を調べたい。結局エッジでキャッシュできないならあまり旨味はないのだ。
寝る。3連休の神髄は4連勤にある。
新しくしたメガネを受け取りに行った。強さはほとんど変わっていないはずだが、新しいメガネはどうしても慣れるまで違和感が生じる。半日掛けていてだいぶ気にならなくなったけど。
この場合の「慣れる」は、普段の生活の中で遭遇する「慣れる」とはけっこう違っていて、気づくこと自体がなくなっていく現象なのが面白い。こういう経験をすると思い出すのが、上下を反転させるメガネを掛けっぱなしにして生活する実験で、あれも2週間ほど生活していると完全に「慣れて」しまうらしい(昔聞いた話だから誤っているかもしれない)。さすがにこの場合は上下が反転していることに気づかなくなるということはないのだと思うが。あと慣れたあと元に戻すとどうなるのかも気になる。
あとはOpenTelemetryのことを学んでいた。コレクターとかエクスポーターとかいろいろあってややこしいが、まあわかったと思う。Jaegerがコレクターを動かしているから、これを適当な認証つきで公開したいというのがやりたいことで、Jaeger側にはそういう機能はないからnginxで実現する、ということになりそうだ。Claudeに訊いたらそれっぽい設定ファイルを出してくれたので、明日時間があったら試す。
寝ます。
胃もたれがするし頭痛もする2。なんだろね。ゆっくり休む。
factorioを一応クリアした。生産量の調整は最後まで苦労した。ドローン使うとベルト敷かなくていいから楽だけども配送先は制御がしづらいから管理は難しくなる。なんか未知の機能を使うといけるのかもしれないけど。グループみたいなやつあるよね?
とりあえず一旦中断かな。DLCは別にいいや。きりがない。バイターが出る設定でもう一度やるのもいいけど。いや、このくらいで終わりにするのがいい気がする。Jaegerいじるのをほったらかしてるし。
寝ます。明日はメガネの受け取りにいかなくちゃ。
GitHub Actionsと格闘していた。正確にはCDKか。cdk diffの結果をPull Requestに貼りたかったのだが、アセットのバンドルのために内部でdockerが動いているとそのログがモリモリ混ざってしまうのでうまくいかない。なんとかならんものか。diffは諦めるしかないのか。
寝る。胃もたれがするし頭痛もする。踏んだり蹴ったり。
あいかわらず喉に違和感があるが、それ以外は特に何もない。胃もたれはするかも。
パフォーマンス改善は一ヶ所のN+1クエリを修正したら結構進展しそうな感じがしてきた。トレースからもっと情報を得たいのだが、X-RayとOpenTelemetryの関係がよくわからない。というかOTelがそもそもよくわかっていないのだけど……。まああまりそこに深入りするべきではないのでほどほどにする。
factorio日記。原子力発電だけですべての電力を賄えるようになったので火力発電を段階的に停止している。まあバックアップのために一部は残しておいたほうがよかろう。
今はロケットサイロの研究をしている。サイエンスパックの生産がまだ安定しないが……。
寝ます。