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}`);
}
2023年11月19日日記
一年以上に渡って放置していた耳鳴りで耳鼻科に来たら、慢性鼻腔炎とのこと。
薬を鼻から入れてもらった。
次の来院は来週の土曜日2023年11月25日の予定。
近所のうどん屋さんに再訪して、アボカドうどんを頂いた。瞬間風速的に美味しいわけじゃないんだけど、定期的に食べたくなる良さがある。写真左上のやつは茎ブロッコリーの天麩羅らしい。こちらも美味しい。何だこのうどん屋。贅沢かよ。
Misskeyのルビ機能実装に伴い、カタカナ・希哲館訳語変換サービスの改修をした。
ついでに生のHTMLとJavaScriptで書いていたのを、Next.jsに置き換えた。
あと、変換エンジン部分も複合語の変換に対応させた。ただし、長文を入れるとしばらく固まる。
Misskeyへの共有機能もちょっとテクった。GETパラメータであれこれやっている。説明は難しいので省く。君の目で確かめてくれ! 1万円とかくれたら教えるのはやぶさかでない。
こっそりデプロイ済みだが、Misskey.ioがアップデートされると共に報知したい。
『t_wの輪郭』がライトモードに対応できていないことが発覚した。1ヶ月近く気づかずに放置していた。なんで誰も指摘してくれないのぴえんとかMisskey.ioで言ってたら、「ダークモード使ってるオタクしかいない」という指摘が来た。異常なコミュニティだわ……。
今月のAWS利用料が60USDほどになりそうなことが発覚し、財布へのダメージに慄いている。すべて『t_wの輪郭』をAmplifyに移行したせいだ。AppSyncが全面的にコストを引き上げている。
取り急ぎ個別ページのgetServerSidePropsをgetStaticPropsに切り替え、データの生成結果が24時間に渡って再利用されるようにした。これでマシになるだろう。問題は内容の更新に追従できないことだが、On-demand ISRを導入して、ボタンで内容の更新を掛けることができるようにした。ボタンの場所は秘密♥。まあ連打されても、その上にキャッシュを噛ませているので、特に問題はないようにしてある。revalidateのAPIは隠すのが通説っぽいけど、ウェブからボタンで叩けたほうが便利っちゃ便利だろう。
あとはRSS生成時に生APIを叩いていたので、こちらも24時間再利用されるキャッシュを使うようにした。こっちが本命っぽい雰囲気はある。
ついでにNext.jsを14にアップデートした。
ネットワークタグを見ている感じでは、リンク先のデータを先に取得しているっぽい?getStaticPropsによるものだろうか。なんか表示がめっちゃ速くなった。getStaticPropsを使っていないトップページは変化がない。トップページもgetStaticPropsにしたくなる。