質問
そこで私は趣味のサイトを運営しています。タグ付けされたアイテムがあり、それらのアイテムを Flickr の写真と関連付けたいと考えています。制限的な検索を行ったとしても、数千件もの結果が得られる可能性があります。
要件:
- 10~20枚の写真を表示したいのですが、毎回写真をランダムにしたいと考えています。
- ページリクエストが行われるたびに Flickr にアクセスしたくありません。
- 私のアイテムと同じタグが付いたすべての Flickr 写真が関連するわけではありません。
その数の結果をどのように保存すればよいですか?また、どの結果が関連しているかをどのように判断すればよいでしょうか?
解決
写真の選択、ランダム化、ダウンロード、キャッシュを行うコードを別のサービスに移動することをお勧めします。ローカルでアクセス可能な REST アプリケーションである可能性があります。コア コードをクリーンな状態に保ち、リモート操作や保持ポリシーで乱雑にしないでください。
- タグと画像のマップを作成し、それをローカル、ファイルまたはデータベースに保存します。どちらの場合でも、配列のランダム化は簡単です。
- 画像ソースをローカル キャッシュにポイントします。ホスティング容量に応じて、キャッシュを定期的にクリーンアップします。
- 手順 1 で写真をホワイトリストまたはブラックリストに登録してフィルタリングします。
他のヒント
パート 1 と 2 の最善の策は、大規模なリクエストを作成し、たとえば 100 枚または 200 枚の写真を返し、URL やその他の詳細を保存することです。そうすれば、ローカル コピーからランダムな選択を生成するのは簡単になるはずです。
パート 3 については、プログラムで使用できる何らかの用語で「関連性」を定義できない限り、何らかの形で人間の介入なしにこれをどのように達成できるかわかりません。
人間の介入が問題ない場合は、明らかに写真のローカル コピーを参照して、関連する写真を選択する (または関連しないものは破棄する) ことができます。
所属していません StackOverflow