質問: `Ruby on Rails` や `Laravel` などにおいて、投稿された質問や動画を識別したい場合、IDを`Base64`などの文字列で指定することのメリットはなんですか? たとえば、スタックーオーバーフローでは次のURLのように質問のIDを質問の識別子としています。 `https://ja.stackoverflow.com/questions/230` `識別子: 230` しかし、YouTubeでは動画のIDに対して次のURLのように文字列を動画の識別子としています。 `https://m.youtube.com/watch?v=8G_-WD7g1pE` `識別子: 8G_-WD7g1pE` 質問や動画を識別する場合、IDではなく、文字列を使って識別するメリットを教えてください
回答: 単純に **生成できるユニークな値** の数をどこまで扱うか、の違いではないでしょうか。 数字のみだと「0~9 (10種類) * 桁」だけですが、例に挙げた YouTube の場合には「0~9 (10種類) + a-zA-z (52種類) + 記号(-_など) * 桁数」で、生成できる値のバリエーションに違いが出てきます。 Stack Overflow (英語版) での最新質問IDは "65840005" でしたが、YouTube の例に揃えると以下のようになります。 ``` 10^11 = 100,000,000,000 ## 0-9 64^11 = 73,786,976,294,838,206,464 ## 0-9,a-zA-Z,-_ ```