[{"data":1,"prerenderedAt":70},["ShallowReactive",2],{"article-881vyfdq_5":3,"prev-article-881vyfdq_5":45,"next-article-881vyfdq_5":57},{"contents":4,"totalCount":43,"offset":44,"limit":43},[5],{"id":6,"createdAt":7,"updatedAt":8,"publishedAt":8,"revisedAt":8,"title":9,"content":10,"tags":11,"is_no_index":42},"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>",[12,18,24,30,36],{"id":13,"createdAt":14,"updatedAt":15,"publishedAt":14,"revisedAt":15,"slug":16,"name":17},"qfey3yw0z1","2025-04-29T08:44:41.687Z","2025-12-03T16:07:14.622Z","technology","テクノロジー",{"id":19,"createdAt":20,"updatedAt":21,"publishedAt":20,"revisedAt":21,"slug":22,"name":23},"fwj_nwhj1-s","2025-04-30T04:55:28.953Z","2025-12-03T16:07:03.591Z","server","サーバー",{"id":25,"createdAt":26,"updatedAt":27,"publishedAt":26,"revisedAt":27,"slug":28,"name":29},"8q8qyy8sz3","2025-04-29T08:44:23.406Z","2025-12-03T16:07:24.495Z","programming","プログラミング",{"id":31,"createdAt":32,"updatedAt":33,"publishedAt":32,"revisedAt":33,"slug":34,"name":35},"wia4slp55q","2025-04-28T07:14:14.541Z","2025-12-03T16:08:13.798Z","thoughts","独り言",{"id":37,"createdAt":38,"updatedAt":39,"publishedAt":38,"revisedAt":39,"slug":40,"name":41},"4oy2jc8mdg","2025-04-28T07:14:01.179Z","2025-12-03T16:08:24.495Z","diary","日記",false,1,0,{"contents":46,"totalCount":56,"offset":44,"limit":43},[47],{"id":48,"createdAt":49,"updatedAt":50,"publishedAt":50,"revisedAt":50,"title":51,"content":52,"tags":53,"is_no_index":42,"summary":55},"q5e6pg8hcoe","2026-01-11T22:23:35.407Z","2026-01-11T22:34:37.088Z","Twitterやめますか？, 人間やめますか？","\u003Cp>Twitterからあの愛らしい青い鳥が姿を消し、得体の知れないアルファベットに成り果ててから、かれこれ3年の月日が経とうとしています。\u003C/p>\u003Cp>イーロン・マスクがTwitterを買収した直後の狂騒は、今となってはある種のエンターテインメントとして消費できていた時期だったのかもしれません。大量のレイオフ、Twitter Blueの強行導入、フリート。破壊の限りを尽くすその姿には、どこか破壊神的なカリスマ性すら感じられました。彼が声高に叫ぶスーパーアプリ構想(笑)とやらが、私たちの生活どう変えてくれるのか、怖いもの見たさがあったのも事実です。結局のところ、彼が作りたかったのは金融機能がついた万能なSNSではなく、単なる自身の承認欲求を満たすための巨大な拡声器だったようですが。\u003C/p>\u003Cp>本題に入る前に、ひとつだけ定義をしておかなければなりません。私は普段、この場所を頑なにTwitterと呼んでいます。\u003C/p>\u003Cp>未練がましいと言われようが、私の青春とインターネットの文脈が詰まったあの場所を、ヘンテコなアルファベットで上書きされたくはありません。私の中でのTwitterは、どうでもいい日常と、顔も知らない友人たちとの緩やかな連帯の象徴でした。その記憶を、現在の惨状と混ぜ合わせたくはありません。\u003C/p>\u003Cp>しかし、本エントリにおいて、あのシステムと運営方針、そしてその背後に透けて見える思想を批判する文脈に限っては、あえてXと呼称します。私が愛したTwitterと、現在進行系でインターネット焼き畑農業をしているこの集金装置は、似て非なる全く別の物だからです。Twitterという名前を汚さないためにも、この悪意の塊にはXとかいうダサい名前がお似合いでしょう。\u003C/p>\u003Cp>さて、そんなXの惨状に嫌気がさし、数年前の私はMisskeyへ安住の地を求めました。ioにアカウントを作り、自前でインスタンスを構築し、燃え尽きて知人のサーバーに居候をしています。APIの制限や厳格なレートリミット、雨後の筍のように湧き出るスパムの氾濫といった表面的な不便さ以上に、プラットフォームの根幹が変質したことに耐えられなかったからです。\u003C/p>\u003Cp>しかし、今に至るまで、私はTwitterをやめられませんでした。\u003C/p>\u003Cp>Misskeyの穏やかなTLを眺めながら、結局は泥沼のようなXへと舞い戻る生活をしています。\u003C/p>\u003Cp>なぜか。それは、Xの資本主義に溺れたカスのレコメンドシステムが、金儲けという一点においてあまりにも優秀で、華々しく成功してしまっているからに他なりません。\u003C/p>\u003Cp style=\"text-align: start\">私たちがXのアルゴリズムは壊れている、Evilだと嘆くとき、それはあくまでユーザー体験の視点に立っています。しかし、株主と経営者の視点、つまるところ、如何にユーザーをサービスに縛り付け、広告を見せ、データを吸い上げるかというKPIの視点に立てば、現在のXはかつてないほどの完成度を誇っています。\u003C/p>\u003Cp style=\"text-align: start\">現に、Xのおすすめフィードを眺めていると、無限に不快なものが流れてきます。論理が破綻した暴論、特定の属性に対する差別的な言説、あまりに無知で傲慢な主張。そして何より、インプレッションを稼ぐためだけに生成されたゾンビアカウント群の文脈を無視した無意味な羅列。\u003C/p>\u003Cp>リプ欄を開けば、元ツイとは何の関係もない謎のマルチバイト文字や、LLMが生成した当たり障りのない同意、あるいは露骨なNFSW画像が溢れかえっています。彼らは会話をするためにそこにいるのではありません。ただ小銭を稼ぐためだけに、ハエのように群がっているのです。\u003C/p>\u003Cp style=\"text-align: start\">残念ながら、これらはバグではありません。すべて想定されたであろう仕様です。\u003C/p>\u003Cp style=\"text-align: start\">我々人間は、穏やかで幸福な情報よりも、怒りや恐怖、軽蔑といった強い情動を伴う刺激に強く反応するように設計されています。こいつは間違っている、許せない、馬鹿な奴だ。そう感じた瞬間、私たちは反射的に指を止め、画面を凝視し、タップしてしまいます。\u003C/p>\u003Cp style=\"text-align: start\">その滞在時間こそが、Xという企業が販売している唯一の商品です。このアルゴリズムは、私の卑しい本性を正確に見透かしています。\u003C/p>\u003Cp style=\"text-align: start\">現に私は、流れてくる不快な投稿を無視できず、縮小鍵垢で引用RTを繰り返しています。こんな馬鹿なことを言っている奴がいると他人をコケにし、安全圏から石を投げ、自分が知的優位に立ったような錯覚に浸る。私は救いようのないカスであることに違いありません。\u003C/p>\u003Cp style=\"text-align: start\">ですが、Xにとって私は最高に優良な養分でもあります。私がストレス抱き、軽蔑し、対立を深めれば深めるほど、プラットフォームの滞在時間は最大化され、広告在庫が消化され、イーロンの財布にはお金が入る。私たちが画面の前でイライラすればするほど、Xは儲かるのです。\u003C/p>\u003Cp style=\"text-align: start\">ここにあるのは、人間の尊厳をハックして換金する錬金術でしかありません。対立を煽れば数字が伸びる。極端なことを言えば金になる。その構造が完成してしまった以上、X上から争いが消えることは永遠にありません。平和な世界は、ビジネスとして儲からないからです。\u003C/p>\u003Cp style=\"text-align: start\">かつてTwitterが持っていた、清濁併せ呑む広場のような機能は失われました。今ここにあるのは、互いの正義を棍棒にして殴り合わせ、その流血を観客に見せて興行収入を得るコロッセオです。もっとも、戦っているのは剣闘士ではなく、承認欲求に飢えた一般人と、小銭稼ぎのbotですが。\u003C/p>\u003Cp style=\"text-align: start\">MisskeyやMastodonといった分散型SNSは、確かに理想郷でした。そこには邪悪な金儲けに最適化されたレコメンドがなく、文脈を共有できる隣人がいました。\u003C/p>\u003Cp style=\"text-align: start\">しかし、Xという劇薬に溺れた私にとって、その平和は時に退屈と同義でした。刺激がない。敵がいない。殴るべき馬鹿がいない。\u003C/p>\u003Cp style=\"text-align: start\">悲しいことに、私の認知機能はすでにTwitterというよりはXの仕様に合わせて最適化されてしまっているのです。ストレスなしには、インターネットの生を実感できなくなっている。これは中毒症状以外の何物でもありません。\u003C/p>\u003Cp style=\"text-align: start\">Twitterでしか繋がれない人脈、Twitterに置き去りにしてきた膨大な思い出。それらを大切に思うからこそ、私は今のXを憎みます。\u003C/p>\u003Cp style=\"text-align: start\">ですが本質的な理由は、私が真人間であることよりも、アルゴリズムに踊らされる反応機械であることの快楽を選んでしまったという点に尽きます。\u003C/p>\u003Cp style=\"text-align: start\">かつて、昭和の街角に貼られたポスターは、白い粉の恐怖と共に｢人間やめますか｣と問いかけました。しかし令和になった今、私たちは手のひらの上で鈍く光る黒いアイコンを見つめながら、その問いに無言で頷こうとしています。\u003C/p>\u003Cp>理性も品性もかなぐり捨てて、汚泥のような情報を浴び続けること。怒りを燃料にして走り続けること。それがこのプラットフォームに最適化された、新しい人類の醜い姿なのかもしれません。\u003C/p>\u003Cp>青い鳥は死にました。多くの人の順当な人間性も、もしかしたらその時に一緒に死んでしまったのでしょう。\u003C/p>\u003Cp>文句を言いながらも指先は正直です。今日も元気に、地獄の窯の蓋を開けに行きましょう！\u003C/p>",[54],{"id":31,"createdAt":32,"updatedAt":33,"publishedAt":32,"revisedAt":33,"slug":34,"name":35},"Twitterからあの愛らしい青い鳥が姿を消し、得体の知れないアルファベットに成り果ててから、かれこれ3年の月日が経とうとしています。イーロン・マスクがTwitterを買収した直後の狂騒は、今となってはある種のエンターテインメントとして消費できていた時期だったのかもしれません。大量のレイオフ、Twi",48,{"contents":58,"totalCount":69,"offset":44,"limit":43},[59],{"id":60,"createdAt":61,"updatedAt":62,"publishedAt":62,"revisedAt":62,"title":63,"content":64,"tags":65,"is_no_index":67,"summary":68},"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>",[66],{"id":31,"createdAt":32,"updatedAt":33,"publishedAt":32,"revisedAt":33,"slug":34,"name":35},true,"インターネットを右往左往していると、時折、どうしようもなく胸糞が悪くなる文章に行き当たることがあります。最近、ある中小規模のコミュニティ管理者が書いた反省文と称する記事を読みました。読んだ瞬間に覚えたのは、猛烈な不快感でした。そこには、自身の加害性を未熟さや善意でラッピングし、最終的に「そんな自分も",20,1783975276433]