t_wの輪郭

Feedlyでフォローするボタン
近所のうどん屋アボカドうどんカタカナ・希哲館訳語変換サービス茎ブロッコリーgetStaticPropsgetServerSidePropsデライトクローラーOn-demand ISR2023年11月25日2023年11月18日慢性鼻腔炎『t_wの輪郭』日記Next.js耳鳴り耳鼻科

2023年11月19日日記

2023/11/19 3:06:00

 一年以上に渡って放置していた耳鳴り耳鼻科に来たら、慢性鼻腔炎とのこと。
 薬を鼻から入れてもらった。
 次の来院は来週の土曜日2023年11月25日の予定。


 近所のうどん屋さんに再訪して、アボカドうどんを頂いた。瞬間風速的に美味しいわけじゃないんだけど、定期的に食べたくなる良さがある。写真左上のやつは茎ブロッコリーの天麩羅らしい。こちらも美味しい。何だこのうどん屋。贅沢かよ。


 Misskeyのルビ機能実装に伴い、カタカナ・希哲館訳語変換サービスの改修をした。
 ついでに生のHTMLとJavaScriptで書いていたのを、Next.jsに置き換えた。
 あと、変換エンジン部分も複合語の変換に対応させた。ただし、長文を入れるとしばらく固まる。
 Misskeyへの共有機能もちょっとテクった。GETパラメータであれこれやっている。説明は難しいので省く。君の目で確かめてくれ! 1万円とかくれたら教えるのはやぶさかでない。
 こっそりデプロイ済みだが、Misskey.ioがアップデートされると共に報知したい。


 『t_wの輪郭』がライトモードに対応できていないことが発覚した。1ヶ月近く気づかずに放置していた。なんで誰も指摘してくれないのぴえんとかMisskey.ioで言ってたら、「ダークモード使ってるオタクしかいない」という指摘が来た。異常なコミュニティだわ……。


 今月のAWS利用料が60USDほどになりそうなことが発覚し、財布へのダメージに慄いている。すべて『t_wの輪郭』Amplifyに移行したせいだ。AppSyncが全面的にコストを引き上げている。
 取り急ぎ個別ページのgetServerSidePropsgetStaticPropsに切り替え、データの生成結果が24時間に渡って再利用されるようにした。これでマシになるだろう。問題は内容の更新に追従できないことだが、On-demand ISRを導入して、ボタンで内容の更新を掛けることができるようにした。ボタンの場所は秘密♥。まあ連打されても、その上にキャッシュを噛ませているので、特に問題はないようにしてある。revalidateのAPIは隠すのが通説っぽいけど、ウェブからボタンで叩けたほうが便利っちゃ便利だろう。
 あとはRSS生成時に生APIを叩いていたので、こちらも24時間再利用されるキャッシュを使うようにした。こっちが本命っぽい雰囲気はある。
 ついでにNext.jsを14にアップデートした。
 ネットワークタグを見ている感じでは、リンク先のデータを先に取得しているっぽい?getStaticPropsによるものだろうか。なんか表示がめっちゃ速くなった。getStaticPropsを使っていないトップページは変化がない。トップページもgetStaticPropsにしたくなる。

revalidateするServerAction

オンデマンドISRのrevalidateはこれではできない。これでrevalidateされるのはfetchのキャッシュ。

import { revalidatePath } from "next/cache";
import { redirect } from "next/navigation";

export default async function revalidate({ params }: any) {
    const { kno } = params;
    revalidatePath(`/${kno}`);
    redirect(`/${kno}`);
}