エンジニアリングの記事
URL短縮サービスが高負荷下で実際にどう動くのか。リダイレクトのレイテンシ予算、キャッシュ階層、ClickHouseによる分析パイプライン、冪等なAPI、そしてElidoのエッジを支えるインフラ選定までを掘り下げます。これらは本番システムの実際の数値に基づくエンジニアリングの深掘り記事で、リンクプラットフォーム上に何かを構築したい開発者や、システム設計そのものを楽しみたい方に向けて書かれています。アーキテクチャのページでベンダーを評価するタイプの方は、まずはここから始めてください。
- エンジニアリング
リダイレクトループとは:ERR_TOO_MANY_REDIRECTSの見つけ方と直し方
リダイレクトループは、ブラウザが2つのURLの間を行き来し続け、やがて諦めてしまう現象だ。1つのコマンドでリダイレクトチェーンを追跡し、食い違っているルールを特定して、根本的に修正しよう。
1分で読了redirect loop · err_too_many_redirects · too many redirects - エンジニアリング
URL Shortener CLI: Shorten Links From the Terminal
Shorten a URL from the command line with curl and jq, wrap it in a shell function, copy to the clipboard, and shorten a whole file with xargs in parallel.
5分で読了url shortener cli · shorten url command line · curl url shortener - エンジニアリング
How to Shorten a URL in Ruby With Net::HTTP and Faraday
Shorten a URL in Ruby with Net::HTTP and no gems, then add timeouts, retries, and idempotency, or hand the whole job to Faraday in a Rails app.
5分で読了how to shorten a url in ruby · ruby url shortener · shorten url ruby net http - エンジニアリング
How to Shorten a URL in PowerShell With Invoke-RestMethod
Shorten a URL in PowerShell with one cmdlet, then handle 429s, keep the API key out of the script, and shorten a whole CSV column with ForEach-Object -Parallel.
5分で読了how to shorten a url in powershell · powershell url shortener · invoke-restmethod post json - エンジニアリング
How to Shorten a URL in PHP With curl, Guzzle, or WordPress
Shorten a URL in PHP with a short curl block, the same call in Guzzle or Laravel, a WordPress version with wp_remote_post, plus retries and bulk shortening.
7分で読了how to shorten a url in php · php url shortener · shorten url php curl - エンジニアリング
How to Shorten a URL in JavaScript With fetch and Node
Shorten a URL in JavaScript with one fetch call, then add a timeout, retries, and idempotency - and see why the browser is the wrong place to hold the key.
7分で読了how to shorten a url in javascript · url shortener node js · shorten url javascript fetch - エンジニアリング
How to Shorten a URL in Java With the Built-in HttpClient
Shorten a URL in Java with java.net.http and no dependencies, then add a timeout, retries with an Idempotency-Key, and bulk shortening on virtual threads.
5分で読了how to shorten a url in java · java url shortener api · java httpclient post json - エンジニアリング
How to Shorten a URL in Go With net/http and errgroup
Shorten a URL in Go with net/http and a JSON body, then add a context deadline, retries with an Idempotency-Key, and bounded bulk shortening via errgroup.
7分で読了how to shorten a url in go · golang url shortener api · shorten url go net/http - エンジニアリング
How to Shorten URLs in Excel: Four Routes That Work
Excel's WEBSERVICE formula cannot POST, so shortening links needs Office Scripts, Power Automate, or a bulk import. Which route fits how often the sheet runs.
5分で読了how to shorten urls in excel · excel url shortener · webservice function excel - エンジニアリング
How to Shorten a URL in C# With HttpClient and .NET
Shorten a URL in C# with PostAsJsonAsync, then wire IHttpClientFactory, a resilience handler, an Idempotency-Key, and bounded bulk shortening with Parallel.
5分で読了how to shorten a url in c# · c# url shortener api · httpclient postasjsonasync - エンジニアリング
短縮リンクがSlackやTeamsでブロックされる理由
短縮リンクがSlackやTeamsでブロックされるのは、共有シャートナードメインがSafe Linksのようなセキュリティチェックに引っかかるからだ。なぜ起きるのか、そしてブランドドメインによる解決策を解説する。
1分で読了short links blocked in slack · bitly links blocked · microsoft teams safe links - エンジニアリング
エージェント型コマース:AIエージェントが使うために作られたリンク
エージェント型コマースでは、人間ではなくAIエージェントがリンクをたどり購入する。それを乗り切るために、リンクが安定していて機械的に解決可能で、サーバーサイドで計測されていなければならない理由。
1分で読了agentic commerce · agentic ai checkout · links for ai agents - エンジニアリング
Pythonでrequestsライブラリを使ってURLを短縮する方法
requestsを使えば、数行のコードでPythonからURLを短縮できます。短縮サービスのAPIにPOSTして短縮リンクを受け取る基本から、リトライ、冪等性(Idempotency)、一括処理、非同期処理まで解説します。
1分で読了how to shorten a url in python · python url shortener · shorten url python requests - エンジニアリング
GA4のAI Assistantチャネル:何を追跡し、何を見逃すのか
GA4の新しいAI AssistantチャネルはChatGPT、Gemini、Copilotのトラフィックを切り分ける。ただしPerplexityは対象外で、遡って適用もされない。追跡範囲と抜け穴を解説する。
1分で読了ga4 ai assistant channel · ga4 ai traffic · track chatgpt traffic ga4 - エンジニアリング
FirefoxとBraveがUTMアトリビューションを壊している
FirefoxはUTMパラメータを削除し、Braveはそれを読み取るスクリプトをブロックする。ブラウザのプライバシー機能が静かにアトリビューションを壊している。その理由と、短縮リンクが生き残る仕組みを解説する。
1分で読了firefox strip utm parameters · browsers strip utm · brave utm tracking - エンジニアリング
開発者向けBitly API代替: チェックすべきポイント
開発者向けのBitly API代替について解説。Bitlyのレート制限とプラン別機能制限がどこで問題になるか、開発者ファーストの短縮サービスAPIが本来提供すべきものは何かを紹介します。
1分で読了bitly api alternative · bitly api · url shortener api - エンジニアリング
無料URL短縮API: 実際に動くコード例
curl、JavaScript、Python、Goで実行可能な無料URL短縮APIのコード例。加えて正直な部分、つまり無料枠が制限するものと本番運用に必要なものも解説。
1分で読了free url shortener api · url shortener api · shorten url api - エンジニアリング
オープンリダイレクトの脆弱性とその防ぎ方
オープンリダイレクトは攻撃者が信頼されたリンクを悪意あるサイトへねじ曲げることを許す。バグの仕組み、フィッシングを支える理由、それを断つサーバー側の修正法を解説。
1分で読了open redirect vulnerability · open redirect · unvalidated redirect - エンジニアリング
URL短縮サービスの構築方法: アーキテクチャとコード
本番環境に耐えうる URL 短縮サービスの構築方法: ショートコード生成、リダイレクトパス、キャッシュ、クリック追跡、不正利用対策、および運用上の考慮事項を解説します。
2分で読了build a url shortener · url shortener system design · short code generation - エンジニアリング
URL リダイレクトの種類: 301、302、307、308 など
あらゆる URL リダイレクトの種類を解説します - 301、302、303、307、308、meta refresh、JavaScript - それぞれの動作、SEO への影響、使い分けの方法。
2分で読了types of redirects · url redirect types · 301 redirect - エンジニアリング
301 vs 302 リダイレクト: ショートリンクにはどちらを使うべきか
301 は恒久的なリダイレクトでランキングシグナルを渡す。302 は一時的で通常は渡さない。ショートリンク・SEO・キャッシュへの影響を解説。
1分で読了301 vs 302 redirect · 301 redirect · 302 redirect - エンジニアリング
URL短縮API: レート制限、リトライ、冪等性
URL短縮APIを本番環境で呼び出す方法。トークンバケット方式のレート制限、バックオフ付きリトライが必要なステータスコード、重複を防ぐ冪等性キーを解説。
1分で読了url shortener api rate limits · api idempotency key · retry with exponential backoff - エンジニアリング
URL短縮ツールはSEOに悪影響を与えるか?重要なメカニズムを解説
URL短縮ツールはSEOに悪影響を与えるか?信頼できるサービスを使えば問題ない。Googleはリダイレクトを通じてランキングシグナルを伝達する。順位を下げる4つのケースとその回避策を解説。
1分で読了do url shorteners hurt seo · are short links bad for seo · 301 vs 302 redirect seo - エンジニアリング
SentryとDatadogを使った短縮リンクの監視
4xx/5xxリダイレクトイベントとエッジレイテンシp99をSentryにissueとして、Datadogにメトリクスとして送信する方法。サンプルダッシュボードとアラート閾値。
1分で読了short link monitoring · sentry url monitoring · datadog short link metrics - エンジニアリング
URLショートナーの仕組み:メカニズムの解説
URLショートナーはどのように動くのか?スラッグから転送先へのマッピングを保存し、クリックのたびにキーを検索してHTTPリダイレクトを返す。そのメカニズムを端から端まで解説します
1分で読了how do url shorteners work · url shortener mechanics · 301 vs 302 redirect - エンジニアリング
TinyURL移行の実装:Pro/Bulk REST、無料プランは非対応
Elido向けワンクリックTinyURL Pro/Bulkインポートの実装背景。公開TinyURLにAPIがない理由、aliasとslugという用語の違い、そして意図的に設けた制限について。
1分で読了tinyurl migration · url shortener · go worker - エンジニアリング
Short.io移行のリリース:ドメインごとのページネーション(1ページあたり150件)
Elido向けのワンクリックShort.ioインポート機能をいかに構築したか。ドメインごとのページネーションモデル、非公開リンク無効化ルール、そして5つの移行ソースの中で最も高速な移行を実現した経緯について解説します。
1分で読了short.io migration · url shortener · go worker - エンジニアリング
Rebrandly移行機能のリリース:ページあたり25件のページネーションと30分という予算
Elido向けのワンクリックRebrandlyインポート機能をいかにして構築したか-低速なページサイズ、ワークスペースフィルタのUX、そして意図的に移行しない対象について。
1分で読了rebrandly migration · url shortener · go worker - エンジニアリング
Dub.co移行機能のリリース:フォルダからタグへのフラット化
ElidoへのワンクリックDub.coインポート機能の構築について-5つの移行元の中で最もクリーンなAPI、フォルダからタグへのフラット化、そしてEUでのデータレジデンシーを重視するチームにとっての移行のメリットを解説します。
1分で読了dub.co migration · url shortener · go worker - エンジニアリング
RedpandaによるFire-and-forget方式のクリック・インジェスチョン
エッジPOPがリダイレクトをブロックせずにクリック・イベントを送信する方法、click-ingesterワーカーがClickHouseへバッチ処理を行う仕組み、そして低レイテンシ実現のために何をトレードオフにしたか。
1分で読了fire-and-forget クリック・インジェスチョン · Redpanda クリック・イベント · ClickHouse バッチ・インサート - エンジニアリング
エッジPOPとDNSのみのルーティング: レイテンシーバジェットのトレードオフ
DNSベースのロードバランシングがp50で約50msを上限とする理由と、エニーキャストエッジPOPがそれ以下を実現する方法、そしてURL短縮サービスに適合するかを決める4つの数値を解説します。
2分で読了edge pop vs dns · anycast vs dns failover · edge routing latency - エンジニアリング
URLリダイレクトのキャッシュ戦略:L1 LRUとL2 Redis
URL短縮サービスのオリジンの前段に配置された2層キャッシュが、いかにしてp95リダイレクトレイテンシを15ms未満に維持しているかを解説します。エビクションポリシー、ワーミング戦略、そして18ヶ月の運用で実際に遭遇した失敗モードについて、エンジニアリングの観点から深く掘り下げます。
1分で読了url redirect cache · ristretto lru · redis cluster - コア記事エンジニアリング
Sentry/GlitchTipを12のGoサービスに接続する--ホットパスを壊さずに
ElidoがどのようにしてすべてのGoサービスに同じパニック + 5xx自動キャプチャを提供する共有sentryinitパッケージを実装したか--そしてedge-redirectのP95 15msバジェットでゼロアロケーションを維持する方法。
3分で読了sentry go middleware · glitchtip self-hosted · observability url shortener - エンジニアリング
クリックアナリティクスにClickHouseを使う理由(Postgresではなく)
ワークロードは月1億件以上のイベントで、書き込み重視の分析クエリ型。カラム型が有利な理由、採用しているスキーマ、そしてPostgresで90日後に直面した壁
1分で読了clickhouse click analytics · clickhouse for analytics · click event storage - コア記事エンジニアリング
FRA、ASH、SGP のリダイレクトで p95 < 15ms を達成する
Elido のエッジリダイレクトパスが3つのリージョンでキャッシュ HIT 時の15ms p95 バジェットを維持する方法 - アーキテクチャ、キャッシュ戦略、実際のリージョン計測値
4分で読了url shortener performance · edge redirect latency · multi-region url shortener - コア記事エンジニアリング
k3s上でElidoをセルフホストする - 完全なプレイブック
k3sクラスター上でElidoの完全なスタックをデプロイするためのステップバイステップガイド:Helmブートストラップ、14のサービス、StatefulSetsとしてのデータプレーン、Caddyオンデマンドとは、バックアップ、およびアップグレード戦略。
4分で読了self hosted url shortener · k3s · kubernetes url shortener - コア記事エンジニアリング
短縮リンクをTerraformで管理する
URLショートナー分野で唯一のTerraformプロバイダー - terraform-provider-elidoをリリースしました。それが何をするか、リソースのライフサイクルがどのように機能するか、そしてその背後にあるエンジニアリングのトレードオフについて説明します。
3分で読了terraform · infrastructure as code · url shortener - エンジニアリング
Bitlyの移行をリリースする:ワーカー、トークン、30分のバジェット
ElidoにワンクリックのBitlyインポートをどのようにビルドしたかについてのEngineering記録 - ワーカーの設計、コンフリクト解決のルール、インプロセスのgoroutineを安全に保つ4つの制限。
2分で読了bitly migration · url shortener · go worker