ホームページを「静的化」したよ
2025/8/6
このホムペを静的化しました。Cloudflare Pagesで公開しているからもともと静的だけど、javascriptを必要としなくなったという意味で本当に静的になったよ。あたいはマークダウンで記事を書いて、Githubにプッシュするだけ。するとCloudflareがnpm run buildして、勝手に記事を含むHTMLを生成してくれる。
もともと途中まで手書きしてめんどくさくなってAIにバイブコーディングさせたvue.jsでできていて、今回はAIにvueをなくさせたよ。vueを使っていると、javascriptの実行をブロックしているとき何も表示されなくなっちゃう。普通はそれでも問題ないんだけど、できるだけサーバーとクライアント両方の負荷を抑えたい、あたいがクライアントのプライバシーをできる限り尊重したいという理由から、javascriptを使わず実現できて保守にもコストがかかりにくい場面ではjavascriptを使いたくないんだ。誤解なきように言っておくと、あたいはjsも含めて、Webviewを使ってアプリのフロントエンドを作ったりすること自体は好きだよ。ホムペはつまらないけど。
軽いウェブサイト最高!
jsは遅い。普通は気にするレベルじゃないけど、遅い言語は動作するだけで環境負荷を高める。ただでさえ非力なモバイル機器にブラウザという超重量級のソフトウェアが搭載されて、ほとんど全てのウェブサイトがスマホファーストの見た目で作られてしまうようになった。デザインではなくあえて見た目と読んで範囲を狭めたのは、スクリプトもデザインの一部であり、しかしながらモバイル向けにスクリプトを軽量なものに差し替えたりといった配慮が一切されないから。それはさておき、ウェブサイトという互いに独立した重いソフトウェアとも謂えるものをブラウザ上でいくつも開く異常な環境で、どうしてこれほどまでにウェブサイトそれぞれがリソースを食い潰せると、デザイナーは勘違いするのか!
リソースを食うことについて熱弁した上で、あたいはめんどくさがってホムペの改修をバイブコーディングに任せてしまった。LLMよりもネコの額のほうがよっぽどエコ。でも言い訳をさせてほしい。今回使ったLLMはQwen3-coderっていうMoEモデルで、Claude4 SonnetやGemini 2.5 Proなんかよりも(恐らく)ずっと小さい。MoEだから推論に使われるパラメータは480Bのうちの35B(BはBillion)で、単一のGPUと多めのRAMで実行できるほど小さい(コンテキスト長が大きいので実際はもう少しかかる)。うちにあるGPUで実行できるほどのモデルでもバイブコーディングできるようになったらいいのにね。数年先にはありえるか。
javascriptとプライバシー性
さて、javascriptを使うこと自体がプライバシー性を損ねるといった書きぶりをした。でもどうして? 確かに(主に)ビッグテックがユーザーをトラッキングするときはjavascriptを大いに活用するけど、あたいはこのホムペにトラッカーを置いた覚えもなければ、その予定もない(けど、今確認したらcloudflareにjsファイルを差し込まれていた!)。javascriptなしで動くようにすることの理由はホムペに使われうるjavascript自体ではなく、Tor browserの利用者にある。Tor browserは言わずと知れたプライバシー最優先のブラウザで、その保護機能を最大限活用するためにjavascriptの実行をブロックできる。他のブラウザにもブロックできるものがある。犯罪者だけでなく、あたいみたいにネットの指紋採取を始めとするプライバシー侵害を嫌がるパラノイア・キャットはいっぱいいて、彼らを尊重したい。だからjavascriptなしで情報にアクセスできる場所を少しでも増やす必要がある。
Torネットワークでもこのホムペをホストすることは今の所考えていないよ。サーバーのアクセスログさえ気にするとなるとあたいが家のミニPCかなにかでホストしなきゃいけないけど、瞬電のためにUPSをつけるとかいったコマゴマとしたタスクを、アクセスの少ないホムペのためだけに増やしたくないんだ。ところでMAP-EのLAN内で外部に向けてonionサイトをホストできるのかな? 試してみるだけはするか。
てことでjsなしで閲覧できるようになりました。