GyaanSetu WebDev

Frontend, backend and devops for the modern web.

244 articlesDeep, practical knowledge

ネットワークAPIの誤認により、低速ネットワーク環境下でブラウザ版Pythonプレイグラウンドがクラッシュ

5.5MBのブラウザ内Pythonランタイムにおいて、3Gや低速な回線を利用するユーザーが気づかないうちにタイムアウトが発生しました。これは、ChromeのNetwork Information APIが返したプレースホルダーのダウンリンク値を、コードが高速な通信であると誤認したことが原因であり、結果として一連の誤診を招くこととなりました。

WebDev · 3 分で読めます

クリーンアップスクリプトにより、数十件の記事からコードスニペットが消失

定期メンテナンス作業中にLiquidの {% raw %} タグが誤って「閉じられていない変数」と認識され、そのタグを使用しているすべての記事から周囲のコードブロックが削除されてしまいました。この事態により、緊急のロールバックと移行テストの再検討を余儀なくされました。

WebDev · 3 分で読めます

ステートレスMCPにより、Cloudflare上でMarkdownを無料で配信可能に

ベンチマークの結果、読み取り専用MCPサーバーは主要なエンドポイントにおいてCPU使用時間が0〜1ミリ秒に抑えられており、Cloudflareのリクエストあたりの制限である10ミリ秒を大幅に下回っています。なお、ネットワーク遅延の影響で、総実行時間(ウォールクロックタイム)は最大で約88ミリ秒に達する場合があります。

WebDev · 2 分で読めます

Hermes AgentがAI自動化の可能性を広げる一方、セキュリティの負担は開発者に委ねられる

Hermes Agentのモジュール設計は、言語モデル、オーケストレーション・コア、および実行可能なツールを分離しており、スクリプトやRESTコール、Dockerコマンドの連携を可能にします。その一方で、エージェントのサンドボックス化やAPIキーの保護といったセキュリティ対策も求められます。

WebDev · 3 分で読めます

BrowserAct、ボット検知テストでPlaywrightのヘッドレスモードを凌駕

サンドボックスのログインページを用いた比較検証において、BrowserActのステルスブラウザがisBot:falseを返したのに対し、PlaywrightのデフォルトのヘッドレスセッションはisBot:trueと判定。デフォルトのuser-agentやwebdriverフラグがいかに自動化を露呈させてしまうかを浮き彫りにしました。

WebDev · 4 分で読めます

Astro 7のアップグレードで数式、見出しリンク、カスタムオプションが壊れる:その修正方法

Astro 7はRustベースのSätteri markdownエンジンを使用しており、HTML-ASTプラグインよりも前に構文ハイライトを実行します。この変更により、$$...$$ブロックがコードとして誤分類されるほか、見出しスラグ(heading-slug)プラグインがIDを生成できなくなり、指定した非標準のMarkdown設定も破棄されてしまいます。

WebDev · 4 分で読めます

Substringの割り当てによりホットループで7.8 MBを浪費 — Spanルックアップへの切り替え

プロファイラーによる解析の結果、Substringを用いた辞書ルックアップのたびに新しい文字列が生成され、7.8 MBものガベージが割り当てられていることが判明しました。.NET 9のReadOnlySpan<char>を用いたGetAlternateLookupを活用することで、この割り当てを排除し、ループの実行速度を1.5倍に高速化できます。

WebDev · 1 分で読めます

177MBのアップロードではFastPixが他を圧倒、65MBのテストではCloudinaryが勝利

Node.jsのテスト環境を用いて、帯域制限された10 Mbpsの回線でアップロード時間と準備完了までの時間を測定した結果、177MBのファイルではFastPixが最速、65MBのクリップではCloudinaryが2秒で準備完了状態となることが分かりました。一方、Muxはコールドスタート時のフレーム処理において優れた性能を示しました。

WebDev · 3 分で読めます

AV2は30%の効率向上を実現するも、FFmpegへの対応やハードウェアデコーダーは未実装

2026年5月にリリースされたAV2リファレンスエンコーダー1.0.0は、AV1と比較してビットレートを30%削減できるものの、既存のAV1エンコーダーよりも動作が大幅に遅く、FFmpegへの統合やハードウェアデコーダーも未対応であるため、ライブストリーミングのパイプラインには適していません。

WebDev · 3 分で読めます

ISPの単一障害がいかにリモートエンジニアの業務を停滞させるか — その防止策について

ISPの停止は、サーバーダウンと同様に、リモート開発者の作業を数時間にわたって中断させてしまう可能性があります。消費電力を測定し、UPSを導入し、4G/5Gのホットスポットバックアップを備えたデュアルWANルーターを設置することで、RTOを達成し、コーディングを継続することができます。

WebDev · 2 分で読めます

プロンプトインジェクションを認可の欠陥として扱い、権限のないツールを排除する

開発者は、モデルのツールボックス内で特権的な関数を公開することを止める必要があります。呼び出し側の権限に基づいたリクエストごとの関数カタログを生成し、身元が不明な場合にはアクセスを拒否(フェイルクローズ)することで、LLMエージェントはデータ漏洩につながる1%のプロンプトインジェクションの隙を排除できます。

WebDev · 5 分で読めます

フレイキーテストがCIを蝕む — 合格率から「失敗の信頼性指標」への転換

多くのチームが合格率の向上を追い求める一方で、不安定なテストによる失敗が真のバグを覆い隠してしまっています。失敗の再発、欠陥検出率、リトライ依存度、そして診断時間を追跡することで、ノイズの多いエラー表示を、リリース判断の確かな指針となる信頼性の高いシグナルへと変えることができます。

WebDev · 4 分で読めます

LLMはJSONリクエストを生成するのみ — 実際の実行はコードが行う

モデルが直接関数を実行することはありません。モデルが生成するのは構造化されたリクエストであり、それをディスパッチャーが検証、認可、そして最終的に実行します。この「受け渡し」の仕組みを理解することが、バグの修正や予期せぬ副作用を防ぐための鍵となります。

WebDev · 4 分で読めます

隠れたスパムフィールドがすべてのアラビア語ページのインプレッションを消失させ、数時間のデバッグを強いた

ハニーポットがアラビア語ページを台無しにした。Converticaは7つの言語に対応しています。6つの言語は左から右へ読みますが、アラビア語は右から左へ読みます。この違いのせいで、デバッグに数時間を費やすことになりました。すべてのアラビア語…

WebDev · 1 分で読めます

低価値なURLをブロックすることで、Eコマースサイトはファセットによるクロールトラップを回避できる

監査の結果、GooglebotがフィルターURLに1日3回アクセスしている一方で、メインカテゴリーのクロールは3週間に1回しか行われておらず、その結果、新着商品が数週間にわたってインデックスされない状態になっていることが判明しました。ファセットの分類、canonicalタグの使用、低価値なURLのブロック、そしてフィルターをボタンとして実装することで、サイトはインデックス時間を短縮しました。

WebDev · 3 分で読めます

AIの合意という神話が崩壊:10のモデル、5つの枠、29の異なる回答

この実験では、ルーマニアの最高級ウェディングリングメーカーについて、トップ10のLLMに調査を行いました。50の推奨枠において、計29の異なるブランドが挙げられ、その66%はわずか1つのモデルにしか登場しませんでした。この結果は、データパイプラインがいかにブランドの露出を左右するかを浮き彫りにしています。

WebDev · 2 分で読めます

GitHub、レビュー時間を短縮する「スタック型プルリクエスト」のパブリックプレビューを開始

このプレビューでは、前のプルリクエストに基づいた依存関係のあるプルリクエストを連鎖的に作成できます。これにより、レビュアーは特定のレイヤーに関連する変更のみを確認できるようになり、レビューの負担やマージコンフリクトを劇的に軽減できます。

WebDev · 2 分で読めます

RBI、2026年4月までにインドの全デジタル決済におけるパスキー導入を義務付け

RBIのこの規則は、DPDP法による高額なデータ漏洩罰金やCERT-Inによる6時間以内の報告義務と足並みを揃えるものであり、銀行に対して、再利用可能なパスワードやSMS OTPを、ログインのたびに新しい署名を生成する暗号化パスキーへと置き換える動きを加速させています。

WebDev · 3 分で読めます