كيفية العودة البنود عشوائية بشكل مريح?

StackOverflow https://stackoverflow.com/questions/401191

  •  03-07-2019
  •  | 
  •  

سؤال

تصميمي يعرض نوعين من الموارد:

  1. الصور
  2. Tags

أود العملاء أن تكون قادرة على طلب صور عشوائية من قبل الوسم(s).على سبيل المثال:أعطني الصور العشوائية التي هي معلم مع "نيويورك" و "الشتاء".ما من شأنه راحة تصميم تبدو في هذه الحالة ؟

هل كانت مفيدة؟

المحلول

لتلخيص كل هذا النقاش في التعليقات و لا تغيير المقترح الأولي, هذا هو ما جئت أخيرا:

تريد الوصول إلى الصور عبر الكلمات ؛ كل الوسم تتعلق بمجموعة من الصور.لأن الوسم يمكن أن تستخدم أكثر من أخرى (مثلا ، نيويورك الصور المستخدمة أكثر من شيكاغو), يجب عليك استخدام راحة التكوين الذي يسمح التخزين المؤقت ، حتى تتمكن من ذاكرة التخزين المؤقت نيويورك الصور.IMHO ، قد يكون الحل:

  • كل صورة ثابتة URI:

    http://www.example.com/images/12345
    
  • كل بطاقة لديها أيضا URI:

    http://www.example.com/tags/New_York/random
    

    هذا URI بمثابة عشوائية المرسل من الصور على مجموعة ؛ تقوم بإرجاع 303 انظر الأخرى رد إعادة توجيه إلى صورة عشوائية من مجموعة. من خلال التعريف, هذا URI يجب أن لا يكون مؤقتا ، ثابت واحد و المتصفح يجب أن لا نفهم أن إعادة توجيه إلى المورد الثاني هو دائم ، لذلك فمن الأمثل.

  • حتى يمكن الوصول إلى مجموعة كاملة عبر:

    http://www.example.com/tags/New_York
    

    هذا الوصول من شأنه أن يؤدي في 300 خيارات متعددة الاستجابة ؛ تقوم بإرجاع مجموعة كاملة (كما محددات ، وليس كما صور!) إلى المتصفح, المتصفح تقرر ما يجب القيام به مع ذلك.

  • يمكنك أيضا استخدام تقاطع مختلف العلامات:

    http://www.example.com/tags/New_York/Autumn/Manhattan/random
    http://www.example.com/tags/Autumn/Manhattan/New_York/random (equivalent to the previous one)
    http://www.example.com/tags/New_York/girls/Summer/random
    etc.
    

بحيث يكون لديك ثابت URI لكل صورة ثابتة URI لكل الوسم وما يتصل به مجموعة من الصور الثابتة URI بالنسبة عشوائي المرسل أن كل علامة لديه.أنت لا تحتاج إلى استخدام أي الحصول على المعلمات وغيرها من الحلول المحتملة ، لذلك هذا هو مريح كما يمكنك الحصول عليها.

نصائح أخرى

لقد كافح نفسي مع هذه المسألة.ما انتهى بتنفيذ كان HttpResponseRedirect من, على سبيل المثال:

http://www.example.com/randomNewYorkImage

عشوائي نيويورك صورة:

http://www.example.com/images/New_York/1234.

المورد الأول يمكن تصور عشوائي نيويورك الصور المرسل.هذا الحل سيتم تحميل المزيد من الخادم ، كما سيتم طلب اثنين من الموارد, ولكن هو مريح كما يمكنك الحصول عليها.

تحرير:بالإضافة إلى, إذا كنت التخزين المؤقت كل صورة سوف تكون في ذاكرة التخزين المؤقت الملقم الخاص بك يذهب من إرسال صورة إلى إرسال فقط إعادة توجيه ، ذاكرة التخزين المؤقت سوف اعتراض الطلب الثاني ، وبالتالي التخفيف من تحميل الخادم الخاص بك.

متعدد الأبعاد وتحديد الموارد التحدي.

المورد الخاص بك هو صورة ، حتى أن URI.كذلك صورة معينة محددة أوري الذي لا يتغير أبدا.

الخاص بك "من خلال الوسم" غير تحديد سمة من الموارد.عن سلسلة الاستعلام يمكن أن belp.

هنا هو أول الفكر.

  • http://www.example.com/MyStuff/image/معرف/ -- صورة معينة عن طريق id
  • http://www.example.com/MyStuff/image/?tag=tagname -- صورة عشوائية مع الوسم ، ضمنا ، count=1.
  • http://www.example.com/MyStuff/image/?tag=tagname&count=all -- جميع الصور مع تعطى العلامة في ترتيب عشوائي (count=1 هو الافتراضي ، التي من شأنها أن تعطيك التعسفي صورة)

كنت تفعل شيئا مثل http://foo.com/image/tagged/sometag/random ووقف فقدان النوم أكثر من ذلك.

أنا أتفق مع بالثلاثي على هذا واحد.في طريقة إضافة عشوائية إلى نهاية URI يجعله يشعر وكأنه العملية ، ولكن إذا كان وراقب إلى الوسم ثم كنت حقا مجرد تكرير السياق.

في المثال:

/صورة/معلم/sometag/عشوائي

الصور الموارد -> علامات نطاق (جميع الصور مع الكلمات) -> محددة الوسم (جميع الصور مع علامة X) -> العشوائية (مورد من راقب قائمة الصور مع علامة X)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top