ラベル「JavaScript」の付いた投稿を表示しています。

レーベンシュタイン距離で文字列の類似度を高速に取得する

はじめに 文字列の類似度について考えます。具体的には、レーベンシュタイン距離を使用して文字列の類似度を測定します。ただし、レーベンシュタイン距離では、速度が遅いため、高速化します。高速化に伴ってレーベンシュタイン距離とは別物になってしまいますが、類似度としての役割は果たせます。 ...

FID(First Input Delay)とはなにか?

はじめに 次の資料にFID(First Input Delay)の詳しい説明があります。ただし、この資料を読んでも筆者には、FIDが何を意味するのか正確にはわかりませんでした。そこで、記事内で紹介されているpolyfillコードやPageSpeedInsightsの表示するFID...

正規表現で使用する文字をエスケープする

はじめに 正規表現でユーザ入力を処理する場合、エスケープ処理が必要になってきます。正規表現を使用した文字列のエスケープについて考えます。 MDNのサンプルコード JavaScriptのサンプルコードと言えば、おなじみのMDNです。調べてみると、正規表現のページの中にこっそりとサン...

ウェブページのスクロール量(読了率)を計算する

はじめに スクロール量を取得します。ウェブページをどこまでスクロールしたのかの値です。ブログ等では、読了率として記事の良し悪しの指標としてよく利用されています。 高さやスクロール量の取得と計算といった単純な処理ですが、クロスブラウザの互換周りを考慮すると実装までだいぶ面倒だったた...

SyntaxHighlighterの読込みを最適化する

SyntaxHighlighterの読込みを最小限にします。概要は次の通りです。 <pre> なしならば読み込まない 必要なブラシは、最低限読み込む 遅延読込みも合わせて更に高速化する 元ネタは、下記の記事です。不必要な強い同期処理を簡易なものに置き換えてます。その他...