GyaanSetu WebDev

Frontend, backend and devops for the modern web.

438 articlesDeep, practical knowledge

API認証:APIキー vs JWT vs OAuth 2.0

API認証:APIキー vs JWT vs OAuth 2.0。かつて、認証なしでAPIをリリースしてしまったことがあります。単なる社内ツールだと思っていたのですが、2週間後、競合他社のボットがスクレイピングを…

WebDev · 2 分で読めます

レートリミッターはセキュリティ対策ではありません

レートリミッターはセキュリティ対策ではありません。ボットがわずか数分で、私のAPIから1つのパスポートに関する全データを抜き取りました。私のレートリミッターはそれを阻止できず、制限は月間3,000回でした…。

WebDev · 2 分で読めます

ブログのプレビュー表示の不具合を解決した方法

ブログのプレビュー表示の不具合を解決した方法。Xにブログのリンクを投稿したところ、プレビュー画像が正しくありませんでした。技術記事の画像ではなく、セールスバナーが表示されていたのです。確認したところ…

WebDev · 2 分で読めます

幅のチェックが漢字を壊した

幅のチェックが漢字を壊した。ある名前が端末のテーブルに入力されたところ、壊れた状態で出力されました。その名字は「𠮷田」でした。最初の文字は一般的な「吉」ではなく、「𠮷」(U+20BB7) です。これは珍しい…

WebDev · 2 分で読めます

AI時代:象牙の塔の民主化

AI時代:象牙の塔の民主化。歴史が示すのは、科学が常に公平であるとは限らないということです。長い間、学術界は排他的なクラブとして機能してきました。このクラブはしばしば...

WebDev · 2 分で読めます

実際の受信トレイを使わずにOAuthリカバリメールをテストする

実際の受信トレイを使わずにOAuthリカバリメールをテストする。OAuthリカバリメールを安易な方法でテストすることは、セキュリティリスクを伴います。多くのチームでは、パスワードリセットリンクを単一の共有メールボックスに送信していますが…。

WebDev · 2 分で読めます

ソフトウェアに欠けていた「栄養成分表示」

ソフトウェアに欠けていた「栄養成分表示」。2021年12月9日、あるセキュリティ研究者がLog4jと呼ばれるJavaライブラリの脆弱性を発見しました。72時間以内に、数億ものシステムが...

WebDev · 2 分で読めます

エージェントが本番環境を壊したのではない。壊したのはパイプラインだ。

エージェントが本番環境を壊したのではない。壊したのはパイプラインだ。あなたのエージェントが本番環境を壊したわけではありません。壊したのはパイプラインです。多くのチームがプルリクエストを作成するためにエージェントを活用しており、CIを使ってLintチェックなどを行っています...

WebDev · 2 分で読めます

受信トレイを汚さずにNode.jsのダイジェストメールをテストする

受信トレイを汚さずにNode.jsのダイジェストメールをテストする。プレビュー環境が1つの共有メールボックスにサマリーを送信すると、ダイジェストメールが問題を引き起こすことがあります。どのメッセージがどこに属しているのか分からなくなってしまいます...

WebDev · 2 分で読めます

「一日」を定義するものとは?

「一日」を定義するものとは? プログラマーは、新機能の開発時にしばしば的外れなことに集中してしまいがちです。バックエンドのデータ、コードの重複、あるいはパフォーマンスについて考えているかもしれません。これらの問いは…

WebDev · 2 分で読めます

3ヶ月間成功し続けていたCI/CDパイプライン — ログを読んで分かったこと

3ヶ月間成功し続けていたCI/CDパイプライン — ログを読んで分かったこと。緑色のチェックマークを見るのは気分が良いものです。すべてのプルリクエストはパスし、すべてのデプロイも正常に完了していました。しかし、あるユーザーから機能の不具合が報告されたのです。それは…

WebDev · 2 分で読めます

エージェンティックAIにおける能力 vs ツール

エージェンティックAIにおける能力 vs ツール。人々はしばしば、AIエージェントが使用するツールの数でその性能を判断します。ウェブの閲覧、コードの実行、あるいはデータベースへのクエリが可能かどうかといった点を確認するのです。そのログは…

WebDev · 2 分で読めます

HTTPに20年ぶりの新メソッドが登場

HTTPに20年ぶりの新メソッドが登場。おそらく、これまでに経験があるはずです。商品を検索する必要があるとき、検索フィルターがURLの制限を超えるほど大きくなってしまうことがあります。これを解決するために、あなたは…

WebDev · 2 分で読めます

Why a ComboBox Is Not Enough

Why a ComboBox Is Not Enough You build business applications. You solve the same problems repeatedly. You build customer searches. You build product autocomplete fields. You build…

WebDev · 2 分で読めます