データベースを使用する必要のない URL 短縮サービスを作成したいと考えています。代わりに、可動部分をできるだけ少なくするために、スクリプトはアルゴリズムに基づいて URL の一意のハッシュを作成するだけです (md5 が長すぎることを除いて、md5 のように)。どうやってこれをやろうとしているのか、よくわかりません。何かアドバイス?
問題があれば、Ruby で書きたいと思います。
データベースを使用する必要のない URL 短縮サービスを作成したいと考えています。代わりに、可動部分をできるだけ少なくするために、スクリプトはアルゴリズムに基づいて URL の一意のハッシュを作成するだけです (md5 が長すぎることを除いて、md5 のように)。どうやってこれをやろうとしているのか、よくわかりません。何かアドバイス?
問題があれば、Ruby で書きたいと思います。
URLを不明瞭なものに変換するために使用できるいくつかの文字列操作ツールを使用してこれを行うことができますが、質問で指摘したように、これを行うことで得られるURLは、URL短縮サービスの一般的なものよりも長くなります.
URL はあまり圧縮されません。
最終的に短いリンクを探している場合は、適切に読みやすい一意のコードを生成する必要があります (ゼロや 'o' などの同様の文字/数字を省略してみてください。貧しいバグガーが実際に入力する必要がある場合があります)。そのコードを何らかの形式のストアで元の URL に関連付けます。
データベースを使用したくない理由は理解できますが、特にCassandra、Redis、MongoDBなどの専用のキー/値ストアの 1 つを見ると、多くの点でデータベースは完璧なストレージ形式です(なじみのない領域にいる場合は、単純な「従来の」SQL データベースが簡単な最初のステップになる可能性があります。)
何らかのデータベースで検索しない限り、ハッシュ コードから元の URL を解決することはできません。
データベースなしでできる唯一のことは、URL を圧縮し、URL を解決するときに解凍することです。
厳密に言えば、 URL をハッシュするだけでよいと思います。しかし、元の URL に戻すことができない場合、どのような価値があるでしょうか?