- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
上下文:我们正在实现一个新闻应用程序。现在,您可以假设所有用户的新闻都是相同的,并根据我们设置的参数(根据趋势和日期)维护订单。
问题:我们不确定跟踪用户阅读内容的最佳实现是什么。我们希望能够配置一种方法,以跟踪用户阅读和未阅读的内容。
假设:您可以假定数据库中的帖子基于时间是降序排列的。
因此,理想的情况是:当有帖子时:从应用程序中的服务器获取了A,B,C,D,E,并且用户阅读了A,B。现在,用户在检查下一篇文章时只会看到C,D,E。如果他们以前这样做,他们将按照B-> A的顺序查看帖子。
此外,现在将P,Q添加到数据库中后,用户必须按P-> Q-> C-> D-> E的顺序查看下一个帖子。
示例:假设我们的应用程序中目前有20条新闻,Gavin拿起手机开始从我们的应用程序中阅读。在使用过程中,他发现自己忙于其他工作,因此在阅读了5条新闻后退出了该应用程序。
现在我们面临的挑战是找到确保Gavin不必重新阅读他已经做过的5条帖子的最佳方法。
我们认为可以解决此问题的一种方法是使用索引。我们可以假定上下文中提到的帖子的统一排序,因此我们可以使用索引来跟踪加文在新闻顺序中的最后位置,并根据该索引向他显示新闻。
但是,这种方法的问题是,当Gavin拿起手机并再次使用我们的应用程序时,我们很容易就能发布5条新帖子。因此,如果我们有基于日期的新闻,则从技术上讲,索引方法意味着我们将5个未读的新帖子替换为5个已读的旧帖子。
我们还考虑过维护三个列表:“已读”,“未读”和“新建”,以便我们仅获取不在列表中的帖子。例如,在我的第一个示例中: A-B-C-D-E 最初未被读取。然后,在用户阅读 A-B 之后,读取内容变为 A-B 。同时,当在数据库中添加 P-Q 时, P-Q 作为 P-Q-C-D-E被添加到未读帖子列表中。
你怎么解决这个问题?我们欢迎您提出任何建议,因为在解决问题时,我们认为我们并不是在开箱即用。谢谢! :)
最佳答案
当我第一次阅读问题时,该解决方案最终在我的脑海中浮现出来,即还有2个未读列表,并且将新列表添加到未读列表的末尾,并且未读列表以相反的顺序显示,因此最新列表位于顶部。但是,这是最有效的方法吗?讨论例如,如果新数字的数量增加很多,则内存效率低下。但我一般认为数量很少。
关于flutter - 适当的状态管理架构,以实现对项目的读/未读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64150340/
这段代码在 Java 中的等价物是什么?我放了一部分,我对 I/O 部分感兴趣: int fd = open(FILE_NAME, O_WRONLY); int ret = 0; if (fd =
我正在尝试将维度为 d1,d2,d3 的张量 M[a1,a2,a3] reshape 为维度为 d2, d1*d3 的矩阵 M[a2,a1*a3]。我试过 M.reshape(d2,d1*d3) 但是
我是一名优秀的程序员,十分优秀!