[{"data":1,"prerenderedAt":71},["ShallowReactive",2],{"article-bb37l4ql9":3,"prev-article-bb37l4ql9":21,"next-article-bb37l4ql9":58},{"contents":4,"totalCount":19,"offset":20,"limit":19},[5],{"id":6,"createdAt":7,"updatedAt":8,"publishedAt":8,"revisedAt":8,"title":9,"content":10,"tags":11,"is_no_index":18},"bb37l4ql9","2026-01-17T22:12:46.904Z","2026-01-17T22:31:56.457Z","俗物的インターネット人間として","\u003Cp>インターネットを右往左往していると、時折、どうしようもなく胸糞が悪くなる文章に行き当たることがあります。\u003C/p>\u003Cp>最近、ある中小規模のコミュニティ管理者が書いた反省文と称する記事を読みました。\u003C/p>\u003Cp>読んだ瞬間に覚えたのは、猛烈な不快感でした。そこには、自身の加害性を未熟さや善意でラッピングし、最終的に「そんな自分も苦しかった」という自己憐憫に落とし込む、あまりにも未熟な精神性が露呈していたからです。\u003C/p>\u003Ch1 id=\"heb2af85a40\">救済の暴力性\u003C/h1>\u003Cp>その記事には、メンタルヘルスに悩むユーザーを助けてあげたい(笑)という一心で、あろうことか管理者の立場で知り得た情報を使い、本人の同意なく現実の警察や救急に通報しようとしたり、秘密であるはずの相談内容を第三者に漏らしたりといった、常軌を逸した行動が告白されていました。 \u003C/p>\u003Cp>「心配だったから」\u003C/p>\u003Cp>そんな理由があれば、画面の向こうの他人のプライバシを暴き、土足で現実に踏み込むことが許されるとでも思っているのでしょうか。\u003C/p>\u003Cp>はっきり言って、「自分が相手を変えてあげなきゃ｣, ｢自分が救ってあげよう｣というのは傲慢でしかありません。その思考の根底にあるのは、相手へのリスペクトではなく、自分は正しく導く側の人間であり、相手を導かれるべき哀れな対象と見下すマウンティングでしょう。そもそも、画面越しでしか関わりのないような関係値の人間相手に何をしてあげられると思い上がっているんでしょうか。\u003C/p>\u003Cp>結局のところ、相手のことはどうでもよくて、自分の理想の実現のため、自分はこんなにもいい人なんだと悦に浸るために他人を利用しているだけ。\u003C/p>\u003Cp>｢みんなを幸せにしてあげたい｣｢救ってあげたい｣\u003C/p>\u003Cp>言葉だけ聞くと耳障りはいいものの、それはどこまで行っても個人の欲望でしかなく、何も相手のためではない、単に自分がやりたいだけのエゴであると思います。\u003C/p>\u003Cp>そもそも、相手を変えることを期待した時点で、その関係性は破綻しているも同然だと私は思いますけどね。\u003C/p>\u003Ch1 id=\"h117f78194e\">美徳シミュラークル\u003C/h1>\u003Cp>誰しも自分をよく見せたいと思うでしょうし、周りから良い人だと思われたいという願望が多少なりともあるかと思います。特に、SNSで発信する時なんかは、実際の自分より良い人に見えるようにするかもしれません。多くの人は、その方が自分にとってもメリットがあるとでも思っていることでしょう。\u003C/p>\u003Cp>実のところ、多くの場合は真逆で、等身大の自分より少し悪く見えるようにしていおいた方が結局は自分のためになったります。\u003C/p>\u003Cp>良くも悪くも、画面越しの他人はSNS上でのあなたが本当だと思っています。｢優しくて、思慮深くて、誰かを救おうとする立派な人｣。そう思っている人たちと長い時間を共にした時、善人として作り上げた自分を超えることは困難です。期待値を下回った場合、実際はそんなに悪くなくても他人はあなたを低く評価することになります。減点方式の地獄です。\u003C/p>\u003Cp>逆に、実際はそこまで良くなくとも期待値を上回れば勝手に高い評価をしてくれます。\u003C/p>\u003Cp>他人と接しない、もしくは他人を欺ける圧倒的な演技力がある人は例外として、都合よくインターネットでだけ善人ぶるのはやめておいた方がいい。本当に。\u003C/p>\u003Cp>いつか自分の首を絞めることになる。今回の件のように\u003C/p>\u003Ch1 id=\"hc09fe54071\">立派な人\u003C/h1>\u003Cp>誤解を恐れずに言えば、私は立派な人になんてなりたくないし、なるつもりも毛頭ありません。\u003C/p>\u003Cp>私はいい人でもなければ、善人でもなく、理知的でもなければ思慮深くもない。安全圏から他人を眺め、浅い人間性で他人のことを馬鹿にして悦に浸っている、ただの気持ちの悪いオタクです。それが私の本性であり、変えようのない事実です。\u003C/p>\u003Cp>元より、誰かを救う高潔な存在になんてなれるはずもないんです。\u003C/p>\u003Cp>でも、だからこそ、私は自分自身が我儘で勝手でズルくて汚くて、どうしようもなく傲慢であることに、誰よりも自覚的でありたいと思っています。\u003C/p>\u003Cp>一番恐ろしいのは、自分の内側にあるその醜悪さを直視せず、私は正しい、私は優しいと信じ込んだまま、身勝手な善意を振り翳すことです。\u003C/p>\u003Cp>他人の人生を背負えるほど、私は立派な人間じゃない。だからこそ、他人をどうこうしようだなんて思わないし、自分の及ばせられる影響に過度な期待もしない。\u003C/p>\u003Cp>自分も同列の底辺であると認めること。そこから降りて、初めてまともな人間になるためのスタートラインに立てるのだと思います。耳障りのいい綺麗な言葉で自分を飾って、後になって｢こんなはずじゃなかったと｣被害者ぶるのは、もうたくさんです。\u003C/p>\u003Cp>自分の愚かさも、薄汚い欲望も、性格の悪さも隠さずに生きていく。誰かの救世主を気取ることなく、正直で、薄情で、自分の加害性には自覚的な俗物でありたい。\u003C/p>\u003Cp>私は、ただの俗物的なインターネット人間として、この淀んだ掃き溜めで快適に過ごしていきたいと思っています。\u003C/p>",[12],{"id":13,"createdAt":14,"updatedAt":15,"publishedAt":14,"revisedAt":15,"slug":16,"name":17},"wia4slp55q","2025-04-28T07:14:14.541Z","2025-12-03T16:08:13.798Z","thoughts","独り言",true,1,0,{"contents":22,"totalCount":57,"offset":20,"limit":19},[23],{"id":24,"createdAt":25,"updatedAt":26,"publishedAt":26,"revisedAt":26,"title":27,"content":28,"tags":29,"is_no_index":55,"summary":56},"881vyfdq_5","2026-01-12T19:08:19.276Z","2026-01-12T19:14:08.297Z","さようならVercel, こんにちはGCP","\u003Cp>こんばんは。あるいはこんにちは。\u003C/p>\u003Cp>実はお気づきの方もいらっしゃるかもしれませんが、このサイト、数ヶ月前にインフラのお引越しをしています。暫くお世話になっていたVercel基盤を離れ、現在はGCPの上で稼働しています。移行作業からしばらく経ち、運用も安定していて特に問題なさそうなので、ここらで重い腰を上げて移行の経緯でも書き残しておこうかなと思います。\u003C/p>\u003Cp>今回、以降に踏み切った理由はいろいろとあるのですが、きっかけとして大きかったのは、単純にVercelの無料枠を使い果たしてしまったことです。個人の趣味サイトとはいえ、トラヒックが増えればリソースも食いますし、記事数が増えれば(移行当時は部分的にSSG構成だったので)ビルド時間も伸びます。もちろん、お金で殴ってプランを上げてしまえばそのまま使い続けることは造作もないことなのですが、そこでふと損得勘定が働いてしまいました。毎月10USDを固定で払うくらいなら、必要な分だけ課金されるCloud Runで動かした方が、結果的にはお財布に優しいしお得なんですよね。\u003C/p>\u003Cp>そして2つ目。実はこっちの方が心情的な割合としてはかなり大きいのですが、VercelのCEOであるGuillermo Rauch氏の倫理観に対して、どうしても拭えない不信感を抱いてしまったという点です。ご存じの方も多いかと思いますが、彼がイスラエルのネタニヤフ首相と会談し、ML技術について議論を交わし、その後に満面の笑みで撮影したセルフィーをTwitterに投稿したあの一件です。\u003C/p>\u003Cp>相手は国際刑事裁判所から指名手配を受け、ガザでのジェノサイド容疑もかけられている人物です。政治的なスタンスは人それぞれあるにせよ、公人として、tech企業のトップとして、そのセルフィーを世界に発信することの意味をどう捉えているのか。本当にこの人の倫理観はどうなっているんだろうと、背筋が寒くなるような思いでした。\u003C/p>\u003Cp>「たかが個人の趣味サイトなんだから、プラットフォームのCEOの思想なんて関係ないじゃん」と言われればそれまでですし、別にわたしのサイトは法人の看板を背負っているわけでも、社会的な信用を切り売りしている商売でもありません。実害は全然ないんです。でも、それはそれとして、一度すこしでも嫌悪感を感じてしまうと、それ以外の部分まで全部が色褪せて見えてしまうのものです。所謂、坊主憎けりゃ袈裟まで憎いというやつです。\u003C/p>\u003Cp>そうなると不思議なもので、元々は妥協していた小さな不満が、急に許せなくなってきます。例えば、NuxtImgを使った画像最適化の取り回しについて、Vercelプロバイダを利用するときだけ妙に設定が面倒だったり、挙動に癖があったりして、結局対応するのが億劫でipxを利用して回避していた事なんかが思い出されます。\u003C/p>\u003Cp>あとはあれですね、令和の現代においても未だにIPv6をネイティブでサポートしていない点とか。先進的なフロントエンド体験を謳っているプラットフォームなのに、足回りのネットワークに関しては意外と適当なんだなと、以前から感じていた違和感が嫌悪感に変わりました。そういう小さな「うーん」という澱みのようなものが積み重なって、最終的に「もう全部嫌だ、引っ越そう」という決断に至ったわけです。\u003C/p>\u003Cp>移行先にGCPを選んだ理由は至ってシンプルで、安くて使いやすくて、なんとなくいい感じだからです。ありがたいことに無料枠もそれなりに充実していますし、貧乏開発者には優しい環境が整っています。\u003C/p>\u003Cp>ちなみに、このサイトを作り始めたちょうど1年くらい前は、Cloudflare Workersを利用していました。なので今回もWorkersに出戻りすることを真っ先に検討したのですが、いざ検証してみると壁にぶつかりました。現在の構成がNode.js依存の実装を含むライブラリとズブズブの関係になってしまっており、Workersのランタイム環境では動かすのが厳しかったのです。加えて、仮にPaidプランにしたとしても、ランタイムサイズの制限を大幅に超過してしまうことは明白でした。\u003C/p>\u003Cp>あれこれ悩んだ結果、CockroachDBがちょうどGCP上にあったこともあり、それならアプリケーションも同じGCPに置いてしまった方が合理的だという結論に達しました。結果的に、GCPへの集約は正解だったと思います。\u003C/p>\u003Cp>インフラの構築に関しては、例によって私はGUIの管理画面をポチポチして手動で設定するのが大嫌いなので、今回も全てTerraformを使ってIaC化しています。人の温もりを感じるインフラなんて、いつ壊れるかわからない時限爆弾みたいなものですからね。\u003C/p>\u003Cp>あ、そうそう、ついでにGoogle Fontsもやめました。Lighthouseのパフォーマンススコアの足を引っ張っていて邪魔だったので思い切って削除したのですが、代わりのシステムフォントはどうにも気持ち悪くて、納得できませんでした。結局、Adobe Fontsを導入してFutura-PTを利用することにしました。そのせいで削除前よりもLighthouseのスコアは低下してしまったのですが、見た目が圧倒的にかわいくなったのでよしとしています。\u003C/p>\u003Cp>最適化については、またいつか気が向いた時にでも頑張ろうと思います。\u003C/p>\u003Cp>それでは。\u003C/p>",[30,36,42,48,49],{"id":31,"createdAt":32,"updatedAt":33,"publishedAt":32,"revisedAt":33,"slug":34,"name":35},"qfey3yw0z1","2025-04-29T08:44:41.687Z","2025-12-03T16:07:14.622Z","technology","テクノロジー",{"id":37,"createdAt":38,"updatedAt":39,"publishedAt":38,"revisedAt":39,"slug":40,"name":41},"fwj_nwhj1-s","2025-04-30T04:55:28.953Z","2025-12-03T16:07:03.591Z","server","サーバー",{"id":43,"createdAt":44,"updatedAt":45,"publishedAt":44,"revisedAt":45,"slug":46,"name":47},"8q8qyy8sz3","2025-04-29T08:44:23.406Z","2025-12-03T16:07:24.495Z","programming","プログラミング",{"id":13,"createdAt":14,"updatedAt":15,"publishedAt":14,"revisedAt":15,"slug":16,"name":17},{"id":50,"createdAt":51,"updatedAt":52,"publishedAt":51,"revisedAt":52,"slug":53,"name":54},"4oy2jc8mdg","2025-04-28T07:14:01.179Z","2025-12-03T16:08:24.495Z","diary","日記",false,"こんばんは。あるいはこんにちは。実はお気づきの方もいらっしゃるかもしれませんが、このサイト、数ヶ月前にインフラのお引越しをしています。暫くお世話になっていたVercel基盤を離れ、現在はGCPの上で稼働しています。移行作業からしばらく経ち、運用も安定していて特に問題なさそうなので、ここらで重い腰を上",49,{"contents":59,"totalCount":70,"offset":20,"limit":19},[60],{"id":61,"createdAt":62,"updatedAt":63,"publishedAt":63,"revisedAt":63,"title":64,"content":65,"tags":66,"is_no_index":55,"summary":69},"q08tv15ojb","2026-01-22T12:16:50.171Z","2026-01-22T12:47:05.245Z","個人サイトを、つくろう","\u003Cp>どうも、わたしです。\u003C/p>\u003Cp>最近、色々な方が個人サイトを作ったり、個人ブログを立ち上げるのを見る機会が増えている気がします。Twitterの諸々含め、情勢が不安定なこともあり、避難所として作っていっている感じなんですかね？詳しいことは知りませんが。\u003C/p>\u003Cp>極端な話、一度ドメインを取得しサイトを作ってしまうと、レジストリのポリシにさえ抵触しなければ何をやってもいいわけで。そこには、金儲けアルゴリズムに支配されたSNSとはまた別の、原始的で自由な楽しさがあります。(もちろん、PaaSなんかを使ってホスティングする場合は、その事業者の規約を守る必要がありますが)\u003C/p>\u003Cp>ただ、自由には相応の責任が伴います。企業が提供するプラットフォームとは違い、サーバーが落ちようが、セキュリティホールを突かれようが、全て自分で対処しなければなりません。誰もサポートしてくれないし、復旧もしてくれない。\u003C/p>\u003Cp>だからこそ、そもそもインターネットとは何かというレベル感の話であれば、ここでお伝えすることは何もありません。\u003C/p>\u003Cp>Webは魔法の箱ではなく、堅牢な技術の積み重ねの上に成り立っています。その土台となるネットワークの仕組みも理解せず、うわべだけのツールを触ろうとするのは冒涜に近い。最低限の教養として、そのあたりを自力で理解してから出直してください。話はそれからです。\u003C/p>\u003Cp>さて、そんなことを言いつつ、私もこのサイトを作り始めてから1年弱が経つようです。そろそろ「自分のサイトを作るのはいいぞ」と布教してもいい頃合いかなと思ったので、筆を執るに至りました。\u003C/p>\u003Ch1 id=\"h2bd9968612\">lit.linkへの違和感\u003C/h1>\u003Cp>少し前までだと(今でもかな？)、\u003Ca href=\"http://lit.link\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">lit.link\u003C/a>で各種SNSのリンクをまとめて、プロフィール風のページを作っている人をよく見かけました。\u003C/p>\u003Cp>正直に言いましょう。私はあれが心底嫌いです。もうプロフィールのURL欄にlit.linkのFQDNが見えるだけで、ブラウザバックしたくなるくらい嫌な気持ちになる。\u003C/p>\u003Cp>単にデザインが量産型的だとか、URLがダサいとか、そういう表面的な話ではありません。あれはリンクサービスを謳っておきながら、特定のASNからのリクエストを無条件で拒否するような仕草をしています。DC経由や、一部ISP(国内含む)からのアクセスを一律で弾く。これは例えるなら、「西アフリカ出身者は入店できません」と張り紙をして商売をしているようなものです。Webサービスとしてあまりにも筋が悪い。\u003C/p>\u003Cp>こういった事を言うと、「私は技術者じゃないから知らなかった」「悪気はなかった」という声が聞こえてきそうですが、あえて言いましょう。無知であることを恥じるべきです。\u003C/p>\u003Cp>先天的に学習が困難であればともかく、過度に検閲されていない(比較的)自由なインターネットにアクセスでき、調べるためのツールも、推論するための頭も持っているはずです。それなのに、自分が使っているサービスが何をしているのかを知ろうともせず、便利だからと思考停止で使い続けるのは、単なる知識不足ではなく、怠慢であり、思考の放棄に他なりません。\u003C/p>\u003Cp>そのようなサービスを自己表現の場として選ぶことは、無自覚であったとしても「私は特定層からのアクセスを拒否する差別主義者です」と公言して歩いているのと同義です。\u003C/p>\u003Cp>少しは内省すべきでしょう。\u003C/p>\u003Ch1 id=\"hba2d5583ad\">検索汚染とWordPress\u003C/h1>\u003Cp>さて、気を取り直して「個人サイトをつくろう」という話をしましょう。\u003C/p>\u003Cp>しかし、安易に「個人サイト 作り方」なんてキーワードで検索するのはお勧めしません。上位の検索結果に出てくるのは、お金で殴って安いライターに量産させたような、中身の薄いSEO特化記事ばかりだからです。\u003C/p>\u003Cp>やれレンタルサーバーがどうした、VPSがどうした、結局はWordPressがおすすめという結論。\u003C/p>\u003Cp>はっきり言って、そもそも「個人サイト 作り方」で検索するような層の人間が、WordPressをまともに運用保守できるわけがありません。常識的に考えて、手を出すべきではないでしょう。\u003C/p>\u003Cp>多くの人が使っているという事実は、必ずしもそれが優れていることを意味しません。単に私がWordPressを嫌っているというのもありますが、個人の小規模なサイトにリクエストが来る度、重厚なPHPプロセスを動かしてDBに接続してページを生成して…なんてヘビーで無駄な計算資源を投じているのは、SDGsにも反する行為です。これは極論なので笑って欲しいところですが、あながち冗談でもありません。\u003C/p>\u003Cp>ともあれ、WordPressは構造として古く、脆弱です。コードを見れば、\u003Ccode>require\u003C/code>, \u003Ccode>require_once\u003C/code>が連呼され、globalに大量の\u003Ccode>define()\u003C/code>とコンフィグ用の配列が入り乱れ、サニタイズされているかも怪しい\u003Ccode>$_GET\u003C/code>, \u003Ccode>$_POST\u003C/code>, \u003Ccode>$_REQUEST\u003C/code>が散りばめられている。ファイルの中身はクラス設計どころか、関数にすらなっていない手続き型の記述もかなりある。\u003C/p>\u003Cp>とんでもない。あんなのが令和の時代にWebのデファクトスタンダードとして存在しているのが信じられません。\u003C/p>\u003Ch1 id=\"h87b400ec3b\">どうするの\u003C/h1>\u003Cp>では、具体的にどう構築すべきか。絶対の正解なんてものはありませんが、目的と妥協できるラインによって使い分けるのが賢明でしょう。\u003C/p>\u003Cp>まず、コードが書けない、コストをかけたくない、あるいはCMSなんて大層なものは不要だという場合は、Hugoのような静的サイトジェネレータでHTMLを生成し、S3やR2, Firebase Hosting、あるいはGitHub Pagesあたりに放り込んでおくのが、手堅い選択ではないでしょうか。静的ファイルなら管理の手間もセキュリティリスクも最小限で済みますし。\u003C/p>\u003Cp>一方で、構成にこだわりがあったり、サーバーサイドでの動的な処理が必要な場合。この場合は、Cloud RunやCloudflare Workers、Vercelといったランタイム環境を利用するのが無難です。Dockerコンテナやエッジワーカーとして動かしてしまえば、それなりのスケーラビリティが確保されますし、ローカルとの差異に苦しむことも減るでしょう。現にこのサイトもCloud Run, Cloud Storage, Cloud Load BalancingのGCPスタックに寄せた構成で動かしています。\u003C/p>\u003Cp>そして、どうしてもCMSのような管理画面が欲しいという場合。ここでWordPressに戻っては元の木阿弥です。microCMSやContentfulといったHeadless CMSを採用するとしあわせになれるかもしれません。\u003C/p>\u003Cp>何より、コンテンツとフロントを疎結合に保てるのがとても嬉しい。これなら、将来サイトに破壊的な変更を加えたくなっても、データ資産はそのままでガワだけをサクッと別の技術で作り直すことができます。WordPressの謎めいたテンプレート階層やPHPの作法に、未来永劫縛られ続ける必要はありません。\u003C/p>\u003Cp>ちなみに、このサイトの記事管理もmicroCMSを利用しています。昨年に行われたプラン改定で無料枠の制限が大幅に緩和されたたようで、かなり弄り倒すことができます。小中規模なら、まず使い切れないくらい太っ腹な仕様になりました。かなりおすすめです。\u003C/p>\u003Cp>いずれも共通しているのは、各ベンダが提供する膨大な無料枠をしっかりとしゃぶり尽くせるという点です。旧態依然としたレンタルサーバーに月数百円を払うくらいなら、その分をドメイン代に回した方が建設的でしょう。\u003C/p>\u003Cp>実質的なランニングコストをドメイン維持費だけに抑えつつ、無料のリソースを使い倒す。貧乏人ケチケチホスティングの戦略としては、これが一番無難な選択ではないでしょうか。\u003C/p>\u003Cp>あ、そうそう。ドメインはとりあえずCloudflareで取っておけばいいでしょう。NSこそCloudflareにロックインされることになりますが、気に入らなければ別のレジストラに移管できる自由はありますし、何より、CDNによるキャッシュの恩恵は計り知れません。そのまま乗っかっておくといいでしょう。\u003C/p>\u003Ch1 id=\"h1afe451c43\">さいごに\u003C/h1>\u003Cp>かつてのインターネットは、少しニッチな内容を調べるとすぐ個人のマニアックなブログに当たっていたような気がします。\u003C/p>\u003Cp>しかし、現代ではどうでしょう。GoogleがE-E-A-Tなる高尚(笑)なスローガンを掲げ、情報の品質担保を謳いました。そのアルゴリズムが導き出した答えがこの現状です。\u003Cbr>権威のある企業ドメインなら、中身がコピペだろうが質の低いアフィリエイト記事だろうが優遇され、似たりよったりのキュレーションメディアに埋め尽くされています。\u003C/p>\u003Cp>個人がどれだけ良質なコンテンツを発信しても、ドメインパワーという権威の壁には勝てず、彼方へ追いやられる。Evilに成り果てた現状のGoogleは、もはや個人にとって公平な場とは言い難い状態です。\u003Cbr>愛するかつてのインターネットは、もはや現代の死海文書ではなく、Googleに濾過された消毒臭い資本主義の排水溝になり果ててしまったのかもしれません。\u003C/p>\u003Cp>正直な話、ただ書いたものを誰かに読んでもらって、手っ取り早く承認欲求を満たしたいだけなら、noteやZennで書いた方が絶対にいいかと思います。あそこには最初から読者がいて、プラットフォームがあなたの駄文をおすすめし、拡散してくれます。\u003C/p>\u003Cp>それでもなお、私が個人サイトをおすすめするのは、そこにインターネット本来の自由が感じられるからです。\u003C/p>\u003Cp>誰かのアルゴリズムに媚びる必要もなく、検閲におびえることもない。自分のドメインで、好き勝手なことを書く。そういうインターネットの片隅を感じられる遊びも、悪くないものだと思います。\u003C/p>",[67,68],{"id":13,"createdAt":14,"updatedAt":15,"publishedAt":14,"revisedAt":15,"slug":16,"name":17},{"id":31,"createdAt":32,"updatedAt":33,"publishedAt":32,"revisedAt":33,"slug":34,"name":35},"どうも、わたしです。最近、色々な方が個人サイトを作ったり、個人ブログを立ち上げるのを見る機会が増えている気がします。Twitterの諸々含め、情勢が不安定なこともあり、避難所として作っていっている感じなんですかね？詳しいことは知りませんが。極端な話、一度ドメインを取得しサイトを作ってしまうと、レジス",19,1783975276421]