ジオハッシュ vs 空間インデックス:近傍検索の選び方
誰かが、今いる場所から歩いて30分以内にあるものについての記事だけを表示するWikipediaのサイトを作りました。これが楽しいと話題になり、同時に位置情報を扱うアプリケーションが必ずぶつかる問題を語るいい口実にもなりました。それがジオハッシュ vs...
高速でアクセシブルなウェブサイトを構築するための、最新のWeb開発手法、フレームワーク、ベストプラクティス。
11 件の記事誰かが、今いる場所から歩いて30分以内にあるものについての記事だけを表示するWikipediaのサイトを作りました。これが楽しいと話題になり、同時に位置情報を扱うアプリケーションが必ずぶつかる問題を語るいい口実にもなりました。それがジオハッシュ vs...
1988年、フィンランドの大学生が数ページに収まるチャットプロトコルを書きました。それから約40年近く経った今も、そのプロトコル(IRC)は毎日数百万件のメッセージを運び続けています。そしてIRCv3ワーキンググループは、既存の利用者を切り捨てることなくプロトコルを進化させる方法を、静かに私たちに教えてくれています。他...
実ファイルシステムのない環境でNode.jsアプリケーションを動かしてみると、すぐに破綻することがわかります。require()はファイルを読みます。fs.readFile()もファイルを読みます。テンプレートエンジンも、設定ローダーも、ファイルを読みます。ログライブラリはファイルに書き込みます。Node.jsのエコシ...
Google Docsは、何百万人ものユーザーのリアルタイム共同編集を支えています。入力するとカーソルが動き、共同編集者の変更も即座に反映される。一見すると手軽ですが、その簡単さは見せかけです。裏側では、共同編集は分散システムの中でも特に難しい問題の一つで、その解決策であるOperational...
Lucas PopeのReturn of the Obra...
マーケティングサイト、SaaSのランディングページ、ポートフォリオなら、過去5年に作られたものでほぼ必ず見かけたことがあるでしょう。ページをスクロールすると、コンテンツが下からフェードインしたり、横からスライドインしたり、ビューポートに入った瞬間にふっと現れたりします。ときには時間差をつけて、要素がコーラスラインのダン...
先週、ある大手航空会社のサイトでCookieの設定を変えようとしました。「すべて承諾」ボタンは鮮やかな青で、見逃しようがありません。一方の「設定を管理」リンクはどうでしょう?グレーの文字で11pxのフォント、法律用語だらけの段落の下にひっそり隠れています。ようやく見つけて開いたページには、47個の個別トグルスイッチが並...
ブラウザを開いて、どこでもいいので大手サイトにアクセスしてみてください。どこも同じ光景です。Cookieの同意バナー、ニュースレターのポップアップ、自動再生される動画、エンゲージメント重視の見出し、そして読者ではなく広告のために存在するコンテンツ。現在の商業ウェブは、そこを使う人々にとって明らかに敵対的です。
先月の土曜日、私はRustからWASMにコンパイルしていた画像メタデータパーサーをTypeScriptで書き直すことに丸一日費やしました。WASM版は8か月間本番で動いていて、問題もなく、誰も文句は言っていませんでした。ただ、パフォーマンストレースを眺めているうちに引っかかることがあったのです。WASMパーサーは、実際...
スタートアップが本番環境にバグを出荷してしまう。経営陣の対応は、コードレビューを必須にすることだ。次はバグがすり抜ける。では二人のレビュアーを必須にしよう。次はセキュリティインシデント。セキュリティレビューの工程を追加する。次は設計の不整合。設計レビューを追加する。2年もすると、どんなに小さな変更でも4段階のレビューを...
ブラウザ上でPythonを動かすことは、2010年代初頭からずっと夢でした。ただ、どの試みも同じ壁にぶつかっています。Pythonは CPython の C ランタイムに深く依存しているため、Webに移植するのが簡単ではないのです。Transcrypt、Brython、Skulpt はいずれも Python を...