第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

實(shí)施社交活動流的最佳方式是什么?

實(shí)施社交活動流的最佳方式是什么?

蕪湖不蕪 2020-02-03 13:53:58
我很想聽聽您的意見,認(rèn)為這是實(shí)施社交活動流的最佳方法(Facebook是最著名的例子)。涉及的問題/挑戰(zhàn)是:不同類型的活動(發(fā)布,評論..)不同類型的對象(帖子,評論,照片..)1-n位用戶扮演不同的角色(“用戶x在用戶Z帖子上回復(fù)了用戶y的評論”)相同活動項(xiàng)目的不同視圖(“您評論..”與“您的朋友x評論”與“用戶x評論..” =>“評論”活動的3種表示形式)..等等,尤其是如果您將其高度復(fù)雜化時(shí),例如Facebook,例如,將多個(gè)活動項(xiàng)合并為一個(gè)(“用戶x,y和z在該照片上發(fā)表了評論”關(guān)于模式,紙張等的任何想法或指針,關(guān)于實(shí)現(xiàn)這種系統(tǒng),數(shù)據(jù)模型等的最靈活,有效和強(qiáng)大的方法。盡管大多數(shù)問題與平臺無關(guān),但我最終還是有可能在Ruby on Rails上實(shí)現(xiàn)這樣的系統(tǒng)
查看完整描述

3 回答

?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊


我創(chuàng)建了這樣的系統(tǒng),并采用了以下方法:


數(shù)據(jù)庫表具有以下列:id,userId,類型,數(shù)據(jù),時(shí)間。


userId是生成活動的用戶

type是活動的類型(即寫博客文章,添加照片,在用戶的照片上發(fā)表評論)

數(shù)據(jù)是帶有活動元數(shù)據(jù)的序列化對象,您可以在其中放入所需的任何內(nèi)容

這限制了您可以在提要中對用戶,時(shí)間和活動類型進(jìn)行的搜索/查找,但是在Facebook型活動提要中,這并不是真正的限制。并且在表上具有正確的索引的情況下查找速度很快。


通過這種設(shè)計(jì),您將必須決定每種事件類型都需要哪些元數(shù)據(jù)。例如,一張新照片的供稿活動可能如下所示:


{id:1, userId:1, type:PHOTO, time:2008-10-15 12:00:00, data:{photoId:2089, photoName:A trip to the beach}}

您會看到,盡管最確定的是照片的名稱存儲在其他包含照片的表中,而且我可以從那里檢索名稱,但是我會在元數(shù)據(jù)字段中重復(fù)該名稱,因?yàn)槟幌脒@樣做如果需要速度,可以在其他數(shù)據(jù)庫表上進(jìn)行任何聯(lián)接。為了顯示來自50個(gè)不同用戶的200個(gè)不同事件,您需要速度。


然后,我有一些類擴(kuò)展了基本的FeedActivity類,以呈現(xiàn)不同類型的活動條目。事件分組也將內(nèi)置在呈現(xiàn)代碼中,以避免數(shù)據(jù)庫的復(fù)雜性。


查看完整回答
反對 回復(fù) 2020-02-03
  • 3 回答
  • 0 關(guān)注
  • 820 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號