स्टैक ओवरफ़्लो पर, प्रोफ़ाइल पृष्ठ में "पिछली बार देखी गई" संपत्ति सूचीबद्ध होती है। ऐसा लगता है कि प्रत्येक पृष्ठ दृश्य (प्रदर्शन कारणों से, जाहिर है) पर अपडेट नहीं किया जा रहा है। आप इसे भारी-ट्रैफ़िक वेब ऐप में कैसे कार्यान्वित करेंगे? क्या आप इसे केवल कुछ पृष्ठों पर अपडेट करेंगे? या आखिरी बार जब आपने उपयोगकर्ता की आखिरी विज़िट को लॉग किया था और डेटाबेस अपडेट करने से पहले एक विशिष्ट समय का इंतजार किया था? या कुछ पूरी तरह से अलग है?उपयोगकर्ताओं के लिए "आखिरी देखी गई" सुविधा को आप कैसे कार्यान्वित करेंगे?
उत्तर
आपको मददगार होने के लिए शायद "What strategy would you use for tracking user recent activity?" मिलेगा। मुद्दे समान हैं।
मैं एक सत्र का उपयोग करूंगा। और केवल इसे सत्र की पहली यात्रा सेट करें। अगर लोग ब्राउजर को छोड़ देते हैं तो यह हर घंटे या तो इसे रीसेट कर देता है। Php में इस तरह कुछ:
if(!isset(!_SESSION['lastSeen'])){
$_SESSION['lastSeen'] = time();
updateLastSeenInDatabaseOrSomething();
}
else{
if($_SESSION['lastSeen'] < time() + 2 * 60 * 60){ //2 hours
$_SESSION['lastSeen'] = time();
updateLastSeenInDatabaseOrSomething();
}
}
ऐसा कुछ है लेकिन फिर ओओ के साथ और दो बार एक ही काम नहीं कर रहा है।
स्टैक ओवरफ़्लो जैसी भारी ट्रैफिक साइट पर, मैं केवल "अंतिम बार देखा गया" चर अद्यतन करता हूं जब उपयोगकर्ता वास्तव में कुछ करता है। चारों ओर छिपकर और प्रश्नों और उत्तरों को पढ़ने के लिए सिस्टम द्वारा "देखा" के रूप में गिनना नहीं चाहिए। प्रश्न पूछना और जवाब देना, या उन पर मतदान करना उन कार्रवाइयां होनी चाहिए जो उपयोगकर्ता को आखिरी बार देखे जाने पर अपडेट हों।
मैं कार्यान्वयन विवरण के बारे में बात नहीं करूंगा क्योंकि यह पहले से ही अन्य उत्तरों से ढका हुआ है (और मुझे शायद यह गलत लगेगा)।
इसके लिए "कमांड" डिज़ाइन पैटर्न का उपयोग करने पर विचार करें। यह आपको दो तरीकों से मदद करेगा - प्रश्न का उत्तर दें और "पूर्ववत करें/फिर से" सुविधा भी लागू करें। आपको उस पैटर्न के अनुसार डिज़ाइन की गई कमांड ऑब्जेक्ट्स की एक सूची बनाए रखना चाहिए।
- 1. आप पूंछ को कुशलतापूर्वक कैसे कार्यान्वित करेंगे?
- 2. आप IENumerator इंटरफ़ेस को कैसे कार्यान्वित करेंगे?
- 3. आप एक बहुत व्यापक "टेबल" को कैसे कार्यान्वित करेंगे?
- 4. आप अपने स्ट्रिंग प्रकार को कैसे कार्यान्वित करेंगे?
- 5. आप एक बुनियादी घटना-लूप कैसे कार्यान्वित करेंगे?
- 6. आप विंडोज फॉर्म एप्लिकेशन में एमवीसी कैसे कार्यान्वित करेंगे?
- 7. किसी भी एसएसक्यूएल प्रकार के डीबी का उपयोग करके आप ट्विटर को कैसे कार्यान्वित करेंगे?
- 8. Android में "फ़ीडबैक भेजें" सुविधा को कैसे कार्यान्वित करें?
- 9. आप कतार में पहली और आखिरी वस्तुओं को कैसे प्राप्त करेंगे?
- 10. आईट्यून्स अंतर्निहित ऐप "फ़ाइल शेयरिंग" सुविधा को कार्यान्वित करने के लिए कैसे करें
- 11. आप स्मृति आवंटक को कैसे बेकार करेंगे?
- 12. आप इस एप्लिकेशन को कैसे मॉडल करेंगे?
- 13. बैकिंग डेटाबेस के बिना आप FORM आधारित प्रमाणीकरण को कैसे कार्यान्वित करेंगे?
- 14. मैं उपयोगकर्ताओं का चयन करने के लिए बीटा सुविधा कैसे प्रदान करूं? (रेल)
- 15. आप MongoDB में इन प्रश्नों को कुशलता से कैसे कार्यान्वित करेंगे?
- 16. सर्विसस्टैक का उपयोग करके यूट्यूब एपीआई जैसे आंशिक अनुरोध और प्रतिक्रिया को आप कैसे कार्यान्वित करेंगे?
- 17. रेडिस की पबब टाइमआउट सुविधा को कैसे कार्यान्वित करें?
- 18. आईई प्रॉम्प्ट उपयोगकर्ताओं को सक्रिय एक्स चेतावनी के बिना एक jQuery सुविधा कैसे कार्यान्वित कर सकते हैं?
- 19. आप एक UITableView को कैसे कार्यान्वित करेंगे जो पेजिंग की अनुमति देने के लिए क्षैतिज स्वाइप का पता लगाता है?
- 20. आप कक्षा के सभी उदाहरणों से विधि कैसे कॉल करेंगे?
- 21. जावा में तैनाती स्क्रिप्ट के लिए आप क्या उपयोग करेंगे?
- 22. क्या आप प्रारंभिक आवश्यकताओं के विकास को ट्रैक करने के लिए बगट्रैकर का उपयोग करेंगे?
- 23. आप आईपी पते की तुलना कैसे करेंगे?
- 24. LinkedIn को लागू करने के लिए कुशल तरीका "आप कैसे जुड़े हुए हैं" सुविधा?
- 25. आप jQuery ऑब्जेक्ट्स की तुलना कैसे करेंगे?
- 26. उपयोगकर्ताओं द्वारा बनाई गई नई कक्षाएं?
- 27. वेब ऐप के लिए ईमेल ड्रॉपबॉक्स सुविधा को कैसे कार्यान्वित करें?
- 28. टेक्स्टबॉक्स के लिए "सुझाव" सुविधा
- 29. आप संभवतः पुनरावर्ती समय कैसे स्टोर करेंगे?
- 30. आप डीएलएल आयात हस्ताक्षर कैसे घोषित करेंगे?