米国クラウドからの脱出:実践的な移行物語

2025-03-18
米国クラウドからの脱出:実践的な移行物語

EUのプライバシー法と米国のデータ慣行の矛盾、そして米国政府がテクノロジー企業を武器として悪用する可能性への懸念から、著者は自社の米国クラウドサービスへの依存を移行することにしました。この記事では、Microsoft 365からProton、BitwardenからProton Passへの切り替え、そしてGitHub、Google検索、Cloudflare/Google DNS、Docker Hub、NPMなどの他のサービスの段階的な移行のプロセスと経験について詳しく説明しています。Microsoft 365の代替としてProtonへの驚くほどスムーズな移行など、一部の移行は予想よりも簡単でしたが、GitHubなど、他の移行は高い依存性のためにより多くの時間を必要としました。この記事では、米国クラウドサービスへの依存を減らすことの重要性を強調し、ヨーロッパの代替案を探求することを推奨しています。

続きを読む

Next.jsプリレンダリング:実際にはどれだけのトラフィックを処理できるのか?

2025-03-09
Next.jsプリレンダリング:実際にはどれだけのトラフィックを処理できるのか?

著者は、Next.jsプリレンダリングサイトのトラフィック処理能力をテストし、VPSサーバーでは約200の同時リクエストしか処理できないことを発見しました。これは予想をはるかに下回る結果でした。このため、専用サーバーにアップグレードしたところ、パフォーマンスが大幅に向上し、毎秒数千のリクエストを処理できるようになりました。対照的に、サーバーサイドレンダリング(SSR)のパフォーマンスはプリレンダリングよりもはるかに低く、トラフィックが多いと問題が発生しました。この記事では、CloudflareやVercelなどの他のソリューションの長所と短所についても議論しており、最終的にはスケーラビリティのために専用サーバーを選択しました。今後のテストでは、さらなる最適化が検討されます。

続きを読む

Google翻訳がReact(およびその他のウェブアプリ)をクラッシュさせる:DOMの対決

2025-02-14
Google翻訳がReact(およびその他のウェブアプリ)をクラッシュさせる:DOMの対決

Google Chromeに組み込まれているGoogle翻訳拡張機能は、DOMを操作することで、多くの最新のウェブアプリ、特にReactを使用しているアプリをクラッシュさせることがあります。この記事では、Google翻訳の動作メカニズム、TextNodeをFontElementに置き換えることでReactの仮想DOMを破壊し、クラッシュやデータの不整合を引き起こす仕組みを詳しく解説しています。`NotFoundError`や`insertBefore`の失敗など、一般的なエラーや、モンキーパッチやTextNodeを``で囲むなどの回避策についても分析していますが、これらの解決策には限界があります。最終的に、この記事では、アプリの安定性とユーザーエクスペリエンスを確保するために、Google翻訳を無効にするか、独自のローカライゼーションを実装することを検討すべきだと提案しています。

続きを読む
開発 Google翻訳