[{"data":1,"prerenderedAt":70},["ShallowReactive",2],{"article-5uoungfiv":3,"prev-article-5uoungfiv":21,"next-article-5uoungfiv":50},{"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},"5uoungfiv","2025-09-19T18:00:20.644Z","2025-09-19T18:08:37.327Z","正しさの主張","\u003Cp>お久しぶりです。\u003C/p>\u003Cp>最近、目を背けたい事実に直面することがありました。\u003Cbr>きっかけは、過去に自分が書いた、あるコミュニティについて論じた文章を偶然読み返したことです。\u003Cbr>そこには、特定の人物像に対し、その行動原理を半ば断罪するかのように書き連ねる、傲慢な自分がいました。\u003Cbr>そして、最も衝撃的だったのは、その批判の矛先が、現在の自分自身に正確に突き刺さることでした。\u003C/p>\u003Cp>過去の文章で私が問題視\u003Cs>(あるいは敵視)\u003C/s>していたのは、他責的で、他者への要求がましく、常に自分は被害者であるという立場から世界を語る人々でした。\u003C/p>\u003Cp>しかし、今の私はどうでしょう。\u003Cbr>日々の生活の中で、自分の思い通りにならないことがあると、すぐに他者や環境のせいにしてはいないか。\u003Cbr>自分の苦境を理解し、手を差し伸べるのが当然であるかのように、周囲に期待してはいないか。\u003Cbr>心当たりのある節は、枚挙にいとまがありません。\u003Cbr>自分がいかに他人に対して要求がましく、不平不満を募らせているかに気づいてしまいました。\u003Cbr>誰かが自分の期待通りに動いてくれないと苛立ちを覚えたり、自分の苦境を理解してくれない社会や他者に対して、心の中で攻撃的な言葉を並べたりする。\u003Cbr>その姿は、私がかつて記事の中で批判的に描写した人物像と、驚くほど酷似していました。\u003C/p>\u003Cp>私がコミュニティの中に見ていた問題点は、全くの他人事などではなく、何を隠そう、私自身の内面にある課題を投影したものであったのだと。\u003Cbr>これはまさしく同族嫌悪です。\u003Cbr>自分の中にある、認めたくはない醜い部分。\u003Cbr>それと同じものを他者の中に見つけ出し、批判することで、あたかも自分だけは違うのだと安心しようとする、卑劣な防衛機制でした。\u003C/p>\u003Cp>以前の記事でも言及した気がしますが、「誰も私を助けてくれない」という嘆きは、いつしか「だからあなたは私を助けるべきだ」という、他者への一方的な要求に変わってしまう。\u003Cbr>というか変わってしまった。\u003Cbr>他者の時間や感情を際限なく奪うための、万能の呪文を私は覚えてしまった。\u003Cbr>私も立派な化け物だったみたいです。笑ってください。\u003C/p>\u003Cp>完全な被害者であるという認識は、一種の安全圏として機能します。\u003Cbr>自分は傷つけられた側であり、悪くない。\u003Cbr>故に、他者からの配慮や支援を要求する権利がある。\u003Cbr>この論理は、一見すると正当なものに思えますが、容易に肥大化し、「自分は常に正しく、周囲が間違っている」という歪んだ特権意識へと変わります。\u003Cbr>この立場に安住する限り、自分自身の問題と向き合う必要がありません。\u003Cbr>全ての原因を外部に押し付け、自分は変わらずに済むからです。\u003Cbr>傲慢ですね。\u003C/p>\u003Cp>「誰も助けてくれない」という嘆きは、この被害者意識と結びつくことで、容易に他者への攻撃性へと変質します。\u003C/p>\u003Cp>自分の価値を他者からの承認に依存していると、期待通りの反応が返ってこないだけで、自分の存在が根底から否定されたかのような感覚に陥ってしまいます。(しまいました)\u003Cbr>すると、助けてくれなかった相手は、単なる「期待に応えなかった人」から、「自分を否定し、傷つけた加害者」へと認識がすり替わります。\u003Cbr>こうして、本来であれば内省に向けられるべき体力が、他者への攻撃という最も安直な形で発散されてしまうのです。\u003Cbr>私自身、ほんとに心当たりしかなくてびっくりします。\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","独り言",false,1,0,{"contents":22,"totalCount":49,"offset":20,"limit":19},[23],{"id":24,"createdAt":25,"updatedAt":26,"publishedAt":26,"revisedAt":26,"title":27,"content":28,"tags":29,"is_no_index":18,"summary":48},"kkrzgveya","2025-09-02T11:43:40.111Z","2025-09-02T11:46:23.890Z","Nuxt4がいつの間にか出ていたのでサイトを更新した","\u003Cp>どうも、わたしです。\u003C/p>\u003Cp>先日、Nuxtのバージョン4がリリースされたことに、数ヶ月経ってから気づきました。\u003Cbr>告知はあったようですが、知らないところでいつの間にかひっそりと公開されていて、少しばかり驚いています。\u003Cbr>Nuxt 3のリリースから約2年半ぶりのメジャーバージョンアップだそうです。\u003C/p>\u003Cp>メジャーバージョンアップと聞くと、多くの破壊的変更が伴うのが常で、正直なところ「面倒だなーーー」という感情が先に立ちました。\u003Cbr>しかし、どうせいつかは対応しないといけないので、少しばかり重い腰を上げて、移行作業に取り掛かることにしました。\u003C/p>\u003Cp>\u003Ca href=\"https://nuxt.com/blog/roadmap-v4\" target=\"_blank\" rel=\"noopener noreferrer\">公式のロードマップ\u003C/a>に目を通すと、近々Nuxt5のリリースも控えてそうな雰囲気で、今回のv4は、v5へ向けた地ならし、つまり一度破壊的変更のステップを踏んでおくためのリリースみたいです。\u003C/p>\u003Ch1 id=\"ha8a4a373ac\">Nuxt 3から4への移行、所感とか\u003C/h1>\u003Cp>結論から言うと、めちゃくちゃスムーズにアップグレードできました。\u003C/p>\u003Cp>以前のNuxt 2から3への移行を経験された方なら同意していただけると思うのですが、あれは本当に悪夢でした。\u003Cbr>エコシステムの対応は追いついていないし、Composition APIへの移行は思考の根本的な書き換えを要求されるしで、多くの方が移行作業で心を消耗させたはずです。\u003Cbr>当時のわたしもその一人でした。\u003C/p>\u003Cp>その反動なのか、今回のNuxt 3から4への移行は、驚くほどストレスなく、シンプルに完了しました。\u003Cbr>対応が必須となる箇所が少なく、後方互換性もかなり考慮されている印象です。\u003Cbr>あの地獄のようなマイグレーション作業を思うと、拍子抜けするほどでした。\u003C/p>\u003Ch1 id=\"h2220f0ef7d\">やったこと\u003C/h1>\u003Cp>詳細な手順については、ほぼ\u003Ca href=\"https://nuxt.com/docs/4.x/getting-started/upgrade\" target=\"_blank\" rel=\"noopener noreferrer\">公式のアップグレードガイド\u003C/a>の通りに進めて問題ありませんでした。\u003C/p>\u003Cp>既にNuxt 3の環境がある場合、\u003Ccode>nuxt.config.ts\u003C/code>に\u003Ccode>future.compatibilityVersion: 4\u003C/code>を一行書き足すのが最も手軽な方法として紹介されています。\u003Cbr>しかし、古いパッケージを使いながら設定だけで新しいバージョンに擬態させるのは、どうにも気持ち悪く、私はこの方法を選びませんでした。\u003C/p>\u003Cp>というわけで、パッケージごと更新する、よりクリーンなアプローチを選択しました。\u003Cbr>公式で紹介されていたマイグレーション用のコマンド\u003Ccode>npx codemod@latest nuxt/4/migration-recipe\u003C/code>は、残念ながら私の環境ではうまく動作しませんでした。\u003C/p>\u003Cp>やったことは、本当にこれだけです。\u003C/p>\u003Col>\u003Cli>\u003Ccode>pnpm i nuxt@^4.0.0\u003C/code> を実行\u003C/li>\u003Cli>その他、関連ライブラリを最新版に更新\u003C/li>\u003Cli>ディレクトリ構成を変更\u003C/li>\u003C/ol>\u003Cp>\u003Ccode>pnpm dev\u003C/code>を実行して、ローカルサーバーが何事もなかったかのように起動したときは、あっさりすぎて逆にびっくり。\u003Cbr>Nuxt 2から3への移行で経験した延々と続くエラーとの格闘は、もう過去のものみたいです。\u003C/p>\u003Ch1 id=\"h1afe451c43\">さいごに\u003C/h1>\u003Cp>今回のNuxt 4への移行は、過去の経験が嘘のようにスムーズなものでした。\u003Cbr>あの時の苦労を思えば、今回の変更は部屋の模様替え程度の軽微な作業だったと言えます。\u003C/p>\u003Cp>しかし、前述の通り、これは数ヶ月後にリリースが予定されているNuxt 5への布石に過ぎないようです。\u003Cbr>この束の間の平穏がいつまで続くのかは分かりませんが、とりあえずは最新の環境で運用できることに満足しています。\u003C/p>\u003Cp>みさなんも、メジャーアップデートと聞いて身構えず、早めに対応しておくのがよさそうです。\u003Cbr>それでは。\u003C/p>",[30,36,42],{"id":31,"createdAt":32,"updatedAt":33,"publishedAt":32,"revisedAt":33,"slug":34,"name":35},"4oy2jc8mdg","2025-04-28T07:14:01.179Z","2025-12-03T16:08:24.495Z","diary","日記",{"id":37,"createdAt":38,"updatedAt":39,"publishedAt":38,"revisedAt":39,"slug":40,"name":41},"qfey3yw0z1","2025-04-29T08:44:41.687Z","2025-12-03T16:07:14.622Z","technology","テクノロジー",{"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","プログラミング","どうも、わたしです。先日、Nuxtのバージョン4がリリースされたことに、数ヶ月経ってから気づきました。告知はあったようですが、知らないところでいつの間にかひっそりと公開されていて、少しばかり驚いています。Nuxt 3のリリースから約2年半ぶりのメジャーバージョンアップだそうです。メジャーバージョンア",33,{"contents":51,"totalCount":69,"offset":20,"limit":19},[52],{"id":53,"createdAt":54,"updatedAt":55,"publishedAt":56,"revisedAt":55,"title":57,"content":58,"tags":59,"is_no_index":18,"summary":68},"svgkndwg3ng9","2025-09-29T13:06:03.316Z","2026-06-26T14:50:56.142Z","2025-09-29T13:16:44.358Z","独自ドメインでのメールアドレス運用をやめ、Hide My Emailに移行した話","\u003Cp>どうも、わたしです。\u003Cbr>今日は、長らく頭を悩ませていたメールアドレスの運用について、その移行経緯と最終的な結論を記録しておこうと思います。\u003C/p>\u003Ch1 id=\"h8d027c8ed3\">はじめに\u003C/h1>\u003Cp>かつては自宅サーバでメールサーバを運用していましたが、自宅サーバ群の完全撤廃に伴い、その運用も当然ながら終了しました。\u003Cbr>以前はHomeNOCより割り当ていただいたIPで運用していましたが、自宅の一般回線はOP25Bの影響を避けられないため、代替としてAmazon Simple Email Service (SES)を暫定的に利用していた、というのがこれまでの経緯です。\u003C/p>\u003Cp>SESのコストや機能に大きな不満はなかったものの、ごく稀に発生するGmailへの転送失敗という、再現性の低い問題が看過できなくなり、本格的に移行先を探すことにしました。\u003C/p>\u003Ch1 id=\"h408cdaab63\">検討と検討と検討\u003C/h1>\u003Cp>まず、国内でよく名前が挙がる安価なメールサービス、例えばConoHaやさくらのメールボックスあたりから検討を始めましたが、これらはその仕様のお粗さから、候補にすら入りませんでした。\u003C/p>\u003Cp>特にさくらのメールボックスに関しては、価格の安さからスパム業者の温床になっているという話は有名で、実際にAS単位でメールサービスからブロックされることも珍しくありません。\u003Cbr>私のような真っ当な利用者が、なぜスパマーのせいでメールが届かないリスクを負わなければならないのか。\u003Cbr>サービス設計としてあり得ない話です。\u003Cbr>たまったものではありません。\u003C/p>\u003Cp>そもそも私の要件は極めてシンプルです。\u003C/p>\u003Col>\u003Cli>独自ドメインで、大量のアドレスを生成・受信できること。\u003C/li>\u003Cli>それらを普段使いのメールボックスに転送できること。\u003C/li>\u003Cli>生成した大量のアドレスからメールを送信できること。\u003C/li>\u003C/ol>\u003Cp>メインで利用しているメールアドレスを、素性の知れないウェブサービスに登録するのが生理的に受け付けない、というだけの理由で、サービスごとにアドレスを使い分けるためだけに独自ドメインを利用しています。\u003Cbr>プライバシがどうこうという崇高な理念は、あいにくと持ち合わせていません。\u003Cbr>現代において、ビッグテックから完全に情報を秘匿することが、現代においてどれほど非現実的か理解しているつもりですので。\u003C/p>\u003Cp>Tech系の界隈を見渡すと、Zoho MailやProtonMailを利用している層がかなり観測できます。\u003Cbr>しかし、私のユースケースはサービス登録の都度、数百から数千といった単位でアドレスを量産することにあるため、エイリアス数に課金されるこれらのサービスはコスト的に全く見合いません。\u003C/p>\u003Cp>コストだけを考えればCloudflare Email Routingも候補でしたが、基本的に受信専用のものでした。\u003Cbr>送信もそれなりに行うため、機能的に片手落ちであり、これも除外。(これを書いている少し前に\u003Ca href=\"https://blog.cloudflare.com/email-service/\" target=\"_blank\" rel=\"noopener noreferrer\">Cloudflare Email Service’s\u003C/a>なるものがプライベートベータとしてリリースされたようですが、検討していた時点では存在しなかったため、考慮していません)\u003C/p>\u003Cp>正直なところ、VPSを借りて再びメールサーバを構築することも一瞬考えました。\u003Cbr>しかし、あの不毛な設定と、セキュリティアップデートやスパム対策に追われる運用保守に、再び貴重なリソースを投下するのはあまりにも非合理的だと判断し、即座に却下しました。\u003Cbr>あんな面倒なこと、二度とやりたくありません。\u003C/p>\u003Ch1 id=\"h046bdabcec\">Apple Hide My Email、お前だったのか\u003C/h1>\u003Cp>ここで私はiCloud+に含まれるHide My Email機能の存在に行き着きます。\u003C/p>\u003Cp>最近の私の身の回りは比較的Apple製品で固められており、そのエコシステムとの親和性は言うまでもありません。\u003Cbr>そして何より、私の目的はアドレスを使い分けることであり、独自ドメインの利用は、その目的を達成するための単なる手段に過ぎませんでした。\u003Cbr>その手段へのこだわりを捨てることに、何のためらいもありません。\u003C/p>\u003Cp>むしろ、独自ドメインを手放すことには予期せぬメリットすらありました。\u003Cbr>PictLinkのような、特定のドメイン以外からの登録を受け付けない、前時代的で愚かな仕様を持つサービスが未だに存在しますが、\u003Ccode>icloud.com\u003C/code>というドメインパワーの前では、そうした問題も発生しにくい。\u003Cbr>これはうれしい。我ながらかなり合理的な判断です。\u003C/p>\u003Cfigure>\u003Cimg src=\"https://images.microcms-assets.io/assets/3aba23b5bd6f4b79800a0305d0e4f8aa/eae3d94adc674e3b89835222a24fd6ef/D510F5C4-01C7-4CC9-966C-29245F32CE0D.JPG?w=600&amp;h=1303\" alt=\"\" width=\"600\" height=\"1303\">\u003C/figure>\u003Cp>一つ問題だったのは、パスワード管理に利用しているVaultwarden(Bitwarden互換)のクライアントから、直接Hide My Emailのアドレスを生成できない点でした。\u003Cbr>サービス登録のたびに手動でアドレスを生成し、コピペするのは普通にしんどいですし、UXとして最悪です。\u003C/p>\u003Cp>しかし、この問題は\u003Ca href=\"https://misskey.vip/@n\" target=\"_blank\" rel=\"noopener noreferrer\">お友達のまくらくら\u003C/a>が作っていたブリッジツールによって解決しました。\u003Cbr>\u003Ca href=\"https://github.com/lqvp/hme_bridge\" target=\"_blank\" rel=\"noopener noreferrer\">https://github.com/lqvp/hme_bridge\u003C/a>\u003C/p>\u003Cp>外向きにはSimpleLoginのAPIとして振る舞うことで、Bitwardenクライアントを騙し、内部でiCloudのAPIを叩いているようです。\u003Cbr>Rustで書かれていたのでコードの詳細は読んでいませんが、きちんと動くので多分問題ないでしょう。\u003Cbr>ありがたく利用させてもらうことにしました。\u003C/p>\u003Cp>各種サービスに登録していたメールアドレスの変更も概ね完了し、現在はiCloud基盤で安定して稼働しています。\u003Cbr>SES + Lambdaの環境で発生していたようなメールのロストもなく、不満はありません。\u003C/p>\u003Ch1 id=\"h1afe451c43\">さいごに\u003C/h1>\u003Cp>最近のサービスはSSOを前提とし、ユーザにメールアドレスの入力すらさせず、GoogleアカウントやiCloudアカウントでログインさせるものが増えているように感じます。\u003Cbr>この風潮の背景には、「原則としてユーザは馬鹿で愚かで無能なものなので、まともにアカウント管理など到底できる訳がない」という、サービス提供者側の諦観にも似た思想があるのでしょう。\u003Cbr>それ自体は否定しませんし、私も同感です。\u003C/p>\u003Cp>しかし、例えばGoogleのような単一の認証基盤に、あらゆるサービスの認証を依存させるアーキテクチャには、強い違和感を覚えます。\u003Cbr>これは、すこし考え方を変えて見れば、SPOFを意図的に作り出しているに等しいあまりにも稚拙で傲慢な設計です。\u003Cbr>一つのサービスから情報が流出しただけで、他の全アカウントに影響が及びかねない構造など、本来あってはならない。\u003Cbr>どうやら世の中の多くの人間に、まともなセキュリティ感覚はないらしいようです。\u003C/p>\u003Cp>GoogleがDon&apos;t be evilを捨てて久しいですが、そのGoogleアカウントに生活の全てを預けることを、なぜ誰も疑問に思わないのでしょうか。\u003Cbr>なーにがゼロトラストだ。口だけでフルトラストじゃないか。\u003C/p>",[60,61,67],{"id":37,"createdAt":38,"updatedAt":39,"publishedAt":38,"revisedAt":39,"slug":40,"name":41},{"id":62,"createdAt":63,"updatedAt":64,"publishedAt":63,"revisedAt":64,"slug":65,"name":66},"fwj_nwhj1-s","2025-04-30T04:55:28.953Z","2025-12-03T16:07:03.591Z","server","サーバー",{"id":31,"createdAt":32,"updatedAt":33,"publishedAt":32,"revisedAt":33,"slug":34,"name":35},"どうも、わたしです。今日は、長らく頭を悩ませていたメールアドレスの運用について、その移行経緯と最終的な結論を記録しておこうと思います。はじめにかつては自宅サーバでメールサーバを運用していましたが、自宅サーバ群の完全撤廃に伴い、その運用も当然ながら終了しました。以前はHomeNOCより割り当ていただい",35,1783975277786]