KiSAKU
技術系4分で読めます

分類は、探す人の手がかりではない

公開

用語集が116語になりました。分野ごとに8ページへ分けてあります。

ある日、自分で「WAFってどこに書いたっけ」と探して気づきました。分野を当てないと、たどり着けません。

この記事で扱うこと

分類が誰のためのものかという話と、検索をブラウザ側に置いた判断、そして「打ち方の違いで見つからない」を潰すための文字のならし方です。

分類は、書く側の都合でできている

8つの分野は、書くときには役に立ちました。どこに何を書くかが決まり、抜けにも気づけます。

しかし探す側から見ると、事情が違います。

WAFを調べたい人がやること
用語集を開く
  ↓
8つの分野から、それらしいものを選ぶ  ← ここで当て推量
  ↓
違ったら戻ってやり直す

調べたい語が決まっている人にとって、分類は遠回りです。「WAFはセキュリティの話だ」と分かっている人は、そもそもWAFを調べません。

整理した本人にしか使えない整理

分類は、作った人には自明です。だから使いにくさに気づきません。自分で探して詰まって初めて、これは自分用の並べ方だったと分かりました。

検索を、ページの先頭に置いた

入力するとその場で絞り込まれ、押せば該当の語まで直接飛びます。分野の一覧は、検索していないときだけ出します。

絞り込んだ結果の下に一覧が残っていると、どこまでが結果なのかが分からなくなるためです。

打ち方の違いで、見つからないようにしない

ここに手間をかけました。同じ言葉でも、打ち方は人によって違います。

入力 探しているもの
キャッシュ / きゃっしゅ / キャッシュ キャッシュ
waf / WAF / WAF / わふ WAF
resize / リサイズ ResizeObserver

これを別物として扱うと、「あるのに見つからない」という結果になります。本人からすれば、無いのと同じです。

比べる前に、全角と半角、大文字と小文字、カタカナとひらがなを一方に寄せています。読み(ひらがな)と、URLに使っているローマ字のIDも検索対象に含めました。日本語入力では変換の途中でも文字が届くので、確定前のひらがなでも当たるようにしてあります。

なぜブラウザ側で絞り込むのか

検索といえばサーバーに問い合わせる形が思い浮かびますが、今回は全部のデータを最初に渡してしまう形にしました。

渡すもの
語 + 読み + 1行の説明 + 置き場所  × 116語
= 十数キロバイト(記事1本の本文より小さい)

この量なら、最初に渡しても負担になりません。1文字打つたびに通信する必要がなくなり、待ち時間がゼロになります。

規模が変われば、答えも変わる

これは116語だから成立する判断です。数千語になれば、最初に渡す量が重くなり、サーバー側で絞り込む形が正しくなります。

いまの規模で正しいことを選び、変わったら選び直すほうが、最初から大きく作るより速く進めます。

残った引っかかり

ひとつ、きれいでない点があります。用語の本文はCMS、検索用の索引はコードと、置き場所が分かれました。

語を1つ足すには、両方を更新する必要があります。片方だけ直すと食い違います。

いまは116語で、更新も自分1人なので回せます。ただしこれは「気を付ける」で運用している状態で、いつか間違えます。数が増えるか、更新する人が増えたら、索引をCMSから作る形へ変えるつもりです。

今回の学び

まず、分類は書く側の道具で、探す側の道具ではないこと。整理した本人には自明なので、使いにくさに気づけません。自分で探して詰まるまで分かりませんでした。

次に、「あるのに見つからない」は、無いのと同じこと。打ち方の違いは利用者の間違いではありません。揃えるのは、こちら側の仕事です。

そして、いまの規模で正しいものを選ぶこと。将来を見越して大きく作ると、そのぶん今日が遅くなります。変わったときに選び直せる形にしておけば十分です。

最後に、気を付けて運用している場所は、書き留めておくこと。本文と索引が分かれている件は、いま把握しているから回るだけです。忘れた頃に食い違います。

← ブログ一覧へ戻る